eHealth Infrastructure
2.4.0 - release

eHealth Infrastructure - Local Development build (v2.4.0). See the Directory of published versions

Resource Profile: ehealth-appointment

Official URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-appointment Version: 2.4.0
Active as of 2022-10-14 Computable Name: ehealth-appointment

Introduction

An Appointment is a booking of a healthcare event among ehealth patients, practitioners, related persons, and locations. This may be either a physical or virtual meeting. Even though a meeting may span a number of participants, only one physical Appointment resource must be created. Participant status (approved, declined etc.) is handled using the AppointmentResponse resource, which in turn updates the status of the participant on the appointment resource.

The most important fields of the ehealth-appointment are described below:

  • description: The “subject” of the appointment (textual description).

  • comment: Free text description of the appointment to take place.

  • participants: A list of participants invited to the meeting. These may be of type Patient, Practitioner, RelatedPerson, and Location. At least two participants are required. Each participant has a status, which may only be updated by creating an AppointmentResponse. In that case, the status on the Appointment will be updated with the participantStatus sent in the response.

  • start/end: the start and end time of when the appointment is to take place.

  • ehealth-responsible (extension): the responsible individual, care team and/or organization for the meeting.

  • appointmentType: the type of appointment booked (checkup, emergency, followup etc).

If other resources need to be referenced as part of the appointment, it is possible to reference Condition and Procedure resources as the reason for the meeting, or using “supportingInformation” to reference other resource types. The “group-id” extension can be used for logically grouping different appointments.

Scope and Usage

In the eHealth Infrastructure the Appointment resource is used in conjunction with the following resources:

  • Patient
    • If the appointment contains a participant of type Patient
  • Practitioner
    • If the appointment contains a participant of type Practitioner
  • RelatedPerson
    • If the appointment contains a participant of type RelatedPerson
  • Location
    • If the appointment contains a participant of type Location

Notifications

The following rules apply to ehealth-appointment resources, given the appointment contains a participant of type Patient, who allows reception of NemSMS (has telecom with value ‘NemSMS’):

  • a NemSMS is sent to the patient the day prior to the appointments start time.

Usage:

Formal Views of Profile Content

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

This structure is derived from Appointment

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*AppointmentA 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)
responsible-1: Ensuring that responsible entity is a participating party
single-patient-appointment: Only a single patient is allowed pr. appointment
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... responsible 1..1Reference(ehealth-careteam | ehealth-practitioner) {r}Responsible careteam/practitioner
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
... groupId 0..1stringLogical id identifying a set of messages with the same recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id
... releasableResource 0..1booleanIndicates if the resource may be shared through national document repositories
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-releasableResource
... responsibleOrganization 0..1Reference(ehealth-organization) {r}Responsible organization
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible-organization
... performer 0..1Reference(ehealth-careteam | ehealth-practitioner) {r}Performer
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performer
... performingOrganization 0..1Reference(ehealth-organization) {r}Organization who is performing in the given context
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performing-organization
... Slices for serviceType 1..*CodeableConceptThe specific service that is to be performed during this appointment
Slice: Unordered, Open by value:coding.code
.... serviceType:appointmentType 1..1CodeableConceptThe specific service that is to be performed during this appointment
..... coding 0..*CodingCode defined by a terminology system
Binding: Appointment Service Type (required)
...... code 1..1codeSymbol in syntax defined by the system
Fixed Value: regular
... appointmentType 1..1CodeableConceptThe style of appointment or patient that has been booked in the slot (not service type)
Binding: Appointment Type Codes (required)
... reasonCode 0..1CodeableConceptCoded reason this appointment is scheduled
Binding: Appointment Reason (required)
... supportingInformation 0..1Reference(ehealth-episodeofcare | ehealth-careplan) {r}Additional information to support the appointment
... participant 2..*BackboneElementParticipants involved in appointment
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... careteam 0..1Reference(ehealth-careteam) {r}Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
.... actor 0..1Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {rc}Person, Location/HealthcareService or Device

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*AppointmentA 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)
responsible-1: Ensuring that responsible entity is a participating party
single-patient-appointment: Only a single patient is allowed pr. appointment
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... responsible 1..1Reference(ehealth-careteam | ehealth-practitioner) {r}Responsible careteam/practitioner
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
... groupId 0..1stringLogical id identifying a set of messages with the same recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id
... legalBasis C0..1CodeableConceptLegal basis
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-legalBasis
Binding: Jurisdiction (required)
governance-1: When extension is used a Episode of Care MUST be referenced
responsible-2: Both performing organization and responsible organization must be populated when legal basis is used
... releasableResource 0..1booleanIndicates if the resource may be shared through national document repositories
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-releasableResource
... responsibleOrganization 0..1Reference(ehealth-organization) {r}Responsible organization
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible-organization
... performer 0..1Reference(ehealth-careteam | ehealth-practitioner) {r}Performer
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performer
... performingOrganization 0..1Reference(ehealth-organization) {r}Organization who is performing in the given context
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performing-organization
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this item
... status ?!Σ1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.

... cancelationReason Σ0..1CodeableConceptThe coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
... serviceCategory Σ0..*CodeableConceptA broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... Slices for serviceType Σ1..*CodeableConceptThe specific service that is to be performed during this appointment
Slice: Unordered, Open by value:coding.code
Binding: ServiceType (example)
.... serviceType:appointmentType Σ1..1CodeableConceptThe specific service that is to be performed during this appointment
Binding: ServiceType (example)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ0..*CodingCode defined by a terminology system
Binding: Appointment Service Type (required)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ0..1uriIdentity of the terminology system
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: regular
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
... specialty Σ0..*CodeableConceptThe specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
... appointmentType Σ1..1CodeableConceptThe style of appointment or patient that has been booked in the slot (not service type)
Binding: Appointment Type Codes (required)
... reasonCode Σ0..1CodeableConceptCoded reason this appointment is scheduled
Binding: Appointment Reason (required)
... reasonReference 0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)Reason the appointment is to take place (resource)
... priority 0..1unsignedIntUsed to make informed decisions if needing to re-prioritize
... description 0..1stringShown on a subject line in a meeting request, or appointment list
... supportingInformation 0..1Reference(ehealth-episodeofcare | ehealth-careplan) {r}Additional information to support the appointment
... start Σ0..1instantWhen appointment is to take place
... end Σ0..1instantWhen appointment is to conclude
... minutesDuration 0..1positiveIntCan be less than start/end (e.g. estimate)
... slot 0..*Reference(Slot)The slots that this appointment is filling
... created 0..1dateTimeThe date that this appointment was initially created
... comment 0..1stringAdditional comments
... patientInstruction 0..1stringDetailed information and instructions for the patient
... basedOn 0..*Reference(ServiceRequest)The service request this appointment is allocated to assess
... participant C2..*BackboneElementParticipants involved in appointment
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... careteam 0..1Reference(ehealth-careteam) {r}Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


.... actor Σ0..1Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {rc}Person, Location/HealthcareService or Device
.... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

.... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... period 0..1PeriodParticipation period of the actor
... requestedPeriod 0..*PeriodPotential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*AppointmentA 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)
responsible-1: Ensuring that responsible entity is a participating party
single-patient-appointment: Only a single patient is allowed pr. appointment

doco Documentation for this format

Differential View

This structure is derived from Appointment

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*AppointmentA 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)
responsible-1: Ensuring that responsible entity is a participating party
single-patient-appointment: Only a single patient is allowed pr. appointment
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... responsible 1..1Reference(ehealth-careteam | ehealth-practitioner) {r}Responsible careteam/practitioner
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
... groupId 0..1stringLogical id identifying a set of messages with the same recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id
... releasableResource 0..1booleanIndicates if the resource may be shared through national document repositories
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-releasableResource
... responsibleOrganization 0..1Reference(ehealth-organization) {r}Responsible organization
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible-organization
... performer 0..1Reference(ehealth-careteam | ehealth-practitioner) {r}Performer
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performer
... performingOrganization 0..1Reference(ehealth-organization) {r}Organization who is performing in the given context
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performing-organization
... Slices for serviceType 1..*CodeableConceptThe specific service that is to be performed during this appointment
Slice: Unordered, Open by value:coding.code
.... serviceType:appointmentType 1..1CodeableConceptThe specific service that is to be performed during this appointment
..... coding 0..*CodingCode defined by a terminology system
Binding: Appointment Service Type (required)
...... code 1..1codeSymbol in syntax defined by the system
Fixed Value: regular
... appointmentType 1..1CodeableConceptThe style of appointment or patient that has been booked in the slot (not service type)
Binding: Appointment Type Codes (required)
... reasonCode 0..1CodeableConceptCoded reason this appointment is scheduled
Binding: Appointment Reason (required)
... supportingInformation 0..1Reference(ehealth-episodeofcare | ehealth-careplan) {r}Additional information to support the appointment
... participant 2..*BackboneElementParticipants involved in appointment
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... careteam 0..1Reference(ehealth-careteam) {r}Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
.... actor 0..1Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {rc}Person, Location/HealthcareService or Device

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C0..*AppointmentA 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)
responsible-1: Ensuring that responsible entity is a participating party
single-patient-appointment: Only a single patient is allowed pr. appointment
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... responsible 1..1Reference(ehealth-careteam | ehealth-practitioner) {r}Responsible careteam/practitioner
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
... groupId 0..1stringLogical id identifying a set of messages with the same recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id
... legalBasis C0..1CodeableConceptLegal basis
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-legalBasis
Binding: Jurisdiction (required)
governance-1: When extension is used a Episode of Care MUST be referenced
responsible-2: Both performing organization and responsible organization must be populated when legal basis is used
... releasableResource 0..1booleanIndicates if the resource may be shared through national document repositories
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-releasableResource
... responsibleOrganization 0..1Reference(ehealth-organization) {r}Responsible organization
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible-organization
... performer 0..1Reference(ehealth-careteam | ehealth-practitioner) {r}Performer
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performer
... performingOrganization 0..1Reference(ehealth-organization) {r}Organization who is performing in the given context
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performing-organization
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this item
... status ?!Σ1..1codeproposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.

... cancelationReason Σ0..1CodeableConceptThe coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
... serviceCategory Σ0..*CodeableConceptA broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
... Slices for serviceType Σ1..*CodeableConceptThe specific service that is to be performed during this appointment
Slice: Unordered, Open by value:coding.code
Binding: ServiceType (example)
.... serviceType:appointmentType Σ1..1CodeableConceptThe specific service that is to be performed during this appointment
Binding: ServiceType (example)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ0..*CodingCode defined by a terminology system
Binding: Appointment Service Type (required)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ0..1uriIdentity of the terminology system
...... version Σ0..1stringVersion of the system - if relevant
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: regular
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
... specialty Σ0..*CodeableConceptThe specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
... appointmentType Σ1..1CodeableConceptThe style of appointment or patient that has been booked in the slot (not service type)
Binding: Appointment Type Codes (required)
... reasonCode Σ0..1CodeableConceptCoded reason this appointment is scheduled
Binding: Appointment Reason (required)
... reasonReference 0..*Reference(Condition | Procedure | Observation | ImmunizationRecommendation)Reason the appointment is to take place (resource)
... priority 0..1unsignedIntUsed to make informed decisions if needing to re-prioritize
... description 0..1stringShown on a subject line in a meeting request, or appointment list
... supportingInformation 0..1Reference(ehealth-episodeofcare | ehealth-careplan) {r}Additional information to support the appointment
... start Σ0..1instantWhen appointment is to take place
... end Σ0..1instantWhen appointment is to conclude
... minutesDuration 0..1positiveIntCan be less than start/end (e.g. estimate)
... slot 0..*Reference(Slot)The slots that this appointment is filling
... created 0..1dateTimeThe date that this appointment was initially created
... comment 0..1stringAdditional comments
... patientInstruction 0..1stringDetailed information and instructions for the patient
... basedOn 0..*Reference(ServiceRequest)The service request this appointment is allocated to assess
... participant C2..*BackboneElementParticipants involved in appointment
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... careteam 0..1Reference(ehealth-careteam) {r}Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type Σ0..*CodeableConceptRole of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


.... actor Σ0..1Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {rc}Person, Location/HealthcareService or Device
.... required Σ0..1coderequired | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

.... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

.... period 0..1PeriodParticipation period of the actor
... requestedPeriod 0..*PeriodPotential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Appointment.languagepreferredCommonLanguages
Max Binding: AllLanguages
Appointment.statusrequiredAppointmentStatus
Appointment.cancelationReasonexampleAppointmentCancellationReason
Appointment.serviceCategoryexampleServiceCategory
Appointment.serviceTypeexampleServiceType
Appointment.serviceType:appointmentTypeexampleServiceType
Appointment.serviceType:appointmentType.codingrequiredAppointmentServiceType
Appointment.specialtypreferredPracticeSettingCodeValueSet
Appointment.appointmentTyperequiredAppointmentTypeCodes
Appointment.reasonCoderequiredAppointmentReason
Appointment.participant.typeextensibleParticipantType
Appointment.participant.requiredrequiredParticipantRequired
Appointment.participant.statusrequiredParticipationStatus

Constraints

IdGradePathDetailsRequirements
responsible-1errorAppointmentEnsuring that responsible entity is a participating party
: (extension('http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible').value.reference in participant.extension('http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam').value.reference) or (extension('http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible').value.reference in participant.actor.reference)
single-patient-appointmenterrorAppointmentOnly a single patient is allowed pr. appointment
: participant.actor.where(reference.contains('/Patient')).count() < 2
governance-1errorAppointment.extension:legalBasisWhen extension is used a Episode of Care MUST be referenced
: %resource.supportingInformation.reference.contains('EpisodeOfCare/')
responsible-2errorAppointment.extension:legalBasisBoth performing organization and responsible organization must be populated when legal basis is used
: %resource.extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performing-organization').exists() and %resource.extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible-organization').exists()