0.3.0 - Second STU ballot

This page is part of a downloaded copy of this specification. This page is part of the Da Vinci Coverage Requirements Discovery (CRD) FHIR IG (v0.3.0: STU 1 Ballot 2) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

## StructureDefinition: AppointmentSTU3

The official URL for this profile is:

    http://hl7.org/fhir/us/davinci-crd/STU3/StructureDefinition/profile-appointment-stu3

### Formal Views of Profile Content

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

- Text Summary
- Differential Table
- Snapshot Table
- All

This structure is derived from Appointment

Summary

Mandatory: 4 elements
Must-Support: 14 elements

Structures

This structure refers to these other structures:

- http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition
- http://hl7.org/fhir/us/davinci-crd/STU3/StructureDefinition/profile-patient-stu3

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/davinci-crd/STU3/StructureDefinition/ext-insurance

This structure is derived from Appointment

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Appointment |  | 0..* |  |
ext-insurance | S | 0..* | Reference(CoverageSTU3) | Insurance URL: http://hl7.org/fhir/us/davinci-crd/STU3/StructureDefinition/ext-insurance
identifier | S | 0..* | Identifier |
status | S | 1..1 | code |
serviceCategory | S | 0..1 | CodeableConcept |
serviceType | S | 0..* | CodeableConcept |
specialty | S | 0..* | CodeableConcept |
appointmentType | S | 0..1 | CodeableConcept |
reason |  | 0..* | CodeableConcept |
indication | S | 0..* | Reference(US Core Condition Profile | Procedure) |
priority |  | 0..1 | unsignedInt |
description |  | 0..1 | string |
supportingInformation |  | 0..* | Reference(Resource) |
start | S | 1..1 | instant |
end | S | 1..1 | instant |
minutesDuration |  | 0..1 | positiveInt |
slot |  | 0..* | Reference(Slot) |
created |  | 0..1 | dateTime |
comment |  | 0..1 | string |
incomingReferral |  | 0..* | Reference(ReferralRequest) |
participant | S | 1..* | BackboneElement |
type |  | 0..* | CodeableConcept |
actor | S | 0..1 | Reference(PatientSTU3 | PractitionerSTU3 | LocationSTU3) |
required |  | 0..1 | code |
status | S | 1..1 | code |
requestedPeriod | S | 1..1 | Period |
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Appointment | I | 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)
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: Common Languages (extensible) Max Binding: All Languages
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
ext-insurance | S I | 0..* | Reference(CoverageSTU3) | Insurance URL: http://hl7.org/fhir/us/davinci-crd/STU3/StructureDefinition/ext-insurance
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 Binding: AppointmentStatus (required)
serviceCategory | S Σ | 0..1 | CodeableConcept | A broad categorisation 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: ServiceType (example)
specialty | S Σ | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: Practice Setting Code Value Set (preferred)
appointmentType | S Σ | 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)
reason | Σ | 0..* | CodeableConcept | Reason this appointment is scheduled Binding: Encounter Reason Codes (preferred)
indication | S | 0..* | Reference(US Core Condition Profile | Procedure) | Reason the appointment is to takes 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 Σ | 1..1 | instant | When appointment is to take place
end | S Σ | 1..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
incomingReferral |  | 0..* | Reference(ReferralRequest) | The ReferralRequest provided as information to allocate to the Encounter
participant | S I | 1..* | BackboneElement | Participants involved in appointment
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
type | Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible)
actor | S Σ | 0..1 | Reference(PatientSTU3 | PractitionerSTU3 | LocationSTU3) | Person, Location/HealthcareService or Device
required | Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required)
status | S | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required)
requestedPeriod | S | 1..1 | Period | Potential date/time interval(s) requested to allocate the appointment within
Documentation for this format

This structure is derived from Appointment

Summary

Mandatory: 4 elements
Must-Support: 14 elements

Structures

This structure refers to these other structures:

- http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition
- http://hl7.org/fhir/us/davinci-crd/STU3/StructureDefinition/profile-patient-stu3

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/davinci-crd/STU3/StructureDefinition/ext-insurance

Differential View

This structure is derived from Appointment

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Appointment |  | 0..* |  |
ext-insurance | S | 0..* | Reference(CoverageSTU3) | Insurance URL: http://hl7.org/fhir/us/davinci-crd/STU3/StructureDefinition/ext-insurance
identifier | S | 0..* | Identifier |
status | S | 1..1 | code |
serviceCategory | S | 0..1 | CodeableConcept |
serviceType | S | 0..* | CodeableConcept |
specialty | S | 0..* | CodeableConcept |
appointmentType | S | 0..1 | CodeableConcept |
reason |  | 0..* | CodeableConcept |
indication | S | 0..* | Reference(US Core Condition Profile | Procedure) |
priority |  | 0..1 | unsignedInt |
description |  | 0..1 | string |
supportingInformation |  | 0..* | Reference(Resource) |
start | S | 1..1 | instant |
end | S | 1..1 | instant |
minutesDuration |  | 0..1 | positiveInt |
slot |  | 0..* | Reference(Slot) |
created |  | 0..1 | dateTime |
comment |  | 0..1 | string |
incomingReferral |  | 0..* | Reference(ReferralRequest) |
participant | S | 1..* | BackboneElement |
type |  | 0..* | CodeableConcept |
actor | S | 0..1 | Reference(PatientSTU3 | PractitionerSTU3 | LocationSTU3) |
required |  | 0..1 | code |
status | S | 1..1 | code |
requestedPeriod | S | 1..1 | Period |
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Appointment | I | 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)
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: Common Languages (extensible) Max Binding: All Languages
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
ext-insurance | S I | 0..* | Reference(CoverageSTU3) | Insurance URL: http://hl7.org/fhir/us/davinci-crd/STU3/StructureDefinition/ext-insurance
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 Binding: AppointmentStatus (required)
serviceCategory | S Σ | 0..1 | CodeableConcept | A broad categorisation 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: ServiceType (example)
specialty | S Σ | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: Practice Setting Code Value Set (preferred)
appointmentType | S Σ | 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)
reason | Σ | 0..* | CodeableConcept | Reason this appointment is scheduled Binding: Encounter Reason Codes (preferred)
indication | S | 0..* | Reference(US Core Condition Profile | Procedure) | Reason the appointment is to takes 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 Σ | 1..1 | instant | When appointment is to take place
end | S Σ | 1..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
incomingReferral |  | 0..* | Reference(ReferralRequest) | The ReferralRequest provided as information to allocate to the Encounter
participant | S I | 1..* | BackboneElement | Participants involved in appointment
id |  | 0..1 | string | xml:id (or equivalent in JSON)
extension |  | 0..* | Extension | Additional Content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
type | Σ | 0..* | CodeableConcept | Role of participant in the appointment Binding: ParticipantType (extensible)
actor | S Σ | 0..1 | Reference(PatientSTU3 | PractitionerSTU3 | LocationSTU3) | Person, Location/HealthcareService or Device
required | Σ | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required)
status | S | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required)
requestedPeriod | S | 1..1 | Period | Potential date/time interval(s) requested to allocate the appointment within
Documentation for this format

Other representations of profile: Schematron

### Terminology Bindings

Path | Conformance | ValueSet
Appointment.status | required | AppointmentStatus
Appointment.serviceCategory | example | ServiceCategory
Appointment.serviceType | example | ServiceType
Appointment.specialty | preferred | Practice Setting Code Value Set
Appointment.appointmentType | preferred | v2 Appointment reason codes
Appointment.participant.status | required | ParticipationStatus

### Constraints

Id | Path | Details | Requirements
dom-2 | Appointment | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-1 | Appointment | If the resource is contained in another resource, it SHALL NOT contain any narrative : contained.text.empty() |
dom-4 | 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-3 | Appointment | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource : contained.where(('#'+id in %resource.descendants().reference).not()).empty() |
app-3 | Appointment | Only proposed or cancelled appointments can be missing start/end dates : (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled')) |
app-2 | Appointment | Either start and end are specified, or neither : start.empty() xor end.exists() |
ele-1 | Appointment.extension | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) |
ext-1 | Appointment.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | Appointment.extension | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) |
ext-1 | Appointment.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ele-1 | Appointment.participant | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) |
app-1 | Appointment.participant | Either the type or actor on the participant SHALL be specified : type.exists() or actor.exists() |