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

FHIR IG Statistics: ExampleScenario/RetrievePatientRecord

Packagebotswana.hie.fhir
Resource TypeExampleScenario
IdRetrievePatientRecord
FHIR VersionR5
Sourcehttp://moh.bw.org/https://build.fhir.org/ig/jembi/botswana-hie-fhir-ig/ExampleScenario-RetrievePatientRecord.html
URLhttp://moh.bw.org/ExampleScenario/RetrievePatientRecord
Version1.0.0
Statusactive
Date2025-05-19T15:02:57+00:00
NameRetrievePatientRecord
TitleRetrieve Patient Record
PurposeThis serves to demonstrate the retrieval of a patient's record, from the 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 RetrievePatientRecord

url: Retrieve Patient Record

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.

content: Endpoint: status = active; connectionType = Interoperability Layer; description = The Client Registry's Patient endpoint that was used to find the patient.; address = https://openhim-core:5001

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

-TitleInitiatorReceiverDescription
*Success: Invoke FHIR mediatorILIL

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

-TitleInitiatorReceiverDescription
*Success: Invoke IL mediator 1ILIL

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

-TitleInitiatorReceiverDescriptionInitiatorActive
*Remove Restricted Patient ResourceILIL

Mediator removes the Restricted Patient Resource from the bundle as well as the MPI identifier.

false

step

number: 3.2

Operations

-TitleInitiatorReceiverDescriptionInitiatorActive
*Insert Data Supplying Patient ResourceILIL

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

-TitleInitiatorReceiverDescriptionInitiatorActive
*Success: Invoke IL mediator 2ILIL

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

-TitleInitiatorReceiverDescriptionReceiverActive
*Log the outcomePoSPoS

PoS entity logs the outcome issued by the FHIR entity.

false

step

number: 4.3

Operations

-TitleInitiatorReceiverDescriptionReceiverActive
*Consume dataPoSPoS

PoS entity consumes the data according to the user's needs.

true

Source

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