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

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

Resource Profile: 预约本地化定义

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

预约本地化定义。

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

本定义的正式URL为:

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

定义内容的视图

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

这种结构源自 Appointment

这种结构源自 Appointment

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment 0..*AppointmentA 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)
... status 1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
... cancellationReason 0..1CodeableConcept取消预约原因
... serviceCategory 0..*CodeableConcept号源分类
... start 0..1instant预约开始时间
... end 0..1instant预约结束时间
... slot 0..*Reference(日程计划可预约时间段本地化定义)The slots that this appointment is filling
... created 0..1dateTime预约申请创建时间
... cancellationDate 0..1dateTime取消预约申请时间
... participant 1..*BackboneElement预约的参与者
.... required 0..1boolean标识该参与者是否必须参加

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*AppointmentA 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)
app-2: Either start and end are specified, or neither
app-3: Only proposed or cancelled appointments can be missing start/end dates
app-4: Cancellation reason is only used for appointments that have been cancelled, or noshow
app-5: The start must be less than or equal to the end
app-6: An appointment may have an originatingAppointment or recurrenceTemplate, but not both
app-7: Cancellation date is only used for appointments that have been cancelled, or noshow
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguagesStarter Set
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this item
... status ?!ΣC1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.

... cancellationReason ΣC0..1CodeableConcept取消预约原因
Binding: AppointmentCancellationReason (example)
... class Σ0..*CodeableConceptClassification when becoming an encounter
Binding: http://terminology.hl7.org/ValueSet/EncounterClass (preferred): Classification of the encounter.


... serviceCategory Σ0..*CodeableConcept号源分类
Binding: ServiceCategory (example)
... serviceType Σ0..*CodeableReference(HealthcareService)The specific service that is to be performed during this appointment
Binding: ServiceType (example)
... specialty Σ0..*CodeableConceptThe specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
... appointmentType Σ0..1CodeableConcept预约患者类型
Binding: hl7VS-appointmentReasonCodes (preferred)
... reason Σ0..*CodeableReference(Condition | Procedure | Observation | ImmunizationRecommendation)Reason this appointment is scheduled
Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place.


... priority 0..1CodeableConceptUsed to make informed decisions if needing to re-prioritize
Binding: ActPriority (example): Indicates the urgency of the appointment.

... description 0..1stringShown on a subject line in a meeting request, or appointment list
... replaces 0..*Reference(Appointment)Appointment replaced by this Appointment
... virtualService 0..*VirtualServiceDetailConnection details of a virtual service (e.g. conference call)
... supportingInformation 0..*Reference(Resource)Additional information to support the appointment
... previousAppointment 0..1Reference(Appointment)The previous appointment in a series
... originatingAppointment C0..1Reference(Appointment)The originating appointment in a recurring set of appointments
... start ΣC0..1instant预约开始时间
... end ΣC0..1instant预约结束时间
... minutesDuration 0..1positiveIntCan be less than start/end (e.g. estimate)
... requestedPeriod 0..*PeriodPotential date/time interval(s) requested to allocate the appointment within
... slot 0..*Reference(日程计划可预约时间段本地化定义)The slots that this appointment is filling
... account 0..*Reference(Account)The set of accounts that may be used for billing for this Appointment
... created 0..1dateTime预约申请创建时间
... cancellationDate C0..1dateTime取消预约申请时间
... note 0..*AnnotationAdditional comments
... patientInstruction 0..*CodeableReference(DocumentReference | Binary | Communication)Detailed information and instructions for the patient
... basedOn 0..*Reference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest)The request this appointment is allocated to assess
... subject Σ0..1Reference(Patient | Group)The patient or group associated with the appointment
... participant C1..*BackboneElement预约的参与者
app-1: Either the type or actor on the participant SHALL be specified
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type ΣC0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


.... period 0..1PeriodParticipation period of the actor
.... actor ΣC0..1Reference(Patient | Group | Practitioner | PractitionerRole | CareTeam | RelatedPerson | Device | HealthcareService | Location)The individual, device, location, or service participating in the appointment
.... required Σ0..1boolean标识该参与者是否必须参加
.... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

... recurrenceId 0..1positiveIntThe sequence number in the recurrence
... occurrenceChanged 0..1booleanIndicates that this appointment varies from a recurrence pattern
... recurrenceTemplate C0..*BackboneElementDetails of the recurrence pattern/template used to generate occurrences
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... timezone 0..1CodeableConceptThe timezone of the occurrences
Binding: IANATimezones (required): IANA Timezones (BCP 175)

.... recurrenceType 1..1CodeableConceptThe frequency of the recurrence
Binding: AppointmentRecurrenceType (preferred): IANA Timezones (BCP 175)

.... lastOccurrenceDate 0..1dateThe date when the recurrence should end
.... occurrenceCount 0..1positiveIntThe number of planned occurrences
.... occurrenceDate 0..*dateSpecific dates for a recurring set of appointments (no template)
.... weeklyTemplate 0..1BackboneElementInformation about weekly recurring appointments
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... monday 0..1booleanRecurs on Mondays
..... tuesday 0..1booleanRecurs on Tuesday
..... wednesday 0..1booleanRecurs on Wednesday
..... thursday 0..1booleanRecurs on Thursday
..... friday 0..1booleanRecurs on Friday
..... saturday 0..1booleanRecurs on Saturday
..... sunday 0..1booleanRecurs on Sunday
..... weekInterval 0..1positiveIntRecurs every nth week
.... monthlyTemplate 0..1BackboneElementInformation about monthly recurring appointments
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... dayOfMonth 0..1positiveIntRecurs on a specific day of the month
..... nthWeekOfMonth 0..1CodingIndicates which week of the month the appointment should occur
Binding: WeekOfMonth (required): The set of weeks in a month.

..... dayOfWeek 0..1CodingIndicates which day of the week the appointment should occur
Binding: DaysOfWeek (required): The days of the week.

..... monthInterval 1..1positiveIntRecurs every nth month
.... yearlyTemplate 0..1BackboneElementInformation about yearly recurring appointments
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... yearInterval 1..1positiveIntRecurs every nth year
.... excludingDate 0..*dateAny dates that should be excluded from the series
.... excludingRecurrenceId 0..*positiveIntAny recurrence IDs that should be excluded from the recurrence

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment 0..*AppointmentA 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)

doco Documentation for this format

这种结构源自 Appointment

差异视图

这种结构源自 Appointment

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment 0..*AppointmentA 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)
... status 1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
... cancellationReason 0..1CodeableConcept取消预约原因
... serviceCategory 0..*CodeableConcept号源分类
... start 0..1instant预约开始时间
... end 0..1instant预约结束时间
... slot 0..*Reference(日程计划可预约时间段本地化定义)The slots that this appointment is filling
... created 0..1dateTime预约申请创建时间
... cancellationDate 0..1dateTime取消预约申请时间
... participant 1..*BackboneElement预约的参与者
.... required 0..1boolean标识该参与者是否必须参加

doco Documentation for this format

快照视图

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*AppointmentA 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)
app-2: Either start and end are specified, or neither
app-3: Only proposed or cancelled appointments can be missing start/end dates
app-4: Cancellation reason is only used for appointments that have been cancelled, or noshow
app-5: The start must be less than or equal to the end
app-6: An appointment may have an originatingAppointment or recurrenceTemplate, but not both
app-7: Cancellation date is only used for appointments that have been cancelled, or noshow
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguagesStarter Set
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this item
... status ?!ΣC1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.

... cancellationReason ΣC0..1CodeableConcept取消预约原因
Binding: AppointmentCancellationReason (example)
... class Σ0..*CodeableConceptClassification when becoming an encounter
Binding: http://terminology.hl7.org/ValueSet/EncounterClass (preferred): Classification of the encounter.


... serviceCategory Σ0..*CodeableConcept号源分类
Binding: ServiceCategory (example)
... serviceType Σ0..*CodeableReference(HealthcareService)The specific service that is to be performed during this appointment
Binding: ServiceType (example)
... specialty Σ0..*CodeableConceptThe specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
... appointmentType Σ0..1CodeableConcept预约患者类型
Binding: hl7VS-appointmentReasonCodes (preferred)
... reason Σ0..*CodeableReference(Condition | Procedure | Observation | ImmunizationRecommendation)Reason this appointment is scheduled
Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place.


... priority 0..1CodeableConceptUsed to make informed decisions if needing to re-prioritize
Binding: ActPriority (example): Indicates the urgency of the appointment.

... description 0..1stringShown on a subject line in a meeting request, or appointment list
... replaces 0..*Reference(Appointment)Appointment replaced by this Appointment
... virtualService 0..*VirtualServiceDetailConnection details of a virtual service (e.g. conference call)
... supportingInformation 0..*Reference(Resource)Additional information to support the appointment
... previousAppointment 0..1Reference(Appointment)The previous appointment in a series
... originatingAppointment C0..1Reference(Appointment)The originating appointment in a recurring set of appointments
... start ΣC0..1instant预约开始时间
... end ΣC0..1instant预约结束时间
... minutesDuration 0..1positiveIntCan be less than start/end (e.g. estimate)
... requestedPeriod 0..*PeriodPotential date/time interval(s) requested to allocate the appointment within
... slot 0..*Reference(日程计划可预约时间段本地化定义)The slots that this appointment is filling
... account 0..*Reference(Account)The set of accounts that may be used for billing for this Appointment
... created 0..1dateTime预约申请创建时间
... cancellationDate C0..1dateTime取消预约申请时间
... note 0..*AnnotationAdditional comments
... patientInstruction 0..*CodeableReference(DocumentReference | Binary | Communication)Detailed information and instructions for the patient
... basedOn 0..*Reference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest)The request this appointment is allocated to assess
... subject Σ0..1Reference(Patient | Group)The patient or group associated with the appointment
... participant C1..*BackboneElement预约的参与者
app-1: Either the type or actor on the participant SHALL be specified
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type ΣC0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


.... period 0..1PeriodParticipation period of the actor
.... actor ΣC0..1Reference(Patient | Group | Practitioner | PractitionerRole | CareTeam | RelatedPerson | Device | HealthcareService | Location)The individual, device, location, or service participating in the appointment
.... required Σ0..1boolean标识该参与者是否必须参加
.... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

... recurrenceId 0..1positiveIntThe sequence number in the recurrence
... occurrenceChanged 0..1booleanIndicates that this appointment varies from a recurrence pattern
... recurrenceTemplate C0..*BackboneElementDetails of the recurrence pattern/template used to generate occurrences
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... timezone 0..1CodeableConceptThe timezone of the occurrences
Binding: IANATimezones (required): IANA Timezones (BCP 175)

.... recurrenceType 1..1CodeableConceptThe frequency of the recurrence
Binding: AppointmentRecurrenceType (preferred): IANA Timezones (BCP 175)

.... lastOccurrenceDate 0..1dateThe date when the recurrence should end
.... occurrenceCount 0..1positiveIntThe number of planned occurrences
.... occurrenceDate 0..*dateSpecific dates for a recurring set of appointments (no template)
.... weeklyTemplate 0..1BackboneElementInformation about weekly recurring appointments
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... monday 0..1booleanRecurs on Mondays
..... tuesday 0..1booleanRecurs on Tuesday
..... wednesday 0..1booleanRecurs on Wednesday
..... thursday 0..1booleanRecurs on Thursday
..... friday 0..1booleanRecurs on Friday
..... saturday 0..1booleanRecurs on Saturday
..... sunday 0..1booleanRecurs on Sunday
..... weekInterval 0..1positiveIntRecurs every nth week
.... monthlyTemplate 0..1BackboneElementInformation about monthly recurring appointments
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... dayOfMonth 0..1positiveIntRecurs on a specific day of the month
..... nthWeekOfMonth 0..1CodingIndicates which week of the month the appointment should occur
Binding: WeekOfMonth (required): The set of weeks in a month.

..... dayOfWeek 0..1CodingIndicates which day of the week the appointment should occur
Binding: DaysOfWeek (required): The days of the week.

..... monthInterval 1..1positiveIntRecurs every nth month
.... yearlyTemplate 0..1BackboneElementInformation about yearly recurring appointments
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... yearInterval 1..1positiveIntRecurs every nth year
.... excludingDate 0..*dateAny dates that should be excluded from the series
.... excludingRecurrenceId 0..*positiveIntAny recurrence IDs that should be excluded from the recurrence

doco Documentation for this format

 

本定义的其它表示法: 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()