Search in sources :

Example 11 with QRD

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

the class HL7MLLPNettyRouteToTest method createRouteBuilder.

protected RouteBuilder createRouteBuilder() throws Exception {
    return new RouteBuilder() {

        public void configure() throws Exception {
            from("direct:start").to("netty4:tcp://127.0.0.1:" + getPort() + "?sync=true&decoder=#hl7decoder&encoder=#hl7encoder").log("HL7 message: ${body}").to("mock:result");
            from("netty4:tcp://127.0.0.1:" + getPort() + "?sync=true&decoder=#hl7decoder&encoder=#hl7encoder").process(new Processor() {

                public void process(Exchange exchange) throws Exception {
                    Message input = exchange.getIn().getBody(Message.class);
                    assertEquals("2.4", input.getVersion());
                    QRD qrd = (QRD) input.get("QRD");
                    assertEquals("0101701234", qrd.getWhoSubjectFilter(0).getIDNumber().getValue());
                    Message response = createHL7AsMessage();
                    exchange.getOut().setBody(response);
                }
            });
        }
    };
}
Also used : Exchange(org.apache.camel.Exchange) QRD(ca.uhn.hl7v2.model.v24.segment.QRD) Processor(org.apache.camel.Processor) RouteBuilder(org.apache.camel.builder.RouteBuilder) Message(ca.uhn.hl7v2.model.Message)

Example 12 with QRD

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

the class HL7NettyRouteTest method createADR19Message.

// END SNIPPET: e2
private static Message createADR19Message() 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");
    QRD qrd = adr.getQRD();
    qrd.getQueryDateTime().getTimeOfAnEvent().setValue("20080805120000");
    return adr.getMessage();
}
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 13 with QRD

use of ca.uhn.hl7v2.model.v24.segment.QRD in project quickstarts by jboss-switchyard.

the class CamelServiceRoute method configure.

/**
     * The Camel route is configured via this method.  The from endpoint is required to be a SwitchYard service.
     */
public void configure() {
    DataFormat hl7 = new HL7DataFormat();
    from("switchyard://HL7Route").unmarshal(hl7).process(new Processor() {

        @Override
        public void process(Exchange exchange) throws Exception {
            String body = exchange.getIn().getBody(String.class);
            PipeParser pipeParser = new PipeParser();
            try {
                // Parse the HL7 message 
                ca.uhn.hl7v2.model.Message message = pipeParser.parse(body);
                if (message instanceof QRY_A19) {
                    // Print out some details from the QRD
                    QRD qrd = (QRD) message.get("QRD");
                    System.out.println("Query Date/Time : " + qrd.getQueryDateTime().getTimeOfAnEvent().getValue());
                    System.out.println("Query Format Code : " + qrd.getQueryFormatCode().getValue());
                    System.out.println("Query Priority : " + qrd.getQueryPriority().getValue());
                    System.out.println("Query ID : " + qrd.getQueryID().getValue());
                    System.out.println("Deferred Response Type : " + qrd.getDeferredResponseType().getValue());
                    System.out.println("Deferred Response Date/Time : " + qrd.getDeferredResponseDateTime().getTimeOfAnEvent().getValue());
                    System.out.println("Quantity Limited Request : " + qrd.getQuantityLimitedRequest().getQuantity().getValue());
                    System.out.println("Query Results Level : " + qrd.getQueryResultsLevel().getValue());
                    qrd.getQueryID();
                }
            } catch (Exception e) {
                throw e;
            }
            SwitchYardMessage out = new SwitchYardMessage();
            out.setBody(body);
            exchange.setOut(out);
        }
    });
}
Also used : QRD(ca.uhn.hl7v2.model.v24.segment.QRD) Processor(org.apache.camel.Processor) PipeParser(ca.uhn.hl7v2.parser.PipeParser) SwitchYardMessage(org.switchyard.common.camel.SwitchYardMessage) HL7DataFormat(org.apache.camel.component.hl7.HL7DataFormat) SwitchYardMessage(org.switchyard.common.camel.SwitchYardMessage) Exchange(org.apache.camel.Exchange) DataFormat(org.apache.camel.spi.DataFormat) HL7DataFormat(org.apache.camel.component.hl7.HL7DataFormat) QRY_A19(ca.uhn.hl7v2.model.v24.message.QRY_A19)

Example 14 with QRD

use of ca.uhn.hl7v2.model.v24.segment.QRD in project quickstarts by jboss-switchyard.

the class HL7ServiceTest method testCamelRoute.

@Test
public void testCamelRoute() {
    StringBuilder in = new StringBuilder();
    in.append(LINE_ONE);
    in.append("\r");
    in.append(LINE_TWO);
    String result = processMessage.sendInOut(in).getContent(String.class);
    ;
    PipeParser pipeParser = new PipeParser();
    try {
        //parse the message string into a Message object 
        Message message = pipeParser.parse(result);
        if (message instanceof QRY_A19) {
            QRD qrd = (QRD) message.get("QRD");
            ST st = qrd.getQueryID();
            Assert.assertTrue(st.getValue().equals("GetPatient"));
        } else {
            Assert.fail("Message not instance of QRY_A19");
        }
    } catch (Exception e) {
        Assert.fail(e.getMessage());
    }
}
Also used : ST(ca.uhn.hl7v2.model.v24.datatype.ST) QRD(ca.uhn.hl7v2.model.v24.segment.QRD) PipeParser(ca.uhn.hl7v2.parser.PipeParser) Message(ca.uhn.hl7v2.model.Message) QRY_A19(ca.uhn.hl7v2.model.v24.message.QRY_A19) Test(org.junit.Test)

Example 15 with QRD

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

the class HL7RouteTest method createADR19Message.

// END SNIPPET: e2
private static Message createADR19Message() 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");
    QRD qrd = adr.getQRD();
    qrd.getQueryDateTime().getTimeOfAnEvent().setValue("20080805120000");
    return adr.getMessage();
}
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)

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