Sub-field seperator

Homepage Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Sub-field seperator

  • Creator
    Topic
  • #49926
    Gordon Wilkinson
    Participant

    In one field coming from our lab feed (OBR:18) I cannot get the sub field seperator to change from “;” to “^”.  In the example below “57104;PCM”, how can I get the seperator to change to “^”? The lab feed is already |^ delimited and I also have the following copy statement in use:  copy =^~& into

    0(0).MSH.00002.[0]

    OBR|1|000199901|000000000^LA|1000200^AMYLASE|||20080320121600|||HIS||||20080320130600||99999^LASTNAME^DAVID||57104;PCM|00100300|

Viewing 1 reply thread
  • Author
    Replies
    • #64125
      Jim Kosloskey
      Participant

      Gordon,

      Check to see if that field is an ST Data Type (String). I think it is.

      If it is then the sending system should not be sending a separator in that field – period. It will be treated as text – just as you see.

      However, I am sure the sending system will not be able to change and ‘no one else has complained’ 🙂 so you will need to do something.

      This might be the simplest and might work: IF the inbound message is using ; as a component separator try COPYing the first and second components using component notation in the address pathing for Source and Destination. What you are attempting to do here is to get directly at the individual components even though the Data Type is not correct.

      If the above fails, you can try this: change the inbound and outbound variants to specify component (CM) for that field’s Data Type. This has other implications so study this carefully.

      Of course, you can always use Tcl (string map should work nicely) to convert the ; to ^.

      If the sending system is not treating the field as a Component field when it is a string, but rather the receiving system wants it that way, I might suggest agreeing for that field to be repeating (this kind of negotiation between trading partners is allowed) and then split on the ; and place each element in seperate repetitions of the field.

      Anyway without more information, that is the best I can come up with.

      The bottom line here I believe, is one or both of these systems are abusing the standard and they want you to make up for it.

      Jim Kosloskey

      email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

    • #64126
      Robert Milfajt
      Participant

      Ironically, the system is already using ^ for a separator, so what you probably have to do it yourself.  There are a couple of ways:

      1.  TCL code in one of many places (pre or post Xlate, inbound or outbound TPS) to find the OBR.18 field in the message and using string map change ; to ^.

      2.  A copy statment in an Xlate with a TCL fragment to change the ; to ^.

      Good luck,

      Robert Milfajt
      Northwestern Medicine
      Chicago, IL

Viewing 1 reply thread
  • The forum ‘Cloverleaf’ is closed to new topics and replies.

Forum Statistics

Registered Users
5,125
Forums
28
Topics
9,294
Replies
34,439
Topic Tags
287
Empty Topic Tags
10