Package | botswana.hie.fhir |
Resource Type | ExampleScenario |
Id | RetrievePatientRecord |
FHIR Version | R5 |
Source | http://moh.bw.org/https://build.fhir.org/ig/jembi/botswana-hie-fhir-ig/ExampleScenario-RetrievePatientRecord.html |
URL | http://moh.bw.org/ExampleScenario/RetrievePatientRecord |
Version | 1.0.0 |
Status | active |
Date | 2025-05-19T15:02:57+00:00 |
Name | RetrievePatientRecord |
Title | Retrieve Patient Record |
Purpose | This serves to demonstrate the retrieval of a patient's record, from the Client Registry (CR) and a FHIR datastore. |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative: ExampleScenario RetrievePatientRecord
version: 1.0.0
name: RetrievePatientRecord
title: Retrieve Patient Record
status: Active
experimental: false
date: 2025-05-19 15:02:57+0000
publisher: Jembi Health Systems
contact: Jembi Health Systems: https://www.jembi.org,info@jembi.org, Jembi Health Systems: info@jembi.org
jurisdiction: Botswana
purpose:
This serves to demonstrate the retrieval of a patient's record, from the Client Registry (CR) and a FHIR datastore.
actor
Actor Reference: ActorDefinition Patient Information Management System (PIMS)
Actor Reference: ActorDefinition OpenMRS
key: PoS
type: System
title: Point of Service
description:
The entity that submits a request for a patient record.
actor
Actor Reference: ActorDefinition Interoperability Layer (IL)
key: IL
type: System
title: Interoperability Layer
description:
The entity that retrieves the patient data from the CR and FHIR entities.
actor
Actor Reference: ActorDefinition Client Registry (CR)
key: CR
type: System
title: Client Registry
description:
The entity that will provide PII and demographic information for the patient.
actor
Actor Reference: ActorDefinition Shared Health Record (SHR)
key: FHIR
type: System
title: FHIR Server
description:
The entity that will provide the clinical information for the patient.
instance
key: rp.02
structureType: All FHIR Types Endpoint: Endpoint
structureProfile: Endpoint
title: FHIR Search request
description:
The search query to find a patient in FHIR using business identifiers.
content: Endpoint Patient
instance
key: rp.04
structureType: All FHIR Types Bundle: Bundle
structureProfile: Bundle - Lab Orders
title: Lab Order Bundle
description:
The FHIR bundle containing the patient's record. This includes the Data Supplying Patient Resource.
content: Bundle: type = transaction
instance
key: rp.05
structureType: All FHIR Types Bundle: Bundle
structureProfile: Bundle - Process Patient in FHIR
title: Lab Order Bundle excl. PII
description:
The FHIR bundle after being updated by the IL by replacing the Data Supplying Patient Resource with the Restricted Patient Resource.
content: Bundle: type = transaction
instance
key: rp.06
structureType: All FHIR Types Endpoint: Endpoint
structureProfile: Endpoint
title: CR Search request
description:
The search query to find a patient in CR using XXX.
content: Endpoint Patient
instance
key: rp.07
structureType: All FHIR Types Endpoint: Endpoint
structureProfile: Endpoint
title: CR Search response
description:
The response to the search request issued by the CR.
process
title: Retrieve Patient in CR
preConditions:
PoS entity has submitted a request for the patient's record
postConditions:
CR entity has responded with the patient's personal information which includes a MPI identifier.
step
number: 1
process
title: Retrieve Patient in CR
description:
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: 1.1
operation
type: FHIR Restful Interactions search: search
title: Request for patient record
initiator: PoS
receiver: IL
description:
Request contains one or more business identifiers.
initiatorActive: true
Requests
InstanceReference rp.02 step
number: 1.2
operation
type: FHIR Restful Interactions search: search
title: Find patient
initiator: IL
receiver: CR
description:
Request fo find the patient's personal information in the CR.
Requests
InstanceReference rp.06 Responses
InstanceReference rp.07 step
number: 1.3
Operations
Title Initiator Receiver Description Success: Invoke FHIR mediator IL IL 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.
process
title: Retrieve Patient Record in FHIR
preConditions:
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:
FHIR entity has found the patient record using using the MPI.
step
number: 2
process
title: Retrieve Patient Record in FHIR
description:
This scenario demonstrates the process of retrieving the patient's record in FHIR, using the MPI.
step
number: 2.1
operation
type: FHIR Restful Interactions search: search
title: Get patient record
initiator: IL
receiver: FHIR
description:
Mediator uses the patient's MPI and executes a search request for the patient's record.
Requests
InstanceReference rp.02 Responses
InstanceReference rp.05 step
number: 2.2
Operations
Title Initiator Receiver Description Success: Invoke IL mediator 1 IL IL 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.
process
title: Update Patient Record
preConditions:
FHIR has responded with the patient's record.
postConditions:
IL has removed the Restricted Patient Resource from the bundle and replaced it with the Data Supplying Patient Resource.
step
number: 3
process
title: Update Patient Record
description:
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: 3.1
Operations
Title Initiator Receiver Description InitiatorActive Remove Restricted Patient Resource IL IL Mediator removes the Restricted Patient Resource from the bundle as well as the MPI identifier.
false step
number: 3.2
Operations
Title Initiator Receiver Description InitiatorActive Insert Data Supplying Patient Resource IL IL 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.
true step
number: 3.3
Operations
Title Initiator Receiver Description InitiatorActive Success: Invoke IL mediator 2 IL IL 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.
false
process
title: Respond to Search Request
preConditions:
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:
IL entity has responded to the PoS search request which includes the patient's record.
step
number: 4
process
title: Respond to Search Request
description:
This scenario demonstrates the process for responding to the PoS search request for the patient's record.
step
number: 4.1
operation
title: Response
initiator: IL
receiver: PoS
description:
Mediator responds to the search request with the patient's record.
initiatorActive: true
Requests
InstanceReference rp.04 step
number: 4.2
Operations
Title Initiator Receiver Description ReceiverActive Log the outcome PoS PoS PoS entity logs the outcome issued by the FHIR entity.
false step
number: 4.3
Operations
Title Initiator Receiver Description ReceiverActive Consume data PoS PoS PoS entity consumes the data according to the user's needs.
true
{ "resourceType": "ExampleScenario", "id": "RetrievePatientRecord", "text": { "status": "extensions", "div": "<!-- snip (see above) -->" }, "url": "http://moh.bw.org/ExampleScenario/RetrievePatientRecord", "version": "1.0.0", "name": "RetrievePatientRecord", "title": "Retrieve Patient Record", "status": "active", "experimental": false, "date": "2025-05-19T15:02:57+00:00", "publisher": "Jembi Health Systems", "contact": [ { "name": "Jembi Health Systems", "telecom": [ { "system": "url", "value": "https://www.jembi.org" }, { "system": "email", "value": "info@jembi.org" } ] }, { "name": "Jembi Health Systems", "telecom": [ { "system": "email", "value": "info@jembi.org", "use": "work" } ] } ], "jurisdiction": [ { "coding": [ { "system": "urn:iso:std:iso:3166", "code": "BW", "display": "Botswana" } ] } ], "purpose": "This serves to demonstrate the 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": "ActorDefinition/PIMSActorDefinitionExample" } }, { "url": "http://moh.bw.org/StructureDefinition/actor-reference", "valueReference": { "reference": "ActorDefinition/OpenMRSActorDefinitionExample" } } ], "key": "PoS", "type": "system", "title": "Point of Service", "description": "The entity that submits a request for a patient record." }, { "extension": [ { "url": "http://moh.bw.org/StructureDefinition/actor-reference", "valueReference": { "reference": "ActorDefinition/InteroperabilityLayerActorDefinitionExample" } } ], "key": "IL", "type": "system", "title": "Interoperability Layer", "description": "The entity that retrieves the patient data from the CR and FHIR entities." }, { "extension": [ { "url": "http://moh.bw.org/StructureDefinition/actor-reference", "valueReference": { "reference": "ActorDefinition/ClientRegistryActorDefinitionExample" } } ], "key": "CR", "type": "system", "title": "Client Registry", "description": "The entity that will provide PII and demographic information for the patient." }, { "extension": [ { "url": "http://moh.bw.org/StructureDefinition/actor-reference", "valueReference": { "reference": "ActorDefinition/SHRActorDefinitionExample" } } ], "key": "FHIR", "type": "system", "title": "FHIR Server", "description": "The entity that will provide the clinical information for the patient." } ], "instance": [ { "key": "rp.02", "structureType": { "system": "http://hl7.org/fhir/fhir-types", "code": "Endpoint" }, "structureProfileCanonical": "http://hl7.org/fhir/StructureDefinition/Endpoint", "title": "FHIR Search request", "description": "The search query to find a patient in FHIR using business identifiers.", "content": { "reference": "Endpoint/SearchForPatientInFHIR" } }, { "key": "rp.04", "structureType": { "system": "http://hl7.org/fhir/fhir-types", "code": "Bundle" }, "structureProfileCanonical": "http://moh.bw.org/StructureDefinition/lab-orders-bundle", "title": "Lab Order Bundle", "description": "The FHIR bundle containing the patient's record. This includes the [Data Supplying Patient Resource](StructureDefinition-bw-patient.html).", "content": { "reference": "Bundle/lab-order-with-patient-bundle" } }, { "key": "rp.05", "structureType": { "system": "http://hl7.org/fhir/fhir-types", "code": "Bundle" }, "structureProfileCanonical": "http://moh.bw.org/StructureDefinition/process-patient-bundle", "title": "Lab Order Bundle excl. PII", "description": "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": "Bundle/lab-order-with-restricted-patient-bundle" } }, { "key": "rp.06", "structureType": { "system": "http://hl7.org/fhir/fhir-types", "code": "Endpoint" }, "structureProfileCanonical": "http://hl7.org/fhir/StructureDefinition/Endpoint", "title": "CR Search request", "description": "The search query to find a patient in CR using XXX.", "content": { "reference": "Endpoint/SearchForPatientInCR" } }, { "key": "rp.07", "structureType": { "system": "http://hl7.org/fhir/fhir-types", "code": "Endpoint" }, "structureProfileCanonical": "http://hl7.org/fhir/StructureDefinition/Endpoint", "title": "CR Search response", "description": "The response to the search request issued by the CR.", "content": { "reference": "Endpoint/SearchForPatientInCRResponse" } } ], "process": [ { "title": "Retrieve Patient in CR", "preConditions": "PoS entity has submitted a request for the patient's record", "postConditions": "CR entity has responded with the patient's personal information which includes a MPI identifier.", "step": [ { "number": "1", "process": { "title": "Retrieve Patient in CR", "description": "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": "1.1", "operation": { "type": { "system": "http://hl7.org/fhir/restful-interaction", "code": "search" }, "title": "Request for patient record", "initiator": "PoS", "receiver": "IL", "description": "Request contains one or more business identifiers.", "initiatorActive": true, "request": { "instanceReference": "rp.02" } } }, { "number": "1.2", "operation": { "type": { "system": "http://hl7.org/fhir/restful-interaction", "code": "search" }, "title": "Find patient", "initiator": "IL", "receiver": "CR", "description": "Request fo find the patient's personal information in the CR.", "request": { "instanceReference": "rp.06" }, "response": { "instanceReference": "rp.07" } } }, { "number": "1.3", "operation": { "title": "Success: Invoke FHIR mediator", "initiator": "IL", "receiver": "IL", "description": "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." } } ] } } ] }, { "title": "Retrieve Patient Record in FHIR", "preConditions": "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": "FHIR entity has found the patient record using using the MPI.", "step": [ { "number": "2", "process": { "title": "Retrieve Patient Record in FHIR", "description": "This scenario demonstrates the process of retrieving the patient's record in FHIR, using the MPI.", "step": [ { "number": "2.1", "operation": { "type": { "system": "http://hl7.org/fhir/restful-interaction", "code": "search" }, "title": "Get patient record", "initiator": "IL", "receiver": "FHIR", "description": "Mediator uses the patient's MPI and executes a search request for the patient's record.", "request": { "instanceReference": "rp.02" }, "response": { "instanceReference": "rp.05" } } }, { "number": "2.2", "operation": { "title": "Success: Invoke IL mediator 1", "initiator": "IL", "receiver": "IL", "description": "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." } } ] } } ] }, { "title": "Update Patient Record", "preConditions": "FHIR has responded with the patient's record.", "postConditions": "IL has removed the Restricted Patient Resource from the bundle and replaced it with the Data Supplying Patient Resource.", "step": [ { "number": "3", "process": { "title": "Update Patient Record", "description": "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": "3.1", "operation": { "title": "Remove Restricted Patient Resource", "initiator": "IL", "receiver": "IL", "description": "Mediator removes the Restricted Patient Resource from the bundle as well as the MPI identifier.", "initiatorActive": false } }, { "number": "3.2", "operation": { "title": "Insert Data Supplying Patient Resource", "initiator": "IL", "receiver": "IL", "description": "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": true } }, { "number": "3.3", "operation": { "title": "Success: Invoke IL mediator 2", "initiator": "IL", "receiver": "IL", "description": "Pass the data to the mediator responsible for calling the endpoint that must send a response back the PoS system who initiated the search request request.", "initiatorActive": false } } ] } } ] }, { "title": "Respond to Search Request", "preConditions": "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": "IL entity has responded to the PoS search request which includes the patient's record.", "step": [ { "number": "4", "process": { "title": "Respond to Search Request", "description": "This scenario demonstrates the process for responding to the PoS search request for the patient's record.", "step": [ { "number": "4.1", "operation": { "title": "Response", "initiator": "IL", "receiver": "PoS", "description": "Mediator responds to the search request with the patient's record.", "initiatorActive": true, "request": { "instanceReference": "rp.04" } } }, { "number": "4.2", "operation": { "title": "Log the outcome", "initiator": "PoS", "receiver": "PoS", "description": "PoS entity logs the outcome issued by the FHIR entity.", "receiverActive": false } }, { "number": "4.3", "operation": { "title": "Consume data", "initiator": "PoS", "receiver": "PoS", "description": "PoS entity consumes the data according to the user's needs.", "receiverActive": true } } ] } } ] } ] }