Forum Replies Created
-
AuthorReplies
-
Jim Kosloskey wrote:
What should be done according to the HL/7 standard is the sub-component separator (in this case the &) should be represented by T (assuming the defined escape character in the MSH-2 is ).
Normally this should be done by the originating system before the message is sent out. So the first approach I would use would be to try to convince the source system they are not compliant with the standard and to change.
Then there could be issues with the receiving system if it cannot reverse the process.
If the source will not comply then the answer depends on the release of Cloverleaf you are on and whether you want to do this inside an Xlate or not.
So knowing what release of cloverleaf you are on will help – also do you want this to occur inside an Xlate?
In any case, you will need to predetermine what fields are the likely culprits as I think you will need to attack this on a field-by-field basis.
Hi Jim,
I agree with your take on the matter. However, It is not an option to fix it at the route, so I will have to try to make it work within the cloverleaf engine. We have recently upgraded to 6.2 version. I would like to do it within an xlate if possible, but I am not really sure how to go about this. I have narrowed it down it only affecting one field which is OBR.4. I appreciate your response and willingness to help. Thank you!
Any advice on doing the encapsulation using HL7. I am fairly new at cloverleaf and any advice or examples is greatly appreciated. From what I gather, I can make a tcl that puts the wrapper on there, but i am not sure at which point the proc should be put on there.
Greg Day wrote:Nothing like getting a response a month later, eh?
There are a couple of interfaces out there that are doing exactly this; converting a message to xml and imbedding it in a soap message and sending it to a web server.
What you want to do is form your xml message as a soap message.
Ivan,
Can you share how you got it to work using tcl?
ivan quan wrote:We are using CL 6.0
I got my https to work using pure Tcl with package http and package tls…
but it would be nice to know how to use the http client protocol GUI from CL.
side note:
Sometimes I feel like learning and using the GUIs are harder than just using Tcl. But if I’m using all Tcl then it’s a waste of all the GUI features available with CL interface engine.
~Ivan
I appreciate the help on this. I was doing it in Cerner, but will now move it to cloverleaf. Learning alot thanks to you!
Exactly the issue I ran into with the xlate. I will try to accomplish the task with a simple tcl. Of course simple tcl may not be simple enough for me, but I am sure I’ll get better with practice and scenarios like this. Thank you both for your input.
Jim Kosloskey wrote:Unfortunately the variant definition allows you to define it but the Xlate does not allow you to use that variant definition.
In the Xlate, each HL/7 message has to start with an MSH.
I think Tcl is in order.
Now I believe you can place multiple MSH segments in a variant (as long as there is one as the first) then use simpler Tcl to remove the first MSH in something like the Outbound TPS.
So variant would look like this:
MSH <– Bogus MSH
XXX <- your segment
MSH <– real MSH
.
.
.
.
YYY <– your ending segment
In the Outbound TPS with Tcl remove the first MSH – now your message will look like this:
XXX <- your segment
MSH <– real MSH
.
.
.
.
YYY <– your ending segment
Or you can write a little more
Makes perfect sense. I was able to make many modifications to make my test scenarios work with that piece of knowledge. I look at this as a hard coding success. Thank you.
I am now engaging something a little more complex. I can make leaps with one good example. I’ve been poking around with it without much success.
Using a %G1 with a 4(0).0 basis… I wanted to leverage the iterate counter using a a series of segments into becoming ascending set ids.
SOURCE$%g1
4(0).0(0).OBR(0).#1(0).[0].[0]
COPYpre proc is
set invalue [lindex $xlateInVals 0]
set itervar [lindex $xlateInVals 1]
incr itervar
set xlateOutVals
Destination
4(0).0($%g1).OBR(0).#1(0).[0].[0]
Running through it in my head and in practice tells me it should probably be a %S interation on BOLD text below because that is the variable.
4(0).0(0).OBR
(1).#1(0).[0].[0]4(0).0(0).OBR
(2).#1(0).[0].[0] : >1<Help with putting this together once will help me understand how it all comes together. I think I have the right ideas, but just don’t know how to put it together here. My next scenario is the same thing using the math functions.
It looks like I will be able to get away with posting the segments in start and end of every message for now. However, it seems that they will leverage the functionality of having such segments in the future when they are able to accept batches. I’ probably have more experience with tcl then. I haven’t been to a tcl class yet, but have experience with other languages. I am trying to get a working knowledge through the forum and historical examples.
One question to you. This may be simple, but I can’t find anything on it. In an xlate preproc where the source is hard coded “=1” and the destination has a path… What is the syntax in an IF statement to check if anything exists there at all.
For example, If I wanted to check for a value there I’d do this…
set val $xlateInVals
if { $val == “1”} {
set xlateOutVals
6
} else {
}
What if I wanted to check for the existence of the segment or path at all? I’ve tried NULL, ” “, and {} to no avail. I found ways around it, but knowing how to achieve it in this fashion will help me make shortcuts in the future.
I greatly appreciate any help.
Thanks Kieth. I wil give it a try. I figured there would have to be someway to use those as integers, but they didn’t teach that in the intro class.
-
AuthorReplies