Botswana FHIR Implementation Guide
1.0.0 - ci-build Botswana flag

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

: Submit New Lab Orders (Using a Bundle) - XML Representation

Active as of 2025-08-20

Raw xml | Download


<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>