| Package | botswana.hie.fhir |
| Resource Type | ExampleScenario |
| Id | RegisterNewPatient |
| FHIR Version | R5 |
| Source | http://moh.bw.org/https://build.fhir.org/ig/jembi/botswana-hie-fhir-ig/ExampleScenario-RegisterNewPatient.html |
| URL | http://moh.bw.org/ExampleScenario/RegisterNewPatient |
| Version | 1.0.0 |
| Status | active |
| Date | 2025-05-19T15:02:57+00:00 |
| Name | RegisterNewPatient |
| Title | Register New Patient |
| Purpose | This serves to demonstrate the creation of a patient record, when using a 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 RegisterNewPatient
url: Register New Patient
version: 1.0.0
name: RegisterNewPatient
title: Register New Patient
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 creation of a patient record, when using a 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 registers the patient.
actor
Actor Reference: ActorDefinition Interoperability Layer (IL)
key: IL
type: System
title: Interoperability Layer
description:
The entity that receives the registration request submitted by PoS entity.
actor
Actor Reference: ActorDefinition Client Registry (CR)
key: CR
type: System
title: Client Registry
description:
The entity that stores PII and demographic information for the patient included in the Patient Resource submitted by the PoS entity.
actor
Actor Reference: ActorDefinition Shared Health Record (SHR)
key: FHIR
type: System
title: FHIR Server
description:
The entity that stores a restricted version of the Patient Resource submitted by the PoS entity.
instance
key: rnp.01
structureType: All FHIR Types Patient: Patient
structureProfile: Patient - Botswana Patient
title: Data Supplying Patient Resource
description:
The Patient involved in the scenario.
content: Mark Adams Male, DoB: 2000-11-11 ( http://moh.bw.org/identifier/mrn#MRN12345671)
instance
key: rnp.02
structureType: All FHIR Types Patient: Patient
structureProfile: Patient - Patient Identity Cross Reference
title: Restricted Patient Resource
description:
The restricted Patient Resource excl. all PII.
content: Anonymous Patient (no stated gender), DoB Unknown ( http://moh.bw.org/identifier/mpi#some id value)
instance
key: rnp.03
structureType: All FHIR Types Endpoint: Endpoint
structureProfile: Endpoint
title: FHIR Validation outcome
description:
The validation outcome as issued by the FHIR server.
content: Endpoint $validate
instance
key: rnp.04
structureType: All FHIR Types Endpoint: Endpoint
structureProfile: Endpoint
title: Assigned Master Patient Index identifier
description:
A Master Patient Index identifier assigned by the CR when new patients are created.
instance
key: rnp.05
structureType: All FHIR Types Endpoint: Endpoint
structureProfile: Endpoint
title: Outcome response
description:
FHIR issues an outcome response to each CRUD request.
process
title: Register Patient in CR
preConditions:
PoS entity has submitted a create patient request which contains the Data Supplying Patient Resource.
postConditions:
CR entity has stored the patient's personal information and sent a response back to the IL which inlcudes a MPI identifier.
step
number: 1
process
title: Register Patient in CR
description:
This scenario demonstrates the process of storing the patient's personal information in the CR, acquired from the Patient Resource and returning a Master Patient Index (MPI) identifier for the patient.
step
number: 1.1
operation
type: FHIR Restful Interactions update: update
title: Patient resource
initiator: PoS
receiver: IL
description:
Patient personal information
Requests
InstanceReference rnp.01 step
number: 1.2
Operations
Title Initiator Receiver Description InitiatorActive Get patient data IL IL Mediator extracts the patient data from the Patient Resource which includes all personal identifiers.
true step
number: 1.3
operation
type: FHIR Restful Interactions operation: operation
title: Validate patient data for compliance
initiator: IL
receiver: FHIR
description:
Request for FHIR's $validate operation to check that the supplied data is compliant with the Data Supplying Patient Resource Profile. FHIR's $validate operation validates the message structure and its data to ensure that the supplied data is compliant with the Data Supplying Patient Resource Profile.
Requests
InstanceReference rnp.01 Responses
InstanceReference rnp.03 step
number: 1.4
operation
type: Scenario Operation Type Codes CREATE: CREATE
title: Validation success: Send patient data
initiator: IL
receiver: CR
description:
Patient Resource is sent to the CR for processing. The CR associates a MPI with the patient record and stores it.
Requests
InstanceReference rnp.01 Responses
InstanceReference rnp.04 step
number: 1.5
Operations
Title Initiator Receiver Description Success: Invoke FHIR mediator IL IL Pass the data to the mediator responsible for calling the endpoint for creating the new patient data in FHIR.
process
title: Register Patient in FHIR
preConditions:
CR has provided a MPI identifier in its response sent back to the IL.
postConditions:
FHIR entity has processed the Restricted Patient Resource that documents the MPI for re-identification purposes.
step
number: 2
process
title: Register Patient in FHIR
description:
This scenario demonstrates the process of storing a restricted version of the Patient Resource which excludes all PII to ensure patient privacy. This Patient Resource includes the MPI identifier issued by the CR so that the IL can reassociate the clinical information (FHIR) with the PII (CR) during GET requests.
step
number: 2.1
Operations
Title Initiator Receiver Description InitiatorActive Remove all PII and business identifiers IL IL Remove all demographic information and business identifiers from the Patient Resource as required by the Restricted Patient Resource Profile.
true step
number: 2.2
Operations
Title Initiator Receiver Description InitiatorActive Update Resource.meta IL IL Replace the existing meta.profile value with the structure definition URL for the Restricted Patient Resource Profile.
false step
number: 2.3
Operations
Title Initiator Receiver Description InitiatorActive Add the MPI identifier IL IL Add the MPI assigned by the CR as a business identifier in the Restricted Patient Resource.
true step
number: 2.4
Operations
Title Initiator Receiver Description InitiatorActive Set the Restricted Patient Resource literal ID IL IL Set the literal ID in the Restricted Patient Resource to the same value as the ID that was included in the Patient Resource that was submitted by the PoS entity.
false step
number: 2.5
operation
title: Send data for consumption
initiator: IL
receiver: FHIR
description:
Patient Resource is sent to the FHIR server for further processing.
receiverActive: true
Requests
InstanceReference rnp.02 Responses
InstanceReference rnp.05 step
number: 2.6
Operations
Title Initiator Receiver Description Success: Invoke IL mediator 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 create patient request.
process
title: Respond to Create Patient Request
preConditions:
FHIR entity has processed the request to create the patient record and has issued an outcome response.
postConditions:
IL entity has received the outcome response from FHIR and forwarded the response to the PoS system.
step
number: 3
process
title: Respond to Create Patient Request
description:
This scenario demonstrates the process for responding to the PoS sytem who issued the create patient request.
step
number: 3.1
operation
title: Response
initiator: IL
receiver: PoS
description:
Mediator responds to the create patient request.
Requests
InstanceReference rnp.05 step
number: 3.2
Operations
Title Initiator Receiver Description ReceiverActive Log the outcome PoS PoS PoS entity logs the outcome issued by the FHIR entity.
true
{
"resourceType": "ExampleScenario",
"id": "RegisterNewPatient",
"text": {
"status": "extensions",
"div": "<!-- snip (see above) -->"
},
"url": "http://moh.bw.org/ExampleScenario/RegisterNewPatient",
"version": "1.0.0",
"name": "RegisterNewPatient",
"title": "Register New Patient",
"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 creation of a patient record, when using a 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 registers the patient."
},
{
"extension": [
{
"url": "http://moh.bw.org/StructureDefinition/actor-reference",
"valueReference": {
"reference": "ActorDefinition/InteroperabilityLayerActorDefinitionExample"
}
}
],
"key": "IL",
"type": "system",
"title": "Interoperability Layer",
"description": "The entity that receives the registration request submitted by PoS entity."
},
{
"extension": [
{
"url": "http://moh.bw.org/StructureDefinition/actor-reference",
"valueReference": {
"reference": "ActorDefinition/ClientRegistryActorDefinitionExample"
}
}
],
"key": "CR",
"type": "system",
"title": "Client Registry",
"description": "The entity that stores PII and demographic information for the patient included in the Patient Resource submitted by the PoS entity."
},
{
"extension": [
{
"url": "http://moh.bw.org/StructureDefinition/actor-reference",
"valueReference": {
"reference": "ActorDefinition/SHRActorDefinitionExample"
}
}
],
"key": "FHIR",
"type": "system",
"title": "FHIR Server",
"description": "The entity that stores a restricted version of the Patient Resource submitted by the PoS entity."
}
],
"instance": [
{
"key": "rnp.01",
"structureType": {
"system": "http://hl7.org/fhir/fhir-types",
"code": "Patient"
},
"structureProfileCanonical": "http://moh.bw.org/StructureDefinition/bw-patient",
"title": "Data Supplying Patient Resource",
"description": "The Patient involved in the scenario.",
"content": {
"reference": "Patient/BwPatientExample"
}
},
{
"key": "rnp.02",
"structureType": {
"system": "http://hl7.org/fhir/fhir-types",
"code": "Patient"
},
"structureProfileCanonical": "http://moh.bw.org/StructureDefinition/patient-identity-cross-reference",
"title": "Restricted Patient Resource",
"description": "The restricted Patient Resource excl. all PII.",
"content": {
"reference": "Patient/RestrictedPatientExample1"
}
},
{
"key": "rnp.03",
"structureType": {
"system": "http://hl7.org/fhir/fhir-types",
"code": "Endpoint"
},
"structureProfileCanonical": "http://hl7.org/fhir/StructureDefinition/Endpoint",
"title": "FHIR Validation outcome",
"description": "The validation outcome as issued by the FHIR server.",
"content": {
"reference": "Endpoint/ValidatePatientResourceInFHIR"
}
},
{
"key": "rnp.04",
"structureType": {
"system": "http://hl7.org/fhir/fhir-types",
"code": "Endpoint"
},
"structureProfileCanonical": "http://hl7.org/fhir/StructureDefinition/Endpoint",
"title": "Assigned Master Patient Index identifier",
"description": "A Master Patient Index identifier assigned by the CR when new patients are created.",
"content": {
"reference": "Endpoint/MPIForPatientIssuedByCR"
}
},
{
"key": "rnp.05",
"structureType": {
"system": "http://hl7.org/fhir/fhir-types",
"code": "Endpoint"
},
"structureProfileCanonical": "http://hl7.org/fhir/StructureDefinition/Endpoint",
"title": "Outcome response",
"description": "FHIR issues an outcome response to each CRUD request.",
"content": {
"reference": "Endpoint/FHIRResourceProcessResponse"
}
}
],
"process": [
{
"title": "Register Patient in CR",
"preConditions": "PoS entity has submitted a create patient request which contains the Data Supplying Patient Resource.",
"postConditions": "CR entity has stored the patient's personal information and sent a response back to the IL which inlcudes a MPI identifier.",
"step": [
{
"number": "1",
"process": {
"title": "Register Patient in CR",
"description": "This scenario demonstrates the process of storing the patient's personal information in the CR, acquired from the Patient Resource and returning a Master Patient Index (MPI) identifier for the patient.",
"step": [
{
"number": "1.1",
"operation": {
"type": {
"system": "http://hl7.org/fhir/restful-interaction",
"code": "update"
},
"title": "Patient resource",
"initiator": "PoS",
"receiver": "IL",
"description": "Patient personal information",
"request": {
"instanceReference": "rnp.01"
}
}
},
{
"number": "1.2",
"operation": {
"title": "Get patient data",
"initiator": "IL",
"receiver": "IL",
"description": "Mediator extracts the patient data from the Patient Resource which includes all personal identifiers.",
"initiatorActive": true
}
},
{
"number": "1.3",
"operation": {
"type": {
"system": "http://hl7.org/fhir/restful-interaction",
"code": "operation"
},
"title": "Validate patient data for compliance",
"initiator": "IL",
"receiver": "FHIR",
"description": "Request for FHIR's $validate operation to check that the supplied data is compliant with the Data Supplying Patient Resource Profile. FHIR's $validate operation validates the message structure and its data to ensure that the supplied data is compliant with the Data Supplying Patient Resource Profile.",
"request": {
"instanceReference": "rnp.01"
},
"response": {
"instanceReference": "rnp.03"
}
}
},
{
"number": "1.4",
"operation": {
"type": {
"system": "http://moh.bw.org/CodeSystem/cs-scenario-op-type-codes",
"code": "CREATE"
},
"title": "Validation success: Send patient data",
"initiator": "IL",
"receiver": "CR",
"description": "Patient Resource is sent to the CR for processing. The CR associates a MPI with the patient record and stores it.",
"request": {
"instanceReference": "rnp.01"
},
"response": {
"instanceReference": "rnp.04"
}
}
},
{
"number": "1.5",
"operation": {
"title": "Success: Invoke FHIR mediator",
"initiator": "IL",
"receiver": "IL",
"description": "Pass the data to the mediator responsible for calling the endpoint for creating the new patient data in FHIR."
}
}
]
}
}
]
},
{
"title": "Register Patient in FHIR",
"preConditions": "CR has provided a MPI identifier in its response sent back to the IL.",
"postConditions": "FHIR entity has processed the Restricted Patient Resource that documents the MPI for re-identification purposes.",
"step": [
{
"number": "2",
"process": {
"title": "Register Patient in FHIR",
"description": "This scenario demonstrates the process of storing a restricted version of the Patient Resource which excludes all PII to ensure patient privacy. This Patient Resource includes the MPI identifier issued by the CR so that the IL can reassociate the clinical information (FHIR) with the PII (CR) during GET requests.",
"step": [
{
"number": "2.1",
"operation": {
"title": "Remove all PII and business identifiers",
"initiator": "IL",
"receiver": "IL",
"description": "Remove all demographic information and business identifiers from the Patient Resource as required by the Restricted Patient Resource Profile.",
"initiatorActive": true
}
},
{
"number": "2.2",
"operation": {
"title": "Update Resource.meta",
"initiator": "IL",
"receiver": "IL",
"description": "Replace the existing meta.profile value with the structure definition URL for the Restricted Patient Resource Profile.",
"initiatorActive": false
}
},
{
"number": "2.3",
"operation": {
"title": "Add the MPI identifier",
"initiator": "IL",
"receiver": "IL",
"description": "Add the MPI assigned by the CR as a business identifier in the Restricted Patient Resource.",
"initiatorActive": true
}
},
{
"number": "2.4",
"operation": {
"title": "Set the Restricted Patient Resource literal ID",
"initiator": "IL",
"receiver": "IL",
"description": "Set the literal ID in the Restricted Patient Resource to the same value as the ID that was included in the Patient Resource that was submitted by the PoS entity.",
"initiatorActive": false
}
},
{
"number": "2.5",
"operation": {
"title": "Send data for consumption",
"initiator": "IL",
"receiver": "FHIR",
"description": "Patient Resource is sent to the FHIR server for further processing.",
"receiverActive": true,
"request": {
"instanceReference": "rnp.02"
},
"response": {
"instanceReference": "rnp.05"
}
}
},
{
"number": "2.6",
"operation": {
"title": "Success: Invoke IL mediator",
"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 create patient request."
}
}
]
}
}
]
},
{
"title": "Respond to Create Patient Request",
"preConditions": "FHIR entity has processed the request to create the patient record and has issued an outcome response.",
"postConditions": "IL entity has received the outcome response from FHIR and forwarded the response to the PoS system.",
"step": [
{
"number": "3",
"process": {
"title": "Respond to Create Patient Request",
"description": "This scenario demonstrates the process for responding to the PoS sytem who issued the create patient request.",
"step": [
{
"number": "3.1",
"operation": {
"title": "Response",
"initiator": "IL",
"receiver": "PoS",
"description": "Mediator responds to the create patient request.",
"request": {
"instanceReference": "rnp.05"
}
}
},
{
"number": "3.2",
"operation": {
"title": "Log the outcome",
"initiator": "PoS",
"receiver": "PoS",
"description": "PoS entity logs the outcome issued by the FHIR entity.",
"receiverActive": true
}
}
]
}
}
]
}
]
}