MHNexus Sdn Bhd
0.1.0 - ci-build

Referral Summary

Referral Summary is a summarize patient health record with identified issues and/or other information related to assist in a referral. The information is usually summarized to detail information which is sufficient enough to allow meaningful information depending on the feasibilty and integration scope of an agreed information exhange project.


Scope and usage

This section of use case is meant to outline a general proposed scope of integeration that can be used as a baseline of information sharing with regards to the MY Core profile and base FHIR standard.


Boundaries and Relationship

The main resources used for retrieval/referencing supporting resources are ServiceRequest (MY Core) and Encounter (MY Core).

Other supporting resource such as Condition (MY Core), AllergyIntolerance (MY Core), MedicationRequest (MY Core), DiagnosticReport (MY Core) or Observation profile will reference or be referenced by the main resources to link the records for easier record retrieval.

If the integration scope is limited, the encounter summary can be shared within the ServiceRequest resource as a narrative xhtml instead of multiple resources. This would at least ensure that information shared can achieve the continuation of care objective of the HIE project. However, this scope of integration will most likely result in difficulties and less reliable data for later operational or analytical purposes.

A referral summary does not directly encourage amendment or appending by base FHIR standard. One of the reason is due to it being part of a workflow resource which may affect the operational flow. It is highly recommended to send a final referral summary only and if amendment is required to reject the initial referral ServiceRequest.status=revoked and create a new referral record instead.


Scenarios

Below in the overview flow for referral process which align to the Care Coordination concept

Referral Flow

  1. The referring source system will first send a referral (ServiceRequest) record using the relevant API in HIE.
  2. HIE will receive the record and duplicate a copy in Kafka under a specified topic criteria.
  3. The referred source system that is subscribed to the defined criteria will receive the record in Kafka and will retrieve the record for further action.
  4. Once an referral has been acknowledged, the requesting system will send an outcome record ServiceRequest through HIE API.
  5. HIE will again duplicate the updated refferal record in Kafka.
  6. The reffering source system will receive the updated status through Kafka thus completing the loop.

Below are some of the use case scenarios that can be used depending on the scope of integration.

Click MY Core postman API link to view common API used in HIE.

Referral only

This scenario only requires a ServiceRequest record to be shared. Source system can send ServiceRequest record individually and later send other supporting records through different API request if required.

However, ServiceRequest (MY Core) mandatories that;

  • a patient record must first exist ServiceRequest.subject to be referenced.
  • an encounter must first exist ServiceRequest.encounter to be referenced.

Main Related Profile: ServiceRequest (MY Core), Patient (MY Core), Encounter (MY Core) and Organization (MY Core).


[base] = address url e.g. "https://fhir.hie.moh.gov.my/baseR4/"
[type] = resource type e.g. "Patient | Encounter | Compostion"
@encounterId = unique encounter id defined from source system e.g. "encounter-sample"
@encounterIdentifier = encounter registrtion number defined from source system e.g "HTJ-ENC-2211000036"
@patientId = unique patient id defined from source system e.g "patient-sample"
@patientIdentifier = patient identifier such as mykad number or MRN e.g "HIE-00000003"

Sample Description Sample Body API Method API
Create/Update referral only

1.referral template (MyHix),

2.referral sample (MyHix)

PUT [base]/ServiceRequest/@referralId
Retrieve by record id - GET [base]/[type]/@recordId
Retrieve record by encounter identifier - GET [base]/[type]?encounter.identifier=@encounterIdentifier
Retrieve record by patient id - GET [base]/[type]?subject=@patientId
Retrieve record by patient identifier - GET [base]/[type]?subject.identifier=@patientIdentifier

Referral with supporting records

This method of data sharing uses Bundle operation where multiple resource will be send together within a single request.

The supporting document sent varies depending on the integration scope of each project.

A Bundle transaction is not stored in the server as it is only created transiently as a means of trasporting records. Thus, it is highly recommended for source system to assign a unique record id for each of their record for easier retrieval and updating purposes if able. Else, if no id is provided the server will auto generate a random unique 32 alphanumerical id which source system can store via their own respective method for later retrieval/updating purposes.

Main Related Profile: ServiceRequest (MY Core) and Encounter (MY Core)


[base] = address url e.g. "https://fhir.hie.moh.gov.my/baseR4/"
[type] = resource type e.g. "Patient | Encounter | Compostion"
@encounterId = unique encounter id defined from source system e.g. "encounter-sample"
@encounterIdentifier = encounter registrtion number defined from source system e.g "HTJ-ENC-2211000036"
@patientId = unique patient id defined from source system e.g "patient-sample"
@patientIdentifier = patient identifier such as mykad number or MRN e.g "HIE-00000003"
@panelObservationId = unique observation panel id defined from source system e.g. "obs-vs-sample"

Sample Description Sample Body API Method API
Create/Update referral bundle

1.bundle with id,

2.bundle without id

POST [base]
Retrieve by record id - GET [base]/[type]/@recordId
Retrieve record by encounter identifier - GET [base]/[type]?encounter.identifier=@encounterIdentifier
Retrieve record by patient id - GET [base]/[type]?subject=@patientId
Retrieve record by patient identifier - GET [base]/[type]?subject.identifier=@patientIdentifier
Retrieve observation panel record with its has-member record - GET [base]/Observation?_include=Observation:has-member&_id=@panelObservationId