HL7 Vietnam VN Core FHIR Implementation Guide

Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.8.0 - Draft for Community Review Viet Nam cờ

Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam - Draft for Community Review (v0.8.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Hồ sơ tài nguyên: Đồng ý xử lý dữ liệu VN Core — VN Core Consent Profile

URL chính thức: http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-consent Phiên bản: 0.8.0
Computable Name: VNCoreConsent
Định danh khác: OID:2.25.161089673617632664299011809196868855799.42.36

Profile Consent cho Việt Nam, tuân thủ Luật 91/2025/QH15 (Bảo vệ dữ liệu cá nhân) và NĐ 356/2025/NĐ-CP. Ghi nhận sự đồng ý/từ chối xử lý dữ liệu y tế cá nhân, bao gồm mục đích xử lý, phạm vi, thời hạn, và quyền rút lại đồng ý. Dữ liệu y tế = dữ liệu cá nhân nhạy cảm (Luật 91/2025/QH15 Điều 2 khoản 3; danh mục tại NĐ 356/2025/NĐ-CP Điều 4 khoản 1 điểm d — tình trạng sức khỏe). Căn cứ (theo bản BAN HÀNH — ma trận điều khoản: governance/legal-article-map.json):

  • Luật 91/2025/QH15 — thông qua 26/6/2025, hiệu lực 01/01/2026 — quyền chủ thể dữ liệu (Điều 4), sự đồng ý (Điều 9), rút lại/hạn chế xử lý (Điều 10), xử lý không cần đồng ý (Điều 19 — xem extension vn-ext-processing-legal-basis), chuyển xuyên biên giới (Điều 20), trẻ em/người mất năng lực hành vi dân sự (Điều 24), thông tin sức khỏe (Điều 26)
  • NĐ 356/2025/NĐ-CP — 31/12/2025, hiệu lực 01/01/2026 — phương thức đồng ý (Điều 6), hồ sơ đánh giá tác động (Điều 19) và lưu bằng chứng đồng ý (Điều 6 khoản 2)
  • NĐ 278/2025/NĐ-CP — ban hành 22/10/2025, hiệu lực từ ngày ký 22/10/2025 — chia sẻ dữ liệu bắt buộc, cần kiểm soát bằng Consent/policy khi chia sẻ ngoài cơ sở KCB; mốc chuẩn hóa/kết nối thống nhất chậm nhất 31/12/2026
  • NĐ 102/2025/NĐ-CP — 13/5/2025 — quản lý dữ liệu y tế số.

Ma trận trạng thái (Luật 91/2025/QH15 Điều 4/9/10):

  • Từ chối đang hiệu lực (chủ thể chủ động không cho phép một phạm vi xử lý) = status=active + rule nested provision.provision.type=deny;
  • rejected = đề nghị đồng ý bị TỪ CHỐI ngay từ đầu, chưa từng có hiệu lực;
  • inactive = đồng ý đã CHẤM DỨT hiệu lực: rút lại theo Điều 10, hết thời hạn, hoặc bị thay bằng bản mới. Yêu cầu rút lại không áp dụng hồi tố (Điều 10 khoản 4) — hoạt động xử lý trước thời điểm rút không bị tác động bởi YÊU CẦU RÚT; tính hợp pháp của xử lý trước đó được đánh giá độc lập theo căn cứ tại thời điểm xử lý.

Usages:

You can also check for usages in the FHIR IG Statistics

Các dạng xem hình thức của nội dung hồ sơ

Mô tả profile, differential, snapshot và các biểu diễn liên quan.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent C 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5, vn-consent-rejected-not-permit, vn-consent-provision-structure
... 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:processingLegalBasis S 0..1 CodeableConcept Căn cứ xử lý không cần đồng ý (Luật 91/2025/QH15 Điều 19 khoản 1)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-processing-legal-basis
Binding: Căn cứ xử lý DLCN không cần sự đồng ý — VN Processing Legal Basis ValueSet (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... scope ?!SΣ 1..1 CodeableConcept Phạm vi đồng ý
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.
... category SΣ 1..* CodeableConcept Loại đồng ý
Binding: Loại đồng ý — VN Consent Category ValueSet (extensible)
... patient SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Chủ thể dữ liệu
... dateTime SΣ 1..1 dateTime Thời điểm đồng ý
... performer SΣ 0..* Reference(Bệnh nhân VN Core — VN Core Patient Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile) Người đồng ý
... organization SΣ 0..* Reference(Cơ sở y tế VN Core — VN Core Organization Profile) CSKCB quản lý đồng ý
... source[x] SΣ 0..1 Bản gốc đồng ý
.... sourceAttachment Attachment
.... sourceReference Reference(Consent | DocumentReference | Contract | QuestionnaireResponse)
... policy S 0..* BackboneElement Căn cứ pháp lý
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... authority C 0..1 uri Cơ quan ban hành
.... uri SC 0..1 uri URL văn bản pháp lý
... provision SΣ 0..1 BackboneElement Quy tắc đồng ý chi tiết
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... period SΣ 0..1 Period Thời hạn hiệu lực
.... actor 0..* BackboneElement Bên liên quan
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
..... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
.... purpose SΣ 0..* Coding Mục đích xử lý
Binding: Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet (extensible)
.... class Σ 0..* Coding Loại dữ liệu
Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
.... provision S 0..* BackboneElement Các rule permit/deny
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type SΣ 1..1 code Cho phép / Từ chối
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
..... Slices for actor 0..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by exists:extension('http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority')
...... actor:All Slices Content/Rules for all slices
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
....... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
....... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
...... actor:representative S 0..* BackboneElement Người đại diện/giám hộ — mang token thẩm quyền
....... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... Slices for extension Content/Rules for all slices
........ extension:representationAuthority S 1..1 (Complex) Thẩm quyền đại diện truy cập dữ liệu — Representation Authority Extension
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
....... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
....... reference 1..1 Reference(Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile) Resource for the actor (or group, by role)
..... securityLabel SΣ 0..* Coding Lớp nhạy cảm dữ liệu áp cho rule
Binding: Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet (extensible)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Loại đồng ý — VN Consent Category ValueSet 📦0.8.0 This IG
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.purpose Base extensible Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet 📦0.8.0 This IG
Consent.provision.class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor.role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor:representative.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​securityLabel Base extensible Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet 📦0.8.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error Consent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Consent 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 Consent 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 Consent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Consent 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()
ppc-1 error Consent Either a Policy or PolicyRule policy.exists() or policyRule.exists()
ppc-2 error Consent IF Scope=privacy, there must be a patient patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3 error Consent IF Scope=research, there must be a patient patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4 error Consent IF Scope=adr, there must be a patient patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5 error Consent IF Scope=treatment, there must be a patient patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()
vn-consent-provision-structure error Consent Theo R4: root rule (Consent.provision) KHÔNG mang type; mọi rule permit/deny khai ở nested (provision.provision[*]) và bắt buộc có type provision.exists() implies (provision.type.empty() and provision.provision.exists() and provision.repeat(provision).all(type.exists()))
vn-consent-rejected-not-permit error Consent Bản ghi status=rejected (từ chối ngay từ đầu) không được chứa rule permit ở BẤT KỲ độ sâu nested nào — cho phép đang hiệu lực phải dùng status=active (status = 'rejected') implies provision.repeat(provision).type.where($this = 'permit').empty()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent C 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
Constraints: vn-consent-rejected-not-permit, vn-consent-provision-structure
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:processingLegalBasis S 0..1 CodeableConcept Căn cứ xử lý không cần đồng ý (Luật 91/2025/QH15 Điều 19 khoản 1)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-processing-legal-basis
Binding: Căn cứ xử lý DLCN không cần sự đồng ý — VN Processing Legal Basis ValueSet (required)
... status S 1..1 code Trạng thái đồng ý
... scope S 1..1 CodeableConcept Phạm vi đồng ý
... patient S 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Chủ thể dữ liệu
... dateTime S 1..1 dateTime Thời điểm đồng ý
... performer S 0..* Reference(Bệnh nhân VN Core — VN Core Patient Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile) Người đồng ý
... organization S 0..* Reference(Cơ sở y tế VN Core — VN Core Organization Profile) CSKCB quản lý đồng ý
... source[x] S 0..1 Attachment, Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) Bản gốc đồng ý
... policy S 0..* BackboneElement Căn cứ pháp lý
.... authority 0..1 uri Cơ quan ban hành
.... uri S 0..1 uri URL văn bản pháp lý
... provision S 0..1 BackboneElement Quy tắc đồng ý chi tiết
.... type 0..0 deny | permit
.... period S 0..1 Period Thời hạn hiệu lực
.... actor 0..* BackboneElement Bên liên quan
.... purpose S 0..* Coding Mục đích xử lý
Binding: Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet (extensible)
.... class 0..* Coding Loại dữ liệu
.... provision S 0..* BackboneElement Các rule permit/deny
..... type S 1..1 code Cho phép / Từ chối
..... Slices for actor 0..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by exists:extension('http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority')
...... actor:representative S 0..* BackboneElement Người đại diện/giám hộ — mang token thẩm quyền
....... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... Slices for extension Content/Rules for all slices
........ extension:representationAuthority S 1..1 (Complex) Thẩm quyền đại diện truy cập dữ liệu — Representation Authority Extension
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority
....... reference 1..1 Reference(Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile) Resource for the actor (or group, by role)
..... securityLabel S 0..* Coding Lớp nhạy cảm dữ liệu áp cho rule
Binding: Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet (extensible)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Consent.category Base extensible Loại đồng ý — VN Consent Category ValueSet 📦0.8.0 This IG
Consent.provision.purpose Base extensible Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet 📦0.8.0 This IG
Consent.provision.provision.​securityLabel Base extensible Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet 📦0.8.0 This IG

Constraints

Id Grade Path(s) Description Expression
vn-consent-provision-structure error Consent Theo R4: root rule (Consent.provision) KHÔNG mang type; mọi rule permit/deny khai ở nested (provision.provision[*]) và bắt buộc có type provision.exists() implies (provision.type.empty() and provision.provision.exists() and provision.repeat(provision).all(type.exists()))
vn-consent-rejected-not-permit error Consent Bản ghi status=rejected (từ chối ngay từ đầu) không được chứa rule permit ở BẤT KỲ độ sâu nested nào — cho phép đang hiệu lực phải dùng status=active (status = 'rejected') implies provision.repeat(provision).type.where($this = 'permit').empty()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent C 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5, vn-consent-rejected-not-permit, vn-consent-provision-structure
... 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:processingLegalBasis S 0..1 CodeableConcept Căn cứ xử lý không cần đồng ý (Luật 91/2025/QH15 Điều 19 khoản 1)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-processing-legal-basis
Binding: Căn cứ xử lý DLCN không cần sự đồng ý — VN Processing Legal Basis ValueSet (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Identifier for this record (external references)

Example General: {"system":"http://acme.org/identifier/local/eCMS","value":"Local eCMS identifier"}
... status ?!SΣ 1..1 code Trạng thái đồng ý
Binding: ConsentState (required): Indicates the state of the consent.
... scope ?!SΣ 1..1 CodeableConcept Phạm vi đồng ý
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.
... category SΣ 1..* CodeableConcept Loại đồng ý
Binding: Loại đồng ý — VN Consent Category ValueSet (extensible)
... patient SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Chủ thể dữ liệu
... dateTime SΣ 1..1 dateTime Thời điểm đồng ý
... performer SΣ 0..* Reference(Bệnh nhân VN Core — VN Core Patient Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile) Người đồng ý
... organization SΣ 0..* Reference(Cơ sở y tế VN Core — VN Core Organization Profile) CSKCB quản lý đồng ý
... source[x] SΣ 0..1 Bản gốc đồng ý
.... sourceAttachment Attachment
.... sourceReference Reference(Consent | DocumentReference | Contract | QuestionnaireResponse)
... policy S 0..* BackboneElement Căn cứ pháp lý
.... 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
.... authority C 0..1 uri Cơ quan ban hành
.... uri SC 0..1 uri URL văn bản pháp lý
... policyRule ΣC 0..1 CodeableConcept Regulation that this consents to
Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples.
... verification Σ 0..* BackboneElement Consent Verified by patient or family
.... 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
.... verified Σ 1..1 boolean Has been verified
.... verifiedWith 0..1 Reference(Patient | RelatedPerson) Person who verified
.... verificationDate 0..1 dateTime When consent verified
... provision SΣ 0..1 BackboneElement Quy tắc đồng ý chi tiết
.... 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
.... period SΣ 0..1 Period Thời hạn hiệu lực
.... actor 0..* BackboneElement Bên liên quan
..... 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
..... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
..... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
.... action Σ 0..* CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.
.... securityLabel Σ 0..* Coding Security Labels that define affected resources
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... purpose SΣ 0..* Coding Mục đích xử lý
Binding: Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet (extensible)
.... class Σ 0..* Coding Loại dữ liệu
Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
.... code Σ 0..* CodeableConcept e.g. LOINC or SNOMED CT code, etc. in the content
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
.... dataPeriod Σ 0..1 Period Timeframe for data controlled by this rule
.... data Σ 0..* BackboneElement Data controlled by this rule
..... 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
..... meaning Σ 1..1 code instance | related | dependents | authoredby
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.
..... reference Σ 1..1 Reference(Resource) The actual data reference
.... provision S 0..* BackboneElement Các rule permit/deny
..... 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
..... type SΣ 1..1 code Cho phép / Từ chối
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
..... period Σ 0..1 Period Timeframe for this rule
..... Slices for actor 0..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by exists:extension('http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority')
...... actor:All Slices Content/Rules for all slices
....... 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
....... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
....... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
...... actor:representative S 0..* BackboneElement Người đại diện/giám hộ — mang token thẩm quyền
....... id 0..1 string Unique id for inter-element referencing
....... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... Slices for extension Content/Rules for all slices
........ extension:representationAuthority S 1..1 (Complex) Thẩm quyền đại diện truy cập dữ liệu — Representation Authority Extension
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
....... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
....... reference 1..1 Reference(Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile) Resource for the actor (or group, by role)
..... action Σ 0..* CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.
..... securityLabel SΣ 0..* Coding Lớp nhạy cảm dữ liệu áp cho rule
Binding: Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet (extensible)
..... purpose Σ 0..* Coding Context of activities covered by this rule
Binding: PurposeOfUse (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.
..... class Σ 0..* Coding e.g. Resource Type, Profile, CDA, etc.
Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
..... code Σ 0..* CodeableConcept e.g. LOINC or SNOMED CT code, etc. in the content
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
..... dataPeriod Σ 0..1 Period Timeframe for data controlled by this rule
..... data Σ 0..* BackboneElement Data controlled by this rule
...... 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
...... meaning Σ 1..1 code instance | related | dependents | authoredby
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.
...... reference Σ 1..1 Reference(Resource) The actual data reference
..... provision 0..* See provision (Consent) Nested Exception Rules

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Loại đồng ý — VN Consent Category ValueSet 📦0.8.0 This IG
Consent.policyRule Base extensible Consent PolicyRule Codes 📍4.0.1 FHIR Std.
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.provision.purpose Base extensible Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet 📦0.8.0 This IG
Consent.provision.class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.code Base example Consent Content Codes 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.
Consent.provision.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor.role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor:representative.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.provision.​securityLabel Base extensible Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet 📦0.8.0 This IG
Consent.provision.provision.​purpose Base extensible PurposeOfUse 📦3.1.0 THO v7.2
Consent.provision.provision.​class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.provision.​code Base example Consent Content Codes 📍4.0.1 FHIR Std.
Consent.provision.provision.​data.meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Consent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Consent 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 Consent 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 Consent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Consent 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()
ppc-1 error Consent Either a Policy or PolicyRule policy.exists() or policyRule.exists()
ppc-2 error Consent IF Scope=privacy, there must be a patient patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3 error Consent IF Scope=research, there must be a patient patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4 error Consent IF Scope=adr, there must be a patient patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5 error Consent IF Scope=treatment, there must be a patient patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()
vn-consent-provision-structure error Consent Theo R4: root rule (Consent.provision) KHÔNG mang type; mọi rule permit/deny khai ở nested (provision.provision[*]) và bắt buộc có type provision.exists() implies (provision.type.empty() and provision.provision.exists() and provision.repeat(provision).all(type.exists()))
vn-consent-rejected-not-permit error Consent Bản ghi status=rejected (từ chối ngay từ đầu) không được chứa rule permit ở BẤT KỲ độ sâu nested nào — cho phép đang hiệu lực phải dùng status=active (status = 'rejected') implies provision.repeat(provision).type.where($this = 'permit').empty()

Dạng xem phần tử chính

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent C 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5, vn-consent-rejected-not-permit, vn-consent-provision-structure
... 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:processingLegalBasis S 0..1 CodeableConcept Căn cứ xử lý không cần đồng ý (Luật 91/2025/QH15 Điều 19 khoản 1)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-processing-legal-basis
Binding: Căn cứ xử lý DLCN không cần sự đồng ý — VN Processing Legal Basis ValueSet (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... scope ?!SΣ 1..1 CodeableConcept Phạm vi đồng ý
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.
... category SΣ 1..* CodeableConcept Loại đồng ý
Binding: Loại đồng ý — VN Consent Category ValueSet (extensible)
... patient SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Chủ thể dữ liệu
... dateTime SΣ 1..1 dateTime Thời điểm đồng ý
... performer SΣ 0..* Reference(Bệnh nhân VN Core — VN Core Patient Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile) Người đồng ý
... organization SΣ 0..* Reference(Cơ sở y tế VN Core — VN Core Organization Profile) CSKCB quản lý đồng ý
... source[x] SΣ 0..1 Bản gốc đồng ý
.... sourceAttachment Attachment
.... sourceReference Reference(Consent | DocumentReference | Contract | QuestionnaireResponse)
... policy S 0..* BackboneElement Căn cứ pháp lý
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... authority C 0..1 uri Cơ quan ban hành
.... uri SC 0..1 uri URL văn bản pháp lý
... provision SΣ 0..1 BackboneElement Quy tắc đồng ý chi tiết
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... period SΣ 0..1 Period Thời hạn hiệu lực
.... actor 0..* BackboneElement Bên liên quan
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
..... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
.... purpose SΣ 0..* Coding Mục đích xử lý
Binding: Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet (extensible)
.... class Σ 0..* Coding Loại dữ liệu
Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
.... provision S 0..* BackboneElement Các rule permit/deny
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type SΣ 1..1 code Cho phép / Từ chối
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
..... Slices for actor 0..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by exists:extension('http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority')
...... actor:All Slices Content/Rules for all slices
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
....... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
....... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
...... actor:representative S 0..* BackboneElement Người đại diện/giám hộ — mang token thẩm quyền
....... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... Slices for extension Content/Rules for all slices
........ extension:representationAuthority S 1..1 (Complex) Thẩm quyền đại diện truy cập dữ liệu — Representation Authority Extension
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
....... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
....... reference 1..1 Reference(Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile) Resource for the actor (or group, by role)
..... securityLabel SΣ 0..* Coding Lớp nhạy cảm dữ liệu áp cho rule
Binding: Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet (extensible)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Loại đồng ý — VN Consent Category ValueSet 📦0.8.0 This IG
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.purpose Base extensible Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet 📦0.8.0 This IG
Consent.provision.class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor.role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor:representative.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​securityLabel Base extensible Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet 📦0.8.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error Consent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Consent 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 Consent 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 Consent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Consent 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()
ppc-1 error Consent Either a Policy or PolicyRule policy.exists() or policyRule.exists()
ppc-2 error Consent IF Scope=privacy, there must be a patient patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3 error Consent IF Scope=research, there must be a patient patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4 error Consent IF Scope=adr, there must be a patient patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5 error Consent IF Scope=treatment, there must be a patient patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()
vn-consent-provision-structure error Consent Theo R4: root rule (Consent.provision) KHÔNG mang type; mọi rule permit/deny khai ở nested (provision.provision[*]) và bắt buộc có type provision.exists() implies (provision.type.empty() and provision.provision.exists() and provision.repeat(provision).all(type.exists()))
vn-consent-rejected-not-permit error Consent Bản ghi status=rejected (từ chối ngay từ đầu) không được chứa rule permit ở BẤT KỲ độ sâu nested nào — cho phép đang hiệu lực phải dùng status=active (status = 'rejected') implies provision.repeat(provision).type.where($this = 'permit').empty()

Dạng xem Differential

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent C 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
Constraints: vn-consent-rejected-not-permit, vn-consent-provision-structure
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:processingLegalBasis S 0..1 CodeableConcept Căn cứ xử lý không cần đồng ý (Luật 91/2025/QH15 Điều 19 khoản 1)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-processing-legal-basis
Binding: Căn cứ xử lý DLCN không cần sự đồng ý — VN Processing Legal Basis ValueSet (required)
... status S 1..1 code Trạng thái đồng ý
... scope S 1..1 CodeableConcept Phạm vi đồng ý
... patient S 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Chủ thể dữ liệu
... dateTime S 1..1 dateTime Thời điểm đồng ý
... performer S 0..* Reference(Bệnh nhân VN Core — VN Core Patient Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile) Người đồng ý
... organization S 0..* Reference(Cơ sở y tế VN Core — VN Core Organization Profile) CSKCB quản lý đồng ý
... source[x] S 0..1 Attachment, Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) Bản gốc đồng ý
... policy S 0..* BackboneElement Căn cứ pháp lý
.... authority 0..1 uri Cơ quan ban hành
.... uri S 0..1 uri URL văn bản pháp lý
... provision S 0..1 BackboneElement Quy tắc đồng ý chi tiết
.... type 0..0 deny | permit
.... period S 0..1 Period Thời hạn hiệu lực
.... actor 0..* BackboneElement Bên liên quan
.... purpose S 0..* Coding Mục đích xử lý
Binding: Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet (extensible)
.... class 0..* Coding Loại dữ liệu
.... provision S 0..* BackboneElement Các rule permit/deny
..... type S 1..1 code Cho phép / Từ chối
..... Slices for actor 0..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by exists:extension('http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority')
...... actor:representative S 0..* BackboneElement Người đại diện/giám hộ — mang token thẩm quyền
....... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... Slices for extension Content/Rules for all slices
........ extension:representationAuthority S 1..1 (Complex) Thẩm quyền đại diện truy cập dữ liệu — Representation Authority Extension
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority
....... reference 1..1 Reference(Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile) Resource for the actor (or group, by role)
..... securityLabel S 0..* Coding Lớp nhạy cảm dữ liệu áp cho rule
Binding: Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet (extensible)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Consent.category Base extensible Loại đồng ý — VN Consent Category ValueSet 📦0.8.0 This IG
Consent.provision.purpose Base extensible Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet 📦0.8.0 This IG
Consent.provision.provision.​securityLabel Base extensible Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet 📦0.8.0 This IG

Constraints

Id Grade Path(s) Description Expression
vn-consent-provision-structure error Consent Theo R4: root rule (Consent.provision) KHÔNG mang type; mọi rule permit/deny khai ở nested (provision.provision[*]) và bắt buộc có type provision.exists() implies (provision.type.empty() and provision.provision.exists() and provision.repeat(provision).all(type.exists()))
vn-consent-rejected-not-permit error Consent Bản ghi status=rejected (từ chối ngay từ đầu) không được chứa rule permit ở BẤT KỲ độ sâu nested nào — cho phép đang hiệu lực phải dùng status=active (status = 'rejected') implies provision.repeat(provision).type.where($this = 'permit').empty()

Dạng xem SnapshotView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Consent C 0..* Consent A healthcare consumer's choices to permit or deny recipients or roles to perform actions for specific purposes and periods of time
Constraints: ppc-1, ppc-2, ppc-3, ppc-4, ppc-5, vn-consent-rejected-not-permit, vn-consent-provision-structure
... 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:processingLegalBasis S 0..1 CodeableConcept Căn cứ xử lý không cần đồng ý (Luật 91/2025/QH15 Điều 19 khoản 1)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-processing-legal-basis
Binding: Căn cứ xử lý DLCN không cần sự đồng ý — VN Processing Legal Basis ValueSet (required)
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Identifier for this record (external references)

Example General: {"system":"http://acme.org/identifier/local/eCMS","value":"Local eCMS identifier"}
... status ?!SΣ 1..1 code Trạng thái đồng ý
Binding: ConsentState (required): Indicates the state of the consent.
... scope ?!SΣ 1..1 CodeableConcept Phạm vi đồng ý
Binding: ConsentScopeCodes (extensible): The four anticipated uses for the Consent Resource.
... category SΣ 1..* CodeableConcept Loại đồng ý
Binding: Loại đồng ý — VN Consent Category ValueSet (extensible)
... patient SΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Chủ thể dữ liệu
... dateTime SΣ 1..1 dateTime Thời điểm đồng ý
... performer SΣ 0..* Reference(Bệnh nhân VN Core — VN Core Patient Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile) Người đồng ý
... organization SΣ 0..* Reference(Cơ sở y tế VN Core — VN Core Organization Profile) CSKCB quản lý đồng ý
... source[x] SΣ 0..1 Bản gốc đồng ý
.... sourceAttachment Attachment
.... sourceReference Reference(Consent | DocumentReference | Contract | QuestionnaireResponse)
... policy S 0..* BackboneElement Căn cứ pháp lý
.... 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
.... authority C 0..1 uri Cơ quan ban hành
.... uri SC 0..1 uri URL văn bản pháp lý
... policyRule ΣC 0..1 CodeableConcept Regulation that this consents to
Binding: ConsentPolicyRuleCodes (extensible): Regulatory policy examples.
... verification Σ 0..* BackboneElement Consent Verified by patient or family
.... 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
.... verified Σ 1..1 boolean Has been verified
.... verifiedWith 0..1 Reference(Patient | RelatedPerson) Person who verified
.... verificationDate 0..1 dateTime When consent verified
... provision SΣ 0..1 BackboneElement Quy tắc đồng ý chi tiết
.... 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
.... period SΣ 0..1 Period Thời hạn hiệu lực
.... actor 0..* BackboneElement Bên liên quan
..... 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
..... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
..... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
.... action Σ 0..* CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.
.... securityLabel Σ 0..* Coding Security Labels that define affected resources
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... purpose SΣ 0..* Coding Mục đích xử lý
Binding: Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet (extensible)
.... class Σ 0..* Coding Loại dữ liệu
Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
.... code Σ 0..* CodeableConcept e.g. LOINC or SNOMED CT code, etc. in the content
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
.... dataPeriod Σ 0..1 Period Timeframe for data controlled by this rule
.... data Σ 0..* BackboneElement Data controlled by this rule
..... 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
..... meaning Σ 1..1 code instance | related | dependents | authoredby
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.
..... reference Σ 1..1 Reference(Resource) The actual data reference
.... provision S 0..* BackboneElement Các rule permit/deny
..... 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
..... type SΣ 1..1 code Cho phép / Từ chối
Binding: ConsentProvisionType (required): How a rule statement is applied, such as adding additional consent or removing consent.
..... period Σ 0..1 Period Timeframe for this rule
..... Slices for actor 0..* BackboneElement Who|what controlled by this rule (or group, by role)
Slice: Unordered, Open by exists:extension('http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority')
...... actor:All Slices Content/Rules for all slices
....... 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
....... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
....... reference 1..1 Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) Resource for the actor (or group, by role)
...... actor:representative S 0..* BackboneElement Người đại diện/giám hộ — mang token thẩm quyền
....... id 0..1 string Unique id for inter-element referencing
....... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... Slices for extension Content/Rules for all slices
........ extension:representationAuthority S 1..1 (Complex) Thẩm quyền đại diện truy cập dữ liệu — Representation Authority Extension
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-representation-authority
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
....... role 1..1 CodeableConcept How the actor is involved
Binding: SecurityRoleType (extensible): How an actor is involved in the consent considerations.
....... reference 1..1 Reference(Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile) Resource for the actor (or group, by role)
..... action Σ 0..* CodeableConcept Actions controlled by this rule
Binding: ConsentActionCodes (example): Detailed codes for the consent action.
..... securityLabel SΣ 0..* Coding Lớp nhạy cảm dữ liệu áp cho rule
Binding: Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet (extensible)
..... purpose Σ 0..* Coding Context of activities covered by this rule
Binding: PurposeOfUse (extensible): What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels.
..... class Σ 0..* Coding e.g. Resource Type, Profile, CDA, etc.
Binding: ConsentContentClass (extensible): The class (type) of information a consent rule covers.
..... code Σ 0..* CodeableConcept e.g. LOINC or SNOMED CT code, etc. in the content
Binding: ConsentContentCodes (example): If this code is found in an instance, then the exception applies.
..... dataPeriod Σ 0..1 Period Timeframe for data controlled by this rule
..... data Σ 0..* BackboneElement Data controlled by this rule
...... 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
...... meaning Σ 1..1 code instance | related | dependents | authoredby
Binding: ConsentDataMeaning (required): How a resource reference is interpreted when testing consent restrictions.
...... reference Σ 1..1 Reference(Resource) The actual data reference
..... provision 0..* See provision (Consent) Nested Exception Rules

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Consent.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Consent.status Base required ConsentState 📍4.0.1 FHIR Std.
Consent.scope Base extensible Consent Scope Codes 📍4.0.1 FHIR Std.
Consent.category Base extensible Loại đồng ý — VN Consent Category ValueSet 📦0.8.0 This IG
Consent.policyRule Base extensible Consent PolicyRule Codes 📍4.0.1 FHIR Std.
Consent.provision.actor.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.securityLabel Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Consent.provision.purpose Base extensible Mục đích xử lý dữ liệu y tế — VN Consent Purpose ValueSet 📦0.8.0 This IG
Consent.provision.class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.code Base example Consent Content Codes 📍4.0.1 FHIR Std.
Consent.provision.data.​meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.
Consent.provision.provision.​type Base required ConsentProvisionType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor.role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​actor:representative.​role Base extensible SecurityRoleType 📍4.0.1 FHIR Std.
Consent.provision.provision.​action Base example Consent Action Codes 📍4.0.1 FHIR Std.
Consent.provision.provision.​securityLabel Base extensible Lớp nhạy cảm dữ liệu y tế — Vietnam Health Data Sensitivity Class ValueSet 📦0.8.0 This IG
Consent.provision.provision.​purpose Base extensible PurposeOfUse 📦3.1.0 THO v7.2
Consent.provision.provision.​class Base extensible Consent Content Class 📍4.0.1 FHIR Std.
Consent.provision.provision.​code Base example Consent Content Codes 📍4.0.1 FHIR Std.
Consent.provision.provision.​data.meaning Base required ConsentDataMeaning 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Consent If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Consent 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 Consent 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 Consent If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Consent 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()
ppc-1 error Consent Either a Policy or PolicyRule policy.exists() or policyRule.exists()
ppc-2 error Consent IF Scope=privacy, there must be a patient patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3 error Consent IF Scope=research, there must be a patient patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4 error Consent IF Scope=adr, there must be a patient patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5 error Consent IF Scope=treatment, there must be a patient patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()
vn-consent-provision-structure error Consent Theo R4: root rule (Consent.provision) KHÔNG mang type; mọi rule permit/deny khai ở nested (provision.provision[*]) và bắt buộc có type provision.exists() implies (provision.type.empty() and provision.provision.exists() and provision.repeat(provision).all(type.exists()))
vn-consent-rejected-not-permit error Consent Bản ghi status=rejected (từ chối ngay từ đầu) không được chứa rule permit ở BẤT KỲ độ sâu nested nào — cho phép đang hiệu lực phải dùng status=active (status = 'rejected') implies provision.repeat(provision).type.where($this = 'permit').empty()

 

Biểu diễn khác của hồ sơ: CSV, Excel, Schematron