There are some options: 1. In your code put values in the wrong components. When your colleague reads your code, s/he will sure freak out. 2. Try telling the other guy to follow standards. Will likely take a lot of time to get done. 3. HAPI has a way of tinkering with messages before parsing. I'm not sure there is something that can be applied for after encoding - http://hl7api.sourceforge.net/xref/ca/uhn/hl7v2/examples/CorrectInvalidMessageBeforeParsing.html. 4. Do String manipulation after encoding the message. A variant of this is using LightHl7Lib - http://nule.org/wp/?page_id=75 which is simpler than hapi and easier to use for these purposes.
R, rahul On Jul 26, 2012, at 1:35 PM, Derek Mahar wrote: > What approach would you recommend to coerce the HAPI parser to generate a > variation of "^" instead of "&" in field PrincipalResultInterpreter (OBR-32) > to satisfy HL7 servers that do not follow the standard? > > Derek > > On Thu, Jul 26, 2012 at 2:14 PM, Rahul Somasunderam > <r...@certifydatasystems.com> wrote: > The field is PrincipalResultInterpreter. It is separated from other fields by > PIPE. > The sub field is OP Name. It is separated from other sub fields by CARET. > There don't seem to be reps so there is no TILDE. > The sub sub fields are Given Name and Family Name. They are separated by > AMPERSAND. > > On Jul 26, 2012, at 10:01 AM, Derek Mahar wrote: > >> I should add that this test code uses the PipeParser: >> >> Parser parser = new PipeParser(); >> String encodedMessage = parser.encode( orm ); >> >> Derek >> >> On Thu, Jul 26, 2012 at 12:57 PM, Derek Mahar <derek.ma...@intelerad.com> >> wrote: >> Why does HAPI embed ampersands ("&") instead of carets ("^") in the >> observation practitioner (OP) name of the Principal Result Interpreter >> (OBR-32), Assistant Result Interpreter (OBR-33), and Transcriptionist >> (OBR-35) fields of the following OBR segment? >> >> OBR||PLACER_ORDER_1|FILLER_ORDER_1||||20120726125119.823-0500|20120726125119.826-0500|||||||^^^LEG|||ACCESSION_1|PROCEDURE_1|SCHEDULED_PROCEDURE_STEP_1|||||RESULT_STATUS_OK|||||||&RadLastName&RadFirstName|&AssistantRad0LastName&AssistantRad0FirstName||&Transcriptionist0LastName&Transcriptionist0GivenName||||^CollectorText >> >> Here is the code fragment that I used to generate the OBR segment: >> >> String FILLER_ORDER_1 = "FILLER_ORDER_1"; >> ca.uhn.hl7v2.model.v23.segment.OBR obr = >> orm.getORDER().getORDER_DETAIL().getOBR(); >> obr.getPlacerOrderNumber( 0 ).getEntityIdentifier().setValue( >> PLACER_ORDER_1 ); >> obr.getFillerOrderNumber().getEntityIdentifier().setValue( >> FILLER_ORDER_1 ); >> obr.getObservationDateTime().getTimeOfAnEvent().setValue( new Date() >> ); >> obr.getObservationEndDateTime().getTimeOfAnEvent().setValue( new >> Date() ); >> obr.getSpecimenSource().getBodySite().getIdentifier().setValue( >> "LEG" ); >> obr.getPlacerField1().setValue( "ACCESSION_1" ); >> obr.getPlacerField2().setValue( "PROCEDURE_1" ); >> obr.getFillerField1().setValue( "SCHEDULED_PROCEDURE_STEP_1" ); >> obr.getResultStatus().setValue( "RESULT_STATUS_OK" ); >> >> obr.getPrincipalResultInterpreter().getOPName().getGivenName().setValue( >> "RadFirstName" ); >> >> obr.getPrincipalResultInterpreter().getOPName().getFamilyName().setValue( >> "RadLastName" ); >> obr.getAssistantResultInterpreter( 0 ) >> .getOPName() >> .getGivenName() >> .setValue( "AssistantRad0FirstName" ); >> obr.getAssistantResultInterpreter( 0 ) >> .getOPName() >> .getFamilyName() >> .setValue( "AssistantRad0LastName" ); >> obr.getTranscriptionist( 0 ) >> .getOPName() >> .getGivenName() >> .setValue( "Transcriptionist0GivenName" ); >> obr.getTranscriptionist( 0 ) >> .getOPName() >> .getFamilyName() >> .setValue( "Transcriptionist0LastName" ); >> obr.getCollectorSComment( 0 ).getText().setValue( "CollectorText" ); >> >> Thank you, >> >> Derek > > > -- > Derek Mahar > Senior Software Developer > Intelerad Medical Systems Incorporated > 895 de la Gauchetiere W. Suite 400 > Montreal, QC, Canada, H3B 4G1 > Tel: 514.931.6222 x7754 > Fax: 514.931.4653 > derek.ma...@intelerad.com > www.intelerad.com > > > > This email or any attachments may contain confidential or legally privileged > information intended for the sole use of the addressees. Any use, > redistribution, disclosure, or reproduction of this information, except as > intended, is prohibited. If you received this email in error, please notify > the sender and remove all copies of the message, including any attachments. >
smime.p7s
Description: S/MIME cryptographic signature
------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________ Hl7api-devel mailing list Hl7api-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hl7api-devel