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

: Lab Order Results (Using a Bundle) - XML Representation

Active as of 2025-08-20

Raw xml | Download


<ExampleScenario xmlns="http://hl7.org/fhir">
  <id value="LabOrderResults"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: ExampleScenario LabOrderResults</b></p><a name="LabOrderResults"> </a><a name="hcLabOrderResults"> </a><p><b>url</b>: <a href="ExampleScenario-LabOrderResults.html">Lab Order Results (Using a Bundle)</a></p><p><b>version</b>: 1.0.0</p><p><b>name</b>: LabOrderResults</p><p><b>title</b>: Lab Order Results (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 completion of the lab order by means of lab results, 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>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 documents the lab results.</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 results 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 results documented 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 - Lab Results</p><p><b>description</b>: </p><div><p>The FHIR bundle provided by the PoS entity when submitting the results for a given lab order service request.</p>
<p>This bundle includes the following resources:</p>
<ul>
<li><a href="Task-LabOrderResultTaskExample.html">Completed Lab Order Task</a></li>
<li><a href="Specimen-AvailableSpecimenForCompletedRequestsExample.html">Lab Order Specimen</a></li>
<li><a href="ServiceRequest-LabOrderCompletedServiceRequestExample.html">Completed Lab Order Service Request</a></li>
<li><a href="DiagnosticReport-LabResultsDiagnosticReportExample.html">Lab Result Diagnostic Report</a></li>
<li><a href="Observation-LabResultObservationExample.html">Lab Result Obervation</a></li>
</ul>
</div><p><b>content</b>: <a href="Bundle-lab-result-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>: Lab Results</p><p><b>preConditions</b>: </p><div><p>PoS entity has documented the lab results.</p>
</div><p><b>postConditions</b>: </p><div><p>FHIR entity has updated the statuses for the Task and ServiceRequest resources by indicating its status as completed. In addition the FHIR entity has created resources for DiagnoisticReport and Observation, which together provide the lab result information.</p>
</div><blockquote><p><b>step</b></p><p><b>number</b>: 1</p><blockquote><p><b>process</b></p><p><b>title</b>: Lab Results</p><p><b>description</b>: </p><div><p>This scenario demonstrates the process of documenting the results for a given lab order in the FHIR entity.</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>: Lab results</p><p><b>initiator</b>: PoS</p><p><b>receiver</b>: IL</p><p><b>description</b>: </p><div><p>Updated lab order information</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.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></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 resulting the lab order in FHIR.</p>
</div></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 results bundle.</p>
</div><p><b>receiverActive</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.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 request to document the lab results in the FHIR entity.</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/LabOrderResults"/>
  <version value="1.0.0"/>
  <name value="LabOrderResults"/>
  <title value="Lab Order Results (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 completion of the lab order by means of lab results, 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>
    <key value="PoS"/>
    <type value="system"/>
    <title value="Point of Service"/>
    <description value="The entity that documents the lab results."/>
  </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 results 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 results documented 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 - Lab Results"/>
    <description
                 value="The FHIR bundle provided by the PoS entity when submitting the results for a given lab order service request.

This bundle includes the following resources:
- [Completed Lab Order Task](Task-LabOrderResultTaskExample.html)
- [Lab Order Specimen](Specimen-AvailableSpecimenForCompletedRequestsExample.html)
- [Completed Lab Order Service Request](ServiceRequest-LabOrderCompletedServiceRequestExample.html)
- [Lab Result Diagnostic Report](DiagnosticReport-LabResultsDiagnosticReportExample.html)
- [Lab Result Obervation](Observation-LabResultObservationExample.html)"/>
    <content>🔗 
      <reference value="Bundle/lab-result-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="Lab Results"/>
    <preConditions value="PoS entity has documented the lab results."/>
    <postConditions
                    value="FHIR entity has updated the statuses for the Task and ServiceRequest resources by indicating its status as completed. In addition the FHIR entity has created resources for DiagnoisticReport and Observation, which together provide the lab result information."/>
    <step>
      <number value="1"/>
      <process>
        <title value="Lab Results"/>
        <description
                     value="This scenario demonstrates the process of documenting the results for a given lab order in the FHIR entity."/>
        <step>
          <number value="1.1"/>
          <operation>
            <type>
              <system value="http://hl7.org/fhir/restful-interaction"/>
              <code value="update"/>
            </type>
            <title value="Lab results"/>
            <initiator value="PoS"/>
            <receiver value="IL"/>
            <description value="Updated lab order information"/>
            <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 resulting the lab order in FHIR."/>
          </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 results bundle."/>
            <receiverActive value="true"/>
            <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 request to document the lab results in the FHIR entity."/>
          </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>