This page is part of the Argonaut Scheduling Implementation Guide (v1.0.0: Release) based on FHIR R3. This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
SD.11 StructureDefinition-argo-appt
This profile sets minimum expectations for the Appointment resource to record, search and fetch basic information about an individual appointment. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.
This profile is defined for:
- Use in the Bundle resource as a result of the $find, $hold, and $ book operations.
- Patient searching for their appointments.
- Provider searching for their appointments.
Mandatory Data Elements and Terminology
The following data-elements are mandatory (i.e data MUST be present).
Each Appointment must have:
- a status (e.g., ‘proposed’)
- a start and end time
- a list of participants and their individual statuses (e.g., the patient will be there)
- the times that were requested for this appointment
The system Must Support if available:
- An Appointment resource ID
- A visit type
- Specialty
- Appointment type
- Status reason
Additional Profile specific implementation guidance:
- The Appointment State Diagram SHOULD be referenced to when considering the statuses of the scheduling resources during the scheduling workflow.
- The Specialty codes are bound to the Argonaut Scheduling Specialties valueset which is based upon SNOMED CT. There are other provider specialty code systems that implementers should be aware of including NUCC codes, and CMS Provider types. More information on them can be found here.
Examples
SD.11.1 Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is: http://fhir.org/guides/argonaut-scheduling/StructureDefinition/argo-appt
Published on Tue Jun 13 00:00:00 AEST 2017 as a active by Argonaut Project.
This profile builds on Appointment
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Appointment | 0..* | |||
id | S | 0..1 | id | |
extension-status-reason | S | 0..1 | CodeableConcept | Reason For Current Status URL: http://fhir.org/guides/argonaut-scheduling/StructureDefinition/extension-status-reason Binding: Argonaut_Appointment_Event_Reason_Codes (preferred) |
status | S | 1..1 | code | |
serviceType | S | 0..* | CodeableConcept | Binding: Argonaut_Visit_Types (extensible) |
specialty | S | 0..* | CodeableConcept | Binding: Argonaut_Scheduling_Specialties (extensible) |
appointmentType | S | 0..1 | CodeableConcept | Binding: Argonaut_Appointment_Types (extensible) |
start | S | 1..1 | instant | |
end | S | 1..1 | instant | |
participant | S | 1..* | BackboneElement | |
actor | S | 1..1 | Reference(US Core Location Profile | US Core Patient Profile | US Core Practitioner Profile | HealthcareService) | |
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 | SΣ | 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) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension-status-reason | SI | 0..1 | CodeableConcept | Extension URL: http://fhir.org/guides/argonaut-scheduling/StructureDefinition/extension-status-reason Binding: Argonaut_Appointment_Event_Reason_Codes (preferred) |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 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 | Σ | 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: Argonaut_Visit_Types (extensible) |
specialty | SΣ | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: Argonaut_Scheduling_Specialties (extensible) |
appointmentType | SΣ | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: Argonaut_Appointment_Types (extensible) |
reason | Σ | 0..* | CodeableConcept | Reason this appointment is scheduled Binding: Encounter Reason Codes (preferred) |
indication | 0..* | Reference(Condition | 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 | SI | 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Σ | 1..1 | Reference(US Core Location Profile | US Core Patient Profile | US Core Practitioner Profile | HealthcareService) | 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 |
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Appointment | 0..* | |||
id | S | 0..1 | id | |
extension-status-reason | S | 0..1 | CodeableConcept | Reason For Current Status URL: http://fhir.org/guides/argonaut-scheduling/StructureDefinition/extension-status-reason Binding: Argonaut_Appointment_Event_Reason_Codes (preferred) |
status | S | 1..1 | code | |
serviceType | S | 0..* | CodeableConcept | Binding: Argonaut_Visit_Types (extensible) |
specialty | S | 0..* | CodeableConcept | Binding: Argonaut_Scheduling_Specialties (extensible) |
appointmentType | S | 0..1 | CodeableConcept | Binding: Argonaut_Appointment_Types (extensible) |
start | S | 1..1 | instant | |
end | S | 1..1 | instant | |
participant | S | 1..* | BackboneElement | |
actor | S | 1..1 | Reference(US Core Location Profile | US Core Patient Profile | US Core Practitioner Profile | HealthcareService) | |
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 | SΣ | 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) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension-status-reason | SI | 0..1 | CodeableConcept | Extension URL: http://fhir.org/guides/argonaut-scheduling/StructureDefinition/extension-status-reason Binding: Argonaut_Appointment_Event_Reason_Codes (preferred) |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 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 | Σ | 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: Argonaut_Visit_Types (extensible) |
specialty | SΣ | 0..* | CodeableConcept | The specialty of a practitioner that would be required to perform the service requested in this appointment Binding: Argonaut_Scheduling_Specialties (extensible) |
appointmentType | SΣ | 0..1 | CodeableConcept | The style of appointment or patient that has been booked in the slot (not service type) Binding: Argonaut_Appointment_Types (extensible) |
reason | Σ | 0..* | CodeableConcept | Reason this appointment is scheduled Binding: Encounter Reason Codes (preferred) |
indication | 0..* | Reference(Condition | 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 | SI | 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Σ | 1..1 | Reference(US Core Location Profile | US Core Patient Profile | US Core Practitioner Profile | HealthcareService) | 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 |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
SD.11.2 Quick Start
Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.
Patient based Scheduling:
- Appointment Availability Discovery and Search
- Hold Appointment Operation
- Hold Appointment Operation (Prefetch)
- Book Appointment Operation
- Book Appointment Operation (Prefetch)
- Retrieving appointments
Provider based Scheduling: