HL7 FHIR Malaysia Core (MY Core) Implementation Guide
2.0.0 - ci-build
HL7 FHIR Malaysia Core (MY Core) Implementation Guide - Local Development build (v2.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Virtual Consultation (VC) is a function available in HIE based on the HIE-VC scope. By using Jitsi Meet, a practitioner & patient/customer can communicate via video conferencing method in HIE.
Aside from calling a HIE API, any source system that wishes to use the VC function through HIE must be able to:
It is also important to note that the patient/customer planned for the VC session must have an activated RekodSaya app registration as it is the required portal to access a video conferencing session.
The type of VC is stored in Appointment.serviceType
for appointment records and
Encounter.serviceType
for encounter records.
Currently in HIE-VC scope, these are the types of VCs:
Here are some common APIs used in HIE:
[base] = address url e.g. "https://fhir.hie.moh.gov.my/baseR4/"
@recordId = unique resource ID defined from source system e.g
"841eaff3-18a0-42d9-a62c-91a3cbb6bcec"
Sample Description | Sample Body | API Method | API |
---|---|---|---|
Create/Update VC Appointment | PUT | [base]/Appointment/@recordId | |
Update Encounter | PUT | [base]/Encounter/@recordId | |
Create/Update Schedule |
1.VCI Schedule, |
PUT | [base]/Schedule/@recordId |
Create/Update Slot |
1.VCI Slot, 2.VCE Slot |
PUT | [base]/Slot/@recordId |
The Jitsi API is managed by the Jitsi team. Please refer to Jitsi documentation for details.
The primary resources required to initiate a VC session are Appointment, Schedule, Slot and Encounter.
status
serviceCategory:encounterClass.coding.code:"VR"
serviceType:"VCI"
or
Appointment.serviceType:"VCE"
specialty
participant.actor
participant.status
status
identifier.value
where
identifier.system="http://fhir.hie.moh.gov.my/sid/vc-token"
class:"VR"
serviceType:"VCI"
or
serviceType:"VCE"
subject
period.start
serviceProvider
participant.individual
, the role
participant.type
is mandatory.
serviceCategory:encounterClass.coding.code:"VR"
serviceType:"VCI"
or
Appointment.serviceType:"VCE"
specialty
actor
extension.url=http://fhir.hie.moh.gov.my/StructureDefinition/schedule-type-my-core
schedule
status
start
end
This section covers the integration points for VCI and VCE. The Source System is expected to be able to integrate with HIE API, Jitsi API and Notification API to be able to host their own video conferencing via HIE.
For VCI, the Jitsi token session is stored in the encounter. Once the patient/customer checks in for their
appointments in RekodSaya, HIE will initiate the Jitsi API and store it in
Encounter.identifier
. The source system will then be required to activate the token and
call a notification API to notify the patient/customer using RekodSaya that the session has
started.
It is optional for a VCI appointment to refer to a Slot. However, should a source system wish to send scheduling records, the integration points and flow for scheduling is covered under Scheduling & Appointment.
Diagram 1 below shows the flow enabling source system integration for VCI through HIE:
CREATE
VCI Schedule and Slot in HIE.CREATE
Appointment record in HIE.CREATE
a session token.CREATE
an Encounter and the Jitsi token is stored in
Encounter.identifier.value
where
Encounter.identifier.system="http://fhir.hie.moh.gov.my/sid/vc-token"
GET
Encounter record from Kafka together with the Jitsi token
stored within the Encounter.GET
Jitsi token to start the session for their practitioner.POST
HIE notification API to notify the patient/customer in
RekodSaya that the session will be started.GET
the Jitsi token for the patient to join using RekodSaya.UPDATE
HIE of the Encounter status to
Encounter.status=finished
.
UPDATE
Jitsi records to end the session.For VCE, the source system will have to first call the Jitsi API to obtain a session token. For each
appointment related to the same VCE session, the source system is required to record the token
identifier in
Appointment.identifier.where (system = 'http://fhir.hie.moh.gov.my/sid/vc-token').value
.
The patient/customer using RekodSaya will then check in on the appointment day and HIE will create an encounter with the Jtsi token stored in the Appointment. The source system will then retrieve the Encounter through Kafka, call a Jitsi API to activate the session and call a HIE notification API to notify patient/customer in HIE that the session has started.
Diagram 2 below shows the flow enabling source system integration for VCE through HIE:
CREATE
a session token.CREATE
VCE schedule and slot in HIE and store token in the
Schedule.identifier.value
where
Schedule.identifier.system="http://fhir.hie.moh.gov.my/sid/vc-token"
CREATE
Appointment record in HIE and store token in the
Appointment.identifier.value
where
Appointment.identifier.system="http://fhir.hie.moh.gov.my/sid/vc-token"
CREATE
an Encounter and the Jitsi token is stored in
Encounter.identifier.value
(from Appointment.identifier.value
) where
Encounter.identifier.system="http://fhir.hie.moh.gov.my/sid/vc-token"
GET
Encounter record from Kafka together with the Jitsi token
stored within Encounter.GET
the Jitsi token to start the session for their practitioner.POST
a HIE notification API to notify the patient(s)/customer(s) in
RekodSaya that the session will begin.GET
Jitsi token for the patient to join using RekodSaya.UPDATE
HIE of the Encounter status to
Encounter.status=finished
.
UPDATE
Jitsi records to end the session.
IG © 2022+ MHNexus Sdn Bhd. Package MyCore#2.0.0 based on FHIR 4.0.1. Generated 2025-03-27
Links: Table of Contents |
QA Report