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 2026-10-13 |
@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# - resource -------------------------------------------------------------------
<http://hl7.org/fhir/ExampleScenario/CancelLabOrder> a fhir:ExampleScenario ;
fhir:nodeRole fhir:treeRoot ;
fhir:id [ fhir:v "CancelLabOrder"] ; #
fhir:text [
fhir:status [ fhir:v "extensions" ] ;
fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: ExampleScenario CancelLabOrder</b></p><a name=\"CancelLabOrder\"> </a><a name=\"hcCancelLabOrder\"> </a><p><b>url</b>: <a href=\"ExampleScenario-CancelLabOrder.html\">Cancel Lab Order (Using a Bundle)</a></p><p><b>version</b>: 1.0.0</p><p><b>name</b>: CancelLabOrder</p><p><b>title</b>: Cancel Lab Order (Using a Bundle)</p><p><b>status</b>: Active</p><p><b>experimental</b>: false</p><p><b>date</b>: 2026-10-13 07:51:03+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 request to cancel an active lab order, 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>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 requested the lab order cancellation.</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 order cancellation 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 cancellation details for the lab order previously submitted 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\">Unnamed Endpoint (Interoperability Layer): 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 - Cancel Lab Order</p><p><b>description</b>: </p><div><p>The FHIR bundle provided by the PoS entity when submitting a request to cancel the lab order service request.</p>\n<p>This bundle includes the following resources:</p>\n<ul>\n<li><a href=\"Task-LabOrderCancellationTaskExample.html\">Cancelled Lab Order Task</a></li>\n<li><a href=\"Specimen-AvailableSpecimenForCancelledRequestsExample.html\">Lab Order Specimen</a></li>\n<li><a href=\"ServiceRequest-LabOrderRevokedServiceRequestOrderCancelledExample.html\">Cancelled Lab Order Service Request</a></li>\n</ul>\n</div><p><b>content</b>: <a href=\"Bundle-cancelled-lab-order-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\">Bundle (HL7 FHIR): http://server.url/fhir</a></p></blockquote><blockquote><p><b>process</b></p><p><b>title</b>: Cancel Lab Order</p><p><b>preConditions</b>: </p><div><p>PoS entity submitted a request for the lab order to be cancelled.</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 cancelled.</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>: Cancel Lab Order</p><p><b>description</b>: </p><div><p>This scenario demonstrates the process of cancelling the requested lab order.</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>: Cancel lab order</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 cancelling the lab order information 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 order 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 cancellation request.</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>"^^rdf:XMLLiteral ]
] ; #
fhir:url [ fhir:v "http://moh.bw.org/ExampleScenario/CancelLabOrder"^^xsd:anyURI] ; #
fhir:version [ fhir:v "1.0.0"] ; #
fhir:name [ fhir:v "CancelLabOrder"] ; #
fhir:title [ fhir:v "Cancel Lab Order (Using a Bundle)"] ; #
fhir:status [ fhir:v "active"] ; #
fhir:experimental [ fhir:v false] ; #
fhir:date [ fhir:v "2026-10-13T07:51:03+00:00"^^xsd:dateTime] ; #
fhir:publisher [ fhir:v "Jembi Health Systems"] ; #
fhir:contact ( [
fhir:name [ fhir:v "Jembi Health Systems" ] ;
fhir:telecom ( [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://www.jembi.org" ]
] [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "info@jembi.org" ]
] )
] [
fhir:name [ fhir:v "Jembi Health Systems" ] ;
fhir:telecom ( [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "info@jembi.org" ] ;
fhir:use [ fhir:v "work" ]
] )
] ) ; #
fhir:jurisdiction ( [
fhir:coding ( [
fhir:system [ fhir:v "urn:iso:std:iso:3166"^^xsd:anyURI ] ;
fhir:code [ fhir:v "BW" ] ;
fhir:display [ fhir:v "Botswana" ]
] )
] ) ; #
fhir:purpose [ fhir:v "This serves to demonstrate the submission of a request to cancel an active lab order, from the Point-of-Service (PoS) application to the FHIR datastore."] ; #
fhir:actor ( [
fhir:extension ( [
fhir:url [ fhir:v "http://moh.bw.org/StructureDefinition/actor-reference"^^xsd:anyURI ] ;
fhir:value [
a fhir:Reference ;
fhir:link <http://hl7.org/fhir/ActorDefinition/PIMSActorDefinitionExample> ;
fhir:reference [ fhir:v "ActorDefinition/PIMSActorDefinitionExample" ]
]
] [
fhir:url [ fhir:v "http://moh.bw.org/StructureDefinition/actor-reference"^^xsd:anyURI ] ;
fhir:value [
a fhir:Reference ;
fhir:link <http://hl7.org/fhir/ActorDefinition/OpenMRSActorDefinitionExample> ;
fhir:reference [ fhir:v "ActorDefinition/OpenMRSActorDefinitionExample" ]
]
] ) ;
fhir:key [ fhir:v "PoS" ] ;
fhir:type [ fhir:v "system" ] ;
fhir:title [ fhir:v "Point of Service" ] ;
fhir:description [ fhir:v "The entity that requested the lab order cancellation." ]
] [
fhir:extension ( [
fhir:url [ fhir:v "http://moh.bw.org/StructureDefinition/actor-reference"^^xsd:anyURI ] ;
fhir:value [
a fhir:Reference ;
fhir:link <http://hl7.org/fhir/ActorDefinition/InteroperabilityLayerActorDefinitionExample> ;
fhir:reference [ fhir:v "ActorDefinition/InteroperabilityLayerActorDefinitionExample" ]
]
] ) ;
fhir:key [ fhir:v "IL" ] ;
fhir:type [ fhir:v "system" ] ;
fhir:title [ fhir:v "Interoperability Layer" ] ;
fhir:description [ fhir:v "The entity that receives the lab order cancellation request submitted by the PoS entity." ]
] [
fhir:extension ( [
fhir:url [ fhir:v "http://moh.bw.org/StructureDefinition/actor-reference"^^xsd:anyURI ] ;
fhir:value [
a fhir:Reference ;
fhir:link <http://hl7.org/fhir/ActorDefinition/SHRActorDefinitionExample> ;
fhir:reference [ fhir:v "ActorDefinition/SHRActorDefinitionExample" ]
]
] ) ;
fhir:key [ fhir:v "FHIR" ] ;
fhir:type [ fhir:v "system" ] ;
fhir:title [ fhir:v "FHIR Server" ] ;
fhir:description [ fhir:v "The entity that stores the cancellation details for the lab order previously submitted by the PoS entity." ]
] ) ; #
fhir:instance ( [
fhir:key [ fhir:v "laborder.01" ] ;
fhir:structureType [
fhir:system [ fhir:v "http://hl7.org/fhir/fhir-types"^^xsd:anyURI ] ;
fhir:code [ fhir:v "Endpoint" ]
] ;
fhir:structureProfile [
a fhir:canonical ;
fhir:v "http://hl7.org/fhir/StructureDefinition/Endpoint"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/StructureDefinition/Endpoint>
] ;
fhir:title [ fhir:v "Outcome response" ] ;
fhir:description [ fhir:v "FHIR issues an outcome response to each CRUD request." ] ;
fhir:content [
fhir:link <http://hl7.org/fhir/Endpoint/FHIRResourceProcessResponse> ;
fhir:reference [ fhir:v "Endpoint/FHIRResourceProcessResponse" ]
]
] [
fhir:key [ fhir:v "laborder.02" ] ;
fhir:structureType [
fhir:system [ fhir:v "http://hl7.org/fhir/fhir-types"^^xsd:anyURI ] ;
fhir:code [ fhir:v "Bundle" ]
] ;
fhir:structureProfile [
a fhir:canonical ;
fhir:v "http://moh.bw.org/StructureDefinition/lab-orders-bundle"^^xsd:anyURI ;
fhir:link <http://moh.bw.org/StructureDefinition/lab-orders-bundle>
] ;
fhir:title [ fhir:v "Lab Order Bundle - Cancel Lab Order" ] ;
fhir:description [ fhir:v "The FHIR bundle provided by the PoS entity when submitting a request to cancel the lab order service request.\n\nThis bundle includes the following resources:\n- [Cancelled Lab Order Task](Task-LabOrderCancellationTaskExample.html)\n- [Lab Order Specimen](Specimen-AvailableSpecimenForCancelledRequestsExample.html)\n- [Cancelled Lab Order Service Request](ServiceRequest-LabOrderRevokedServiceRequestOrderCancelledExample.html)" ] ;
fhir:content [
fhir:link <http://hl7.org/fhir/Bundle/cancelled-lab-order-bundle> ;
fhir:reference [ fhir:v "Bundle/cancelled-lab-order-bundle" ]
]
] [
fhir:key [ fhir:v "laborder.03" ] ;
fhir:structureType [
fhir:system [ fhir:v "http://hl7.org/fhir/fhir-types"^^xsd:anyURI ] ;
fhir:code [ fhir:v "Endpoint" ]
] ;
fhir:structureProfile [
a fhir:canonical ;
fhir:v "http://hl7.org/fhir/StructureDefinition/Endpoint"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/StructureDefinition/Endpoint>
] ;
fhir:title [ fhir:v "FHIR request" ] ;
fhir:description [ fhir:v "FHIR processes each request in the bundle using the HTTP request method defined for each Resource included in the Bundle." ] ;
fhir:content [
fhir:link <http://hl7.org/fhir/Endpoint/ProcessFHIRBundle> ;
fhir:reference [ fhir:v "Endpoint/ProcessFHIRBundle" ]
]
] ) ; #
fhir:process ( [
fhir:title [ fhir:v "Cancel Lab Order" ] ;
fhir:preConditions [ fhir:v "PoS entity submitted a request for the lab order to be cancelled." ] ;
fhir:postConditions [ fhir:v "FHIR entity has updated the statuses for the Task and ServiceRequest resources by indicating its status as cancelled." ] ;
fhir:step ( [
fhir:number [ fhir:v "1" ] ;
fhir:process [
fhir:title [ fhir:v "Cancel Lab Order" ] ;
fhir:description [ fhir:v "This scenario demonstrates the process of cancelling the requested lab order." ] ;
fhir:step ( [
fhir:number [ fhir:v "1.1" ] ;
fhir:operation [
fhir:type [
fhir:system [ fhir:v "http://hl7.org/fhir/restful-interaction"^^xsd:anyURI ] ;
fhir:code [ fhir:v "update" ]
] ;
fhir:title [ fhir:v "Cancel lab order" ] ;
fhir:initiator [ fhir:v "PoS" ] ;
fhir:receiver [ fhir:v "IL" ] ;
fhir:description [ fhir:v "Updated lab order information" ] ;
fhir:request [
fhir:instanceReference [ fhir:v "laborder.02" ]
]
]
] [
fhir:number [ fhir:v "1.2" ] ;
fhir:operation [
fhir:title [ fhir:v "Invoke FHIR mediator" ] ;
fhir:initiator [ fhir:v "IL" ] ;
fhir:receiver [ fhir:v "IL" ] ;
fhir:description [ fhir:v "Pass the data to the mediator responsible for calling the endpoint for cancelling the lab order information in FHIR." ]
]
] [
fhir:number [ fhir:v "1.3" ] ;
fhir:operation [
fhir:type [
fhir:system [ fhir:v "http://hl7.org/fhir/restful-interaction"^^xsd:anyURI ] ;
fhir:code [ fhir:v "update" ]
] ;
fhir:title [ fhir:v "Send data for consumption" ] ;
fhir:initiator [ fhir:v "IL" ] ;
fhir:receiver [ fhir:v "FHIR" ] ;
fhir:description [ fhir:v "Request for FHIR to process the information in the lab order bundle." ] ;
fhir:receiverActive [ fhir:v true ] ;
fhir:request [
fhir:instanceReference [ fhir:v "laborder.03" ]
] ;
fhir:response [
fhir:instanceReference [ fhir:v "laborder.01" ]
]
]
] [
fhir:number [ fhir:v "1.4" ] ;
fhir:operation [
fhir:title [ fhir:v "Success: Invoke IL mediator" ] ;
fhir:initiator [ fhir:v "IL" ] ;
fhir:receiver [ fhir:v "IL" ] ;
fhir:description [ fhir:v "Pass the data to the mediator responsible for calling the endpoint that must send a response back the PoS system who initiated the cancellation request." ]
]
] )
]
] )
] [
fhir:title [ fhir:v "Respond to Request" ] ;
fhir:preConditions [ fhir:v "FHIR entity has processed the request and has issued an outcome response." ] ;
fhir:postConditions [ fhir:v "IL entity has received the outcome response from FHIR and forwarded the response to the PoS system." ] ;
fhir:step ( [
fhir:number [ fhir:v "2" ] ;
fhir:process [
fhir:title [ fhir:v "Respond to Request" ] ;
fhir:description [ fhir:v "This scenario demonstrates the process for responding to the PoS sytem who submitted the request." ] ;
fhir:step ( [
fhir:number [ fhir:v "2.1" ] ;
fhir:operation [
fhir:title [ fhir:v "Response" ] ;
fhir:initiator [ fhir:v "IL" ] ;
fhir:receiver [ fhir:v "PoS" ] ;
fhir:description [ fhir:v "Mediator responds to the request." ] ;
fhir:request [
fhir:instanceReference [ fhir:v "laborder.01" ]
]
]
] [
fhir:number [ fhir:v "2.2" ] ;
fhir:operation [
fhir:title [ fhir:v "Log the outcome" ] ;
fhir:initiator [ fhir:v "PoS" ] ;
fhir:receiver [ fhir:v "PoS" ] ;
fhir:description [ fhir:v "PoS entity logs the outcome issued by the FHIR entity." ]
]
] )
]
] )
] ) . #
<http://hl7.org/fhir/ActorDefinition/PIMSActorDefinitionExample> a fhir:ActorDefinition .
<http://hl7.org/fhir/ActorDefinition/OpenMRSActorDefinitionExample> a fhir:ActorDefinition .
<http://hl7.org/fhir/ActorDefinition/InteroperabilityLayerActorDefinitionExample> a fhir:ActorDefinition .
<http://hl7.org/fhir/ActorDefinition/SHRActorDefinitionExample> a fhir:ActorDefinition .
<http://hl7.org/fhir/Endpoint/FHIRResourceProcessResponse> a fhir:Endpoint .
<http://hl7.org/fhir/Bundle/cancelled-lab-order-bundle> a fhir:Bundle .
<http://hl7.org/fhir/Endpoint/ProcessFHIRBundle> a fhir:Endpoint .
IG © 2021+ Jembi Health Systems. Package botswana.hie.fhir#1.0.0 based on FHIR 5.0.0. Generated 2026-10-13
Links: Table of Contents |
QA Report