Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide
0.9.0 - Draft for Community Review
Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide - Draft for Community Review (v0.9.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| URL chính thức: http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-appointment | Phiên bản: 0.9.0 | ||||
| Computable Name: VNCoreAppointment | |||||
| Định danh khác: OID:2.25.161089673617632664299011809196868855799.42.20 | |||||
Profile Appointment cho Việt Nam. Dùng cho đặt lịch khám trực tiếp, khám tại nhà và khám bệnh, chữa bệnh từ xa. Extension phương thức cung cấp dịch vụ cho biết buổi hẹn là trực tiếp hay từ xa — thông tin người bệnh phải biết ngay khi đặt. Khám bệnh, chữa bệnh từ xa, hỗ trợ khám bệnh, chữa bệnh từ xa và khám bệnh, chữa bệnh tại nhà thuộc phạm vi hưởng bảo hiểm y tế từ 01/07/2026 theo Luật 114/2025/QH15 Điều 44 khoản 1; mức hưởng và quy trình thanh toán cụ thể chờ hướng dẫn của Chính phủ. Căn cứ: Luật 15/2023/QH15 Điều 80 (khám bệnh, chữa bệnh từ xa) và Điều 60 (trách nhiệm cơ sở); Luật 114/2025/QH15 Điều 44 khoản 1; TT 13/2025/TT-BYT (bệnh án điện tử); NĐ 102/2025/NĐ-CP (dữ liệu y tế số). Giới hạn có chủ ý: profile này không mô tả hàng đợi khám trong ngày (số thứ tự phòng khám) — đó là điều phối nội bộ của cơ sở, không cần chuẩn hóa liên thông. / VN Core Appointment profile for in-person, home-visit and telehealth bookings, carrying the care delivery mode so the patient knows the modality at booking time.
Usages:
You can also check for usages in the FHIR IG Statistics
Mô tả profile, differential, snapshot và các biểu diễn liên quan.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Appointment | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) Constraints: app-2, app-3, app-4, vn-appointment-patient-participant, vn-appointment-cancelation-reason |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Phương thức: trực tiếp | tại nhà | từ xa | hỗ trợ từ xa URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-care-delivery-mode Binding: Phương thức cung cấp dịch vụ KCB — VN Care Delivery Mode ValueSet (extensible) |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 0..* | Identifier | Mã đặt lịch do cơ sở cấp |
![]() ![]() |
?!SΣ | 1..1 | code | Trạng thái: proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist Binding: AppointmentStatus (required): The free/busy status of an appointment. |
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Lý do hủy — bắt buộc khi status là cancelled Binding: AppointmentCancellationReason (example) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Nhóm dịch vụ Binding: ServiceCategory (example) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Loại dịch vụ khám bệnh, chữa bệnh Binding: Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet (extensible) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Chuyên khoa Binding: Chuyên khoa y tế — VN Medical Specialty ValueSet (extensible) |
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Loại cuộc hẹn: khám lần đầu, tái khám, khám sức khỏe định kỳ, cấp cứu Binding: Hl7VSAppointmentReasonCodes (3.0.0) (preferred) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Lý do khám (mã ICD-10 hoặc mô tả) 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 | Thủ thuật/DVKT VN Core — VN Core Procedure Profile) | Bệnh lý hoặc kết quả dẫn tới cuộc hẹn | |
![]() ![]() |
0..1 | unsignedInt | Mức ưu tiên (số càng nhỏ càng ưu tiên) | |
![]() ![]() |
S | 0..1 | string | Mô tả ngắn về cuộc hẹn |
![]() ![]() |
SΣ | 0..1 | instant | Thời điểm bắt đầu dự kiến |
![]() ![]() |
SΣ | 0..1 | instant | Thời điểm kết thúc dự kiến |
![]() ![]() |
0..1 | positiveInt | Thời lượng dự kiến (phút) | |
![]() ![]() |
S | 0..* | Reference(Khung giờ đặt lịch VN Core — VN Core Slot Profile) | Khung giờ đã giữ cho cuộc hẹn |
![]() ![]() |
S | 0..1 | dateTime | Thời điểm lập bản ghi đặt lịch |
![]() ![]() |
0..1 | string | Ghi chú nội bộ của cơ sở | |
![]() ![]() |
S | 0..1 | string | Hướng dẫn cho người bệnh trước buổi hẹn |
![]() ![]() |
S | 0..* | Reference(Yêu cầu DVKT/Cận lâm sàng VN Core — VN Core ServiceRequest Profile) | Yêu cầu dịch vụ hoặc giấy chuyển tuyến dẫn tới cuộc hẹn |
![]() ![]() |
SC | 1..* | BackboneElement | Participants involved in appointment Constraints: app-1 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Vai trò của bên tham gia Binding: ParticipantType (extensible): Role of participant in encounter. |
![]() ![]() ![]() |
SΣ | 0..1 | Reference(Bệnh nhân VN Core — VN Core Patient Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Dịch vụ y tế VN Core — VN Core HealthcareService Profile | Địa điểm cung cấp dịch vụ VN Core — VN Core Location Profile | Thiết bị y tế VN Core — VN Core Device Profile) | Bên tham gia: người bệnh, người hành nghề, dịch vụ, địa điểm |
![]() ![]() ![]() |
SΣ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. |
![]() ![]() ![]() |
SΣ | 1..1 | code | Trạng thái xác nhận của bên tham gia: accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. |
![]() ![]() |
0..* | Period | Khoảng thời gian người bệnh mong muốn (khi chưa chốt giờ) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Appointment.status | Base | required | AppointmentStatus | 📍4.0.1 | FHIR Std. |
| Appointment.cancelationReason | Base | example | Appointment cancellation reason | 📍4.0.1 | FHIR Std. |
| Appointment.serviceCategory | Base | example | Service category | 📍4.0.1 | FHIR Std. |
| Appointment.serviceType | Base | extensible | Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet | 📦0.9.0 | This IG |
| Appointment.specialty | Base | extensible | Chuyên khoa y tế — VN Medical Specialty ValueSet | 📦0.9.0 | This IG |
| Appointment.appointmentType | Base | preferred | hl7VS-appointmentReasonCodes | 📍3.0.0 | THO v7.2 |
| Appointment.reasonCode | Base | extensible | Mã chẩn đoán — VN Core Condition Code ValueSet | 📦0.9.0 | This IG |
| Appointment.participant.type | Base | extensible | Participant type | 📍4.0.1 | FHIR Std. |
| Appointment.participant.required | Base | required | ParticipantRequired | 📍4.0.1 | FHIR Std. |
| Appointment.participant.status | Base | required | ParticipationStatus | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| app-1 | error | Appointment.participant | Either the type or actor on the participant SHALL be specified |
type.exists() or actor.exists()
|
| app-2 | error | Appointment | Either start and end are specified, or neither |
start.exists() = end.exists()
|
| app-3 | error | Appointment | Only proposed or cancelled appointments can be missing start/end dates |
(start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
|
| app-4 | error | Appointment | Cancelation reason is only used for appointments that have been cancelled, or no-show |
Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
|
| dom-2 | error | Appointment | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Appointment | 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 | Appointment | 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 | Appointment | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Appointment | 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()
|
| vn-appointment-cancelation-reason | error | Appointment | Cuộc hẹn bị hủy phải nêu lý do hủy: người bệnh và cơ sở cần phân biệt hủy do người bệnh, do cơ sở, hay do sự cố kỹ thuật của buổi khám từ xa. |
(status = 'cancelled') implies cancelationReason.exists()
|
| vn-appointment-patient-participant | error | Appointment | Cuộc hẹn phải có một bên tham gia là người bệnh. Kiểm bằng participant.actor.type hoặc tiền tố tham chiếu Patient/ — hệ thống dùng tham chiếu tuyệt đối cần khai participant.actor.type để qua ràng buộc này. |
participant.where(actor.type = 'Patient' or actor.reference.contains('Patient/')).exists()
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Appointment | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) Constraints: vn-appointment-patient-participant, vn-appointment-cancelation-reason |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Phương thức: trực tiếp | tại nhà | từ xa | hỗ trợ từ xa URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-care-delivery-mode Binding: Phương thức cung cấp dịch vụ KCB — VN Care Delivery Mode ValueSet (extensible) |
![]() ![]() |
S | 0..* | Identifier | Mã đặt lịch do cơ sở cấp |
![]() ![]() |
S | 1..1 | code | Trạng thái: proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist |
![]() ![]() |
S | 0..1 | CodeableConcept | Lý do hủy — bắt buộc khi status là cancelled |
![]() ![]() |
S | 0..* | CodeableConcept | Nhóm dịch vụ |
![]() ![]() |
S | 0..* | CodeableConcept | Loại dịch vụ khám bệnh, chữa bệnh Binding: Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet (extensible) |
![]() ![]() |
S | 0..* | CodeableConcept | Chuyên khoa Binding: Chuyên khoa y tế — VN Medical Specialty ValueSet (extensible) |
![]() ![]() |
S | 0..1 | CodeableConcept | Loại cuộc hẹn: khám lần đầu, tái khám, khám sức khỏe định kỳ, cấp cứu |
![]() ![]() |
S | 0..* | CodeableConcept | Lý do khám (mã ICD-10 hoặc mô tả) 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 | Thủ thuật/DVKT VN Core — VN Core Procedure Profile) | Bệnh lý hoặc kết quả dẫn tới cuộc hẹn | |
![]() ![]() |
0..1 | unsignedInt | Mức ưu tiên (số càng nhỏ càng ưu tiên) | |
![]() ![]() |
S | 0..1 | string | Mô tả ngắn về cuộc hẹn |
![]() ![]() |
S | 0..1 | instant | Thời điểm bắt đầu dự kiến |
![]() ![]() |
S | 0..1 | instant | Thời điểm kết thúc dự kiến |
![]() ![]() |
0..1 | positiveInt | Thời lượng dự kiến (phút) | |
![]() ![]() |
S | 0..* | Reference(Khung giờ đặt lịch VN Core — VN Core Slot Profile) | Khung giờ đã giữ cho cuộc hẹn |
![]() ![]() |
S | 0..1 | dateTime | Thời điểm lập bản ghi đặt lịch |
![]() ![]() |
0..1 | string | Ghi chú nội bộ của cơ sở | |
![]() ![]() |
S | 0..1 | string | Hướng dẫn cho người bệnh trước buổi hẹn |
![]() ![]() |
S | 0..* | Reference(Yêu cầu DVKT/Cận lâm sàng VN Core — VN Core ServiceRequest Profile) | Yêu cầu dịch vụ hoặc giấy chuyển tuyến dẫn tới cuộc hẹn |
![]() ![]() |
S | 1..* | BackboneElement | Participants involved in appointment |
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Vai trò của bên tham gia |
![]() ![]() ![]() |
S | 0..1 | Reference(Bệnh nhân VN Core — VN Core Patient Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Dịch vụ y tế VN Core — VN Core HealthcareService Profile | Địa điểm cung cấp dịch vụ VN Core — VN Core Location Profile | Thiết bị y tế VN Core — VN Core Device Profile) | Bên tham gia: người bệnh, người hành nghề, dịch vụ, địa điểm |
![]() ![]() ![]() |
S | 0..1 | code | required | optional | information-only |
![]() ![]() ![]() |
S | 1..1 | code | Trạng thái xác nhận của bên tham gia: accepted | declined | tentative | needs-action |
![]() ![]() |
0..* | Period | Khoảng thời gian người bệnh mong muốn (khi chưa chốt giờ) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Appointment.serviceType | Base | extensible | Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet | 📦0.9.0 | This IG |
| Appointment.specialty | Base | extensible | Chuyên khoa y tế — VN Medical Specialty ValueSet | 📦0.9.0 | This IG |
| Appointment.reasonCode | Base | extensible | Mã chẩn đoán — VN Core Condition Code ValueSet | 📦0.9.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| vn-appointment-cancelation-reason | error | Appointment | Cuộc hẹn bị hủy phải nêu lý do hủy: người bệnh và cơ sở cần phân biệt hủy do người bệnh, do cơ sở, hay do sự cố kỹ thuật của buổi khám từ xa. |
(status = 'cancelled') implies cancelationReason.exists()
|
| vn-appointment-patient-participant | error | Appointment | Cuộc hẹn phải có một bên tham gia là người bệnh. Kiểm bằng participant.actor.type hoặc tiền tố tham chiếu Patient/ — hệ thống dùng tham chiếu tuyệt đối cần khai participant.actor.type để qua ràng buộc này. |
participant.where(actor.type = 'Patient' or actor.reference.contains('Patient/')).exists()
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Appointment | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) Constraints: app-2, app-3, app-4, vn-appointment-patient-participant, vn-appointment-cancelation-reason | ||||
![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Phương thức: trực tiếp | tại nhà | từ xa | hỗ trợ từ xa URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-care-delivery-mode Binding: Phương thức cung cấp dịch vụ KCB — VN Care Delivery Mode ValueSet (extensible) | ||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 0..* | Identifier | Mã đặt lịch do cơ sở cấp | ||||
![]() ![]() |
?!SΣ | 1..1 | code | Trạng thái: proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist Binding: AppointmentStatus (required): The free/busy status of an appointment. | ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Lý do hủy — bắt buộc khi status là cancelled Binding: AppointmentCancellationReason (example) | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Nhóm dịch vụ Binding: ServiceCategory (example) | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Loại dịch vụ khám bệnh, chữa bệnh Binding: Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet (extensible) | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Chuyên khoa Binding: Chuyên khoa y tế — VN Medical Specialty ValueSet (extensible) | ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Loại cuộc hẹn: khám lần đầu, tái khám, khám sức khỏe định kỳ, cấp cứu Binding: Hl7VSAppointmentReasonCodes (3.0.0) (preferred) | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Lý do khám (mã ICD-10 hoặc mô tả) 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 | Thủ thuật/DVKT VN Core — VN Core Procedure Profile) | Bệnh lý hoặc kết quả dẫn tới cuộc hẹn | |||||
![]() ![]() |
0..1 | unsignedInt | Mức ưu tiên (số càng nhỏ càng ưu tiên) | |||||
![]() ![]() |
S | 0..1 | string | Mô tả ngắn về cuộc hẹn | ||||
![]() ![]() |
0..* | Reference(Resource) | Additional information to support the appointment | |||||
![]() ![]() |
SΣ | 0..1 | instant | Thời điểm bắt đầu dự kiến | ||||
![]() ![]() |
SΣ | 0..1 | instant | Thời điểm kết thúc dự kiến | ||||
![]() ![]() |
0..1 | positiveInt | Thời lượng dự kiến (phút) | |||||
![]() ![]() |
S | 0..* | Reference(Khung giờ đặt lịch VN Core — VN Core Slot Profile) | Khung giờ đã giữ cho cuộc hẹn | ||||
![]() ![]() |
S | 0..1 | dateTime | Thời điểm lập bản ghi đặt lịch | ||||
![]() ![]() |
0..1 | string | Ghi chú nội bộ của cơ sở | |||||
![]() ![]() |
S | 0..1 | string | Hướng dẫn cho người bệnh trước buổi hẹn | ||||
![]() ![]() |
S | 0..* | Reference(Yêu cầu DVKT/Cận lâm sàng VN Core — VN Core ServiceRequest Profile) | Yêu cầu dịch vụ hoặc giấy chuyển tuyến dẫn tới cuộc hẹn | ||||
![]() ![]() |
SC | 1..* | BackboneElement | Participants involved in appointment Constraints: app-1 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Vai trò của bên tham gia Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(Bệnh nhân VN Core — VN Core Patient Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Dịch vụ y tế VN Core — VN Core HealthcareService Profile | Địa điểm cung cấp dịch vụ VN Core — VN Core Location Profile | Thiết bị y tế VN Core — VN Core Device Profile) | Bên tham gia: người bệnh, người hành nghề, dịch vụ, địa điểm | ||||
![]() ![]() ![]() |
SΣ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | code | Trạng thái xác nhận của bên tham gia: accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
![]() ![]() ![]() |
0..1 | Period | Participation period of the actor | |||||
![]() ![]() |
0..* | Period | Khoảng thời gian người bệnh mong muốn (khi chưa chốt giờ) | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Appointment.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Appointment.status | Base | required | AppointmentStatus | 📍4.0.1 | FHIR Std. |
| Appointment.cancelationReason | Base | example | Appointment cancellation reason | 📍4.0.1 | FHIR Std. |
| Appointment.serviceCategory | Base | example | Service category | 📍4.0.1 | FHIR Std. |
| Appointment.serviceType | Base | extensible | Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet | 📦0.9.0 | This IG |
| Appointment.specialty | Base | extensible | Chuyên khoa y tế — VN Medical Specialty ValueSet | 📦0.9.0 | This IG |
| Appointment.appointmentType | Base | preferred | hl7VS-appointmentReasonCodes | 📍3.0.0 | THO v7.2 |
| Appointment.reasonCode | Base | extensible | Mã chẩn đoán — VN Core Condition Code ValueSet | 📦0.9.0 | This IG |
| Appointment.participant.type | Base | extensible | Participant type | 📍4.0.1 | FHIR Std. |
| Appointment.participant.required | Base | required | ParticipantRequired | 📍4.0.1 | FHIR Std. |
| Appointment.participant.status | Base | required | ParticipationStatus | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| app-1 | error | Appointment.participant | Either the type or actor on the participant SHALL be specified |
type.exists() or actor.exists()
|
| app-2 | error | Appointment | Either start and end are specified, or neither |
start.exists() = end.exists()
|
| app-3 | error | Appointment | Only proposed or cancelled appointments can be missing start/end dates |
(start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
|
| app-4 | error | Appointment | Cancelation reason is only used for appointments that have been cancelled, or no-show |
Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
|
| dom-2 | error | Appointment | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Appointment | 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 | Appointment | 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 | Appointment | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Appointment | 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()
|
| vn-appointment-cancelation-reason | error | Appointment | Cuộc hẹn bị hủy phải nêu lý do hủy: người bệnh và cơ sở cần phân biệt hủy do người bệnh, do cơ sở, hay do sự cố kỹ thuật của buổi khám từ xa. |
(status = 'cancelled') implies cancelationReason.exists()
|
| vn-appointment-patient-participant | error | Appointment | Cuộc hẹn phải có một bên tham gia là người bệnh. Kiểm bằng participant.actor.type hoặc tiền tố tham chiếu Patient/ — hệ thống dùng tham chiếu tuyệt đối cần khai participant.actor.type để qua ràng buộc này. |
participant.where(actor.type = 'Patient' or actor.reference.contains('Patient/')).exists()
|
Summary
Must-Support: 21 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Dạng xem phần tử chính
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Appointment | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) Constraints: app-2, app-3, app-4, vn-appointment-patient-participant, vn-appointment-cancelation-reason |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Phương thức: trực tiếp | tại nhà | từ xa | hỗ trợ từ xa URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-care-delivery-mode Binding: Phương thức cung cấp dịch vụ KCB — VN Care Delivery Mode ValueSet (extensible) |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 0..* | Identifier | Mã đặt lịch do cơ sở cấp |
![]() ![]() |
?!SΣ | 1..1 | code | Trạng thái: proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist Binding: AppointmentStatus (required): The free/busy status of an appointment. |
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Lý do hủy — bắt buộc khi status là cancelled Binding: AppointmentCancellationReason (example) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Nhóm dịch vụ Binding: ServiceCategory (example) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Loại dịch vụ khám bệnh, chữa bệnh Binding: Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet (extensible) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Chuyên khoa Binding: Chuyên khoa y tế — VN Medical Specialty ValueSet (extensible) |
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Loại cuộc hẹn: khám lần đầu, tái khám, khám sức khỏe định kỳ, cấp cứu Binding: Hl7VSAppointmentReasonCodes (3.0.0) (preferred) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Lý do khám (mã ICD-10 hoặc mô tả) 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 | Thủ thuật/DVKT VN Core — VN Core Procedure Profile) | Bệnh lý hoặc kết quả dẫn tới cuộc hẹn | |
![]() ![]() |
0..1 | unsignedInt | Mức ưu tiên (số càng nhỏ càng ưu tiên) | |
![]() ![]() |
S | 0..1 | string | Mô tả ngắn về cuộc hẹn |
![]() ![]() |
SΣ | 0..1 | instant | Thời điểm bắt đầu dự kiến |
![]() ![]() |
SΣ | 0..1 | instant | Thời điểm kết thúc dự kiến |
![]() ![]() |
0..1 | positiveInt | Thời lượng dự kiến (phút) | |
![]() ![]() |
S | 0..* | Reference(Khung giờ đặt lịch VN Core — VN Core Slot Profile) | Khung giờ đã giữ cho cuộc hẹn |
![]() ![]() |
S | 0..1 | dateTime | Thời điểm lập bản ghi đặt lịch |
![]() ![]() |
0..1 | string | Ghi chú nội bộ của cơ sở | |
![]() ![]() |
S | 0..1 | string | Hướng dẫn cho người bệnh trước buổi hẹn |
![]() ![]() |
S | 0..* | Reference(Yêu cầu DVKT/Cận lâm sàng VN Core — VN Core ServiceRequest Profile) | Yêu cầu dịch vụ hoặc giấy chuyển tuyến dẫn tới cuộc hẹn |
![]() ![]() |
SC | 1..* | BackboneElement | Participants involved in appointment Constraints: app-1 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Vai trò của bên tham gia Binding: ParticipantType (extensible): Role of participant in encounter. |
![]() ![]() ![]() |
SΣ | 0..1 | Reference(Bệnh nhân VN Core — VN Core Patient Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Dịch vụ y tế VN Core — VN Core HealthcareService Profile | Địa điểm cung cấp dịch vụ VN Core — VN Core Location Profile | Thiết bị y tế VN Core — VN Core Device Profile) | Bên tham gia: người bệnh, người hành nghề, dịch vụ, địa điểm |
![]() ![]() ![]() |
SΣ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. |
![]() ![]() ![]() |
SΣ | 1..1 | code | Trạng thái xác nhận của bên tham gia: accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. |
![]() ![]() |
0..* | Period | Khoảng thời gian người bệnh mong muốn (khi chưa chốt giờ) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Appointment.status | Base | required | AppointmentStatus | 📍4.0.1 | FHIR Std. |
| Appointment.cancelationReason | Base | example | Appointment cancellation reason | 📍4.0.1 | FHIR Std. |
| Appointment.serviceCategory | Base | example | Service category | 📍4.0.1 | FHIR Std. |
| Appointment.serviceType | Base | extensible | Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet | 📦0.9.0 | This IG |
| Appointment.specialty | Base | extensible | Chuyên khoa y tế — VN Medical Specialty ValueSet | 📦0.9.0 | This IG |
| Appointment.appointmentType | Base | preferred | hl7VS-appointmentReasonCodes | 📍3.0.0 | THO v7.2 |
| Appointment.reasonCode | Base | extensible | Mã chẩn đoán — VN Core Condition Code ValueSet | 📦0.9.0 | This IG |
| Appointment.participant.type | Base | extensible | Participant type | 📍4.0.1 | FHIR Std. |
| Appointment.participant.required | Base | required | ParticipantRequired | 📍4.0.1 | FHIR Std. |
| Appointment.participant.status | Base | required | ParticipationStatus | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| app-1 | error | Appointment.participant | Either the type or actor on the participant SHALL be specified |
type.exists() or actor.exists()
|
| app-2 | error | Appointment | Either start and end are specified, or neither |
start.exists() = end.exists()
|
| app-3 | error | Appointment | Only proposed or cancelled appointments can be missing start/end dates |
(start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
|
| app-4 | error | Appointment | Cancelation reason is only used for appointments that have been cancelled, or no-show |
Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
|
| dom-2 | error | Appointment | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Appointment | 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 | Appointment | 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 | Appointment | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Appointment | 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()
|
| vn-appointment-cancelation-reason | error | Appointment | Cuộc hẹn bị hủy phải nêu lý do hủy: người bệnh và cơ sở cần phân biệt hủy do người bệnh, do cơ sở, hay do sự cố kỹ thuật của buổi khám từ xa. |
(status = 'cancelled') implies cancelationReason.exists()
|
| vn-appointment-patient-participant | error | Appointment | Cuộc hẹn phải có một bên tham gia là người bệnh. Kiểm bằng participant.actor.type hoặc tiền tố tham chiếu Patient/ — hệ thống dùng tham chiếu tuyệt đối cần khai participant.actor.type để qua ràng buộc này. |
participant.where(actor.type = 'Patient' or actor.reference.contains('Patient/')).exists()
|
Dạng xem Differential
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | Appointment | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) Constraints: vn-appointment-patient-participant, vn-appointment-cancelation-reason |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Phương thức: trực tiếp | tại nhà | từ xa | hỗ trợ từ xa URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-care-delivery-mode Binding: Phương thức cung cấp dịch vụ KCB — VN Care Delivery Mode ValueSet (extensible) |
![]() ![]() |
S | 0..* | Identifier | Mã đặt lịch do cơ sở cấp |
![]() ![]() |
S | 1..1 | code | Trạng thái: proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist |
![]() ![]() |
S | 0..1 | CodeableConcept | Lý do hủy — bắt buộc khi status là cancelled |
![]() ![]() |
S | 0..* | CodeableConcept | Nhóm dịch vụ |
![]() ![]() |
S | 0..* | CodeableConcept | Loại dịch vụ khám bệnh, chữa bệnh Binding: Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet (extensible) |
![]() ![]() |
S | 0..* | CodeableConcept | Chuyên khoa Binding: Chuyên khoa y tế — VN Medical Specialty ValueSet (extensible) |
![]() ![]() |
S | 0..1 | CodeableConcept | Loại cuộc hẹn: khám lần đầu, tái khám, khám sức khỏe định kỳ, cấp cứu |
![]() ![]() |
S | 0..* | CodeableConcept | Lý do khám (mã ICD-10 hoặc mô tả) 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 | Thủ thuật/DVKT VN Core — VN Core Procedure Profile) | Bệnh lý hoặc kết quả dẫn tới cuộc hẹn | |
![]() ![]() |
0..1 | unsignedInt | Mức ưu tiên (số càng nhỏ càng ưu tiên) | |
![]() ![]() |
S | 0..1 | string | Mô tả ngắn về cuộc hẹn |
![]() ![]() |
S | 0..1 | instant | Thời điểm bắt đầu dự kiến |
![]() ![]() |
S | 0..1 | instant | Thời điểm kết thúc dự kiến |
![]() ![]() |
0..1 | positiveInt | Thời lượng dự kiến (phút) | |
![]() ![]() |
S | 0..* | Reference(Khung giờ đặt lịch VN Core — VN Core Slot Profile) | Khung giờ đã giữ cho cuộc hẹn |
![]() ![]() |
S | 0..1 | dateTime | Thời điểm lập bản ghi đặt lịch |
![]() ![]() |
0..1 | string | Ghi chú nội bộ của cơ sở | |
![]() ![]() |
S | 0..1 | string | Hướng dẫn cho người bệnh trước buổi hẹn |
![]() ![]() |
S | 0..* | Reference(Yêu cầu DVKT/Cận lâm sàng VN Core — VN Core ServiceRequest Profile) | Yêu cầu dịch vụ hoặc giấy chuyển tuyến dẫn tới cuộc hẹn |
![]() ![]() |
S | 1..* | BackboneElement | Participants involved in appointment |
![]() ![]() ![]() |
S | 0..* | CodeableConcept | Vai trò của bên tham gia |
![]() ![]() ![]() |
S | 0..1 | Reference(Bệnh nhân VN Core — VN Core Patient Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Dịch vụ y tế VN Core — VN Core HealthcareService Profile | Địa điểm cung cấp dịch vụ VN Core — VN Core Location Profile | Thiết bị y tế VN Core — VN Core Device Profile) | Bên tham gia: người bệnh, người hành nghề, dịch vụ, địa điểm |
![]() ![]() ![]() |
S | 0..1 | code | required | optional | information-only |
![]() ![]() ![]() |
S | 1..1 | code | Trạng thái xác nhận của bên tham gia: accepted | declined | tentative | needs-action |
![]() ![]() |
0..* | Period | Khoảng thời gian người bệnh mong muốn (khi chưa chốt giờ) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Appointment.serviceType | Base | extensible | Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet | 📦0.9.0 | This IG |
| Appointment.specialty | Base | extensible | Chuyên khoa y tế — VN Medical Specialty ValueSet | 📦0.9.0 | This IG |
| Appointment.reasonCode | Base | extensible | Mã chẩn đoán — VN Core Condition Code ValueSet | 📦0.9.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| vn-appointment-cancelation-reason | error | Appointment | Cuộc hẹn bị hủy phải nêu lý do hủy: người bệnh và cơ sở cần phân biệt hủy do người bệnh, do cơ sở, hay do sự cố kỹ thuật của buổi khám từ xa. |
(status = 'cancelled') implies cancelationReason.exists()
|
| vn-appointment-patient-participant | error | Appointment | Cuộc hẹn phải có một bên tham gia là người bệnh. Kiểm bằng participant.actor.type hoặc tiền tố tham chiếu Patient/ — hệ thống dùng tham chiếu tuyệt đối cần khai participant.actor.type để qua ràng buộc này. |
participant.where(actor.type = 'Patient' or actor.reference.contains('Patient/')).exists()
|
Dạng xem SnapshotView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | Appointment | A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) Constraints: app-2, app-3, app-4, vn-appointment-patient-participant, vn-appointment-cancelation-reason | ||||
![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Phương thức: trực tiếp | tại nhà | từ xa | hỗ trợ từ xa URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-care-delivery-mode Binding: Phương thức cung cấp dịch vụ KCB — VN Care Delivery Mode ValueSet (extensible) | ||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 0..* | Identifier | Mã đặt lịch do cơ sở cấp | ||||
![]() ![]() |
?!SΣ | 1..1 | code | Trạng thái: proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist Binding: AppointmentStatus (required): The free/busy status of an appointment. | ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Lý do hủy — bắt buộc khi status là cancelled Binding: AppointmentCancellationReason (example) | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Nhóm dịch vụ Binding: ServiceCategory (example) | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Loại dịch vụ khám bệnh, chữa bệnh Binding: Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet (extensible) | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Chuyên khoa Binding: Chuyên khoa y tế — VN Medical Specialty ValueSet (extensible) | ||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | Loại cuộc hẹn: khám lần đầu, tái khám, khám sức khỏe định kỳ, cấp cứu Binding: Hl7VSAppointmentReasonCodes (3.0.0) (preferred) | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Lý do khám (mã ICD-10 hoặc mô tả) 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 | Thủ thuật/DVKT VN Core — VN Core Procedure Profile) | Bệnh lý hoặc kết quả dẫn tới cuộc hẹn | |||||
![]() ![]() |
0..1 | unsignedInt | Mức ưu tiên (số càng nhỏ càng ưu tiên) | |||||
![]() ![]() |
S | 0..1 | string | Mô tả ngắn về cuộc hẹn | ||||
![]() ![]() |
0..* | Reference(Resource) | Additional information to support the appointment | |||||
![]() ![]() |
SΣ | 0..1 | instant | Thời điểm bắt đầu dự kiến | ||||
![]() ![]() |
SΣ | 0..1 | instant | Thời điểm kết thúc dự kiến | ||||
![]() ![]() |
0..1 | positiveInt | Thời lượng dự kiến (phút) | |||||
![]() ![]() |
S | 0..* | Reference(Khung giờ đặt lịch VN Core — VN Core Slot Profile) | Khung giờ đã giữ cho cuộc hẹn | ||||
![]() ![]() |
S | 0..1 | dateTime | Thời điểm lập bản ghi đặt lịch | ||||
![]() ![]() |
0..1 | string | Ghi chú nội bộ của cơ sở | |||||
![]() ![]() |
S | 0..1 | string | Hướng dẫn cho người bệnh trước buổi hẹn | ||||
![]() ![]() |
S | 0..* | Reference(Yêu cầu DVKT/Cận lâm sàng VN Core — VN Core ServiceRequest Profile) | Yêu cầu dịch vụ hoặc giấy chuyển tuyến dẫn tới cuộc hẹn | ||||
![]() ![]() |
SC | 1..* | BackboneElement | Participants involved in appointment Constraints: app-1 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
SΣ | 0..* | CodeableConcept | Vai trò của bên tham gia Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(Bệnh nhân VN Core — VN Core Patient Profile | Nhân viên y tế VN Core — VN Core Practitioner Profile | Vai trò nhân viên y tế VN Core — VN Core PractitionerRole Profile | Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile | Dịch vụ y tế VN Core — VN Core HealthcareService Profile | Địa điểm cung cấp dịch vụ VN Core — VN Core Location Profile | Thiết bị y tế VN Core — VN Core Device Profile) | Bên tham gia: người bệnh, người hành nghề, dịch vụ, địa điểm | ||||
![]() ![]() ![]() |
SΣ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | code | Trạng thái xác nhận của bên tham gia: accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
![]() ![]() ![]() |
0..1 | Period | Participation period of the actor | |||||
![]() ![]() |
0..* | Period | Khoảng thời gian người bệnh mong muốn (khi chưa chốt giờ) | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Appointment.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Appointment.status | Base | required | AppointmentStatus | 📍4.0.1 | FHIR Std. |
| Appointment.cancelationReason | Base | example | Appointment cancellation reason | 📍4.0.1 | FHIR Std. |
| Appointment.serviceCategory | Base | example | Service category | 📍4.0.1 | FHIR Std. |
| Appointment.serviceType | Base | extensible | Loại dịch vụ y tế tuyến cơ sở — VN Healthcare Service Type ValueSet | 📦0.9.0 | This IG |
| Appointment.specialty | Base | extensible | Chuyên khoa y tế — VN Medical Specialty ValueSet | 📦0.9.0 | This IG |
| Appointment.appointmentType | Base | preferred | hl7VS-appointmentReasonCodes | 📍3.0.0 | THO v7.2 |
| Appointment.reasonCode | Base | extensible | Mã chẩn đoán — VN Core Condition Code ValueSet | 📦0.9.0 | This IG |
| Appointment.participant.type | Base | extensible | Participant type | 📍4.0.1 | FHIR Std. |
| Appointment.participant.required | Base | required | ParticipantRequired | 📍4.0.1 | FHIR Std. |
| Appointment.participant.status | Base | required | ParticipationStatus | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| app-1 | error | Appointment.participant | Either the type or actor on the participant SHALL be specified |
type.exists() or actor.exists()
|
| app-2 | error | Appointment | Either start and end are specified, or neither |
start.exists() = end.exists()
|
| app-3 | error | Appointment | Only proposed or cancelled appointments can be missing start/end dates |
(start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
|
| app-4 | error | Appointment | Cancelation reason is only used for appointments that have been cancelled, or no-show |
Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
|
| dom-2 | error | Appointment | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Appointment | 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 | Appointment | 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 | Appointment | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Appointment | 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()
|
| vn-appointment-cancelation-reason | error | Appointment | Cuộc hẹn bị hủy phải nêu lý do hủy: người bệnh và cơ sở cần phân biệt hủy do người bệnh, do cơ sở, hay do sự cố kỹ thuật của buổi khám từ xa. |
(status = 'cancelled') implies cancelationReason.exists()
|
| vn-appointment-patient-participant | error | Appointment | Cuộc hẹn phải có một bên tham gia là người bệnh. Kiểm bằng participant.actor.type hoặc tiền tố tham chiếu Patient/ — hệ thống dùng tham chiếu tuyệt đối cần khai participant.actor.type để qua ràng buộc này. |
participant.where(actor.type = 'Patient' or actor.reference.contains('Patient/')).exists()
|
Summary
Must-Support: 21 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Biểu diễn khác của hồ sơ: CSV, Excel, Schematron