HL7中国FHIR Connectathon测试实施指南
2024.4.23 - release

本指南适用于HL7中国的FHIR Connectathon测试。

Resource Profile: 预约本地化定义

Defining URL:http://hl7.org.cn/fhir/StructureDefinition/profile-my-appointment
Version:2024.4.23
Name:MyAppointment
Title:预约本地化定义
Status:Draft as of 2024-04-23 21:03:23+0800
Definition:

预约本地化定义。

Publisher:HL7中国. HL7中国,
Source Resource:XML / JSON / Turtle

本定义的正式URL为:

http://hl7.org.cn/fhir/StructureDefinition/profile-my-appointment

定义内容的视图

关于定义、差异、快照以及如何解读这些表示法

这种结构源自 Appointment

 

本定义的其它表示法: Schematron

Terminology Bindings

PathConformanceValueSetURI
Appointment.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|5.0.0
from the FHIR Standard
Appointment.cancellationReasonexampleAppointmentCancellationReason
http://hl7.org/fhir/ValueSet/appointment-cancellation-reason
from the FHIR Standard
Appointment.classpreferredhttp://terminology.hl7.org/ValueSet/EncounterClass
http://terminology.hl7.org/ValueSet/EncounterClass
Appointment.serviceCategoryexampleServiceCategory
http://hl7.org/fhir/ValueSet/service-category
from the FHIR Standard
Appointment.serviceTypeexampleServiceType
http://hl7.org/fhir/ValueSet/service-type
from the FHIR Standard
Appointment.specialtypreferredPracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.reasonpreferredEncounterReasonCodes
http://hl7.org/fhir/ValueSet/encounter-reason
from the FHIR Standard
Appointment.priorityexampleActPriority
http://terminology.hl7.org/ValueSet/v3-ActPriority
Appointment.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
from the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|5.0.0
from the FHIR Standard
Appointment.recurrenceTemplate.timezonerequiredIANATimezones (a valid code from https://www.iana.org/time-zones)
http://hl7.org/fhir/ValueSet/timezones|5.0.0
from the FHIR Standard
Appointment.recurrenceTemplate.recurrenceTypepreferredAppointmentRecurrenceType
http://hl7.org/fhir/ValueSet/appointment-recurrrence-type
from the FHIR Standard
Appointment.recurrenceTemplate.monthlyTemplate.nthWeekOfMonthrequiredWeekOfMonth
http://hl7.org/fhir/ValueSet/week-of-month|5.0.0
from the FHIR Standard
Appointment.recurrenceTemplate.monthlyTemplate.dayOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancellation reason is only used for appointments that have been cancelled, or noshow
: cancellationReason.exists() implies (status='noshow' or status='cancelled')
app-5errorAppointmentThe start must be less than or equal to the end
: start.exists() implies start <= end
app-6best practiceAppointmentAn appointment may have an originatingAppointment or recurrenceTemplate, but not both
: originatingAppointment.exists().not() or recurrenceTemplate.exists().not()
app-7errorAppointmentCancellation date is only used for appointments that have been cancelled, or noshow
: cancellationDate.exists() implies (status='noshow' or status='cancelled')
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorAppointmentIf 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-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()