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
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
| 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 Viet Nam. Ghi nhan viec su dung vat tu y te (VTYT) cho benh nhan. Lien ket voi VNCoreDevice (thong tin VTYT) va VNCoreEncounter (luot kham). Dung cho theo doi VTYT tieu hao (catheter, kim, bang…) va VTYT lau ben (implant, stent…). Can cu: QD 3176/QD-BYT (truong MA_VAT_TU trong chuan du lieu BHXH).
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| 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 |
| 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
| 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 |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | DeviceUseStatement | Record of use of a device | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | (Complex) | Thong tin BHYT: pham vi, ty le TT, muc huong URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info | |||||
![]() ![]() ![]() |
0..1 | dateTime | Ngay y lenh su dung VTYT URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-order-date | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | External identifier for this record | ||||
![]() ![]() |
Σ | 0..* | Reference(ServiceRequest) | Fulfills plan, proposal or order | ||||
![]() ![]() |
?!SΣ | 1..1 | code | Trang thai: active | completed | on-hold | stopped Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage. | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Bệnh nhân VN Core — VN Core Patient Profile) | Benh nhan | ||||
![]() ![]() |
Σ | 0..* | Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference) | Supporting information | ||||
![]() ![]() |
SΣ | 0..1 | Thoi diem su dung VTYT | |||||
![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() |
Σ | 0..1 | dateTime | When statement was recorded | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | Who made the statement | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Vật tư y tế VN Core — VN Core Device Profile) | VTYT duoc su dung | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Ly do su dung VTYT (ma ICD-10) Binding: Mã chẩn đoán — VN Core Condition Code ValueSet (extensible) | ||||
![]() ![]() |
Σ | 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 chieu chan doan/ket qua lien quan | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Vi tri dat VTYT Binding: Vị trí giải phẫu — VN Core Body Site ValueSet (preferred) | ||||
![]() ![]() |
0..* | Annotation | Ghi chu bo sung | |||||
Documentation for this format | ||||||||
| 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 |
| 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
Summary
Must-Support: 4 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Key Elements View
| 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 |
| 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
| 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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | DeviceUseStatement | Record of use of a device | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | (Complex) | Thong tin BHYT: pham vi, ty le TT, muc huong URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info | |||||
![]() ![]() ![]() |
0..1 | dateTime | Ngay y lenh su dung VTYT URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-order-date | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | External identifier for this record | ||||
![]() ![]() |
Σ | 0..* | Reference(ServiceRequest) | Fulfills plan, proposal or order | ||||
![]() ![]() |
?!SΣ | 1..1 | code | Trang thai: active | completed | on-hold | stopped Binding: DeviceUseStatementStatus (required): A coded concept indicating the current status of the Device Usage. | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Bệnh nhân VN Core — VN Core Patient Profile) | Benh nhan | ||||
![]() ![]() |
Σ | 0..* | Reference(ServiceRequest | Procedure | Claim | Observation | QuestionnaireResponse | DocumentReference) | Supporting information | ||||
![]() ![]() |
SΣ | 0..1 | Thoi diem su dung VTYT | |||||
![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() |
Σ | 0..1 | dateTime | When statement was recorded | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | Who made the statement | ||||
![]() ![]() |
SΣ | 1..1 | Reference(Vật tư y tế VN Core — VN Core Device Profile) | VTYT duoc su dung | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Ly do su dung VTYT (ma ICD-10) Binding: Mã chẩn đoán — VN Core Condition Code ValueSet (extensible) | ||||
![]() ![]() |
Σ | 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 chieu chan doan/ket qua lien quan | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Vi tri dat VTYT Binding: Vị trí giải phẫu — VN Core Body Site ValueSet (preferred) | ||||
![]() ![]() |
0..* | Annotation | Ghi chu bo sung | |||||
Documentation for this format | ||||||||
| 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 |
| 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
Summary
Must-Support: 4 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Other representations of profile: CSV, Excel, Schematron