MHNexus Sdn Bhd
0.1.0 - ci-build
The HIE portal provides a laboratory module to order a laboratory test investigation, create and review the lab report and result. This function is enable for both internal and external type or ordering.
Click MY Core postman API link to view common API used in HIE.
[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.
Based on the diagram below, the FHIR resources is broken down and used as described;
Using HealthcareService (MY Core) and
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) related to PER-PAT 301 Questionnaire (Malaysia standard form for general laboratory ordering) form can be attached to the ServiceRequest (MY Core) to assist the operational flow.
Once user confirms and intiates their request a Task (MY Core) will be created.
ServiceRequest.status:"active"
Task.status:"initiate"
Task (MY Core) will then track and execute the operational business flow up until its intended or alternative destination is achieved.
As the Task moves to each check point it will update its status as defined in the diagram
Once a report is to be stored in HIE, it will be stored as DiagnosticReport (MY Core) while the result is stored as Observation Lab.
If integration is from an analyzer machine, it is expected to send both DiagnosticReport & Observation.
There are 2 possible use case where a source system can consider exchanging lab records between HIE. During;
For further details on the flow of sending data and/or retrieving can refer to Integration Overview under Care Coordination (CC) category.
An external order towards another facility/source system can be done through HIE using the MY Core Standard. The profile related to lab ordering is ServiceRequest (MY Core) and Specimen (MY Core). Both record must exist when sending 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 = 'http://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 lab results is Lab Results (MY Core)
The lab report (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 = 'http://loinc.org').code
subject
encounter
conclusion
The lab result (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 = 'http://loinc.org').code
subject
Related to lab analyzer, it is expected to send both lab report and result. However, the status of
both DiagnosticReport is 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 = 'http://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 = 'http://loinc.org').code
subject
IG © 2024+ Example Publisher. Package fhir.example#0.1.0
based on FHIR
4.0.1. Generated
2024-12-23
Links: Table of
Contents |
QA Report