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

FHIR IG Statistics: ExampleScenario/RegisterNewPatient

Packagebotswana.hie.fhir
Resource TypeExampleScenario
IdRegisterNewPatient
FHIR VersionR5
Sourcehttp://moh.bw.org/https://build.fhir.org/ig/jembi/botswana-hie-fhir-ig/ExampleScenario-RegisterNewPatient.html
URLhttp://moh.bw.org/ExampleScenario/RegisterNewPatient
Version1.0.0
Statusactive
Date2025-05-19T15:02:57+00:00
NameRegisterNewPatient
TitleRegister New Patient
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 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.

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.05

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 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

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

-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 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 all PII and business identifiersILIL

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

-TitleInitiatorReceiverDescriptionInitiatorActive
*Update Resource.metaILIL

Replace the existing meta.profile value with the structure definition URL for the Restricted Patient Resource Profile.

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 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

-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.05

step

number: 3.2

Operations

-TitleInitiatorReceiverDescriptionReceiverActive
*Log the outcomePoSPoS

PoS entity logs the outcome issued by the FHIR entity.

true

Source

{
  "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
                }
              }
            ]
          }
        }
      ]
    }
  ]
}