Search in sources :

Example 21 with QRD

use of ca.uhn.hl7v2.model.v24.segment.QRD in project camel by apache.

the class HL7DataFormatTest method testMarshalUTF16InMessage.

@Test
public void testMarshalUTF16InMessage() throws Exception {
    String charsetName = "UTF-16";
    MockEndpoint mock = getMockEndpoint("mock:marshal");
    mock.expectedMessageCount(1);
    Message message = createHL7WithCharsetAsMessage(HL7Charset.getHL7Charset(charsetName));
    template.sendBodyAndProperty("direct:marshal", message, Exchange.CHARSET_NAME, charsetName);
    assertMockEndpointsSatisfied();
    byte[] body = (byte[]) mock.getExchanges().get(0).getIn().getBody();
    String msg = new String(body, Charset.forName(charsetName));
    assertTrue(msg.contains("MSA|AA|123"));
    assertTrue(msg.contains("QRD|20080805120000"));
}
Also used : Message(ca.uhn.hl7v2.model.Message) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) Test(org.junit.Test)

Example 22 with QRD

use of ca.uhn.hl7v2.model.v24.segment.QRD in project camel by apache.

the class HL7DataFormatTest method testUnmarshal.

@Test
public void testUnmarshal() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:unmarshal");
    mock.expectedMessageCount(1);
    mock.message(0).body().isInstanceOf(Message.class);
    mock.expectedHeaderReceived(HL7Constants.HL7_SENDING_APPLICATION, "MYSENDER");
    mock.expectedHeaderReceived(HL7Constants.HL7_SENDING_FACILITY, "MYSENDERAPP");
    mock.expectedHeaderReceived(HL7Constants.HL7_RECEIVING_APPLICATION, "MYCLIENT");
    mock.expectedHeaderReceived(HL7Constants.HL7_RECEIVING_FACILITY, "MYCLIENTAPP");
    mock.expectedHeaderReceived(HL7Constants.HL7_TIMESTAMP, "200612211200");
    mock.expectedHeaderReceived(HL7Constants.HL7_SECURITY, null);
    mock.expectedHeaderReceived(HL7Constants.HL7_MESSAGE_TYPE, "QRY");
    mock.expectedHeaderReceived(HL7Constants.HL7_TRIGGER_EVENT, "A19");
    mock.expectedHeaderReceived(HL7Constants.HL7_MESSAGE_CONTROL, "1234");
    mock.expectedHeaderReceived(HL7Constants.HL7_PROCESSING_ID, "P");
    mock.expectedHeaderReceived(HL7Constants.HL7_VERSION_ID, "2.4");
    mock.expectedHeaderReceived(HL7Constants.HL7_CONTEXT, hl7.getHapiContext());
    mock.expectedHeaderReceived(HL7Constants.HL7_CHARSET, null);
    mock.expectedHeaderReceived(Exchange.CHARSET_NAME, "UTF-8");
    String body = createHL7AsString();
    template.sendBody("direct:unmarshal", body);
    assertMockEndpointsSatisfied();
    Message msg = mock.getExchanges().get(0).getIn().getBody(Message.class);
    assertEquals("2.4", msg.getVersion());
    QRD qrd = (QRD) msg.get("QRD");
    assertEquals("0101701234", qrd.getWhoSubjectFilter(0).getIDNumber().getValue());
}
Also used : QRD(ca.uhn.hl7v2.model.v24.segment.QRD) Message(ca.uhn.hl7v2.model.Message) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) Test(org.junit.Test)

Example 23 with QRD

use of ca.uhn.hl7v2.model.v24.segment.QRD in project camel by apache.

the class HL7DataFormatTest method createHL7AsMessage.

private static ADR_A19 createHL7AsMessage() throws Exception {
    ADR_A19 adr = new ADR_A19();
    // Populate the MSH Segment
    MSH mshSegment = adr.getMSH();
    mshSegment.getFieldSeparator().setValue("|");
    mshSegment.getEncodingCharacters().setValue("^~\\&");
    mshSegment.getDateTimeOfMessage().getTimeOfAnEvent().setValue("200701011539");
    mshSegment.getSendingApplication().getNamespaceID().setValue("MYSENDER");
    mshSegment.getSequenceNumber().setValue("123");
    mshSegment.getMessageType().getMessageType().setValue("ADR");
    mshSegment.getMessageType().getTriggerEvent().setValue("A19");
    // Populate the PID Segment
    MSA msa = adr.getMSA();
    msa.getAcknowledgementCode().setValue("AA");
    msa.getMessageControlID().setValue("123");
    msa.getMsa3_TextMessage().setValue(NONE_ISO_8859_1);
    QRD qrd = adr.getQRD();
    qrd.getQueryDateTime().getTimeOfAnEvent().setValue("20080805120000");
    return adr;
}
Also used : QRD(ca.uhn.hl7v2.model.v24.segment.QRD) MSH(ca.uhn.hl7v2.model.v24.segment.MSH) ADR_A19(ca.uhn.hl7v2.model.v24.message.ADR_A19) MSA(ca.uhn.hl7v2.model.v24.segment.MSA)

Example 24 with QRD

use of ca.uhn.hl7v2.model.v24.segment.QRD in project camel by apache.

the class HL7DataFormatTest method testMarshalUTF8.

@Test
public void testMarshalUTF8() throws Exception {
    MockEndpoint mock = getMockEndpoint("mock:marshal");
    mock.expectedMessageCount(1);
    mock.message(0).body().isInstanceOf(byte[].class);
    mock.message(0).body(String.class).contains("MSA|AA|123");
    mock.message(0).body(String.class).contains("QRD|20080805120000");
    mock.message(0).body(String.class).contains(NONE_ISO_8859_1);
    Message message = createHL7AsMessage();
    template.sendBodyAndProperty("direct:marshal", message, Exchange.CHARSET_NAME, "UTF-8");
    assertMockEndpointsSatisfied();
}
Also used : Message(ca.uhn.hl7v2.model.Message) MockEndpoint(org.apache.camel.component.mock.MockEndpoint) Test(org.junit.Test)

Aggregations

QRD (ca.uhn.hl7v2.model.v24.segment.QRD)20 Message (ca.uhn.hl7v2.model.Message)13 ADR_A19 (ca.uhn.hl7v2.model.v24.message.ADR_A19)10 MSA (ca.uhn.hl7v2.model.v24.segment.MSA)10 MSH (ca.uhn.hl7v2.model.v24.segment.MSH)10 Test (org.junit.Test)8 MockEndpoint (org.apache.camel.component.mock.MockEndpoint)7 Exchange (org.apache.camel.Exchange)6 Processor (org.apache.camel.Processor)6 RouteBuilder (org.apache.camel.builder.RouteBuilder)5 QRY_A19 (ca.uhn.hl7v2.model.v24.message.QRY_A19)2 PipeParser (ca.uhn.hl7v2.parser.PipeParser)2 ByteArrayInputStream (java.io.ByteArrayInputStream)2 ST (ca.uhn.hl7v2.model.v24.datatype.ST)1 HL7DataFormat (org.apache.camel.component.hl7.HL7DataFormat)1 DataFormat (org.apache.camel.spi.DataFormat)1 SwitchYardMessage (org.switchyard.common.camel.SwitchYardMessage)1