Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Add a new Event Process with name 'HL7Sender_Receiver_Eg'.
  2. Drag the HL7Sender component from Bridges category in the Service Palette to the Fiorano Orchestrator.

    Image Modified
    Figure 1: Adding HL7Sender component to Fiorano Orchestrator

  3. Double-click the component in the Orchestrator to open Configuration Property Sheet (CPS).
    1. Click
    Add
    1. Add Image Modified button to add a Sender configuration
    by providing
    1. and provide the following values:
      1. Select a Sender to Modify: ORU_R01_Sender (Sender Configuration Name)
      2. Receive Type: Both (to accept both XML as well as HL7 acknowledge formats)
      3. Send Type: Piped
    2. Click Connection Details button and provide the following values:
      1. IP Address:
      localhost
      1.  localhost (retain default value)
      2. Port Number:
      1011
      1.  1011 (retain default value)
      2. Request Timeout (in ms):
      60000 Send Type: Piped
      Image Removed
      1.  60000 (retain default value)
    3. Receive Type: Both (to accept both XML as well as HL7 acknowledge formats)

      1. Image Added
        Figure 2: HL7Sender Configuration in CPS

  4. Click Finish and notice that the component will have input and output ports generated after the above configurations.

...

In HL7Receiver, multiple receive configurations can be configured to listen to various types of HL7 messages identified by Message Type and Trigger Event combination. For every receive configuration, an output port is generated with configuration name as port name prefix. An asterisk (star) , that is, * symbol, can be used as wildcard character for both message formats and trigger event which listens to all message types.

...

  1. Drag the HL7Receiver component from Bridges category in the Service Palette to the Fiorano Orchestrator.

    Image Modified
    Figure 3: Adding HL7Receiver component to Fiorano Orchestrator

  2. Double-click the component in the Orchestrator to open Configuration Property Sheet (CPS).
    1. Click Image Modified button to add Receiver configuration by providing
    the following values:
    1. Select a Receiver to modify:  value "ORU_R01_Receiver".
    2. Click Connection Details button and provide the Port Number:  as "1011" (retain default value. This is same as the port number specified in HL7Sender)
    3. Click Add button to add an event, and provide event details and message type:
      1. Events
        1. Message Type: ORU
        2. Trigger Event: R01

          Info

           The Message Type value and Trigger Event value together forms an event and Hl7Receiver listens for messages matching this event. In the present example, HL7Receiver listens for ORU|R01 messages.

          Note

          An asterisk * can be used as wild character for both message format and trigger event, where it receives all messages without filtering them.

      2. Message Type: Both (to send the received message as-it-is without any conversion)

        Info

        If you select 'XML', when the received message is of type 'Piped', the message is encoded as XML before sending it to output port.

         

      Image Removed
      1. Image Added
        Figure 4: HL7Receiver Configuration in CPS

        Note

        An Acknowledgement Generator Class (last tab in Figure 4) can be used to delegate the responsibility of generating an ack message for HL7 message received.

        If value is not provided a default ack generator is used which will generate AA if HL7 message is successfully converted to JMS Message and sent on output port and AE otherwise. Acknowledge Generator should implement com.fiorano.services.hl7receiver.engine.IAckGenerator and should have a default constructor.

        Code Block
        titleExpand for the sample Generator Class
        collapsetrue
        public interface IAckGenerator {
            /**
             * Generate Acceptance Ack for <code>message</code> received
             * @param message message received by recevier
             * @return ack message which will be sent back to the sender
             * @throws HL7Exception
             * @throws IOException
             */
            Message generateAckForSuccess(Message message) throws HL7Exception, IOException;
            /**
             * Generate Error Ack for <code>message</code> received when an exception <code>e</code> happens
             * while proccessing the <code>message</code>
             * @param message message received by recevier
             * @param e excveption occured while processing the message
             * @return ack message which will be sent back to the sender
             * @throws HL7Exception
             */
            Message generateAckForException(Message message, HL7Exception e) throws HL7Exception;
        }
        
        
  3. Click Finish and notice that the component will have the output port generated after the above configurations.

...

  1. Click Check Resource and Connectivity icon (or press ALT+SHIFT+C) to check resource and connectivity.
  2. Click Run Event Process icon (ALT+SHIFT+R) to run the event process. Feeder1, Display_Sender and Display_Receiver windows get opened.
  3. In the Feeder1 window, replace 'Input Text' with the below sample input message and click Send.

     

    Code Block
    titleExpand for Sample Input Message
    collapsetrue
    MSH|^~\&|GDML|GDML|||20140207163234||ORU^R01|3ca92c1f-a566-4868-a704-dcb9d0c1fcd3|T|2.6|||||||EN
     PID|1|^^^^^|NNTV19880113^Other^Other^^Other0~NNTV88011300^CANQC^Other^^Other51~NNTV0013^Other^Other^^Other26||NNTEST13^V12TEST13||19880113|F|||13 STREETABJOU^J1K2L3|||||||||||||||||||||||||||||
     PRT|1|||OP^Physician|79335^ZAPHIRATOS^THOMAS^^|||||||||202 - 7200 HUTCHISONMONTRÉAL^Qc^H3N 1Z2|Work^514^4957932||^^
     PRT|2|||PO^Lab||||ZAPHIRATOS, T. DR.^^^^GDML^^LLZAPHIR||||||7200 HutchisonMONTREAL^Qc^H3N 1Z2|Work^495^2555Fax^495^7932||^^
     ORC|||3872090||O||||20140206163434
     NTE|1|L||This requisition was edited and resaved on the2014/02/07 12:06:52 (GMT-05:00)|GR
     OBR|1||3872090|2054^GLUCOSE POS 1:2 H^GDML^^^^^^|R||20140206163434|||||||||||||^BIOCHEMISTRY|||||I||||
     SPM||||||||||


    Image RemovedImage Added
    Figure 8: Sending Input from Feeder

  4. The message received appears in Display_Receiver window.
    Image Removed
    Image Added
    Figure 9: Display_Receiver window with Received Message

  5. Acknowledgment message appears in Display_Sender window.
    Image Removed
    Image Added
    Figure 10: Display_Sender window with Acknowledgement

Reference

Adaptavist ThemeBuilder EngineAtlassian Confluence