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 |
<ExampleScenario xmlns="http://hl7.org/fhir">
<id value="RetrievePatientRecord"/>
<text>
<status value="extensions"/>
<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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</div><p><b>postConditions</b>: </p><div><p>CR entity has responded with the patient's personal information which includes a MPI identifier.</p>
</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>
</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>
</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>
</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>
</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>
</div><p><b>postConditions</b>: </p><div><p>FHIR entity has found the patient record using using the MPI.</p>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</div><p><b>postConditions</b>: </p><div><p>IL entity has responded to the PoS search request which includes the patient's record.</p>
</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>
</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>
</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>
</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>
</div></td><td>true</td></tr></table></blockquote></blockquote></blockquote></blockquote></div>
</text>
<url value="http://moh.bw.org/ExampleScenario/RetrievePatientRecord"/>
<version value="1.0.0"/>
<name value="RetrievePatientRecord"/>
<title value="Retrieve Patient Record"/>
<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 retrieval of a patient's record, from the Client Registry (CR) and a FHIR datastore."/>
<actor>
<extension url="http://moh.bw.org/StructureDefinition/actor-reference">
<valueReference>🔗
<reference value="ActorDefinition/PIMSActorDefinitionExample"/>
</valueReference>
</extension>
<extension url="http://moh.bw.org/StructureDefinition/actor-reference">
<valueReference>🔗
<reference value="ActorDefinition/OpenMRSActorDefinitionExample"/>
</valueReference>
</extension>
<key value="PoS"/>
<type value="system"/>
<title value="Point of Service"/>
<description
value="The entity that submits a request for a patient record."/>
</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 retrieves the patient data from the CR and FHIR entities."/>
</actor>
<actor>
<extension url="http://moh.bw.org/StructureDefinition/actor-reference">
<valueReference>🔗
<reference
value="ActorDefinition/ClientRegistryActorDefinitionExample"/>
</valueReference>
</extension>
<key value="CR"/>
<type value="system"/>
<title value="Client Registry"/>
<description
value="The entity that will provide PII and demographic information for the patient."/>
</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 will provide the clinical information for the patient."/>
</actor>
<instance>
<key value="rp.02"/>
<structureType>
<system value="http://hl7.org/fhir/fhir-types"/>
<code value="Endpoint"/>
</structureType>
<structureProfileCanonical
value="http://hl7.org/fhir/StructureDefinition/Endpoint"/>
<title value="FHIR Search request"/>
<description
value="The search query to find a patient in FHIR using business identifiers."/>
<content>🔗
<reference value="Endpoint/SearchForPatientInFHIR"/>
</content>
</instance>
<instance>
<key value="rp.04"/>
<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"/>
<description
value="The FHIR bundle containing the patient's record. This includes the [Data Supplying Patient Resource](StructureDefinition-bw-patient.html)."/>
<content>🔗
<reference value="Bundle/lab-order-with-patient-bundle"/>
</content>
</instance>
<instance>
<key value="rp.05"/>
<structureType>
<system value="http://hl7.org/fhir/fhir-types"/>
<code value="Bundle"/>
</structureType>
<structureProfileCanonical
value="http://moh.bw.org/StructureDefinition/process-patient-bundle"/>
<title value="Lab Order Bundle excl. PII"/>
<description
value="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)."/>
<content>🔗
<reference value="Bundle/lab-order-with-restricted-patient-bundle"/>
</content>
</instance>
<instance>
<key value="rp.06"/>
<structureType>
<system value="http://hl7.org/fhir/fhir-types"/>
<code value="Endpoint"/>
</structureType>
<structureProfileCanonical
value="http://hl7.org/fhir/StructureDefinition/Endpoint"/>
<title value="CR Search request"/>
<description value="The search query to find a patient in CR using XXX."/>
<content>🔗
<reference value="Endpoint/SearchForPatientInCR"/>
</content>
</instance>
<instance>
<key value="rp.07"/>
<structureType>
<system value="http://hl7.org/fhir/fhir-types"/>
<code value="Endpoint"/>
</structureType>
<structureProfileCanonical
value="http://hl7.org/fhir/StructureDefinition/Endpoint"/>
<title value="CR Search response"/>
<description
value="The response to the search request issued by the CR."/>
<content>🔗
<reference value="Endpoint/SearchForPatientInCRResponse"/>
</content>
</instance>
<process>
<title value="Retrieve Patient in CR"/>
<preConditions
value="PoS entity has submitted a request for the patient's record"/>
<postConditions
value="CR entity has responded with the patient's personal information which includes a MPI identifier."/>
<step>
<number value="1"/>
<process>
<title value="Retrieve Patient in CR"/>
<description
value="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."/>
<step>
<number value="1.1"/>
<operation>
<type>
<system value="http://hl7.org/fhir/restful-interaction"/>
<code value="search"/>
</type>
<title value="Request for patient record"/>
<initiator value="PoS"/>
<receiver value="IL"/>
<description
value="Request contains one or more business identifiers."/>
<initiatorActive value="true"/>
<request>
<instanceReference value="rp.02"/>
</request>
</operation>
</step>
<step>
<number value="1.2"/>
<operation>
<type>
<system value="http://hl7.org/fhir/restful-interaction"/>
<code value="search"/>
</type>
<title value="Find patient"/>
<initiator value="IL"/>
<receiver value="CR"/>
<description
value="Request fo find the patient's personal information in the CR."/>
<request>
<instanceReference value="rp.06"/>
</request>
<response>
<instanceReference value="rp.07"/>
</response>
</operation>
</step>
<step>
<number value="1.3"/>
<operation>
<title value="Success: Invoke FHIR mediator"/>
<initiator value="IL"/>
<receiver value="IL"/>
<description
value="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."/>
</operation>
</step>
</process>
</step>
</process>
<process>
<title value="Retrieve Patient Record in FHIR"/>
<preConditions
value="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."/>
<postConditions
value="FHIR entity has found the patient record using using the MPI."/>
<step>
<number value="2"/>
<process>
<title value="Retrieve Patient Record in FHIR"/>
<description
value="This scenario demonstrates the process of retrieving the patient's record in FHIR, using the MPI."/>
<step>
<number value="2.1"/>
<operation>
<type>
<system value="http://hl7.org/fhir/restful-interaction"/>
<code value="search"/>
</type>
<title value="Get patient record"/>
<initiator value="IL"/>
<receiver value="FHIR"/>
<description
value="Mediator uses the patient's MPI and executes a search request for the patient's record."/>
<request>
<instanceReference value="rp.02"/>
</request>
<response>
<instanceReference value="rp.05"/>
</response>
</operation>
</step>
<step>
<number value="2.2"/>
<operation>
<title value="Success: Invoke IL mediator 1"/>
<initiator value="IL"/>
<receiver value="IL"/>
<description
value="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."/>
</operation>
</step>
</process>
</step>
</process>
<process>
<title value="Update Patient Record"/>
<preConditions value="FHIR has responded with the patient's record."/>
<postConditions
value="IL has removed the Restricted Patient Resource from the bundle and replaced it with the Data Supplying Patient Resource."/>
<step>
<number value="3"/>
<process>
<title value="Update Patient Record"/>
<description
value="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."/>
<step>
<number value="3.1"/>
<operation>
<title value="Remove Restricted Patient Resource"/>
<initiator value="IL"/>
<receiver value="IL"/>
<description
value="Mediator removes the Restricted Patient Resource from the bundle as well as the MPI identifier."/>
<initiatorActive value="false"/>
</operation>
</step>
<step>
<number value="3.2"/>
<operation>
<title value="Insert Data Supplying Patient Resource"/>
<initiator value="IL"/>
<receiver value="IL"/>
<description
value="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."/>
<initiatorActive value="true"/>
</operation>
</step>
<step>
<number value="3.3"/>
<operation>
<title value="Success: Invoke IL mediator 2"/>
<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 search request request."/>
<initiatorActive value="false"/>
</operation>
</step>
</process>
</step>
</process>
<process>
<title value="Respond to Search Request"/>
<preConditions
value="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."/>
<postConditions
value="IL entity has responded to the PoS search request which includes the patient's record."/>
<step>
<number value="4"/>
<process>
<title value="Respond to Search Request"/>
<description
value="This scenario demonstrates the process for responding to the PoS search request for the patient's record."/>
<step>
<number value="4.1"/>
<operation>
<title value="Response"/>
<initiator value="IL"/>
<receiver value="PoS"/>
<description
value="Mediator responds to the search request with the patient's record."/>
<initiatorActive value="true"/>
<request>
<instanceReference value="rp.04"/>
</request>
</operation>
</step>
<step>
<number value="4.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."/>
<receiverActive value="false"/>
</operation>
</step>
<step>
<number value="4.3"/>
<operation>
<title value="Consume data"/>
<initiator value="PoS"/>
<receiver value="PoS"/>
<description
value="PoS entity consumes the data according to the user's needs."/>
<receiverActive value="true"/>
</operation>
</step>
</process>
</step>
</process>
</ExampleScenario>