HL7中国FHIR Connectathon测试实施指南
2024.4.23 - release
本指南适用于HL7中国的FHIR Connectathon测试。
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
本定义的其它表示法: Schematron
Path | Conformance | ValueSet | URI |
Appointment.language | required | AllLanguageshttp://hl7.org/fhir/ValueSet/all-languages|5.0.0 from the FHIR Standard | |
Appointment.status | required | AppointmentStatushttp://hl7.org/fhir/ValueSet/appointmentstatus|5.0.0 from the FHIR Standard | |
Appointment.cancellationReason | example | AppointmentCancellationReasonhttp://hl7.org/fhir/ValueSet/appointment-cancellation-reason from the FHIR Standard | |
Appointment.class | preferred | http://terminology.hl7.org/ValueSet/EncounterClasshttp://terminology.hl7.org/ValueSet/EncounterClass | |
Appointment.serviceCategory | example | ServiceCategoryhttp://hl7.org/fhir/ValueSet/service-category from the FHIR Standard | |
Appointment.serviceType | example | ServiceTypehttp://hl7.org/fhir/ValueSet/service-type from the FHIR Standard | |
Appointment.specialty | preferred | PracticeSettingCodeValueSethttp://hl7.org/fhir/ValueSet/c80-practice-codes from the FHIR Standard | |
Appointment.appointmentType | preferred | Hl7VSAppointmentReasonCodeshttp://terminology.hl7.org/ValueSet/v2-0276 | |
Appointment.reason | preferred | EncounterReasonCodeshttp://hl7.org/fhir/ValueSet/encounter-reason from the FHIR Standard | |
Appointment.priority | example | ActPriorityhttp://terminology.hl7.org/ValueSet/v3-ActPriority | |
Appointment.participant.type | extensible | ParticipantTypehttp://hl7.org/fhir/ValueSet/encounter-participant-type from the FHIR Standard | |
Appointment.participant.status | required | ParticipationStatushttp://hl7.org/fhir/ValueSet/participationstatus|5.0.0 from the FHIR Standard | |
Appointment.recurrenceTemplate.timezone | required | IANATimezones (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.recurrenceType | preferred | AppointmentRecurrenceTypehttp://hl7.org/fhir/ValueSet/appointment-recurrrence-type from the FHIR Standard | |
Appointment.recurrenceTemplate.monthlyTemplate.nthWeekOfMonth | required | WeekOfMonthhttp://hl7.org/fhir/ValueSet/week-of-month|5.0.0 from the FHIR Standard | |
Appointment.recurrenceTemplate.monthlyTemplate.dayOfWeek | required | DaysOfWeekhttp://hl7.org/fhir/ValueSet/days-of-week|5.0.0 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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 | Cancellation reason is only used for appointments that have been cancelled, or noshow : cancellationReason.exists() implies (status='noshow' or status='cancelled') | |
app-5 | error | Appointment | The start must be less than or equal to the end : start.exists() implies start <= end | |
app-6 | best practice | Appointment | An appointment may have an originatingAppointment or recurrenceTemplate, but not both : originatingAppointment.exists().not() or recurrenceTemplate.exists().not() | |
app-7 | error | Appointment | Cancellation date is only used for appointments that have been cancelled, or noshow : cancellationDate.exists() implies (status='noshow' or 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().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-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() |