I think Brian's confusion here is partially about initQuickstart() adding
an unexpected value in MSH-9-3.

Similar to your suggestion, Ian, I think what Brian might be looking for is
something like this to remove the value afterward:

        ORR_O02 o02 = new ORR_O02();
        o02.initQuickstart("ORR", "O02", "P");
        System.out.println(o02.toString().replaceAll("\r", "\n"));
        o02.getMSH().getMessageType().getMessageStructure().setValue(null);
        System.out.println(o02.toString().replaceAll("\r", "\n"));

Which produces:

MSH|^~\&|||||20151217123953.819+0100||ORR^O02^ORR_O02|210835|P|2.5

MSH|^~\&|||||20151217123953.819+0100||ORR^O02|210835|P|2.5

Jeremy Huiskamp | karoshealth
Software Engineer
7 Father David Bauer Drive, Suite 201
Waterloo, ON, N2L 0A2, Canada
www.karoshealth.com

On 17 December 2015 at 00:49, Ian Vowles <ian.vow...@health.qld.gov.au>
wrote:

> In HL7 v2.5 the MSH-9 segment is a datatype with 3 fields. HAPI supports
> this, so it gives you getters and setters for all the components in the
> datatype.
>
> To set up what you want you can do the following:
>
>
>
> mshSegment.getMsh9_MessageType().getMessageCode().getMsg1_MessageCode()
> .setValue("ORR");
>
> mshSegment.getMsh9_MessageType().getMessageCode().getMsg2_TriggerEvent()
> .setValue("O02");
>
>
>
> HAPI also knows all about escaping, and does it’s level best to make your
> life easy.
>
> If you want to get data escaped in a field, just use the setValue method
> with your string in java.
>
>
>
> So to build an ACK with the MSA-3 containing escaped ~ characters you can
> do the following:
>
>
>
>         ACK myAck = new ACK();
>
>         myAck.initQuickstart("ACK", "", "P");
>
>         myAck.getMSA().getMsa1_AcknowledgmentCode().setValue("PD");
>
>         myAck.getMSA().getMsa2_MessageControlID().setValue("879-0999-1");
>
>         myAck.getMSA().getMsa3_TextMessage().setValue("Text1~Text2~Text3");
>
>         System.out.println(myAck.getMSA().encode());
>
>
>
> The output of which is:
>
>
>
> MSA|PD|879-0999-1|Text1\R\Text2\R\Text3
>
>
>
> Which is what you have asked for. HAPI does the escaping when you encode
> your result ready for sending.
>
> When you receive a message with escaped delimiter characters and parse it
> with HAPI, a getValue method will un-escape the characters for you, and
> give you a java string result.
>
>
>
> HAPI really knows HL7, and does a lot to help you. We have had a lot of
> success using it for many years now.
>
>
>
> Hope this helps
>
> Ian Vowles
>
> Department of Health
>
> Queensland
>
> Australia
>
>
>
> *From:* Davies, Brian [mailto:brian.dav...@mckesson.com]
> *Sent:* Thursday, 17 December 2015 7:19 AM
> *To:* hl7api-devel@lists.sourceforge.net
> *Subject:* [HAPI-devel] Escaping Encoded characters
>
>
>
> I want to be able to escaped the special encoding characters by using \S\
> or \R\ but this doesn’t seem to work for me.
>
>
>
> I also tried the code snippet below but it seems that using the quick
> start init method creates multiple repetitions of the message type, for
> example:
>
>
>
>        ORR_O02 orr002=*new* ORR_O02();
>
>        MSH mshSegment = orr002.getMSH();
>
> *       orr002.initQuickstart("ORR", "002", "P");*  results in the
> message below with the message type repeated which is not what I want:
>
>
>
>
>
> MSH|^~\&|CDB||MCK||20010925202704||ORR^002^ORR_O02|1301|P|2.5
>
>
>
> Instead I only want
>
>
>
> MSH|^~\&|CDB||MCK||20010925202704||ORR^002 |1301|P|2.5
>
>
>
> I tried setting the message code like so:
>
> mshSegment.getMsh9_MessageType().getMessageCode().setValue("ORR*\\S\\*002");
> but this produces
>
> MSH - MSH|^~\&|CDB||MCK||20010925202704||ORR\E\S\E\002|||2.5
>
>
>
> It’s not clear how to accomplish escaping encoding characters. How does
> one do that, since the above does not work?
>
>
>
> For example,  I want to escaped the tilde in the message below, can this
> be done and how? I hoped *\R\* would work but it didn’t.
>
>
>
>
>
> MSA|PD|879-0999-1|*Text1~Text2~Text3*
>
>
> ********************************************************************************
>
> This email, including any attachments sent with it, is confidential and
> for the sole use of the intended recipient(s). This confidentiality is not
> waived or lost, if you receive it and you are not the intended
> recipient(s), or if it is transmitted/received in error.
>
> Any unauthorised use, alteration, disclosure, distribution or review of
> this email is strictly prohibited. The information contained in this email,
> including any attachment sent with it, may be subject to a statutory duty
> of confidentiality if it relates to health service matters.
>
> If you are not the intended recipient(s), or if you have received this
> email in error, you are asked to immediately notify the sender by telephone
> collect on Australia +61 1800 198 175 or by return email. You should also
> delete this email, and any copies, from your computer system network and
> destroy any hard copies produced.
>
> If not an intended recipient of this email, you must not copy, distribute
> or take any action(s) that relies on it; any form of disclosure,
> modification, distribution and/or publication of this email is also
> prohibited.
>
> Although Queensland Health takes all reasonable steps to ensure this email
> does not contain malicious software, Queensland Health does not accept
> responsibility for the consequences if any person's computer inadvertently
> suffers any disruption to services, loss of information, harm or is
> infected with a virus, other malicious computer programme or code that may
> occur as a consequence of receiving this email.
>
> Unless stated otherwise, this email represents only the views of the
> sender and not the views of the Queensland Government.
>
>
> **********************************************************************************
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Hl7api-devel mailing list
> Hl7api-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/hl7api-devel
>
>
------------------------------------------------------------------------------
_______________________________________________
Hl7api-devel mailing list
Hl7api-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hl7api-devel

Reply via email to