Forum Replies Created
-
AuthorReplies
-
Thank-you much – that did the trick!
Actually, even if the pre proc is doing nothing, then my questions are still relevent: how can I determine what the vendor’s encoding is, and how can I make that character an ascii, or utf-8, numeral 2?
Here’s what I’m getting from the vendor:
OBX|28|TX|R^REPORT||AVA (VTI): 1.6 cm�||||||F
I’m running this through a route with a pre proc to swap the special character out and replace it with the numeral 2. Here’s the relevent code for that:
set x “�”
regsub -all $x $msg {2} newmsg
This works in the testing tool so long as I keep the encoding setting set to ASCII. It doesn’t work at all in real-time, though. Here’s what’s getting delivered to my OB thread:
OBX|28|TX|R^REPORT||AVA (VTI): 1.6 cm�||||||F
Like it’s not being acted upon by the pre proc at all.
When I use SMAT to resend, though (keeping the encoding set to ASCII), here’s what I get:
OBX|28|TX|R^REPORT||AVA (VTI): 1.6 cm2||||||F
Which tells me the pre proc is working.
I’m getting out of my area/limits of expertise here, but I really need to fix this for my downstream app – these special characters are blowing the users out of their application when they try to inquire these reports.
Is there a way for me to determine what the vendor’s encoding is, and to convert that to ASCII?
Or, is something entirely different (not encoding) going on here?
Robert, I laughed heartily at your quote, which has made my favorites list, by the way: “the only standard in HL7 is how you spell it”
Another one I like is:
“When you’ve seen one HL7 interface… You’ve seen one.”
😆 We also have the 2.2b hbochi line outbound from STAR. I notice that for A60 transactions, there is data in EVN.5.2 – the name of the person whose initials appear in EVN.5.1.
So, instead of just APJ, now there’s APJ;JAMES;ALAN;P – but I only see this for the A60 transactions.
I wonder if you can ask for that same data output configuration from the STAR folks for all ADT transactions?
I’m attaching a great little proc that’s pretty versatile for just this sort of use. Depending on what Gena wants to filter, the arguments for this proc would be
{PASSCOND ~REGEXLA01|MS4ADT} {SEGNAME PID} {FIELDNUM 3} {SUBFIELDNUM 3} to filter both of these messages
{PASSCOND ~LA01} {SEGNAME PID} {FIELDNUM 3} {SUBFIELDNUM 3} to filter only those messages with LA01 in PID.3.4
{PASSCOND ~MS4ADT} {SEGNAME PID} {FIELDNUM 3} {SUBFIELDNUM 3} to filter only those messages with MS4ADT in PID.3.4
Use the attached proc with the following arguments:
{PASSCOND A01} {SEGNAME MSH} {FIELDNUM 8} {SUBFIELDNUM 1}
Don’t have experience doing this, but if you Google “loinc hl7”, you get a ton of links – many of which look very helpful, some with downloadable programs for mapping, etc. Here’s a couple:
http://www.clinchem.org/cgi/content/full/49/4/624
http://www.openclinical.org/dld_loinc.html
https://cabig.nci.nih.gov/2005_Annual_Meeting/2005_Poster_Summaries/22_Summary
Build three threads. Use the kill_msg.tcl proc (attached) on each thread, varying the arguments to filter your ORU transactions accordingly. I We’re small, so our CIS is our IS… It’s the age-old question for which my philosophy is: you need a clinical background to truly understand and perform the technical functions of your systems support. In a perfect world, you’d have the systems analyst who knows tcl, has had Quovadx training, and started life in an allied health field with several years of that experience. It wouldn’t hurt to know database design and to be an HL7 expert, a DICOM authority, and a pretty fair sysadmin kind of person. None of which is helping you with your question, is it? If I had to choose, I’d put the interface engine with the clinical folks. …and, that is an outbound thread, right? Ooops! Those arguments should have been {PASSCOND ~FCC} {SEGNAME PV1} {FIELDNUM 18} {SUBFIELDNUM 0} 😳 Try using the kill_msg.tcl proc (attached) with the following arguments: {PASSCOND ~FCC} {SEGNAME PV1} {FIELDNUM 1} {SUBFIELDNUM 0}
1. 1 production site with 71 threads –> we also have a test site, and a qa site 2. just me, but I wear lots of hats, and am by no means full time just with my engine responsibilities (I do reporting, application interfaces, general system and technical analyst functions…)
3. Wish I had more time to get really proficient, but I feel like I keep up well enough…
🙄 This proc asks for arguments at the segment level, not the message level. Are we sure it won’t work with repeating segments? If it finds the condition in any segment, as defined in the arguments, it will kill the whole message, however… -
AuthorReplies