HL7 VN

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: Ghi nhận sử dụng VTYT VN Core — VN Core DeviceUseStatement Profile

Official URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-device-use-statement Version: 0.1.0
Draft as of 2026-03-21 Computable Name: VNCoreDeviceUseStatement

Profile DeviceUseStatement cho Việt Nam. Ghi nhận việc sử dụng vật tư y tế (VTYT) cho bệnh nhân. Liên kết với VNCoreDevice (thông tin VTYT) và VNCoreEncounter (lượt khám). Dùng cho theo dõi VTYT tiêu hao (catheter, kim, băng…) và VTYT lâu bền (implant, stent…). Căn cứ: QĐ 3176/QĐ-BYT (trường MA_VAT_TU trong chuẩn dữ liệu BHXH).

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
.. DeviceUseStatement 0..* DeviceUseStatement Record of use of a device
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:insuranceCostInfo 0..1 (Complex) Thông tin BHYT: phạm vi, tỷ lệ TT, mức hưởng
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info
.... extension:orderDate 0..1 dateTime Ngày y lệnh sử dụng VTYT
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-order-date
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... subject SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
... timing[x] SΣ 0..1 Thời điểm sử dụng VTYT
.... timingTiming Timing
.... timingPeriod Period
.... timingDateTime dateTime
... device SΣ 1..1 Reference(Vật tư y tế VN Core — VN Core Device Profile) VTYT được sử dụng
... reasonCode Σ 0..* CodeableConcept Lý do sử dụng VTYT (mã ICD-10)
Binding: Mã chẩn đoán — VN Core Condition Code ValueSet (extensible)
... reasonReference Σ 0..* Reference(Chẩn đoán VN Core — VN Core Condition Profile | Xét nghiệm VN Core — VN Core Observation Laboratory Profile | Sinh hiệu VN Core — VN Core Observation Vital Signs Profile | Báo cáo cận lâm sàng VN Core — VN Core DiagnosticReport Profile) Tham chiếu chẩn đoán/kết quả liên quan
... bodySite Σ 0..1 CodeableConcept Vị trí đặt VTYT
Binding: Vị trí giải phẫu — VN Core Body Site ValueSet (preferred)
... note 0..* Annotation Ghi chú bổ sung

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceUseStatement.status Base required DeviceUseStatementStatus 📍4.0.1 FHIR Std.
DeviceUseStatement.reasonCode Base extensible Mã chẩn đoán — VN Core Condition Code ValueSet 📦0.1.0 This IG
DeviceUseStatement.bodySite Base preferred Vị trí giải phẫu — VN Core Body Site ValueSet 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error DeviceUseStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceUseStatement 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 DeviceUseStatement 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 DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceUseStatement 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 DeviceUseStatement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceUseStatement 0..* DeviceUseStatement Record of use of a device
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:insuranceCostInfo 0..1 (Complex) Thông tin BHYT: phạm vi, tỷ lệ TT, mức hưởng
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info
.... extension:orderDate 0..1 dateTime Ngày y lệnh sử dụng VTYT
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-order-date
... status S 1..1 code Trạng thái: active | completed | on-hold | stopped
... subject S 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
... device S 1..1 Reference(Vật tư y tế VN Core — VN Core Device Profile) VTYT được sử dụng
... reasonCode 0..* CodeableConcept Lý do sử dụng VTYT (mã ICD-10)
Binding: Mã chẩn đoán — VN Core Condition Code ValueSet (extensible)
... reasonReference 0..* Reference(Chẩn đoán VN Core — VN Core Condition Profile | Xét nghiệm VN Core — VN Core Observation Laboratory Profile | Sinh hiệu VN Core — VN Core Observation Vital Signs Profile | Báo cáo cận lâm sàng VN Core — VN Core DiagnosticReport Profile) Tham chiếu chẩn đoán/kết quả liên quan
... bodySite 0..1 CodeableConcept Vị trí đặt VTYT
Binding: Vị trí giải phẫu — VN Core Body Site ValueSet (preferred)
... note 0..* Annotation Ghi chú bổ sung

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
DeviceUseStatement.reasonCode Base extensible Mã chẩn đoán — VN Core Condition Code ValueSet 📦0.1.0 This IG
DeviceUseStatement.bodySite Base preferred Vị trí giải phẫu — VN Core Body Site ValueSet 📦0.1.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceUseStatement 0..* DeviceUseStatement Record of use of a device
... 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
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:insuranceCostInfo 0..1 (Complex) Thông tin BHYT: phạm vi, tỷ lệ TT, mức hưởng
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info
.... extension:orderDate 0..1 dateTime Ngày y lệnh sử dụng VTYT
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-order-date
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External identifier for this record
... basedOn Σ 0..* Reference(ServiceRequest) Fulfills plan, proposal or order
... status ?!SΣ 1..1 code Trạng thái: active | completed | on-hold | stopped
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.
... subject SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
... derivedFrom Σ 0..* Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference) Supporting information
... timing[x] SΣ 0..1 Thời điểm sử dụng VTYT
.... timingTiming Timing
.... timingPeriod Period
.... timingDateTime dateTime
... recordedOn Σ 0..1 dateTime When statement was recorded
... source Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) Who made the statement
... device SΣ 1..1 Reference(Vật tư y tế VN Core — VN Core Device Profile) VTYT được sử dụng
... reasonCode Σ 0..* CodeableConcept Lý do sử dụng VTYT (mã ICD-10)
Binding: Mã chẩn đoán — VN Core Condition Code ValueSet (extensible)
... reasonReference Σ 0..* Reference(Chẩn đoán VN Core — VN Core Condition Profile | Xét nghiệm VN Core — VN Core Observation Laboratory Profile | Sinh hiệu VN Core — VN Core Observation Vital Signs Profile | Báo cáo cận lâm sàng VN Core — VN Core DiagnosticReport Profile) Tham chiếu chẩn đoán/kết quả liên quan
... bodySite Σ 0..1 CodeableConcept Vị trí đặt VTYT
Binding: Vị trí giải phẫu — VN Core Body Site ValueSet (preferred)
... note 0..* Annotation Ghi chú bổ sung

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceUseStatement.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DeviceUseStatement.status Base required DeviceUseStatementStatus 📍4.0.1 FHIR Std.
DeviceUseStatement.reasonCode Base extensible Mã chẩn đoán — VN Core Condition Code ValueSet 📦0.1.0 This IG
DeviceUseStatement.bodySite Base preferred Vị trí giải phẫu — VN Core Body Site ValueSet 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error DeviceUseStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceUseStatement 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 DeviceUseStatement 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 DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceUseStatement 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
.. DeviceUseStatement 0..* DeviceUseStatement Record of use of a device
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:insuranceCostInfo 0..1 (Complex) Thông tin BHYT: phạm vi, tỷ lệ TT, mức hưởng
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info
.... extension:orderDate 0..1 dateTime Ngày y lệnh sử dụng VTYT
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-order-date
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... subject SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
... timing[x] SΣ 0..1 Thời điểm sử dụng VTYT
.... timingTiming Timing
.... timingPeriod Period
.... timingDateTime dateTime
... device SΣ 1..1 Reference(Vật tư y tế VN Core — VN Core Device Profile) VTYT được sử dụng
... reasonCode Σ 0..* CodeableConcept Lý do sử dụng VTYT (mã ICD-10)
Binding: Mã chẩn đoán — VN Core Condition Code ValueSet (extensible)
... reasonReference Σ 0..* Reference(Chẩn đoán VN Core — VN Core Condition Profile | Xét nghiệm VN Core — VN Core Observation Laboratory Profile | Sinh hiệu VN Core — VN Core Observation Vital Signs Profile | Báo cáo cận lâm sàng VN Core — VN Core DiagnosticReport Profile) Tham chiếu chẩn đoán/kết quả liên quan
... bodySite Σ 0..1 CodeableConcept Vị trí đặt VTYT
Binding: Vị trí giải phẫu — VN Core Body Site ValueSet (preferred)
... note 0..* Annotation Ghi chú bổ sung

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceUseStatement.status Base required DeviceUseStatementStatus 📍4.0.1 FHIR Std.
DeviceUseStatement.reasonCode Base extensible Mã chẩn đoán — VN Core Condition Code ValueSet 📦0.1.0 This IG
DeviceUseStatement.bodySite Base preferred Vị trí giải phẫu — VN Core Body Site ValueSet 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error DeviceUseStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceUseStatement 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 DeviceUseStatement 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 DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceUseStatement 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 DeviceUseStatement

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceUseStatement 0..* DeviceUseStatement Record of use of a device
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:insuranceCostInfo 0..1 (Complex) Thông tin BHYT: phạm vi, tỷ lệ TT, mức hưởng
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info
.... extension:orderDate 0..1 dateTime Ngày y lệnh sử dụng VTYT
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-order-date
... status S 1..1 code Trạng thái: active | completed | on-hold | stopped
... subject S 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
... device S 1..1 Reference(Vật tư y tế VN Core — VN Core Device Profile) VTYT được sử dụng
... reasonCode 0..* CodeableConcept Lý do sử dụng VTYT (mã ICD-10)
Binding: Mã chẩn đoán — VN Core Condition Code ValueSet (extensible)
... reasonReference 0..* Reference(Chẩn đoán VN Core — VN Core Condition Profile | Xét nghiệm VN Core — VN Core Observation Laboratory Profile | Sinh hiệu VN Core — VN Core Observation Vital Signs Profile | Báo cáo cận lâm sàng VN Core — VN Core DiagnosticReport Profile) Tham chiếu chẩn đoán/kết quả liên quan
... bodySite 0..1 CodeableConcept Vị trí đặt VTYT
Binding: Vị trí giải phẫu — VN Core Body Site ValueSet (preferred)
... note 0..* Annotation Ghi chú bổ sung

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
DeviceUseStatement.reasonCode Base extensible Mã chẩn đoán — VN Core Condition Code ValueSet 📦0.1.0 This IG
DeviceUseStatement.bodySite Base preferred Vị trí giải phẫu — VN Core Body Site ValueSet 📦0.1.0 This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. DeviceUseStatement 0..* DeviceUseStatement Record of use of a device
... 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
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:insuranceCostInfo 0..1 (Complex) Thông tin BHYT: phạm vi, tỷ lệ TT, mức hưởng
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info
.... extension:orderDate 0..1 dateTime Ngày y lệnh sử dụng VTYT
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-order-date
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External identifier for this record
... basedOn Σ 0..* Reference(ServiceRequest) Fulfills plan, proposal or order
... status ?!SΣ 1..1 code Trạng thái: active | completed | on-hold | stopped
Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage.
... subject SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
... derivedFrom Σ 0..* Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference) Supporting information
... timing[x] SΣ 0..1 Thời điểm sử dụng VTYT
.... timingTiming Timing
.... timingPeriod Period
.... timingDateTime dateTime
... recordedOn Σ 0..1 dateTime When statement was recorded
... source Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) Who made the statement
... device SΣ 1..1 Reference(Vật tư y tế VN Core — VN Core Device Profile) VTYT được sử dụng
... reasonCode Σ 0..* CodeableConcept Lý do sử dụng VTYT (mã ICD-10)
Binding: Mã chẩn đoán — VN Core Condition Code ValueSet (extensible)
... reasonReference Σ 0..* Reference(Chẩn đoán VN Core — VN Core Condition Profile | Xét nghiệm VN Core — VN Core Observation Laboratory Profile | Sinh hiệu VN Core — VN Core Observation Vital Signs Profile | Báo cáo cận lâm sàng VN Core — VN Core DiagnosticReport Profile) Tham chiếu chẩn đoán/kết quả liên quan
... bodySite Σ 0..1 CodeableConcept Vị trí đặt VTYT
Binding: Vị trí giải phẫu — VN Core Body Site ValueSet (preferred)
... note 0..* Annotation Ghi chú bổ sung

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
DeviceUseStatement.language Base preferred Common Languages 📍4.0.1 FHIR Std.
DeviceUseStatement.status Base required DeviceUseStatementStatus 📍4.0.1 FHIR Std.
DeviceUseStatement.reasonCode Base extensible Mã chẩn đoán — VN Core Condition Code ValueSet 📦0.1.0 This IG
DeviceUseStatement.bodySite Base preferred Vị trí giải phẫu — VN Core Body Site ValueSet 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error DeviceUseStatement If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error DeviceUseStatement 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 DeviceUseStatement 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 DeviceUseStatement If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice DeviceUseStatement 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