VN Core FHIR Implementation Guide — Bộ Hướng dẫn Triển khai FHIR Cốt lõi cho Việt Nam
0.1.0 - STU1 Draft Viet Nam flag

VN Core FHIR Implementation Guide — Bộ Hướng dẫn Triển khai FHIR Cốt lõi cho Việt Nam - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Báo cáo cận lâm sàng VN Core — VN Core DiagnosticReport Profile

Official URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-diagnostic-report Version: 0.1.0
Draft as of 2026-03-21 Computable Name: VNCoreDiagnosticReport

Profile DiagnosticReport cho Việt Nam. Nhóm kết quả cận lâm sàng (xét nghiệm, CĐHA, TDCN). Liên kết với VNCoreObservationLab (kết quả chi tiết) và VNCoreEncounter (lượt khám). Căn cứ: QĐ 1227/QĐ-BYT (11/4/2025) — 2.964 chỉ số CLS, QĐ 3176/QĐ-BYT — trường MA_DICH_VU, KET_QUA trong XML3/XML6. Nguồn thiết kế: OHP Data Processor (DiagnosticReport mapper — XML 4750).

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DiagnosticReport 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code Trạng thái báo cáo
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.
... code SΣ 1..1 CodeableConcept Mã xét nghiệm/CĐHA (LOINC hoặc mã CLS VN per QĐ 1227)
Binding: Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet (extensible)
... subject SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
... encounter Σ 0..1 Reference(Lượt khám/nhập viện VN Core — VN Core Encounter Profile) Lượt khám liên quan
... effective[x] SΣ 0..1 Thời điểm thực hiện
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued SΣ 0..1 instant Ngày phát hành kết quả
... performer Σ 0..* Reference(Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Cơ sở y tế VN Core — VN Core Organization Profile) Người thực hiện / phê duyệt kết quả
... result S 0..* Reference(Xét nghiệm VN Core — VN Core Observation Laboratory Profile) Kết quả chi tiết (Observation)
... conclusion 0..1 string Kết luận / Nhận xét
... conclusionCode 0..* CodeableConcept Mã kết luận (ICD-10 nếu có)
Binding: SNOMEDCTClinicalFindings (example): Diagnosis codes provided as adjuncts to the report.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DiagnosticReport.status Base required DiagnosticReportStatus 📍4.0.1 FHIR Std.
DiagnosticReport.category Base extensible Loại dịch vụ y tế — VN Service Request Category ValueSet 📦0.1.0 This IG
DiagnosticReport.code Base extensible Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet 📦0.1.0 This IG
DiagnosticReport.conclusionCode Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error DiagnosticReport If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DiagnosticReport If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DiagnosticReport A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from DiagnosticReport

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DiagnosticReport 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... status S 1..1 code Trạng thái báo cáo
... category S 1..* CodeableConcept Nhóm CLS: xét nghiệm (LAB), hình ảnh (RAD), chức năng (OTH)
Binding: Loại dịch vụ y tế — VN Service Request Category ValueSet (extensible)
... code S 1..1 CodeableConcept Mã xét nghiệm/CĐHA (LOINC hoặc mã CLS VN per QĐ 1227)
Binding: Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet (extensible)
... encounter 0..1 Reference(Lượt khám/nhập viện VN Core — VN Core Encounter Profile) Lượt khám liên quan
... effective[x] S 0..1 dateTime, Period Thời điểm thực hiện
... issued S 0..1 instant Ngày phát hành kết quả
... performer 0..* Reference(Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Cơ sở y tế VN Core — VN Core Organization Profile) Người thực hiện / phê duyệt kết quả
... result S 0..* Reference(Xét nghiệm VN Core — VN Core Observation Laboratory Profile) Kết quả chi tiết (Observation)
... conclusion 0..1 string Kết luận / Nhận xét
... conclusionCode 0..* CodeableConcept Mã kết luận (ICD-10 nếu có)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
DiagnosticReport.category Base extensible Loại dịch vụ y tế — VN Service Request Category ValueSet 📦0.1.0 This IG
DiagnosticReport.code Base extensible Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet 📦0.1.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DiagnosticReport 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business identifier for report
... basedOn 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) What was requested
... status ?!SΣ 1..1 code Trạng thái báo cáo
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.
... category SΣ 1..* CodeableConcept Nhóm CLS: xét nghiệm (LAB), hình ảnh (RAD), chức năng (OTH)
Binding: Loại dịch vụ y tế — VN Service Request Category ValueSet (extensible)
... code SΣ 1..1 CodeableConcept Mã xét nghiệm/CĐHA (LOINC hoặc mã CLS VN per QĐ 1227)
Binding: Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet (extensible)
... subject SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
... encounter Σ 0..1 Reference(Lượt khám/nhập viện VN Core — VN Core Encounter Profile) Lượt khám liên quan
... effective[x] SΣ 0..1 Thời điểm thực hiện
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued SΣ 0..1 instant Ngày phát hành kết quả
... performer Σ 0..* Reference(Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Cơ sở y tế VN Core — VN Core Organization Profile) Người thực hiện / phê duyệt kết quả
... resultsInterpreter Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam) Primary result interpreter
... specimen 0..* Reference(Specimen) Specimens this report is based on
... result S 0..* Reference(Xét nghiệm VN Core — VN Core Observation Laboratory Profile) Kết quả chi tiết (Observation)
... imagingStudy 0..* Reference(ImagingStudy) Reference to full details of imaging associated with the diagnostic report
... media Σ 0..* BackboneElement Key images associated with this report
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... comment 0..1 string Comment about the image (e.g. explanation)
.... link Σ 1..1 Reference(Media) Reference to the image source
... conclusion 0..1 string Kết luận / Nhận xét
... conclusionCode 0..* CodeableConcept Mã kết luận (ICD-10 nếu có)
Binding: SNOMEDCTClinicalFindings (example): Diagnosis codes provided as adjuncts to the report.
... presentedForm 0..* Attachment Entire report as issued

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DiagnosticReport.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DiagnosticReport.status Base required DiagnosticReportStatus 📍4.0.1 FHIR Std.
DiagnosticReport.category Base extensible Loại dịch vụ y tế — VN Service Request Category ValueSet 📦0.1.0 This IG
DiagnosticReport.code Base extensible Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet 📦0.1.0 This IG
DiagnosticReport.conclusionCode Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error DiagnosticReport If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DiagnosticReport If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DiagnosticReport A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DiagnosticReport 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code Trạng thái báo cáo
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.
... code SΣ 1..1 CodeableConcept Mã xét nghiệm/CĐHA (LOINC hoặc mã CLS VN per QĐ 1227)
Binding: Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet (extensible)
... subject SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
... encounter Σ 0..1 Reference(Lượt khám/nhập viện VN Core — VN Core Encounter Profile) Lượt khám liên quan
... effective[x] SΣ 0..1 Thời điểm thực hiện
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued SΣ 0..1 instant Ngày phát hành kết quả
... performer Σ 0..* Reference(Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Cơ sở y tế VN Core — VN Core Organization Profile) Người thực hiện / phê duyệt kết quả
... result S 0..* Reference(Xét nghiệm VN Core — VN Core Observation Laboratory Profile) Kết quả chi tiết (Observation)
... conclusion 0..1 string Kết luận / Nhận xét
... conclusionCode 0..* CodeableConcept Mã kết luận (ICD-10 nếu có)
Binding: SNOMEDCTClinicalFindings (example): Diagnosis codes provided as adjuncts to the report.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DiagnosticReport.status Base required DiagnosticReportStatus 📍4.0.1 FHIR Std.
DiagnosticReport.category Base extensible Loại dịch vụ y tế — VN Service Request Category ValueSet 📦0.1.0 This IG
DiagnosticReport.code Base extensible Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet 📦0.1.0 This IG
DiagnosticReport.conclusionCode Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error DiagnosticReport If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DiagnosticReport If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DiagnosticReport A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from DiagnosticReport

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DiagnosticReport 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... status S 1..1 code Trạng thái báo cáo
... category S 1..* CodeableConcept Nhóm CLS: xét nghiệm (LAB), hình ảnh (RAD), chức năng (OTH)
Binding: Loại dịch vụ y tế — VN Service Request Category ValueSet (extensible)
... code S 1..1 CodeableConcept Mã xét nghiệm/CĐHA (LOINC hoặc mã CLS VN per QĐ 1227)
Binding: Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet (extensible)
... encounter 0..1 Reference(Lượt khám/nhập viện VN Core — VN Core Encounter Profile) Lượt khám liên quan
... effective[x] S 0..1 dateTime, Period Thời điểm thực hiện
... issued S 0..1 instant Ngày phát hành kết quả
... performer 0..* Reference(Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Cơ sở y tế VN Core — VN Core Organization Profile) Người thực hiện / phê duyệt kết quả
... result S 0..* Reference(Xét nghiệm VN Core — VN Core Observation Laboratory Profile) Kết quả chi tiết (Observation)
... conclusion 0..1 string Kết luận / Nhận xét
... conclusionCode 0..* CodeableConcept Mã kết luận (ICD-10 nếu có)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
DiagnosticReport.category Base extensible Loại dịch vụ y tế — VN Service Request Category ValueSet 📦0.1.0 This IG
DiagnosticReport.code Base extensible Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet 📦0.1.0 This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DiagnosticReport 0..* DiagnosticReport A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business identifier for report
... basedOn 0..* Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) What was requested
... status ?!SΣ 1..1 code Trạng thái báo cáo
Binding: DiagnosticReportStatus (required): The status of the diagnostic report.
... category SΣ 1..* CodeableConcept Nhóm CLS: xét nghiệm (LAB), hình ảnh (RAD), chức năng (OTH)
Binding: Loại dịch vụ y tế — VN Service Request Category ValueSet (extensible)
... code SΣ 1..1 CodeableConcept Mã xét nghiệm/CĐHA (LOINC hoặc mã CLS VN per QĐ 1227)
Binding: Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet (extensible)
... subject SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
... encounter Σ 0..1 Reference(Lượt khám/nhập viện VN Core — VN Core Encounter Profile) Lượt khám liên quan
... effective[x] SΣ 0..1 Thời điểm thực hiện
.... effectiveDateTime dateTime
.... effectivePeriod Period
... issued SΣ 0..1 instant Ngày phát hành kết quả
... performer Σ 0..* Reference(Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Cơ sở y tế VN Core — VN Core Organization Profile) Người thực hiện / phê duyệt kết quả
... resultsInterpreter Σ 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam) Primary result interpreter
... specimen 0..* Reference(Specimen) Specimens this report is based on
... result S 0..* Reference(Xét nghiệm VN Core — VN Core Observation Laboratory Profile) Kết quả chi tiết (Observation)
... imagingStudy 0..* Reference(ImagingStudy) Reference to full details of imaging associated with the diagnostic report
... media Σ 0..* BackboneElement Key images associated with this report
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... comment 0..1 string Comment about the image (e.g. explanation)
.... link Σ 1..1 Reference(Media) Reference to the image source
... conclusion 0..1 string Kết luận / Nhận xét
... conclusionCode 0..* CodeableConcept Mã kết luận (ICD-10 nếu có)
Binding: SNOMEDCTClinicalFindings (example): Diagnosis codes provided as adjuncts to the report.
... presentedForm 0..* Attachment Entire report as issued

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DiagnosticReport.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DiagnosticReport.status Base required DiagnosticReportStatus 📍4.0.1 FHIR Std.
DiagnosticReport.category Base extensible Loại dịch vụ y tế — VN Service Request Category ValueSet 📦0.1.0 This IG
DiagnosticReport.code Base extensible Chỉ số cận lâm sàng — VN Clinical Lab Indicator ValueSet 📦0.1.0 This IG
DiagnosticReport.conclusionCode Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error DiagnosticReport If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DiagnosticReport If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error DiagnosticReport If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DiagnosticReport A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron