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 |
{
"resourceType" : "ExampleScenario",
"id" : "LabOrderResults",
"text" : {
"status" : "extensions",
"div" : "<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>\n</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>\n</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>\n</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>\n</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>\n</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>\n<p>This bundle includes the following resources:</p>\n<ul>\n<li><a href=\"Task-LabOrderResultTaskExample.html\">Completed Lab Order Task</a></li>\n<li><a href=\"Specimen-AvailableSpecimenForCompletedRequestsExample.html\">Lab Order Specimen</a></li>\n<li><a href=\"ServiceRequest-LabOrderCompletedServiceRequestExample.html\">Completed Lab Order Service Request</a></li>\n<li><a href=\"DiagnosticReport-LabResultsDiagnosticReportExample.html\">Lab Result Diagnostic Report</a></li>\n<li><a href=\"Observation-LabResultObservationExample.html\">Lab Result Obervation</a></li>\n</ul>\n</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>\n</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>\n</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>\n</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>\n</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>\n</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>\n</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>\n</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>\n</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>\n</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>\n</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>\n</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>\n</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>\n</div></td></tr></table></blockquote></blockquote></blockquote></blockquote></div>"
},
"url" : "http://moh.bw.org/ExampleScenario/LabOrderResults",
"version" : "1.0.0",
"name" : "LabOrderResults",
"title" : "Lab Order Results (Using a Bundle)",
"status" : "active",
"experimental" : false,
"date" : "2025-08-20T07:21:53+00:00",
"publisher" : "Jembi Health Systems",
"contact" : [
{
"name" : "Jembi Health Systems",
"telecom" : [
{
"system" : "url",
"value" : "https://www.jembi.org"
},
{
"system" : "email",
"value" : "info@jembi.org"
}
]
},
{
"name" : "Jembi Health Systems",
"telecom" : [
{
"system" : "email",
"value" : "info@jembi.org",
"use" : "work"
}
]
}
],
"jurisdiction" : [
{
"coding" : [
{
"system" : "urn:iso:std:iso:3166",
"code" : "BW",
"display" : "Botswana"
}
]
}
],
"purpose" : "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" : "ActorDefinition/PIMSActorDefinitionExample"
}
}
],
"key" : "PoS",
"type" : "system",
"title" : "Point of Service",
"description" : "The entity that documents the lab results."
},
{
"extension" : [
{
"url" : "http://moh.bw.org/StructureDefinition/actor-reference",
"valueReference" : {
🔗 "reference" : "ActorDefinition/InteroperabilityLayerActorDefinitionExample"
}
}
],
"key" : "IL",
"type" : "system",
"title" : "Interoperability Layer",
"description" : "The entity that receives the lab results request submitted by the PoS entity."
},
{
"extension" : [
{
"url" : "http://moh.bw.org/StructureDefinition/actor-reference",
"valueReference" : {
🔗 "reference" : "ActorDefinition/SHRActorDefinitionExample"
}
}
],
"key" : "FHIR",
"type" : "system",
"title" : "FHIR Server",
"description" : "The entity that stores the details for the lab results documented by the PoS entity."
}
],
"instance" : [
{
"key" : "laborder.01",
"structureType" : {
"system" : "http://hl7.org/fhir/fhir-types",
"code" : "Endpoint"
},
"structureProfileCanonical" : "http://hl7.org/fhir/StructureDefinition/Endpoint",
"title" : "Outcome response",
"description" : "FHIR issues an outcome response to each CRUD request.",
"content" : {
🔗 "reference" : "Endpoint/FHIRResourceProcessResponse"
}
},
{
"key" : "laborder.02",
"structureType" : {
"system" : "http://hl7.org/fhir/fhir-types",
"code" : "Bundle"
},
"structureProfileCanonical" : "http://moh.bw.org/StructureDefinition/lab-orders-bundle",
"title" : "Lab Order Bundle - Lab Results",
"description" : "The FHIR bundle provided by the PoS entity when submitting the results for a given lab order service request.\n\nThis bundle includes the following resources:\n- [Completed Lab Order Task](Task-LabOrderResultTaskExample.html)\n- [Lab Order Specimen](Specimen-AvailableSpecimenForCompletedRequestsExample.html)\n- [Completed Lab Order Service Request](ServiceRequest-LabOrderCompletedServiceRequestExample.html)\n- [Lab Result Diagnostic Report](DiagnosticReport-LabResultsDiagnosticReportExample.html)\n- [Lab Result Obervation](Observation-LabResultObservationExample.html)",
"content" : {
🔗 "reference" : "Bundle/lab-result-bundle"
}
},
{
"key" : "laborder.03",
"structureType" : {
"system" : "http://hl7.org/fhir/fhir-types",
"code" : "Endpoint"
},
"structureProfileCanonical" : "http://hl7.org/fhir/StructureDefinition/Endpoint",
"title" : "FHIR request",
"description" : "FHIR processes each request in the bundle using the HTTP request method defined for each Resource included in the Bundle.",
"content" : {
🔗 "reference" : "Endpoint/ProcessFHIRBundle"
}
}
],
"process" : [
{
"title" : "Lab Results",
"preConditions" : "PoS entity has documented the lab results.",
"postConditions" : "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" : "1",
"process" : {
"title" : "Lab Results",
"description" : "This scenario demonstrates the process of documenting the results for a given lab order in the FHIR entity.",
"step" : [
{
"number" : "1.1",
"operation" : {
"type" : {
"system" : "http://hl7.org/fhir/restful-interaction",
"code" : "update"
},
"title" : "Lab results",
"initiator" : "PoS",
"receiver" : "IL",
"description" : "Updated lab order information",
"request" : {
"instanceReference" : "laborder.02"
}
}
},
{
"number" : "1.2",
"operation" : {
"title" : "Invoke FHIR mediator",
"initiator" : "IL",
"receiver" : "IL",
"description" : "Pass the data to the mediator responsible for calling the endpoint for resulting the lab order in FHIR."
}
},
{
"number" : "1.3",
"operation" : {
"type" : {
"system" : "http://hl7.org/fhir/restful-interaction",
"code" : "update"
},
"title" : "Send data for consumption",
"initiator" : "IL",
"receiver" : "FHIR",
"description" : "Request for FHIR to process the information in the lab results bundle.",
"receiverActive" : true,
"request" : {
"instanceReference" : "laborder.03"
},
"response" : {
"instanceReference" : "laborder.01"
}
}
},
{
"number" : "1.4",
"operation" : {
"title" : "Success: Invoke IL mediator",
"initiator" : "IL",
"receiver" : "IL",
"description" : "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."
}
}
]
}
}
]
},
{
"title" : "Respond to Request",
"preConditions" : "FHIR entity has processed the request and has issued an outcome response.",
"postConditions" : "IL entity has received the outcome response from FHIR and forwarded the response to the PoS system.",
"step" : [
{
"number" : "2",
"process" : {
"title" : "Respond to Request",
"description" : "This scenario demonstrates the process for responding to the PoS sytem who submitted the request.",
"step" : [
{
"number" : "2.1",
"operation" : {
"title" : "Response",
"initiator" : "IL",
"receiver" : "PoS",
"description" : "Mediator responds to the request.",
"request" : {
"instanceReference" : "laborder.01"
}
}
},
{
"number" : "2.2",
"operation" : {
"title" : "Log the outcome",
"initiator" : "PoS",
"receiver" : "PoS",
"description" : "PoS entity logs the outcome issued by the FHIR entity."
}
}
]
}
}
]
}
]
}