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

: Retrieve Patient Record - 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 "RetrievePatientRecord"] ; # 
  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 RetrievePatientRecord</b></p><a name=\"RetrievePatientRecord\"> </a><a name=\"hcRetrievePatientRecord\"> </a><p><b>url</b>: <a href=\"ExampleScenario-RetrievePatientRecord.html\">Retrieve Patient Record</a></p><p><b>version</b>: 1.0.0</p><p><b>name</b>: RetrievePatientRecord</p><p><b>title</b>: Retrieve Patient Record</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 retrieval of a patient's record, from the Client Registry (CR) and a 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 submits a request for a patient record.</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 retrieves the patient data from the CR and FHIR entities.</p>\n</div></blockquote><blockquote><p><b>actor</b></p><p><b>Actor Reference</b>: <a href=\"ActorDefinition-ClientRegistryActorDefinitionExample.html\">ActorDefinition Client Registry (CR)</a></p><p><b>key</b>: CR</p><p><b>type</b>: System</p><p><b>title</b>: Client Registry</p><p><b>description</b>: </p><div><p>The entity that will provide PII and demographic information for the patient.</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 will provide the clinical information for the patient.</p>\n</div></blockquote><blockquote><p><b>instance</b></p><p><b>key</b>: rp.02</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 Search request</p><p><b>description</b>: </p><div><p>The search query to find a patient in FHIR using business identifiers.</p>\n</div><p><b>content</b>: <a href=\"Endpoint-SearchForPatientInFHIR.html\">Endpoint Patient</a></p></blockquote><blockquote><p><b>instance</b></p><p><b>key</b>: rp.04</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</p><p><b>description</b>: </p><div><p>The FHIR bundle containing the patient's record. This includes the <a href=\"StructureDefinition-bw-patient.html\">Data Supplying Patient Resource</a>.</p>\n</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>: rp.05</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-process-patient-bundle.html\">Bundle - Process Patient in FHIR</a></p><p><b>title</b>: Lab Order Bundle excl. PII</p><p><b>description</b>: </p><div><p>The FHIR bundle after being updated by the IL by replacing the <a href=\"StructureDefinition-bw-patient.html\">Data Supplying Patient Resource</a> with the <a href=\"StructureDefinition-patient-identity-cross-reference.html\">Restricted Patient Resource</a>.</p>\n</div><p><b>content</b>: <a href=\"Bundle-lab-order-with-restricted-patient-bundle.html\">Bundle: type = transaction</a></p></blockquote><blockquote><p><b>instance</b></p><p><b>key</b>: rp.06</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>: CR Search request</p><p><b>description</b>: </p><div><p>The search query to find a patient in CR using XXX.</p>\n</div><p><b>content</b>: <a href=\"Endpoint-SearchForPatientInCR.html\">Endpoint Patient</a></p></blockquote><blockquote><p><b>instance</b></p><p><b>key</b>: rp.07</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>: CR Search response</p><p><b>description</b>: </p><div><p>The response to the search request issued by the CR.</p>\n</div><p><b>content</b>: <a href=\"Endpoint-SearchForPatientInCRResponse.html\">Endpoint: status = active; connectionType = Interoperability Layer; description = The Client Registry's Patient endpoint that was used to find the patient.; address = https://openhim-core:5001</a></p></blockquote><blockquote><p><b>process</b></p><p><b>title</b>: Retrieve Patient in CR</p><p><b>preConditions</b>: </p><div><p>PoS entity has submitted a request for the patient's record</p>\n</div><p><b>postConditions</b>: </p><div><p>CR entity has responded with the patient's personal information which includes a MPI identifier.</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>: Retrieve Patient in CR</p><p><b>description</b>: </p><div><p>This scenario demonstrates the process of retrieving the patient's personal information in the CR, which includes the Master Patient Index (MPI) identifier for the patient.</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-search\">FHIR Restful Interactions search</a>: search</p><p><b>title</b>: Request for patient record</p><p><b>initiator</b>: PoS</p><p><b>receiver</b>: IL</p><p><b>description</b>: </p><div><p>Request contains one or more business identifiers.</p>\n</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>rp.02</td></tr></table></blockquote></blockquote><blockquote><p><b>step</b></p><p><b>number</b>: 1.2</p><blockquote><p><b>operation</b></p><p><b>type</b>: <a href=\"http://hl7.org/fhir/R5/codesystem-restful-interaction.html#restful-interaction-search\">FHIR Restful Interactions search</a>: search</p><p><b>title</b>: Find patient</p><p><b>initiator</b>: IL</p><p><b>receiver</b>: CR</p><p><b>description</b>: </p><div><p>Request fo find the patient's personal information in the CR.</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>rp.06</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>rp.07</td></tr></table></blockquote></blockquote><blockquote><p><b>step</b></p><p><b>number</b>: 1.3</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 FHIR mediator</td><td>IL</td><td>IL</td><td><div><p>IL asserts that the response from CR contains the patient's personally identifiable information for the patient and a MPI and passes the data to the mediator responsible for calling the endpoint for searching patient data in FHIR.</p>\n</div></td></tr></table></blockquote></blockquote></blockquote></blockquote><blockquote><p><b>process</b></p><p><b>title</b>: Retrieve Patient Record in FHIR</p><p><b>preConditions</b>: </p><div><p>CR has matched the patient using provided business identifiers and responded to the IL with the patient's personal information which includes a MPI identifier.</p>\n</div><p><b>postConditions</b>: </p><div><p>FHIR entity has found the patient record using using the MPI.</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>: Retrieve Patient Record in FHIR</p><p><b>description</b>: </p><div><p>This scenario demonstrates the process of retrieving the patient's record in FHIR, using the MPI.</p>\n</div><blockquote><p><b>step</b></p><p><b>number</b>: 2.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-search\">FHIR Restful Interactions search</a>: search</p><p><b>title</b>: Get patient record</p><p><b>initiator</b>: IL</p><p><b>receiver</b>: FHIR</p><p><b>description</b>: </p><div><p>Mediator uses the patient's MPI and executes a search request for the patient's record.</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>rp.02</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>rp.05</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>Success: Invoke IL mediator 1</td><td>IL</td><td>IL</td><td><div><p>Pass the data to a mediator for further processing. The IL asserts that the response Bundle from FHIR contains the patient's clinical data as well as incl. the Restricted Patient Resource which contains non-personally identifiable information for the patient.</p>\n</div></td></tr></table></blockquote></blockquote></blockquote></blockquote><blockquote><p><b>process</b></p><p><b>title</b>: Update Patient Record</p><p><b>preConditions</b>: </p><div><p>FHIR has responded with the patient's record.</p>\n</div><p><b>postConditions</b>: </p><div><p>IL has removed the Restricted Patient Resource from the bundle and replaced it with the Data Supplying Patient Resource.</p>\n</div><blockquote><p><b>step</b></p><p><b>number</b>: 3</p><blockquote><p><b>process</b></p><p><b>title</b>: Update Patient Record</p><p><b>description</b>: </p><div><p>This scenario demonstrates the process of updating the patient's record retrieved from FHIR by replacing the Restricted Patient Resource with the Data Supplying Patient Resource so that the patient's personal information can be included in the response back to the rp.</p>\n</div><blockquote><p><b>step</b></p><p><b>number</b>: 3.1</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>Remove Restricted Patient Resource</td><td>IL</td><td>IL</td><td><div><p>Mediator removes the Restricted Patient Resource from the bundle as well as the MPI identifier.</p>\n</div></td><td>false</td></tr></table></blockquote><blockquote><p><b>step</b></p><p><b>number</b>: 3.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>Insert Data Supplying Patient Resource</td><td>IL</td><td>IL</td><td><div><p>Mediator inserts the Data Supplying Patient Resource into the bundle and appends to it the patient's personal information and business identifiers as supplied by the CR.</p>\n</div></td><td>true</td></tr></table></blockquote><blockquote><p><b>step</b></p><p><b>number</b>: 3.3</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>Success: Invoke IL mediator 2</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 search request request.</p>\n</div></td><td>false</td></tr></table></blockquote></blockquote></blockquote></blockquote><blockquote><p><b>process</b></p><p><b>title</b>: Respond to Search Request</p><p><b>preConditions</b>: </p><div><p>FHIR entity has found the patient's record and replaced the Restricted Patient Resource with the Data Supplying Patient Resource which includes the patient's personal information and business identifiers.</p>\n</div><p><b>postConditions</b>: </p><div><p>IL entity has responded to the PoS search request which includes the patient's record.</p>\n</div><blockquote><p><b>step</b></p><p><b>number</b>: 4</p><blockquote><p><b>process</b></p><p><b>title</b>: Respond to Search Request</p><p><b>description</b>: </p><div><p>This scenario demonstrates the process for responding to the PoS search request for the patient's record.</p>\n</div><blockquote><p><b>step</b></p><p><b>number</b>: 4.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 search request with the patient's record.</p>\n</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>rp.04</td></tr></table></blockquote></blockquote><blockquote><p><b>step</b></p><p><b>number</b>: 4.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>ReceiverActive</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><td>false</td></tr></table></blockquote><blockquote><p><b>step</b></p><p><b>number</b>: 4.3</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>ReceiverActive</b></td></tr><tr><td style=\"display: none\">*</td><td>Consume data</td><td>PoS</td><td>PoS</td><td><div><p>PoS entity consumes the data according to the user's needs.</p>\n</div></td><td>true</td></tr></table></blockquote></blockquote></blockquote></blockquote></div>"^^rdf:XMLLiteral
  ] ; # 
  fhir:url [ fhir:v "http://moh.bw.org/ExampleScenario/RetrievePatientRecord"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "1.0.0"] ; # 
  fhir:name [ fhir:v "RetrievePatientRecord"] ; # 
  fhir:title [ fhir:v "Retrieve Patient Record"] ; # 
  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 retrieval of a patient's record, from the Client Registry (CR) and a 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 submits a request for a patient record." ]
  ] [
    ( 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 retrieves the patient data from the CR and FHIR entities." ]
  ] [
    ( 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/ClientRegistryActorDefinitionExample" ]       ]     ] ) ;
fhir:key [ fhir:v "CR" ] ;
fhir:type [ fhir:v "system" ] ;
fhir:title [ fhir:v "Client Registry" ] ;
fhir:description [ fhir:v "The entity that will provide PII and demographic information for the patient." ]
  ] [
    ( 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 will provide the clinical information for the patient." ]
  ] ) ; # 
  fhir:instance ( [
fhir:key [ fhir:v "rp.02" ] ;
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 Search request" ] ;
fhir:description [ fhir:v "The search query to find a patient in FHIR using business identifiers." ] ;
fhir:content [
fhir:reference [ fhir:v "Endpoint/SearchForPatientInFHIR" ]     ]
  ] [
fhir:key [ fhir:v "rp.04" ] ;
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" ] ;
fhir:description [ fhir:v "The FHIR bundle containing the patient's record. This includes the [Data Supplying Patient Resource](StructureDefinition-bw-patient.html)." ] ;
fhir:content [
fhir:reference [ fhir:v "Bundle/lab-order-with-patient-bundle" ]     ]
  ] [
fhir:key [ fhir:v "rp.05" ] ;
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/process-patient-bundle"^^xsd:anyURI ;
fhir:link <http://moh.bw.org/StructureDefinition/process-patient-bundle>     ] ;
fhir:title [ fhir:v "Lab Order Bundle excl. PII" ] ;
fhir:description [ fhir:v "The FHIR bundle after being updated by the IL by replacing the [Data Supplying Patient Resource](StructureDefinition-bw-patient.html) with the [Restricted Patient Resource](StructureDefinition-patient-identity-cross-reference.html)." ] ;
fhir:content [
fhir:reference [ fhir:v "Bundle/lab-order-with-restricted-patient-bundle" ]     ]
  ] [
fhir:key [ fhir:v "rp.06" ] ;
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 "CR Search request" ] ;
fhir:description [ fhir:v "The search query to find a patient in CR using XXX." ] ;
fhir:content [
fhir:reference [ fhir:v "Endpoint/SearchForPatientInCR" ]     ]
  ] [
fhir:key [ fhir:v "rp.07" ] ;
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 "CR Search response" ] ;
fhir:description [ fhir:v "The response to the search request issued by the CR." ] ;
fhir:content [
fhir:reference [ fhir:v "Endpoint/SearchForPatientInCRResponse" ]     ]
  ] ) ; # 
  fhir:process ( [
fhir:title [ fhir:v "Retrieve Patient in CR" ] ;
fhir:preConditions [ fhir:v "PoS entity has submitted a request for the patient's record" ] ;
fhir:postConditions [ fhir:v "CR entity has responded with the patient's personal information which includes a MPI identifier." ] ;
    ( fhir:step [
fhir:number [ fhir:v "1" ] ;
fhir:process [
fhir:title [ fhir:v "Retrieve Patient in CR" ] ;
fhir:description [ fhir:v "This scenario demonstrates the process of retrieving the patient's personal information in the CR, which includes the Master Patient Index (MPI) identifier for the patient." ] ;
        ( 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 "search" ]             ] ;
fhir:title [ fhir:v "Request for patient record" ] ;
fhir:initiator [ fhir:v "PoS" ] ;
fhir:receiver [ fhir:v "IL" ] ;
fhir:description [ fhir:v "Request contains one or more business identifiers." ] ;
fhir:initiatorActive [ fhir:v true ] ;
fhir:request [
fhir:instanceReference [ fhir:v "rp.02" ]             ]           ]         ] [
fhir:number [ fhir:v "1.2" ] ;
fhir:operation [
fhir:type [
fhir:system [ fhir:v "http://hl7.org/fhir/restful-interaction"^^xsd:anyURI ] ;
fhir:code [ fhir:v "search" ]             ] ;
fhir:title [ fhir:v "Find patient" ] ;
fhir:initiator [ fhir:v "IL" ] ;
fhir:receiver [ fhir:v "CR" ] ;
fhir:description [ fhir:v "Request fo find the patient's personal information in the CR." ] ;
fhir:request [
fhir:instanceReference [ fhir:v "rp.06" ]             ] ;
fhir:response [
fhir:instanceReference [ fhir:v "rp.07" ]             ]           ]         ] [
fhir:number [ fhir:v "1.3" ] ;
fhir:operation [
fhir:title [ fhir:v "Success: Invoke FHIR mediator" ] ;
fhir:initiator [ fhir:v "IL" ] ;
fhir:receiver [ fhir:v "IL" ] ;
fhir:description [ fhir:v "IL asserts that the response from CR contains the patient's personally identifiable information for the patient and a MPI and passes the data to the mediator responsible for calling the endpoint for searching patient data in FHIR." ]           ]         ] )       ]     ] )
  ] [
fhir:title [ fhir:v "Retrieve Patient Record in FHIR" ] ;
fhir:preConditions [ fhir:v "CR has matched the patient using provided business identifiers and responded to the IL with the patient's personal information which includes a MPI identifier." ] ;
fhir:postConditions [ fhir:v "FHIR entity has found the patient record using using the MPI." ] ;
    ( fhir:step [
fhir:number [ fhir:v "2" ] ;
fhir:process [
fhir:title [ fhir:v "Retrieve Patient Record in FHIR" ] ;
fhir:description [ fhir:v "This scenario demonstrates the process of retrieving the patient's record in FHIR, using the MPI." ] ;
        ( fhir:step [
fhir:number [ fhir:v "2.1" ] ;
fhir:operation [
fhir:type [
fhir:system [ fhir:v "http://hl7.org/fhir/restful-interaction"^^xsd:anyURI ] ;
fhir:code [ fhir:v "search" ]             ] ;
fhir:title [ fhir:v "Get patient record" ] ;
fhir:initiator [ fhir:v "IL" ] ;
fhir:receiver [ fhir:v "FHIR" ] ;
fhir:description [ fhir:v "Mediator uses the patient's MPI and executes a search request for the patient's record." ] ;
fhir:request [
fhir:instanceReference [ fhir:v "rp.02" ]             ] ;
fhir:response [
fhir:instanceReference [ fhir:v "rp.05" ]             ]           ]         ] [
fhir:number [ fhir:v "2.2" ] ;
fhir:operation [
fhir:title [ fhir:v "Success: Invoke IL mediator 1" ] ;
fhir:initiator [ fhir:v "IL" ] ;
fhir:receiver [ fhir:v "IL" ] ;
fhir:description [ fhir:v "Pass the data to a mediator for further processing. The IL asserts that the response Bundle from FHIR contains the patient's clinical data as well as incl. the Restricted Patient Resource which contains non-personally identifiable information for the patient." ]           ]         ] )       ]     ] )
  ] [
fhir:title [ fhir:v "Update Patient Record" ] ;
fhir:preConditions [ fhir:v "FHIR has responded with the patient's record." ] ;
fhir:postConditions [ fhir:v "IL has removed the Restricted Patient Resource from the bundle and replaced it with the Data Supplying Patient Resource." ] ;
    ( fhir:step [
fhir:number [ fhir:v "3" ] ;
fhir:process [
fhir:title [ fhir:v "Update Patient Record" ] ;
fhir:description [ fhir:v "This scenario demonstrates the process of updating the patient's record retrieved from FHIR by replacing the Restricted Patient Resource with the Data Supplying Patient Resource so that the patient's personal information can be included in the response back to the rp." ] ;
        ( fhir:step [
fhir:number [ fhir:v "3.1" ] ;
fhir:operation [
fhir:title [ fhir:v "Remove Restricted Patient Resource" ] ;
fhir:initiator [ fhir:v "IL" ] ;
fhir:receiver [ fhir:v "IL" ] ;
fhir:description [ fhir:v "Mediator removes the Restricted Patient Resource from the bundle as well as the MPI identifier." ] ;
fhir:initiatorActive [ fhir:v false ]           ]         ] [
fhir:number [ fhir:v "3.2" ] ;
fhir:operation [
fhir:title [ fhir:v "Insert Data Supplying Patient Resource" ] ;
fhir:initiator [ fhir:v "IL" ] ;
fhir:receiver [ fhir:v "IL" ] ;
fhir:description [ fhir:v "Mediator inserts the Data Supplying Patient Resource into the bundle and appends to it the patient's personal information and business identifiers as supplied by the CR." ] ;
fhir:initiatorActive [ fhir:v true ]           ]         ] [
fhir:number [ fhir:v "3.3" ] ;
fhir:operation [
fhir:title [ fhir:v "Success: Invoke IL mediator 2" ] ;
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 search request request." ] ;
fhir:initiatorActive [ fhir:v false ]           ]         ] )       ]     ] )
  ] [
fhir:title [ fhir:v "Respond to Search Request" ] ;
fhir:preConditions [ fhir:v "FHIR entity has found the patient's record and replaced the Restricted Patient Resource with the Data Supplying Patient Resource which includes the patient's personal information and business identifiers." ] ;
fhir:postConditions [ fhir:v "IL entity has responded to the PoS search request which includes the patient's record." ] ;
    ( fhir:step [
fhir:number [ fhir:v "4" ] ;
fhir:process [
fhir:title [ fhir:v "Respond to Search Request" ] ;
fhir:description [ fhir:v "This scenario demonstrates the process for responding to the PoS search request for the patient's record." ] ;
        ( fhir:step [
fhir:number [ fhir:v "4.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 search request with the patient's record." ] ;
fhir:initiatorActive [ fhir:v true ] ;
fhir:request [
fhir:instanceReference [ fhir:v "rp.04" ]             ]           ]         ] [
fhir:number [ fhir:v "4.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." ] ;
fhir:receiverActive [ fhir:v false ]           ]         ] [
fhir:number [ fhir:v "4.3" ] ;
fhir:operation [
fhir:title [ fhir:v "Consume data" ] ;
fhir:initiator [ fhir:v "PoS" ] ;
fhir:receiver [ fhir:v "PoS" ] ;
fhir:description [ fhir:v "PoS entity consumes the data according to the user's needs." ] ;
fhir:receiverActive [ fhir:v true ]           ]         ] )       ]     ] )
  ] ) . #