This transaction deals with saving a patient's encounter in their medical record. The save message should be able to contain information for all the RHEA supported forms as well as information received from the RapidSMS application. This information should all be stored as observations in the SHR.
URL: POST /ws/rest/v1/patient/$<pat-ID>/encounters
Description: This transaction deals with saving a patient's encounter in their medical record. The save message should be able to contain information for all the RHEA supported forms as well as information received from the RapidSMS application. This information should all be stored as observations in the SHR.
HTTP request body will contain the HL7 v2.5 message defined below with a single patient identification parameter in the URL
Parameters:
$<pat-ID>
This parameter represents the patient ID for the patient that the encounter belongs to. It must be specified in the following format:
<ID-type>-<ID-number>
Where <ID-type> is one of the following:
Eg. POST /ws/rest/v1/patient/NID-1234567890123/encounters
From Maternal Data and Requirements for RapidSMS_SHR Integration FINAL.docx (PRE, RISK and BIR messages)
The body must contain a HL7 v2.5 ORU_R01 message with the following structure:
See HL7 ORU_R01 structure
See Query-or-SavePatientEncounter for message mappings
For more detail for RapidSMS:
HTTP 201 - Created - If the encounter was saved.
The location (URI) of the newly created resource should be returned in the location header.
HTTP 500 - Server Error - If the server encountered an error.
HTTP 400 - Bad Request - If the HL7 v2.5 message is malformed.
This section describes how this transaction is orchestrated through the HIM (interoperability layer) in order to complete this transaction.
At the OpenMRS Point-of-Care system, the user fills out one of the seven HTML forms. Once the encounter (i.e. form) is saved to the local OpenMRS database, the system will automatically (in the backend) create an ORU_RO1 message and attempt to send this to the Shared Health Record. If the internet is down, this message will be queued and a scheduled service will periodically attempt to re-send the message when the internet is available. This scenario shows an ANC Physical Exam Form being saved.
@Ishimwe - make a copy of the query-or-save excel spreadsheet, add a column to it for the sample data, and add it here.
POST https://localhost:5000/ws/rest/v1/patient/NID-123456789/encounters HTTP/1.1
<?xml version="1.0"?> <ORU_R01 xmlns="urn:hl7-org:v2xml"> <MSH> <MSH.1>|</MSH.1> <MSH.2>^~\&</MSH.2> <MSH.4> <HD.1>357</HD.1> </MSH.4> <MSH.6> <HD.1>Shared Health Record</HD.1> </MSH.6> <MSH.7> <TS.1>20120709174213</TS.1> </MSH.7> <MSH.9> <MSG.1>ORU</MSG.1> <MSG.2>R01</MSG.2> <MSG.3>ORU_R01</MSG.3> </MSH.9> <MSH.10>a349277e-116c-4663-a222-1abe200c2113</MSH.10> <MSH.11> <PT.1>D</PT.1> <PT.2>C</PT.2> </MSH.11> <MSH.12> <VID.1>2.5</VID.1> <VID.2> <CE.1>RWA</CE.1> </VID.2> </MSH.12> <MSH.21> <EI.1>CLSM_V0.83</EI.1> </MSH.21> </MSH> <ORU_R01.PATIENT_RESULT> <ORU_R01.PATIENT> <PID> <PID.1>1</PID.1> <PID.3> <CX.1>dc8d2234-7fce-4869-945e-97c8b7d97332</CX.1> <CX.5>Rwanda National ID</CX.5> </PID.3> <PID.5> <XPN.1> <FN.1>Patient</FN.1> </XPN.1> <XPN.2>Mosa</XPN.2> </PID.5> </PID> <ORU_R01.VISIT> <PV1> <PV1.2>0</PV1.2> <PV1.3> <PL.1>103</PL.1> <PL.4> <HD.1>Rwamagana</HD.1> </PL.4> </PV1.3> <PV1.4>ANC</PV1.4> <PV1.7> <XCN.1>3525410</XCN.1> <XCN.2> <FN.1>Doctor</FN.1> </XCN.2> <XCN.3>John</XCN.3> <XCN.13>NID</XCN.13> </PV1.7> <PV1.44> <TS.1>201207090542</TS.1> </PV1.44> </PV1> </ORU_R01.VISIT> </ORU_R01.PATIENT> <ORU_R01.ORDER_OBSERVATION> <ORC> <ORC.1>RE</ORC.1> <ORC.9> <TS.1>201207091742</TS.1> </ORC.9> <ORC.12> <XCN.1>7</XCN.1> </ORC.12> <ORC.16> <CE.1>XXX</CE.1> <CE.2>YYY</CE.2> <CE.3>ZZZ</CE.3> </ORC.16> </ORC> <OBR> <OBR.1>0</OBR.1> <OBR.3> <EI.1>77</EI.1> </OBR.3> <OBR.4> <CE.2>ANC</CE.2> </OBR.4> <OBR.7> <TS.1>201207090000</TS.1> </OBR.7> <OBR.16> <XCN.1>7</XCN.1> <XCN.2> <FN.1>Doctor</FN.1> </XCN.2> <XCN.3>John</XCN.3> </OBR.16> <OBR.20>103</OBR.20> <OBR.21>Rwamagana</OBR.21> </OBR> </ORU_R01.ORDER_OBSERVATION> <ORU_R01.ORDER_OBSERVATION> <OBR> <OBR.1>1</OBR.1> <OBR.18>0</OBR.18> <OBR.29> <EIP.2> <EI.3>77</EI.3> </EIP.2> </OBR.29> </OBR> <ORU_R01.OBSERVATION> <OBX> <OBX.1>0</OBX.1> <OBX.2>NM</OBX.2> <OBX.3> <CE.1>1279</CE.1> <CE.2>NUMBER OF WEEKS PREGNANT</CE.2> <CE.3>PIH</CE.3> </OBX.3> <OBX.5>34.0</OBX.5> <OBX.6> <CE.1>weeks</CE.1> <CE.3>UCUM</CE.3> </OBX.6> <OBX.14> <TS.1>20120709174208</TS.1> </OBX.14> </OBX> </ORU_R01.OBSERVATION> <ORU_R01.OBSERVATION> <OBX> <OBX.1>1</OBX.1> <OBX.2>NM</OBX.2> <OBX.3> <CE.1>5088</CE.1> <CE.2>TEMPERATURE (C)</CE.2> <CE.3>PIH</CE.3> </OBX.3> <OBX.5>34.0</OBX.5> <OBX.6> <CE.1>DEG C</CE.1> <CE.3>UCUM</CE.3> </OBX.6> <OBX.14> <TS.1>20120709174208</TS.1> </OBX.14> </OBX> </ORU_R01.OBSERVATION> <ORU_R01.OBSERVATION> <OBX> <OBX.1>2</OBX.1> <OBX.2>NM</OBX.2> <OBX.3> <CE.1>5089</CE.1> <CE.2>WEIGHT (KG)</CE.2> <CE.3>PIH</CE.3> </OBX.3> <OBX.5>34.0</OBX.5> <OBX.6> <CE.1>kg</CE.1> <CE.3>UCUM</CE.3> </OBX.6> <OBX.14> <TS.1>20120709174208</TS.1> </OBX.14> </OBX> </ORU_R01.OBSERVATION> <ORU_R01.OBSERVATION> <OBX> <OBX.1>3</OBX.1> <OBX.2>NM</OBX.2> <OBX.3> <CE.1>5086</CE.1> <CE.2>DIASTOLIC BLOOD PRESSURE</CE.2> <CE.3>PIH</CE.3> </OBX.3> <OBX.5>34.0</OBX.5> <OBX.6> <CE.1>mmHg</CE.1> <CE.3>UCUM</CE.3> </OBX.6> <OBX.14> <TS.1>20120709174208</TS.1> </OBX.14> </OBX> </ORU_R01.OBSERVATION> <ORU_R01.OBSERVATION> <OBX> <OBX.1>4</OBX.1> <OBX.2>NM</OBX.2> <OBX.3> <CE.1>123</CE.1> <CE.2>Length of the uterus (fundal height) in cm</CE.2> <CE.3>local</CE.3> </OBX.3> <OBX.5>34.0</OBX.5> <OBX.6> <CE.1>cm</CE.1> <CE.3>UCUM</CE.3> </OBX.6> <OBX.14> <TS.1>20120709174208</TS.1> </OBX.14> </OBX> </ORU_R01.OBSERVATION> <ORU_R01.OBSERVATION> <OBX> <OBX.1>5</OBX.1> <OBX.2>NM</OBX.2> <OBX.3> <CE.1>5085</CE.1> <CE.2>SYSTOLIC BLOOD PRESSURE</CE.2> <CE.3>PIH</CE.3> </OBX.3> <OBX.5>34.0</OBX.5> <OBX.6> <CE.1>mmHg</CE.1> <CE.3>UCUM</CE.3> </OBX.6> <OBX.14> <TS.1>20120709174208</TS.1> </OBX.14> </OBX> </ORU_R01.OBSERVATION> </ORU_R01.ORDER_OBSERVATION> </ORU_R01.PATIENT_RESULT> </ORU_R01> |
No body response is returned, only HTTP_CODE describe the status of the transaction.