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
Official URL: http://moh.bw.org/ExampleScenario/RegisterNewPatient | Version: 1.0.0 | |||
Active as of 2025-08-20 | Computable Name: RegisterNewPatient |
This serves to demonstrate the creation of a patient record, when using a Client Registry (CR) and a FHIR datastore.
Pre-conditions:
PoS entity has submitted a create patient request which contains the Data Supplying Patient Resource.
Post-conditions:
CR entity has stored the patient's personal information and sent a response back to the IL which inlcudes a MPI identifier.
Step | Name | Description | Initiator | Receiver | Request | Response |
---|---|---|---|---|---|---|
1 | See subprocessRegister Patient in CR below |
Step | Name | Description | Initiator | Receiver | Request | Response |
---|---|---|---|---|---|---|
1.1 | Patient resource - update (Details: FHIR Restful Interactions code update) | Patient personal information |
Point of Service | Interoperability Layer | Data Supplying Patient Resource | |
1.2 | Get patient data | Mediator extracts the patient data from the Patient Resource which includes all personal identifiers. |
Interoperability Layer | Interoperability Layer | ||
1.3 | Validate patient data for compliance - operation (Details: FHIR Restful Interactions code operation) | 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. |
Interoperability Layer | FHIR Server | Data Supplying Patient Resource | FHIR Validation outcome |
1.4 | Validation success: Send patient data - CREATE (Details: Scenario Operation Type Codes code CREATE) | Patient Resource is sent to the CR for processing. The CR associates a MPI with the patient record and stores it. |
Interoperability Layer | Client Registry | Data Supplying Patient Resource | Assigned Master Patient Index identifier |
1.5 | Success: Invoke FHIR mediator | Pass the data to the mediator responsible for calling the endpoint for creating the new patient data in FHIR. |
Interoperability Layer | Interoperability Layer |
Pre-conditions:
CR has provided a MPI identifier in its response sent back to the IL.
Post-conditions:
FHIR entity has processed the Restricted Patient Resource that documents the MPI for re-identification purposes.
Step | Name | Description | Initiator | Receiver | Request | Response |
---|---|---|---|---|---|---|
2 | See subprocessRegister Patient in FHIR below |
Step | Name | Description | Initiator | Receiver | Request | Response |
---|---|---|---|---|---|---|
2.1 | Remove all PII and business identifiers | Remove all demographic information and business identifiers from the Patient Resource as required by the Restricted Patient Resource Profile. |
Interoperability Layer | Interoperability Layer | ||
2.2 | Update Resource.meta | Replace the existing meta.profile value with the structure definition URL for the Restricted Patient Resource Profile. |
Interoperability Layer | Interoperability Layer | ||
2.3 | Add the MPI identifier | Add the MPI assigned by the CR as a business identifier in the Restricted Patient Resource. |
Interoperability Layer | Interoperability Layer | ||
2.4 | Set the Restricted Patient Resource literal ID | 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. |
Interoperability Layer | Interoperability Layer | ||
2.5 | Send data for consumption | Patient Resource is sent to the FHIR server for further processing. |
Interoperability Layer | FHIR Server | Restricted Patient Resource | Outcome response |
2.6 | Success: Invoke IL mediator | 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. |
Interoperability Layer | Interoperability Layer |
Pre-conditions:
FHIR entity has processed the request to create the patient record and has issued an outcome response.
Post-conditions:
IL entity has received the outcome response from FHIR and forwarded the response to the PoS system.
Step | Name | Description | Initiator | Receiver | Request | Response |
---|---|---|---|---|---|---|
3 | See subprocessRespond to Create Patient Request below |
Step | Name | Description | Initiator | Receiver | Request | Response |
---|---|---|---|---|---|---|
3.1 | Response | Mediator responds to the create patient request. |
Interoperability Layer | Point of Service | Outcome response | |
3.2 | Log the outcome | PoS entity logs the outcome issued by the FHIR entity. |
Point of Service | Point of Service |
Name | Type | Content | Description |
---|---|---|---|
Data Supplying Patient Resource | Patient - Botswana Patient | here | The Patient involved in the scenario. |
Restricted Patient Resource | Patient - Patient Identity Cross Reference | here | The restricted Patient Resource excl. all PII. |
FHIR Validation outcome | Endpoint | here | The validation outcome as issued by the FHIR server. |
Assigned Master Patient Index identifier | Endpoint | here | A Master Patient Index identifier assigned by the CR when new patients are created. |
Outcome response | Endpoint | here | FHIR issues an outcome response to each CRUD request. |