iSalusTPS.SetReceiver

The SetReceiver webservice is intended to receive a HL7 Result file from a third-party that will be stored in OfficeEMR.

Sample Call

<request>
     <security>
         <key>ClientUserID~ClientPassword~ClientDatabase</key>
         <version>1.0</version>
         <userid />
         <account>AccountGUID</account>
  </security>
  <send_list>
       <send_item>
         <type>1</type>
         <data_list>
             <data_item>
                  <filename>Sample File 1</filename>                        
                  <data>
                   MSH|^~\&amp;|www.isalushealthcare.com^0F0A7417-B12C-41BA-97A9-60AAF7917F6C^GUID|www.isalushealthcare.com^Z59^HL7|Unknown^Unknown^HL7|Unknown^Unknown^HL7|201109061241||ADT^A08|201109061241Z59|P|2.3.1|
            PID|1||i10102^^^i10102^MR||Walker^Alexander^^^^^L||19890812|M|||1234 Test Street^^Columbus^IN^47201^^M^^||(239)582-0395^PRN^PH^^^239^820395^^|(459)830-4985X456^PRN^PH^^^459^304985^456^||||||||||||||||
            PD1|||Carly Rocks^L|12345678^Simcoe^Maria^N^^^MD^^^L^^^|
            GT1|1||Walker^Alexander^||1234 Test Street^^Columbus^IN^47201^^M^^|(239)582-0395^PRN^PH^^^239^820395^^||19890812|M||E|
            GT1|2||Jones^Fred^a||123 Main Street^^Indianapolis^IN^46038^^M^^|(029)348-0293^PRN^PH^^^029^480293^^|||M||U|319992458
            IN1|1|36651||Jf Molloy|1234 Test Street^^Indianapolis^IN^46268     ^^M^^||(333)333-3333^PRN^PH^^^333^333333^^|455622341111||||||||Walker^Alexander^|E|19890812|1234 Test Street^^Columbus^IN^47201^^M^^||||||||||||||||||||||||M||||||XPN999998888
            IN2|1||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||(239)582-0395^PRN^PH^^^239^820395^^
            IN1|2|36705||Medicaid OReilly|1234 Test Street^^Indianapolis^NV^46207^^M^^||(333)333-3333^PRN^PH^^^333^333333^^|||||||||Walker^Alexander^|E|19890812|1234 Test Street^^Columbus^IN^47201^^M^^||||||||||||||||||||||||M||||||XPN999998888
            IN2|2||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||(239)582-0395^PRN^PH^^^239^820395^^
                     </data>
                 </data_item>
       <data_item>
                     <filename>Sample File 2</filename>
                     <data>
                     MSH|^~\&|||||20140123104135||ORU^R01|20140123104135|P|2.3|||AL|
                     PID|||9999||LAST03^FIRST03^^||19771012|M||||||||U||||
                     PV1|||||||9999999^SMITH^JOHN^||9999999^JOHN^SMITH^|||||||||||||||||||||||||||||||||||20130806100245|||||||
                     ORC|RE|||||||||||||||
                     OBR|||1|UDS^Uroflow|||20130806100245|||||||||5234234^ZHOU^MORGAN^||DR||^TEST HOSPITAL^|||||F||||||||||||||||||||
                     OBX|1|TX|Uroflow_Max_Flow^Uroflow Max Flow|Max_Flow|2.7|ml/s|||||F|||20130806100245|
                     OBX|2|TX|Uroflow_Avg_Flow^Uroflow Avg Flow|Avg_Flow|2.1|ml/s|||||F|||20130806100245|
                     OBX|3|TX|Uroflow_Void_Time^Uroflow Void Time|Void_Time|22.9|s|||||F|||20130806100245|
                     OBX|4|TX|Uroflow_Flow_Time^Uroflow Flow Time|Flow_Time|9.0|s|||||F|||20130806100245|
                     OBX|5|TX|Uroflow_T_Peak_Q^Uroflow T Peak Q|T_Peak_Q|8.0|s|||||F|||20130806100245|
                     OBX|6|TX|Uroflow_Void_Time_String^Uroflow Void Time String|Void_Time_String|22.9|h:mm:ss.S|||||F|||20130806100245|
                     OBX|7|TX|Uroflow_Flow_Time_String^Uroflow Flow Time String|Flow_Time_String|9.0|h:mm:ss.S|||||F|||20130806100245|
                     OBX|8|TX|Uroflow_T_Peak_Q_String^Uroflow T Peak Q String|T_Peak_Q_String|8.0|h:mm:ss.S|||||F|||20130806100245|
                     OBX|9|TX|Uroflow_Void_Vol^Uroflow Void Vol|Void_Vol|19.6|ml|||||F|||20130806100245|
                     OBX|10|TX|Uroflow_Q_at_2s^Uroflow Q at 2s|Q_at_2s|0.9|ml/s|||||F|||20130806100245|
                     OBX|11|TX|Uroflow_Q_Accel^Uroflow Q Accel|Q_Accel|0.3|ml/s/s|||||F|||20130806100245|
                     OBX|12|TX|Uroflow_VOID^Uroflow VOID|VOID|2/20/-||||||F|||20130806100245|
                     OBX|13|TX|Uroflow_TimeLag^Uroflow TimeLag|TimeLag|0.0|h:mm:ss.S|||||F|||20130806100245|
               </data>
             </data_item>
         </data_list>
       </send_item>
     </send_list>
 </request>

Element Description

Request

The Request element will serve as a wrapper for the entire body of the XML request.

Request > Security

See documentation for the Security node here:  Access to Webservices

Request > Security > Send_List

The Send_List element will serve as a wrapper for all lists of data being sent.

Request > Security > Send_List> Send_Item

The Send_Item element will serve as a wrapper for all items being sent.  In the event you are sending data for multiple clients (practices), you will have more than one send_item section.  Most scenarios though will call for one send_item element.

Request > Security > Send_List> Send_Item > Type

The 'Type' field represent the lab type for this HL7 file.  iSalus will provide this to you.

Request > Security > Send_List> Send_Item > Data_List

The data_list element will serve as a wrapper for each data element that is sent for the corresponding Type.

Request > Security > Send_List> Send_Item > Data_List > Data Item

For every file that you plan to send, it will need to be in a Data_Item wrapper.  This element expects a 'filename' and 'data' node as well.

Request > Security > Send_List> Send_Item > Data_List > Data Item > FileName

The filename element represent the unique name of the corresponding HL7 file.

Request > Security > Send_List> Send_Item > Data_List > Data Item > Data

The data element will contain the HL7 file for the result.

HL7 Result Specifications

This document assumes the user has a working knowledge of HL7 standards.  Below you will find the specifications for the Result HL7 file as it relates to OfficeEMR.

SegmentFieldValueNotes
MSH2Sending Facility
MSH5Client Account ID
MSH6Header Date
MSH9Message Control ID
MSH10Processing ID
OBR2Order Number
OBR4Order InfoOrderID^OrderDescription
OBR7Collection Date
OBR13Specimen Collection
OBR14Specimen Date
OBR15Specimen Source
OBR16Ordering Provider
OBR21Order Site
OBR22Order Date
OBR25Order Status
OBX3Result Information
OBX5Result Value
OBX6Result UOM
OBX7Result Range
OBX8Result Flag
OBX11Result Status
OBX14Result Date
OBX15Lab InformationSee Article
ORC2Manifest ID
PID2Patient Internal ID
PID3Patient External ID
PID5Patient Name
PID7Patient Date of Birth
PID8Patient Gender
PID11Patient Address
PID13Patient Phone
PID19Patient SSN
PV13Service Location
PV17Service ProviderNPI^Last^First


HL7 Result - Special Circumstances

Embedded URL

In the event that a URL needs to be provided in a result so that a user can be linked out to an external site, the below rules are applied.

  1. Links should be located in a NTE record
  2. We ALWAYS convert from http:// to https://

Example:

NTE|25|L|Executive summary. CHEST 2012; 141 (2) (Suppl): 7S-47S||||
NTE|26|L|Available at:||||
NTE|27|L|http://journal.publications.chestnet.org/data/Journals/CHEST/23443/1412S3.pdf||||
NTE|28|L|||||

Embedded PDF

In the event that a PDF needs to be provided in a result, the data should be sent in the following fashion:

  1. PDF should be located in an OBX record
  2. The type (OBX.2) should be ED
  3. Data should be base-64 encoded

Example:

OBX|3|ST|106^Ethyl Sulfate (ETS)||Detected|ng/mL|500 - 50000|A|||C|||20181002115354000||||||||||
OBX|4|ED|RPDF^Attachment||MTL^PDF^PDF^Base64^JVBERi0xLjQKJdP0zOEKMSAwIG9iago8PAovQ3JlY…..