Health eData 1 Sandbox
0.1.0 - CI Build United States of America flag

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

Resource Profile: US Core Appointment Profile

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:

  • Query for Appointment resources belonging to a Patient
  • [Record or update] a Patient Appointment

Mandatory and Must Support Data Elements

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:

  1. a status
  2. a participant (person, location/healthcare service or device)

Each Appointment Must Support:

  1. external identifiers for this appointment
  2. the specific service to be performed during the appointment
  3. when the appointment starts
  4. when the appointment ends
  5. a patient participant involved in the appointment

Profile Specific Implementation Guidance

This section provides detailed implementation guidance for the US Core Profile to support implementation and certification.

Liquid Script to Generate StructureDefinition All Nice N Pretty Like

{% include structure-table.md sd=sd source="differential" show_must_support=true show_uscdi=true %}

USCoreAppointmentProfile — US Core Appointment Profile

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.

  • 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)
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 Reference
target: 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

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment 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
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.identifier This element must be supported. This element is included in summaries. 0..* Identifier External Ids for this item
Appointment.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required)
Appointment.serviceType This element must be supported. This element is included in summaries. 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.
Appointment.start This element must be supported. This element is included in summaries. 0..1 instant When appointment is to take place
Appointment.end This element must be supported. This element is included in summaries. 0..1 instant When appointment is to conclude
Appointment.participant This element must be supported. C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.participant.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.participant.type This element is included in summaries. 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible)
Appointment.participant.actor This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile(9.0.0) This type must be supported. | 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
Appointment.participant.status This element must be supported. This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

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.

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment 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)
Appointment.identifier This element must be supported. 0..* Identifier External Ids for this item
Appointment.status This element must be supported. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required)
Appointment.serviceType This element must be supported. 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.
Appointment.end This element must be supported. 0..1 instant When appointment is to conclude
Appointment.participant This element must be supported. 1..* BackboneElement Participants involved in appointment
Appointment.participant.type 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible)
Appointment.participant.actor This element must be supported. 1..1 Reference(US Core Patient Profile(9.0.0) This type must be supported. | 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
Appointment.participant.status This element must be supported. 1..1 code accepted | declined | tentative | needs-action

doco Documentation for this format

Terminology Bindings (Differential)

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.
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment 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
Appointment.id This element is included in summaries. 0..1 id Logical id of this artifact
Appointment.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Appointment.text 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
Appointment.contained 0..* Resource Contained, inline Resources
Appointment.extension 0..* Extension Additional content defined by implementations
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.identifier This element must be supported. This element is included in summaries. 0..* Identifier External Ids for this item
Appointment.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required)
Appointment.cancelationReason This element is included in summaries. 0..1 CodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
Appointment.serviceCategory This element is included in summaries. 0..* CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
Appointment.serviceType This element must be supported. This element is included in summaries. 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.
Appointment.specialty This element is included in summaries. 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
Appointment.appointmentType This element is included in summaries. 0..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
Appointment.reasonCode This element is included in summaries. 0..* CodeableConcept Coded reason this appointment is scheduled
Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place.
Appointment.reasonReference 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
Appointment.priority 0..1 unsignedInt Used to make informed decisions if needing to re-prioritize
Appointment.description 0..1 string Shown on a subject line in a meeting request, or appointment list
Appointment.supportingInformation 0..* Reference(Resource) Additional information to support the appointment
Appointment.start This element must be supported. This element is included in summaries. 0..1 instant When appointment is to take place
Appointment.end This element must be supported. This element is included in summaries. 0..1 instant When appointment is to conclude
Appointment.minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
Appointment.slot 0..* Reference(Slot) The slots that this appointment is filling
Appointment.created 0..1 dateTime The date that this appointment was initially created
Appointment.comment 0..1 string Additional comments
Appointment.patientInstruction 0..1 string Detailed information and instructions for the patient
Appointment.basedOn 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
Appointment.participant This element must be supported. C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.participant.id 0..1 string Unique id for inter-element referencing
Appointment.participant.extension 0..* Extension Additional content defined by implementations
Appointment.participant.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.participant.type This element is included in summaries. 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible)
Appointment.participant.actor This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile(9.0.0) This type must be supported. | 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
Appointment.participant.required This element is included in summaries. 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.
Appointment.participant.status This element must be supported. This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
Appointment.participant.period 0..1 Period Participation period of the actor
Appointment.requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

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 hl7VS-appointmentReasonCodes 📦3.0.0 THO v7.4
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.

Constraints

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()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment 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
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.identifier This element must be supported. This element is included in summaries. 0..* Identifier External Ids for this item
Appointment.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required)
Appointment.serviceType This element must be supported. This element is included in summaries. 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.
Appointment.start This element must be supported. This element is included in summaries. 0..1 instant When appointment is to take place
Appointment.end This element must be supported. This element is included in summaries. 0..1 instant When appointment is to conclude
Appointment.participant This element must be supported. C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.participant.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.participant.type This element is included in summaries. 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible)
Appointment.participant.actor This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile(9.0.0) This type must be supported. | 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
Appointment.participant.status This element must be supported. This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

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.

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment 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)
Appointment.identifier This element must be supported. 0..* Identifier External Ids for this item
Appointment.status This element must be supported. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required)
Appointment.serviceType This element must be supported. 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.
Appointment.start This element must be supported. 0..1 instant When appointment is to take place
Appointment.end This element must be supported. 0..1 instant When appointment is to conclude
Appointment.participant This element must be supported. 1..* BackboneElement Participants involved in appointment
Appointment.participant.type 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible)
Appointment.participant.actor This element must be supported. 1..1 Reference(US Core Patient Profile(9.0.0) This type must be supported. | 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
Appointment.participant.status This element must be supported. 1..1 code accepted | declined | tentative | needs-action

doco Documentation for this format

Terminology Bindings (Differential)

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment 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
Appointment.id This element is included in summaries. 0..1 id Logical id of this artifact
Appointment.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Appointment.text 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
Appointment.contained 0..* Resource Contained, inline Resources
Appointment.extension 0..* Extension Additional content defined by implementations
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.identifier This element must be supported. This element is included in summaries. 0..* Identifier External Ids for this item
Appointment.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required)
Appointment.cancelationReason This element is included in summaries. 0..1 CodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
Appointment.serviceCategory This element is included in summaries. 0..* CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
Appointment.serviceType This element must be supported. This element is included in summaries. 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.
Appointment.specialty This element is included in summaries. 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
Appointment.appointmentType This element is included in summaries. 0..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
Appointment.reasonCode This element is included in summaries. 0..* CodeableConcept Coded reason this appointment is scheduled
Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place.
Appointment.reasonReference 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
Appointment.priority 0..1 unsignedInt Used to make informed decisions if needing to re-prioritize
Appointment.description 0..1 string Shown on a subject line in a meeting request, or appointment list
Appointment.supportingInformation 0..* Reference(Resource) Additional information to support the appointment
Appointment.start This element must be supported. This element is included in summaries. 0..1 instant When appointment is to take place
Appointment.end This element must be supported. This element is included in summaries. 0..1 instant When appointment is to conclude
Appointment.minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
Appointment.slot 0..* Reference(Slot) The slots that this appointment is filling
Appointment.created 0..1 dateTime The date that this appointment was initially created
Appointment.comment 0..1 string Additional comments
Appointment.patientInstruction 0..1 string Detailed information and instructions for the patient
Appointment.basedOn 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
Appointment.participant This element must be supported. C 1..* BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.participant.id 0..1 string Unique id for inter-element referencing
Appointment.participant.extension 0..* Extension Additional content defined by implementations
Appointment.participant.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.participant.type This element is included in summaries. 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible)
Appointment.participant.actor This element must be supported. This element is included in summaries. 1..1 Reference(US Core Patient Profile(9.0.0) This type must be supported. | 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
Appointment.participant.required This element is included in summaries. 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.
Appointment.participant.status This element must be supported. This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
Appointment.participant.period 0..1 Period Participation period of the actor
Appointment.requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

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 hl7VS-appointmentReasonCodes 📦3.0.0 THO v7.4
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.

Constraints

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()

 

Other representations of profile: CSV, Excel, Schematron