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

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

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