Health eData 1 Sandbox, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/argonautproject/USCDIV7/ and changes regularly. See the Directory of published versions
| Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-appointment | Version: 0.1.0 | |||
| Active as of 2026-05-06 | Maturity Level: 3 | Computable Name: USCoreAppointmentProfile | ||
| Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.69 | ||||
The US Core Appointment Profile inherits from the FHIR Appointment resource; refer to it for scope and usage definitions. This profile meets the requirements of the U.S. Core Data for Interoperability (USCDI) Appointment Data Element of the Encounter Information Data Class. It sets minimum expectations for the Appointment resource to record, search, and fetch information about a healthcare event scheduled for a past, current, or future date and time. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.
Example Usage Scenarios:
The following are example usage scenarios for the US Core Appointment profile:
The following data elements must always be present ([Mandatory] definition) or must be supported if the data is present in the sending system ([Must Support] definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The [Formal Views] below provides the formal summary, definitions, and terminology requirements.
Each Appointment Must Have:
Each Appointment Must Support:
This section provides detailed implementation guidance for the US Core Profile to support implementation and certification.
{% include structure-table.md sd=sd source="differential" show_must_support=true show_uscdi=true %}
The US Core Appointment Profile inherits from the FHIR Appointment resource; refer to it for scope and usage definitions. This profile meets the requirements of the U.S. Core Data for Interoperability (USCDI) Appointment Data Element of the Encounter Information Data Class. It sets minimum expectations for the Appointment resource to record, search, and fetch information about a healthcare event scheduled for a past, current, or future date and time. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.
http://hl7.org/fhir/us/core/StructureDefinition/us-core-appointmentAppointmenthttp://hl7.org/fhir/StructureDefinition/Appointment| Element | Must Support | Add'l USCDI | Cardinality | Type | Description |
|---|---|---|---|---|---|
Appointment |
0..* | 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) 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). |
|||
↳ identifier |
✅ | 0..* | Identifier |
External Ids for this item This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). |
|
↳ status |
✅ | 1..1 | code |
proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status. Binding: http://hl7.org/fhir/ValueSet/appointmentstatus (required) |
|
↳ serviceType |
✅ | 0..* | CodeableConcept |
The specific service that is to be performed during this appointment The specific service that is to be performed during this appointment. Binding: https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services (example) — Value Sets are typically bound to local service catalogs, and mapping to standard vocabularies can not be expected. |
|
↳ start |
✅ | 0..1 | instant |
When appointment is to take place Date/Time that the appointment is to take place. |
|
↳ end |
✅ | 0..1 | instant |
When appointment is to conclude Date/Time that the appointment is to conclude. |
|
↳ participant |
✅ | 1..* | BackboneElement |
Participants involved in appointment List of participants involved in the appointment. |
|
↳ type |
0..* | CodeableConcept |
Role of participant in the appointment Role of participant in the appointment. Binding: http://hl7.org/fhir/ValueSet/encounter-participant-type (extensible) |
||
↳ actor |
✅ | 1..1 | Referencetarget: http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient target: http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner target: http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole target: http://hl7.org/fhir/us/core/StructureDefinition/us-core-relatedperson target: http://hl7.org/fhir/us/core/StructureDefinition/us-core-device target: http://hl7.org/fhir/StructureDefinition/HealthcareService target: http://hl7.org/fhir/us/core/StructureDefinition/us-core-location |
Person, Location/HealthcareService or Device A Person, Location/HealthcareService or Device that is participating in the appointment. |
|
↳ status |
✅ | 1..1 | code |
accepted | declined | tentative | needs-action Participation status of the actor. Binding: http://hl7.org/fhir/ValueSet/participationstatus\|4.0.1 (required) — The Participation status of an appointment. |
## USCoreAppointmentProfile — US Core Appointment Profile
The US Core Appointment Profile inherits from the FHIR [Appointment](https://hl7.org/fhir/R4/appointment.html) resource; refer to it for scope and usage definitions. This profile meets the requirements of the U.S. Core Data for Interoperability (USCDI) *Appointment Data Element of the Encounter Information Data Class*. It sets minimum expectations for the Appointment resource to record, search, and fetch information about a healthcare event scheduled for a past, current, or future date and time. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.
- **URL:** `http://hl7.org/fhir/us/core/StructureDefinition/us-core-appointment`
- **Version:** 0.1.0
- **Status:** active
- **Kind:** resource
- **Type:** `Appointment`
- **Base Definition:** `http://hl7.org/fhir/StructureDefinition/Appointment`
- **Derivation:** constraint
### Elements (differential)
| Element | Must Support | Add'l USCDI | Cardinality | Type | Description |
|---|:---:|:---:|---|---|---|
| `Appointment` | | | 0..* | | **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)**<br/>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). |
| <span style="padding-left: 1.5em;">↳</span> `identifier` | ✅ | | 0..* | `Identifier` | **External Ids for this item**<br/>This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation). |
| <span style="padding-left: 1.5em;">↳</span> `status` | ✅ | | 1..1 | `code` | **proposed \| pending \| booked \| arrived \| fulfilled \| cancelled \| noshow \| entered-in-error \| checked-in \| waitlist**<br/>The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status.<br/><span style="font-size: 0.85em;">**Binding:** `http://hl7.org/fhir/ValueSet/appointmentstatus` (required)</span> |
| <span style="padding-left: 1.5em;">↳</span> `serviceType` | ✅ | | 0..* | `CodeableConcept` | **The specific service that is to be performed during this appointment**<br/>The specific service that is to be performed during this appointment.<br/><span style="font-size: 0.85em;">**Binding:** `https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services` (example) — Value Sets are typically bound to local service catalogs, and mapping to standard vocabularies can not be expected.</span> |
| <span style="padding-left: 1.5em;">↳</span> `start` | ✅ | | 0..1 | `instant` | **When appointment is to take place**<br/>Date/Time that the appointment is to take place. |
| <span style="padding-left: 1.5em;">↳</span> `end` | ✅ | | 0..1 | `instant` | **When appointment is to conclude**<br/>Date/Time that the appointment is to conclude. |
| <span style="padding-left: 1.5em;">↳</span> `participant` | ✅ | | 1..* | `BackboneElement` | **Participants involved in appointment**<br/>List of participants involved in the appointment. |
| <span style="padding-left: 3.0em;">↳</span> `type` | | | 0..* | `CodeableConcept` | **Role of participant in the appointment**<br/>Role of participant in the appointment.<br/><span style="font-size: 0.85em;">**Binding:** `http://hl7.org/fhir/ValueSet/encounter-participant-type` (extensible)</span> |
| <span style="padding-left: 3.0em;">↳</span> `actor` | ✅ | | 1..1 | `Reference`<br/><span style="font-size: 0.85em;">target: http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient</span><br/><span style="font-size: 0.85em;">target: http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner</span><br/><span style="font-size: 0.85em;">target: http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole</span><br/><span style="font-size: 0.85em;">target: http://hl7.org/fhir/us/core/StructureDefinition/us-core-relatedperson</span><br/><span style="font-size: 0.85em;">target: http://hl7.org/fhir/us/core/StructureDefinition/us-core-device</span><br/><span style="font-size: 0.85em;">target: http://hl7.org/fhir/StructureDefinition/HealthcareService</span><br/><span style="font-size: 0.85em;">target: http://hl7.org/fhir/us/core/StructureDefinition/us-core-location</span> | **Person, Location/HealthcareService or Device**<br/>A Person, Location/HealthcareService or Device that is participating in the appointment. |
| <span style="padding-left: 3.0em;">↳</span> `status` | ✅ | | 1..1 | `code` | **accepted \| declined \| tentative \| needs-action**<br/>Participation status of the actor.<br/><span style="font-size: 0.85em;">**Binding:** `http://hl7.org/fhir/ValueSet/participationstatus\|4.0.1` (required) — The Participation status of an appointment.</span> |
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| 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 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 0..* | Identifier | External Ids for this item |
![]() ![]() |
?!SΣ | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist Binding: AppointmentStatus (required) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services (example): Value Sets are typically bound to local service catalogs, and mapping to standard vocabularies can not be expected. |
![]() ![]() |
SΣ | 0..1 | instant | When appointment is to take place |
![]() ![]() |
SΣ | 0..1 | instant | When appointment is to conclude |
![]() ![]() |
SC | 1..* | BackboneElement | Participants involved in appointment Constraints: app-1 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible) |
![]() ![]() ![]() |
SΣ | 1..1 | Reference(US Core Patient Profile(9.0.0-ballot) S | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile | HealthcareService | US Core Location Profile) | Person, Location/HealthcareService or Device |
![]() ![]() ![]() |
SΣ | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Appointment.status | Base | required | AppointmentStatus | 📦4.0.1 | FHIR Std. |
| Appointment.serviceType | Base | example | https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services | Not State | Unknown |
| Appointment.participant.type | Base | extensible | Participant type | 📦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()
|
This structure is derived from Appointment
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
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) | |
![]() ![]() |
S | 0..* | Identifier | External Ids for this item |
![]() ![]() |
S | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist Binding: AppointmentStatus (required) |
![]() ![]() |
S | 0..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services (example): Value Sets are typically bound to local service catalogs, and mapping to standard vocabularies can not be expected. |
![]() ![]() |
S | 0..1 | instant | When appointment is to take place |
![]() ![]() |
S | 0..1 | instant | When appointment is to conclude |
![]() ![]() |
S | 1..* | BackboneElement | Participants involved in appointment |
![]() ![]() ![]() |
0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible) | |
![]() ![]() ![]() |
S | 1..1 | Reference(US Core Patient Profile(9.0.0-ballot) S | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile | HealthcareService | US Core Location Profile) | Person, Location/HealthcareService or Device |
![]() ![]() ![]() |
S | 1..1 | code | accepted | declined | tentative | needs-action |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Appointment.status | Base | required | AppointmentStatus | 📦4.0.1 | FHIR Std. |
| Appointment.serviceType | Base | example | https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services | Not State | Unknown |
| Appointment.participant.type | Base | extensible | Participant type | 📦4.0.1 | FHIR Std. |
| 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 | ||||
![]() ![]() |
Σ | 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 | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 0..* | Identifier | External Ids for this item | ||||
![]() ![]() |
?!SΣ | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist Binding: AppointmentStatus (required) | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | The coded reason for the appointment being cancelled Binding: AppointmentCancellationReason (example) | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | A broad categorization of the service that is to be performed during this appointment Binding: ServiceCategory (example) | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services (example): Value Sets are typically bound to local service catalogs, and mapping to standard vocabularies can not be expected. | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: PracticeSettingCodeValueSet (preferred) | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: v2 Appointment Reason Codes (preferred) | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Coded reason this appointment is scheduled Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place. | ||||
![]() ![]() |
0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | Reason the appointment is to take place (resource) | |||||
![]() ![]() |
0..1 | unsignedInt | Used to make informed decisions if needing to re-prioritize | |||||
![]() ![]() |
0..1 | string | Shown on a subject line in a meeting request, or appointment list | |||||
![]() ![]() |
0..* | Reference(Resource) | Additional information to support the appointment | |||||
![]() ![]() |
SΣ | 0..1 | instant | When appointment is to take place | ||||
![]() ![]() |
SΣ | 0..1 | instant | When appointment is to conclude | ||||
![]() ![]() |
0..1 | positiveInt | Can be less than start/end (e.g. estimate) | |||||
![]() ![]() |
0..* | Reference(Slot) | The slots that this appointment is filling | |||||
![]() ![]() |
0..1 | dateTime | The date that this appointment was initially created | |||||
![]() ![]() |
0..1 | string | Additional comments | |||||
![]() ![]() |
0..1 | string | Detailed information and instructions for the patient | |||||
![]() ![]() |
0..* | Reference(ServiceRequest) | The service request this appointment is allocated to assess | |||||
![]() ![]() |
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 | ||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible) | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(US Core Patient Profile(9.0.0-ballot) S | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile | HealthcareService | US Core Location Profile) | Person, Location/HealthcareService or Device | ||||
![]() ![]() ![]() |
Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
![]() ![]() ![]() |
0..1 | Period | Participation period of the actor | |||||
![]() ![]() |
0..* | Period | Potential date/time interval(s) requested to allocate the appointment within | |||||
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 | example | https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services | Not State | Unknown |
| Appointment.specialty | Base | preferred | Practice Setting Code Value Set | 📍4.0.1 | FHIR Std. |
| Appointment.appointmentType | Base | preferred | v2 Appointment Reason Codes | 📦2.9 | FHIR Std. |
| Appointment.reasonCode | Base | preferred | Encounter Reason Codes | 📍4.0.1 | FHIR Std. |
| 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()
|
This structure is derived from Appointment
Summary
Mandatory: 4 elements
Must-Support: 8 elements
Structures
This structure refers to these other structures:
Maturity: 3
Key Elements View
| 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 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
SΣ | 0..* | Identifier | External Ids for this item |
![]() ![]() |
?!SΣ | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist Binding: AppointmentStatus (required) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services (example): Value Sets are typically bound to local service catalogs, and mapping to standard vocabularies can not be expected. |
![]() ![]() |
SΣ | 0..1 | instant | When appointment is to take place |
![]() ![]() |
SΣ | 0..1 | instant | When appointment is to conclude |
![]() ![]() |
SC | 1..* | BackboneElement | Participants involved in appointment Constraints: app-1 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible) |
![]() ![]() ![]() |
SΣ | 1..1 | Reference(US Core Patient Profile(9.0.0-ballot) S | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile | HealthcareService | US Core Location Profile) | Person, Location/HealthcareService or Device |
![]() ![]() ![]() |
SΣ | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Appointment.status | Base | required | AppointmentStatus | 📦4.0.1 | FHIR Std. |
| Appointment.serviceType | Base | example | https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services | Not State | Unknown |
| Appointment.participant.type | Base | extensible | Participant type | 📦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()
|
Differential View
This structure is derived from Appointment
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
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) | |
![]() ![]() |
S | 0..* | Identifier | External Ids for this item |
![]() ![]() |
S | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist Binding: AppointmentStatus (required) |
![]() ![]() |
S | 0..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services (example): Value Sets are typically bound to local service catalogs, and mapping to standard vocabularies can not be expected. |
![]() ![]() |
S | 0..1 | instant | When appointment is to take place |
![]() ![]() |
S | 0..1 | instant | When appointment is to conclude |
![]() ![]() |
S | 1..* | BackboneElement | Participants involved in appointment |
![]() ![]() ![]() |
0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible) | |
![]() ![]() ![]() |
S | 1..1 | Reference(US Core Patient Profile(9.0.0-ballot) S | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile | HealthcareService | US Core Location Profile) | Person, Location/HealthcareService or Device |
![]() ![]() ![]() |
S | 1..1 | code | accepted | declined | tentative | needs-action |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Appointment.status | Base | required | AppointmentStatus | 📦4.0.1 | FHIR Std. |
| Appointment.serviceType | Base | example | https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services | Not State | Unknown |
| Appointment.participant.type | Base | extensible | Participant type | 📦4.0.1 | FHIR Std. |
Snapshot View
| 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 | ||||
![]() ![]() |
Σ | 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 | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 0..* | Identifier | External Ids for this item | ||||
![]() ![]() |
?!SΣ | 1..1 | code | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist Binding: AppointmentStatus (required) | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | The coded reason for the appointment being cancelled Binding: AppointmentCancellationReason (example) | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | A broad categorization of the service that is to be performed during this appointment Binding: ServiceCategory (example) | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | The specific service that is to be performed during this appointment Binding: https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services (example): Value Sets are typically bound to local service catalogs, and mapping to standard vocabularies can not be expected. | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: PracticeSettingCodeValueSet (preferred) | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: v2 Appointment Reason Codes (preferred) | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Coded reason this appointment is scheduled Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place. | ||||
![]() ![]() |
0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | Reason the appointment is to take place (resource) | |||||
![]() ![]() |
0..1 | unsignedInt | Used to make informed decisions if needing to re-prioritize | |||||
![]() ![]() |
0..1 | string | Shown on a subject line in a meeting request, or appointment list | |||||
![]() ![]() |
0..* | Reference(Resource) | Additional information to support the appointment | |||||
![]() ![]() |
SΣ | 0..1 | instant | When appointment is to take place | ||||
![]() ![]() |
SΣ | 0..1 | instant | When appointment is to conclude | ||||
![]() ![]() |
0..1 | positiveInt | Can be less than start/end (e.g. estimate) | |||||
![]() ![]() |
0..* | Reference(Slot) | The slots that this appointment is filling | |||||
![]() ![]() |
0..1 | dateTime | The date that this appointment was initially created | |||||
![]() ![]() |
0..1 | string | Additional comments | |||||
![]() ![]() |
0..1 | string | Detailed information and instructions for the patient | |||||
![]() ![]() |
0..* | Reference(ServiceRequest) | The service request this appointment is allocated to assess | |||||
![]() ![]() |
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 | ||||
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible) | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(US Core Patient Profile(9.0.0-ballot) S | US Core Practitioner Profile | US Core PractitionerRole Profile | US Core RelatedPerson Profile | US Core Device Profile | HealthcareService | US Core Location Profile) | Person, Location/HealthcareService or Device | ||||
![]() ![]() ![]() |
Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
![]() ![]() ![]() |
SΣ | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
![]() ![]() ![]() |
0..1 | Period | Participation period of the actor | |||||
![]() ![]() |
0..* | Period | Potential date/time interval(s) requested to allocate the appointment within | |||||
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 | example | https://profiles.ihe.net/ITI/Scheduling/ValueSet/sct-services | Not State | Unknown |
| Appointment.specialty | Base | preferred | Practice Setting Code Value Set | 📍4.0.1 | FHIR Std. |
| Appointment.appointmentType | Base | preferred | v2 Appointment Reason Codes | 📦2.9 | FHIR Std. |
| Appointment.reasonCode | Base | preferred | Encounter Reason Codes | 📍4.0.1 | FHIR Std. |
| 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()
|
This structure is derived from Appointment
Summary
Mandatory: 4 elements
Must-Support: 8 elements
Structures
This structure refers to these other structures:
Maturity: 3
Other representations of profile: CSV, Excel, Schematron