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

: Cancel Lab Order (Using a Bundle) - TTL Representation

Active as of 2025-08-20

Raw ttl | Download

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

 a fhir:ExampleScenario ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "CancelLabOrder"] ; # 
  fhir:text [
fhir:status [ fhir:v "extensions" ] ;
fhir:div "<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>: 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 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\">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 - 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\">Endpoint Bundle</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 "2025-08-20T07:21:53+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:reference [ fhir:v "ActorDefinition/PIMSActorDefinitionExample" ]       ]     ] [
fhir:url [ fhir:v "http://moh.bw.org/StructureDefinition/actor-reference"^^xsd:anyURI ] ;
fhir:value [
a fhir:Reference ;
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: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: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: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: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: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." ]           ]         ] )       ]     ] )
  ] ) . #