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
The HIE portal provides a laboratory module to order a laboratory test investigation, as well as create and review the lab report and result. This function is present for both internal and external type of ordering.
[base] = address url e.g. "https://fhir.hie.moh.gov.my/baseR4/"
[type] = resource type e.g. "DiagnosticReport | Observation"
@patientIdentifier = unique patient identifier defined from source system e.g
"HIE-00000003"
@recordId = unique record ID defined from source system e.g. "dr-sample" |
"obs-labsample"
@recordIdentifier = record identifier defined from source system e.g. "0000001000" |
"00021"
Sample Description | Sample Body | API Method | API |
---|---|---|---|
Create/Update Lab Order | POST | [base] | |
Create/Update Lab Report And Result | POST | [base] | |
Retrieve Lab Report And Result by patient identifier | - | GET | [base]/DiagnosticReport?subject.identifier=@patientIdentifier&_include=DiagnosticReport:result |
Retrieve Any Record By ID | - | GET | [base]/[type]/@recordId |
Retrieve Any Record By Identifier | - | GET | [base]/[type]?identifier=@recordIdentifier |
Using HIE, FHIR resources are used to store the ordering process up to the lab result and reporting process.
The diagram below shows how the FHIR resources are used as described:
Using HealthcareService (MY Core) and SpecimenDefinition (MY Core), each facility will define what laboratory orderables are available for their respective healthcare worker to request.
When a request is made, it will be stored using ServiceRequest
(MY Core) and Specimen
(MY Core).
The ServiceRequest status will be "draft"
ServiceRequest.status:"draft"
A QuestionnaireResponse (MY Core) to the PER-PAT 301 (Standard Malaysian Ministry of Health facility laboratory ordering form) Questionnaire can be attached to the ServiceRequest (MY Core) to facilitate operational flow in public healthcare facilities.
Once the user confirms and intiates their request a Task (MY Core) will be created.
ServiceRequest.status:"active"
Task.status:"draft"
and businessStatus will be "initiate"
Task.businessStatus:"initiate"
The Task (MY Core) will then track and execute the operational business flow until its intended or alternative destination is achieved.
As the Task moves to each checkpoint it will update its businessStatus as defined in the diagram.
Once a report is to be stored in HIE, it uses the DiagnosticReport (MY Core) while the result is stored as an Observation Lab Result (MY Core).
If integration is from an analyzer machine, it is expected to send both DiagnosticReport & Observation.
There are 2 possible use cases where a source system can exchange lab records with HIE:
For further details on the flow of sending data and/or retrieving, please refer to Integration Overview under Care Coordination (CC) category.
An external order can be sent to another facility/source system through HIE using the MY Core Standard. The profiles related to lab ordering are ServiceRequest (MY Core) and Specimen (MY Core). Both records must exist when sending an order to HIE.
The ServiceRequest (MY Core) record must have:
status:"active"
intent
category.coding.where (system = 'http://fhir.hie.moh.gov.my/CodeSystem/servicerequest-category-my-core').code:"108252007"
category.coding.where (system = 'http://fhir.hie.moh.gov.my/CodeSystem/lab-sub-group-my-core').code
code.coding.where (system = 'http://fhir.hie.moh.gov.my/CodeSystem/lab-my-core').code
code.coding.where (system = 'https://loinc.org').code
subject
encounter
authoredOn
performerType:"affiliate"
requester
performer.where (identifier.value = 'requester-facility').reference
performer.where (identifier.value = 'requester-facility').reference
The Specimen (MY Core) record must have:
accessionIdentifier.where (url = 'http://fhir.hie.moh.gov.my/sid/service-request-id').value
type
subject
container.type
A lab report and result can be sent to HIE for record exchange or to fulfil another requesting source system order (Integration Point 1). The profile related to lab reporting is DiagnosticReport (MY Core), while for lab results is Observation Lab Results (MY Core)
The DiagnosticReport (MY Core) must have:
status:"final"
category.coding.where (system = 'http://fhir.hie.moh.gov.my/CodeSystem/servicerequest-category-my-core').code:"108252007"
code.coding.where (system = 'http://fhir.hie.moh.gov.my/CodeSystem/lab-my-core').code
code.coding.where (system = 'https://loinc.org').code
subject
encounter
conclusion
The Observation Lab Results (MY Core) must have:
status:"final"
category.coding.where (system = 'http://fhir.hie.moh.gov.my/CodeSystem/servicerequest-category-my-core').code:"108252007"
code.coding.where (system = 'http://fhir.hie.moh.gov.my/CodeSystem/lab-my-core').code
code.coding.where (system = 'https://loinc.org').code
subject
Related to lab analyzer, it is expected to send both lab report and result. However, the status of
both DiagnosticReport and Observation is set as draft status.draft
The lab report (DiagnosticReport) must have:
status:"draft"
category.coding.where (system = 'http://fhir.hie.moh.gov.my/CodeSystem/servicerequest-category-my-core').code:"108252007"
code.coding.where (system = 'http://fhir.hie.moh.gov.my/CodeSystem/lab-my-core').code
code.coding.where (system = 'https://loinc.org').code
subject
encounter
conclusion
The lab result (Observation) must have:
status:"draft"
category.coding.where (system = 'http://fhir.hie.moh.gov.my/CodeSystem/servicerequest-category-my-core').code:"108252007"
code.coding.where (system = 'http://fhir.hie.moh.gov.my/CodeSystem/lab-my-core').code
code.coding.where (system = 'https://loinc.org').code
subject
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