Botswana FHIR Implementation Guide
1.0.0 - ci-build
Botswana FHIR Implementation Guide, published by Jembi Health Systems. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/jembi/botswana-hie-fhir-ig/ and changes regularly. See the Directory of published versions
Active as of 2025-08-20 |
<ExampleScenario xmlns="http://hl7.org/fhir">
<id value="SubmitNewLabOrders"/>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: ExampleScenario SubmitNewLabOrders</b></p><a name="SubmitNewLabOrders"> </a><a name="hcSubmitNewLabOrders"> </a><p><b>url</b>: <a href="ExampleScenario-SubmitNewLabOrders.html">Submit New Lab Orders (Using a Bundle)</a></p><p><b>version</b>: 1.0.0</p><p><b>name</b>: SubmitNewLabOrders</p><p><b>title</b>: Submit New Lab Orders (Using a Bundle)</p><p><b>status</b>: Active</p><p><b>experimental</b>: false</p><p><b>date</b>: 2025-08-20 07:21:53+0000</p><p><b>publisher</b>: Jembi Health Systems</p><p><b>contact</b>: Jembi Health Systems: <a href="https://www.jembi.org">https://www.jembi.org</a>,<a href="mailto:info@jembi.org">info@jembi.org</a>, Jembi Health Systems: <a href="mailto:info@jembi.org">info@jembi.org</a></p><p><b>jurisdiction</b>: <span title="Codes:{urn:iso:std:iso:3166 BW}">Botswana</span></p><p><b>purpose</b>: </p><div><p>This serves to demonstrate the submission of a new lab orders, from the Point-of-Service (PoS) application to the FHIR datastore.</p>
</div><blockquote><p><b>actor</b></p><p><b>Actor Reference</b>: <a href="ActorDefinition-PIMSActorDefinitionExample.html">ActorDefinition Patient Information Management System (PIMS)</a></p><p><b>Actor Reference</b>: <a href="ActorDefinition-OpenMRSActorDefinitionExample.html">ActorDefinition OpenMRS</a></p><p><b>key</b>: PoS</p><p><b>type</b>: System</p><p><b>title</b>: Point of Service</p><p><b>description</b>: </p><div><p>The entity that creates the lab order.</p>
</div></blockquote><blockquote><p><b>actor</b></p><p><b>Actor Reference</b>: <a href="ActorDefinition-InteroperabilityLayerActorDefinitionExample.html">ActorDefinition Interoperability Layer (IL)</a></p><p><b>key</b>: IL</p><p><b>type</b>: System</p><p><b>title</b>: Interoperability Layer</p><p><b>description</b>: </p><div><p>The entity that receives the lab order request submitted by the PoS entity.</p>
</div></blockquote><blockquote><p><b>actor</b></p><p><b>Actor Reference</b>: <a href="ActorDefinition-SHRActorDefinitionExample.html">ActorDefinition Shared Health Record (SHR)</a></p><p><b>key</b>: FHIR</p><p><b>type</b>: System</p><p><b>title</b>: FHIR Server</p><p><b>description</b>: </p><div><p>The entity that stores the details for the lab order submitted by the PoS entity.</p>
</div></blockquote><blockquote><p><b>instance</b></p><p><b>key</b>: laborder.01</p><p><b>structureType</b>: <a href="http://hl7.org/fhir/R5/codesystem-fhir-types.html#fhir-types-Endpoint">All FHIR Types Endpoint</a>: Endpoint</p><p><b>structureProfile</b>: <a href="http://hl7.org/fhir/R5/endpoint.html">Endpoint</a></p><p><b>title</b>: Outcome response</p><p><b>description</b>: </p><div><p>FHIR issues an outcome response to each CRUD request.</p>
</div><p><b>content</b>: <a href="Endpoint-FHIRResourceProcessResponse.html">Endpoint: status = active; connectionType = Interoperability Layer; description = FHIR issues an outcome response to each request.; address = https://openhim-core:5001</a></p></blockquote><blockquote><p><b>instance</b></p><p><b>key</b>: laborder.02</p><p><b>structureType</b>: <a href="http://hl7.org/fhir/R5/codesystem-fhir-types.html#fhir-types-Bundle">All FHIR Types Bundle</a>: Bundle</p><p><b>structureProfile</b>: <a href="StructureDefinition-lab-orders-bundle.html">Bundle - Lab Orders</a></p><p><b>title</b>: Lab Order Bundle - New Lab Orders</p><p><b>description</b>: </p><div><p>The FHIR bundle provided by the PoS entity when submitting the lab order service request.</p>
<p>This bundle includes the following resources:</p>
<ul>
<li><a href="Task-LabOrderTaskExample.html">Ready Lab Order</a></li>
<li><a href="Specimen-AvailableSpecimenForActiveRequestsExample.html">Lab Order Specimen</a></li>
<li><a href="ServiceRequest-LabOrderActiveServiceRequestExample.html">Active Lab Order Service Request</a></li>
</ul>
</div><p><b>content</b>: <a href="Bundle-lab-order-with-patient-bundle.html">Bundle: type = transaction</a></p></blockquote><blockquote><p><b>instance</b></p><p><b>key</b>: laborder.03</p><p><b>structureType</b>: <a href="http://hl7.org/fhir/R5/codesystem-fhir-types.html#fhir-types-Endpoint">All FHIR Types Endpoint</a>: Endpoint</p><p><b>structureProfile</b>: <a href="http://hl7.org/fhir/R5/endpoint.html">Endpoint</a></p><p><b>title</b>: FHIR request</p><p><b>description</b>: </p><div><p>FHIR processes each request in the bundle using the HTTP request method defined for each Resource included in the Bundle.</p>
</div><p><b>content</b>: <a href="Endpoint-ProcessFHIRBundle.html">Endpoint Bundle</a></p></blockquote><blockquote><p><b>process</b></p><p><b>title</b>: New Lab Order</p><p><b>preConditions</b>: </p><div><p>PoS entity has submitted a lab order request.</p>
</div><p><b>postConditions</b>: </p><div><p>FHIR entity has stored the lab order details for the patient and sent an outcome response for the request to the IL entity.</p>
</div><blockquote><p><b>step</b></p><p><b>number</b>: 1</p><blockquote><p><b>process</b></p><p><b>title</b>: New Lab Order</p><p><b>description</b>: </p><div><p>This scenario demonstrates the process of storing the patient's lab order information in the FHIR datastore.</p>
</div><blockquote><p><b>step</b></p><p><b>number</b>: 1.1</p><blockquote><p><b>operation</b></p><p><b>type</b>: <a href="http://hl7.org/fhir/R5/codesystem-restful-interaction.html#restful-interaction-update">FHIR Restful Interactions update</a>: update</p><p><b>title</b>: Submit lab order</p><p><b>initiator</b>: PoS</p><p><b>receiver</b>: IL</p><p><b>description</b>: </p><div><p>Lab order information</p>
</div><p><b>initiatorActive</b>: true</p><h3>Requests</h3><table class="grid"><tr><td style="display: none">-</td><td><b>InstanceReference</b></td></tr><tr><td style="display: none">*</td><td>laborder.02</td></tr></table></blockquote></blockquote><blockquote><p><b>step</b></p><p><b>number</b>: 1.2</p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Title</b></td><td><b>Initiator</b></td><td><b>Receiver</b></td><td><b>Description</b></td><td><b>InitiatorActive</b></td></tr><tr><td style="display: none">*</td><td>Invoke FHIR mediator</td><td>IL</td><td>IL</td><td><div><p>Pass the data to the mediator responsible for calling the endpoint for creating the lab order information in FHIR.</p>
</div></td><td>true</td></tr></table></blockquote><blockquote><p><b>step</b></p><p><b>number</b>: 1.3</p><blockquote><p><b>operation</b></p><p><b>type</b>: <a href="http://hl7.org/fhir/R5/codesystem-restful-interaction.html#restful-interaction-update">FHIR Restful Interactions update</a>: update</p><p><b>title</b>: Send data for consumption</p><p><b>initiator</b>: IL</p><p><b>receiver</b>: FHIR</p><p><b>description</b>: </p><div><p>Request for FHIR to process the information in the lab order bundle.</p>
</div><h3>Requests</h3><table class="grid"><tr><td style="display: none">-</td><td><b>InstanceReference</b></td></tr><tr><td style="display: none">*</td><td>laborder.03</td></tr></table><h3>Responses</h3><table class="grid"><tr><td style="display: none">-</td><td><b>InstanceReference</b></td></tr><tr><td style="display: none">*</td><td>laborder.01</td></tr></table></blockquote></blockquote><blockquote><p><b>step</b></p><p><b>number</b>: 1.4</p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Title</b></td><td><b>Initiator</b></td><td><b>Receiver</b></td><td><b>Description</b></td></tr><tr><td style="display: none">*</td><td>Success: Invoke IL mediator</td><td>IL</td><td>IL</td><td><div><p>Pass the data to the mediator responsible for calling the endpoint that must send a response back the PoS system who initiated the lab order request.</p>
</div></td></tr></table></blockquote></blockquote></blockquote></blockquote><blockquote><p><b>process</b></p><p><b>title</b>: Respond to Request</p><p><b>preConditions</b>: </p><div><p>FHIR entity has processed the request and has issued an outcome response.</p>
</div><p><b>postConditions</b>: </p><div><p>IL entity has received the outcome response from FHIR and forwarded the response to the PoS system.</p>
</div><blockquote><p><b>step</b></p><p><b>number</b>: 2</p><blockquote><p><b>process</b></p><p><b>title</b>: Respond to Request</p><p><b>description</b>: </p><div><p>This scenario demonstrates the process for responding to the PoS sytem who submitted the request.</p>
</div><blockquote><p><b>step</b></p><p><b>number</b>: 2.1</p><blockquote><p><b>operation</b></p><p><b>title</b>: Response</p><p><b>initiator</b>: IL</p><p><b>receiver</b>: PoS</p><p><b>description</b>: </p><div><p>Mediator responds to the request.</p>
</div><h3>Requests</h3><table class="grid"><tr><td style="display: none">-</td><td><b>InstanceReference</b></td></tr><tr><td style="display: none">*</td><td>laborder.01</td></tr></table></blockquote></blockquote><blockquote><p><b>step</b></p><p><b>number</b>: 2.2</p><h3>Operations</h3><table class="grid"><tr><td style="display: none">-</td><td><b>Title</b></td><td><b>Initiator</b></td><td><b>Receiver</b></td><td><b>Description</b></td></tr><tr><td style="display: none">*</td><td>Log the outcome</td><td>PoS</td><td>PoS</td><td><div><p>PoS entity logs the outcome issued by the FHIR entity.</p>
</div></td></tr></table></blockquote></blockquote></blockquote></blockquote></div>
</text>
<url value="http://moh.bw.org/ExampleScenario/SubmitNewLabOrders"/>
<version value="1.0.0"/>
<name value="SubmitNewLabOrders"/>
<title value="Submit New Lab Orders (Using a Bundle)"/>
<status value="active"/>
<experimental value="false"/>
<date value="2025-08-20T07:21:53+00:00"/>
<publisher value="Jembi Health Systems"/>
<contact>
<name value="Jembi Health Systems"/>
<telecom>
<system value="url"/>
<value value="https://www.jembi.org"/>
</telecom>
<telecom>
<system value="email"/>
<value value="info@jembi.org"/>
</telecom>
</contact>
<contact>
<name value="Jembi Health Systems"/>
<telecom>
<system value="email"/>
<value value="info@jembi.org"/>
<use value="work"/>
</telecom>
</contact>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="BW"/>
<display value="Botswana"/>
</coding>
</jurisdiction>
<purpose
value="This serves to demonstrate the submission of a new lab orders, from the Point-of-Service (PoS) application to the FHIR datastore."/>
<actor>
<extension url="http://moh.bw.org/StructureDefinition/actor-reference">
<valueReference>🔗
<reference value="ActorDefinition/PIMSActorDefinitionExample"/>
</valueReference>
</extension>
<extension url="http://moh.bw.org/StructureDefinition/actor-reference">
<valueReference>🔗
<reference value="ActorDefinition/OpenMRSActorDefinitionExample"/>
</valueReference>
</extension>
<key value="PoS"/>
<type value="system"/>
<title value="Point of Service"/>
<description value="The entity that creates the lab order."/>
</actor>
<actor>
<extension url="http://moh.bw.org/StructureDefinition/actor-reference">
<valueReference>🔗
<reference
value="ActorDefinition/InteroperabilityLayerActorDefinitionExample"/>
</valueReference>
</extension>
<key value="IL"/>
<type value="system"/>
<title value="Interoperability Layer"/>
<description
value="The entity that receives the lab order request submitted by the PoS entity."/>
</actor>
<actor>
<extension url="http://moh.bw.org/StructureDefinition/actor-reference">
<valueReference>🔗
<reference value="ActorDefinition/SHRActorDefinitionExample"/>
</valueReference>
</extension>
<key value="FHIR"/>
<type value="system"/>
<title value="FHIR Server"/>
<description
value="The entity that stores the details for the lab order submitted by the PoS entity."/>
</actor>
<instance>
<key value="laborder.01"/>
<structureType>
<system value="http://hl7.org/fhir/fhir-types"/>
<code value="Endpoint"/>
</structureType>
<structureProfileCanonical
value="http://hl7.org/fhir/StructureDefinition/Endpoint"/>
<title value="Outcome response"/>
<description
value="FHIR issues an outcome response to each CRUD request."/>
<content>🔗
<reference value="Endpoint/FHIRResourceProcessResponse"/>
</content>
</instance>
<instance>
<key value="laborder.02"/>
<structureType>
<system value="http://hl7.org/fhir/fhir-types"/>
<code value="Bundle"/>
</structureType>
<structureProfileCanonical
value="http://moh.bw.org/StructureDefinition/lab-orders-bundle"/>
<title value="Lab Order Bundle - New Lab Orders"/>
<description
value="The FHIR bundle provided by the PoS entity when submitting the lab order service request.
This bundle includes the following resources:
- [Ready Lab Order](Task-LabOrderTaskExample.html)
- [Lab Order Specimen](Specimen-AvailableSpecimenForActiveRequestsExample.html)
- [Active Lab Order Service Request](ServiceRequest-LabOrderActiveServiceRequestExample.html)"/>
<content>🔗
<reference value="Bundle/lab-order-with-patient-bundle"/>
</content>
</instance>
<instance>
<key value="laborder.03"/>
<structureType>
<system value="http://hl7.org/fhir/fhir-types"/>
<code value="Endpoint"/>
</structureType>
<structureProfileCanonical
value="http://hl7.org/fhir/StructureDefinition/Endpoint"/>
<title value="FHIR request"/>
<description
value="FHIR processes each request in the bundle using the HTTP request method defined for each Resource included in the Bundle."/>
<content>🔗
<reference value="Endpoint/ProcessFHIRBundle"/>
</content>
</instance>
<process>
<title value="New Lab Order"/>
<preConditions value="PoS entity has submitted a lab order request."/>
<postConditions
value="FHIR entity has stored the lab order details for the patient and sent an outcome response for the request to the IL entity."/>
<step>
<number value="1"/>
<process>
<title value="New Lab Order"/>
<description
value="This scenario demonstrates the process of storing the patient's lab order information in the FHIR datastore."/>
<step>
<number value="1.1"/>
<operation>
<type>
<system value="http://hl7.org/fhir/restful-interaction"/>
<code value="update"/>
</type>
<title value="Submit lab order"/>
<initiator value="PoS"/>
<receiver value="IL"/>
<description value="Lab order information"/>
<initiatorActive value="true"/>
<request>
<instanceReference value="laborder.02"/>
</request>
</operation>
</step>
<step>
<number value="1.2"/>
<operation>
<title value="Invoke FHIR mediator"/>
<initiator value="IL"/>
<receiver value="IL"/>
<description
value="Pass the data to the mediator responsible for calling the endpoint for creating the lab order information in FHIR."/>
<initiatorActive value="true"/>
</operation>
</step>
<step>
<number value="1.3"/>
<operation>
<type>
<system value="http://hl7.org/fhir/restful-interaction"/>
<code value="update"/>
</type>
<title value="Send data for consumption"/>
<initiator value="IL"/>
<receiver value="FHIR"/>
<description
value="Request for FHIR to process the information in the lab order bundle."/>
<request>
<instanceReference value="laborder.03"/>
</request>
<response>
<instanceReference value="laborder.01"/>
</response>
</operation>
</step>
<step>
<number value="1.4"/>
<operation>
<title value="Success: Invoke IL mediator"/>
<initiator value="IL"/>
<receiver value="IL"/>
<description
value="Pass the data to the mediator responsible for calling the endpoint that must send a response back the PoS system who initiated the lab order request."/>
</operation>
</step>
</process>
</step>
</process>
<process>
<title value="Respond to Request"/>
<preConditions
value="FHIR entity has processed the request and has issued an outcome response."/>
<postConditions
value="IL entity has received the outcome response from FHIR and forwarded the response to the PoS system."/>
<step>
<number value="2"/>
<process>
<title value="Respond to Request"/>
<description
value="This scenario demonstrates the process for responding to the PoS sytem who submitted the request."/>
<step>
<number value="2.1"/>
<operation>
<title value="Response"/>
<initiator value="IL"/>
<receiver value="PoS"/>
<description value="Mediator responds to the request."/>
<request>
<instanceReference value="laborder.01"/>
</request>
</operation>
</step>
<step>
<number value="2.2"/>
<operation>
<title value="Log the outcome"/>
<initiator value="PoS"/>
<receiver value="PoS"/>
<description
value="PoS entity logs the outcome issued by the FHIR entity."/>
</operation>
</step>
</process>
</step>
</process>
</ExampleScenario>