FHIR © HL7.org  |  Server Home  |  XIG Home  |  XIG Stats  |  Server Source  |  FHIR  

FHIR IG Statistics: ExampleScenario/RegisterNewPatientInBundle

Packagebotswana.hie.fhir
Resource TypeExampleScenario
IdRegisterNewPatientInBundle
FHIR VersionR5
Sourcehttp://moh.bw.org/https://build.fhir.org/ig/jembi/botswana-hie-fhir-ig/ExampleScenario-RegisterNewPatientInBundle.html
URLhttp://moh.bw.org/ExampleScenario/RegisterNewPatientInBundle
Version1.0.0
Statusactive
Date2025-05-19T15:02:57+00:00
NameRegisterNewPatientInBundle
TitleRegister New Patient (Using a Bundle)
PurposeThis serves to demonstrate the creation of a patient record, when using a Client Registry (CR) and a FHIR datastore.

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: ExampleScenario RegisterNewPatientInBundle

url: Register New Patient (Using a Bundle)

version: 1.0.0

name: RegisterNewPatientInBundle

title: Register New Patient (Using a Bundle)

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 lab order bundle submitted by PoS entity.

actor

Actor Reference: ActorDefinition Shared Health Record (SHR)

key: FHIR

type: System

title: FHIR Server

description:

The entity that stores clinical information for the patient included in the request submitted by PoS entity.

instance

key: rnp-b.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-b.03

structureType: All FHIR Types Bundle: Bundle

structureProfile: Bundle - Lab Orders

title: Lab Order Bundle

description:

The FHIR bundle provided by the PoS entity to create the patient record.

content: Bundle: type = transaction

instance

key: rnp-b.04

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: rnp-b.05

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-b.06

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.

content: Endpoint: status = active; connectionType = Interoperability Layer; description = The Client Registry's Patient endpoint that initiated the request for a MPI to be generated.; address = https://openhim-core:5001

instance

key: rnp-b.07

structureType: All FHIR Types Endpoint: Endpoint

structureProfile: Endpoint

title: Outcome response

description:

FHIR issues an outcome response to each CRUD request.

content: Endpoint: status = active; connectionType = Interoperability Layer; description = FHIR issues an outcome response to each request.; address = https://openhim-core:5001

process

title: Register Patient in CR

preConditions:

PoS entity has submitted the Lab Order Bundle 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: Lab order bundle

initiator: PoS

receiver: IL

description:

Patient data contains PII and clinical information

Requests

-InstanceReference
*rnp-b.03

step

number: 1.2

Operations

-TitleInitiatorReceiverDescriptionInitiatorActive
*Get patient dataILIL

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-b.01

Responses

-InstanceReference
*rnp-b.05

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-b.01

Responses

-InstanceReference
*rnp-b.06

step

number: 1.5

Operations

-TitleInitiatorReceiverDescription
*Success: Invoke FHIR mediatorILIL

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 lab order bundle which incl. 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

-TitleInitiatorReceiverDescriptionInitiatorActive
*Remove Data Supplying Patient ResourceILIL

Remove the Data Supplying Patient Resource from the lab order bundle and replace it with the Restricted Patient Resource

true

step

number: 2.2

Operations

-TitleInitiatorReceiverDescriptionInitiatorActive
*Add Restricted Patient ResourceILIL

Add the Restricted Patient Resource to the lab order bundle

false

step

number: 2.3

Operations

-TitleInitiatorReceiverDescriptionInitiatorActive
*Add the MPI identifierILIL

Add the MPI assigned by the CR as a business identifier in the Restricted Patient Resource

true

step

number: 2.4

Operations

-TitleInitiatorReceiverDescriptionInitiatorActive
*Set the Restricted Patient Resource literal IDILIL

Set the literal ID in the Restricted Patient Resource to the same value as the ID used as a patient reference in the other resources in the bundle. Note: There can only be one!.

false

step

number: 2.5

operation

title: Send data for consumption

initiator: IL

receiver: FHIR

description:

Lab order bundle is sent to the FHIR server for further processing.

receiverActive: true

Requests

-InstanceReference
*rnp-b.04

Responses

-InstanceReference
*rnp-b.07

step

number: 2.6

Operations

-TitleInitiatorReceiverDescription
*Success: Invoke IL mediatorILIL

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-b.07

step

number: 3.2

Operations

-TitleInitiatorReceiverDescriptionReceiverActive
*Log the outcomePoSPoS

PoS entity logs the outcome issued by the FHIR entity.

true

Source

{
  "resourceType": "ExampleScenario",
  "id": "RegisterNewPatientInBundle",
  "text": {
    "status": "extensions",
    "div": "<!-- snip (see above) -->"
  },
  "url": "http://moh.bw.org/ExampleScenario/RegisterNewPatientInBundle",
  "version": "1.0.0",
  "name": "RegisterNewPatientInBundle",
  "title": "Register New Patient (Using a Bundle)",
  "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 lab order bundle submitted by 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 clinical information for the patient included in the request submitted by PoS entity."
    }
  ],
  "instance": [
    {
      "key": "rnp-b.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-b.03",
      "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 provided by the PoS entity to create the patient record.",
      "content": {
        "reference": "Bundle/lab-order-with-patient-bundle"
      }
    },
    {
      "key": "rnp-b.04",
      "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": "rnp-b.05",
      "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-b.06",
      "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-b.07",
      "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 the Lab Order Bundle 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": "Lab order bundle",
                  "initiator": "PoS",
                  "receiver": "IL",
                  "description": "Patient data contains PII and clinical information",
                  "request": {
                    "instanceReference": "rnp-b.03"
                  }
                }
              },
              {
                "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-b.01"
                  },
                  "response": {
                    "instanceReference": "rnp-b.05"
                  }
                }
              },
              {
                "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-b.01"
                  },
                  "response": {
                    "instanceReference": "rnp-b.06"
                  }
                }
              },
              {
                "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 lab order bundle which incl. 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 Data Supplying Patient Resource",
                  "initiator": "IL",
                  "receiver": "IL",
                  "description": "Remove the Data Supplying Patient Resource from the lab order bundle and replace it with the Restricted Patient Resource",
                  "initiatorActive": true
                }
              },
              {
                "number": "2.2",
                "operation": {
                  "title": "Add Restricted Patient Resource",
                  "initiator": "IL",
                  "receiver": "IL",
                  "description": "Add the Restricted Patient Resource to the lab order bundle",
                  "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 used as a patient reference in the other resources in the bundle. Note: There can only be one!.",
                  "initiatorActive": false
                }
              },
              {
                "number": "2.5",
                "operation": {
                  "title": "Send data for consumption",
                  "initiator": "IL",
                  "receiver": "FHIR",
                  "description": "Lab order bundle is sent to the FHIR server for further processing.",
                  "receiverActive": true,
                  "request": {
                    "instanceReference": "rnp-b.04"
                  },
                  "response": {
                    "instanceReference": "rnp-b.07"
                  }
                }
              },
              {
                "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-b.07"
                  }
                }
              },
              {
                "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
                }
              }
            ]
          }
        }
      ]
    }
  ]
}