eHealth Infrastructure
​11.0.1 - Denmark flag

This page is part of the FUT Infrastructure (v11.0.1: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: ehealth-appointment

Official URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-appointment Version: 11.0.1
Active as of 2026-10-23 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.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots, and their representations.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, responsible-1, single-patient-appointment
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for extension.extension:responsible 1..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Responsible careteam/practitioner
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
Appointment.Slices for extension.extension:groupId 0..1 string Logical id identifying a set of messages with the same recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id
Appointment.Slices for extension.extension:legalBasis C 0..1 CodeableConcept Legal basis
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-legalBasis
Binding: Jurisdiction (required)
Constraints: governance-1, responsible-2
Appointment.Slices for extension.extension:releasableResource 0..1 boolean Indicates if the resource may be shared through national document repositories
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-releasableResource
Appointment.Slices for extension.extension:responsibleOrganization 0..1 Reference(ehealth-organization) {r} Responsible organization
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible-organization
Appointment.Slices for extension.extension:performer 0..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Performer
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performer
Appointment.Slices for extension.extension:performingOrganization 0..1 Reference(ehealth-organization) {r} Organization who is performing in the given context
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performing-organization
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.status This element is a modifier element. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
Appointment.Slices for serviceType This element is included in summaries. 1..* CodeableConcept The specific service that is to be performed during this appointment
Slice: Unordered, Open by value:coding.code
Binding: ServiceType (example)

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for serviceType.serviceType:appointmentType This element is included in summaries. 1..1 CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
Appointment.Slices for serviceType.serviceType:appointmentType.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Binding: Appointment Service Type (required)
Appointment.Slices for serviceType.serviceType:appointmentType.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: regular (no extensions allowed)
Appointment.appointmentType This element is included in summaries. 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: Appointment Type Codes (required)
Appointment.reasonCode This element is included in summaries. 0..1 CodeableConcept Coded reason this appointment is scheduled
Binding: Appointment Reason (required)
Appointment.supportingInformation 0..1 Reference(ehealth-episodeofcare | ehealth-careplan) {r} Additional information to support the appointment
Appointment.participant C 2..* BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.participant.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.participant.Slices for extension.extension:careteam 0..1 Reference(ehealth-careteam) {r} Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
Appointment.participant.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.participant.actor This element is included in summaries. 0..1 Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {r, c} Person, Location/HealthcareService or Device
Appointment.participant.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.serviceType Base example Service type 📍4.0.1 FHIR Std.
Appointment.serviceType:appointmentType Base example Service type 📍4.0.1 FHIR Std.
Appointment.serviceType:appointmentType.​coding Base required Appointment Service Type 📦11.0.1 This IG
Appointment.appointmentType Base required Appointment Type Codes 📦11.0.1 This IG
Appointment.reasonCode Base required Appointment Reason 📦11.0.1 This IG
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
governance-1 error Appointment.extension:legalBasis When extension is used a Episode of Care MUST be referenced %resource.supportingInformation.reference.contains('EpisodeOfCare/')
responsible-1 error Appointment Ensuring 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)
responsible-2 error Appointment.extension:legalBasis Both 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()
single-patient-appointment error Appointment Only a single patient is allowed pr. appointment participant.actor.where(reference.contains('/Patient')).count() < 2

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: responsible-1, single-patient-appointment
Appointment.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for extension.extension:responsible 1..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Responsible careteam/practitioner
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
Appointment.Slices for extension.extension:groupId 0..1 string Logical id identifying a set of messages with the same recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id
Appointment.Slices for extension.extension:legalBasis C 0..1 CodeableConcept Legal basis
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-legalBasis
Binding: Jurisdiction (required)
Constraints: governance-1, responsible-2
Appointment.Slices for extension.extension:releasableResource 0..1 boolean Indicates if the resource may be shared through national document repositories
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-releasableResource
Appointment.Slices for extension.extension:responsibleOrganization 0..1 Reference(ehealth-organization) {r} Responsible organization
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible-organization
Appointment.Slices for extension.extension:performer 0..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Performer
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performer
Appointment.Slices for extension.extension:performingOrganization 0..1 Reference(ehealth-organization) {r} Organization who is performing in the given context
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performing-organization
Appointment.Slices for serviceType 1..* CodeableConcept The specific service that is to be performed during this appointment
Slice: Unordered, Open by value:coding.code
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for serviceType.serviceType:appointmentType 1..1 CodeableConcept The specific service that is to be performed during this appointment
Appointment.Slices for serviceType.serviceType:appointmentType.coding 0..* Coding Code defined by a terminology system
Binding: Appointment Service Type (required)
Appointment.Slices for serviceType.serviceType:appointmentType.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: regular (no extensions allowed)
Appointment.appointmentType 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: Appointment Type Codes (required)
Appointment.supportingInformation 0..1 Reference(ehealth-episodeofcare | ehealth-careplan) {r} Additional information to support the appointment
Appointment.participant 2..* BackboneElement Participants involved in appointment
Appointment.participant.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.participant.Slices for extension.extension:careteam 0..1 Reference(ehealth-careteam) {r} Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
Appointment.participant.actor 0..1 Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {r, c} Person, Location/HealthcareService or Device

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Appointment.serviceType:appointmentType.​coding Base required Appointment Service Type 📦11.0.1 This IG
Appointment.appointmentType Base required Appointment Type Codes 📦11.0.1 This IG
Appointment.reasonCode Base required Appointment Reason 📦11.0.1 This IG

Constraints

Id Grade Path(s) Description Expression
governance-1 error Appointment.extension:legalBasis When extension is used a Episode of Care MUST be referenced %resource.supportingInformation.reference.contains('EpisodeOfCare/')
responsible-1 error Appointment Ensuring 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)
responsible-2 error Appointment.extension:legalBasis Both 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()
single-patient-appointment error Appointment Only a single patient is allowed pr. appointment participant.actor.where(reference.contains('/Patient')).count() < 2
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, responsible-1, single-patient-appointment
Appointment.id This element is included in summaries. 0..1 id Logical id of this artifact
Appointment.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Appointment.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Appointment.contained 0..* Resource Contained, inline Resources
Appointment.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for extension.extension:responsible 1..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Responsible careteam/practitioner
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
Appointment.Slices for extension.extension:groupId 0..1 string Logical id identifying a set of messages with the same recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id
Appointment.Slices for extension.extension:legalBasis C 0..1 CodeableConcept Legal basis
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-legalBasis
Binding: Jurisdiction (required)
Constraints: governance-1, responsible-2
Appointment.Slices for extension.extension:releasableResource 0..1 boolean Indicates if the resource may be shared through national document repositories
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-releasableResource
Appointment.Slices for extension.extension:responsibleOrganization 0..1 Reference(ehealth-organization) {r} Responsible organization
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible-organization
Appointment.Slices for extension.extension:performer 0..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Performer
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performer
Appointment.Slices for extension.extension:performingOrganization 0..1 Reference(ehealth-organization) {r} Organization who is performing in the given context
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performing-organization
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.identifier This element is included in summaries. 0..* Identifier External Ids for this item
Appointment.status This element is a modifier element. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
Appointment.cancelationReason This element is included in summaries. 0..1 CodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
Appointment.serviceCategory This element is included in summaries. 0..* CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
Appointment.Slices for serviceType This element is included in summaries. 1..* CodeableConcept The specific service that is to be performed during this appointment
Slice: Unordered, Open by value:coding.code
Binding: ServiceType (example)

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for serviceType.serviceType:appointmentType This element is included in summaries. 1..1 CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
Appointment.Slices for serviceType.serviceType:appointmentType.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for serviceType.serviceType:appointmentType.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.Slices for serviceType.serviceType:appointmentType.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Binding: Appointment Service Type (required)
Appointment.Slices for serviceType.serviceType:appointmentType.coding.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for serviceType.serviceType:appointmentType.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.Slices for serviceType.serviceType:appointmentType.coding.system This element is included in summaries. 0..1 uri Identity of the terminology system
Appointment.Slices for serviceType.serviceType:appointmentType.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Appointment.Slices for serviceType.serviceType:appointmentType.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: regular (no extensions allowed)
Appointment.Slices for serviceType.serviceType:appointmentType.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Appointment.Slices for serviceType.serviceType:appointmentType.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Appointment.Slices for serviceType.serviceType:appointmentType.text This element is included in summaries. 0..1 string Plain text representation of the concept
Appointment.specialty This element is included in summaries. 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
Appointment.appointmentType This element is included in summaries. 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: Appointment Type Codes (required)
Appointment.reasonCode This element is included in summaries. 0..1 CodeableConcept Coded reason this appointment is scheduled
Binding: Appointment Reason (required)
Appointment.reasonReference 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
Appointment.priority 0..1 unsignedInt Used to make informed decisions if needing to re-prioritize
Appointment.description 0..1 string Shown on a subject line in a meeting request, or appointment list
Appointment.supportingInformation 0..1 Reference(ehealth-episodeofcare | ehealth-careplan) {r} Additional information to support the appointment
Appointment.start This element is included in summaries. 0..1 instant When appointment is to take place
Appointment.end This element is included in summaries. 0..1 instant When appointment is to conclude
Appointment.minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
Appointment.slot 0..* Reference(Slot) The slots that this appointment is filling
Appointment.created 0..1 dateTime The date that this appointment was initially created
Appointment.comment 0..1 string Additional comments
Appointment.patientInstruction 0..1 string Detailed information and instructions for the patient
Appointment.basedOn 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
Appointment.participant C 2..* BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.participant.id 0..1 string Unique id for inter-element referencing
Appointment.participant.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.participant.Slices for extension.extension:careteam 0..1 Reference(ehealth-careteam) {r} Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
Appointment.participant.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.participant.type This element is included in summaries. 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
Appointment.participant.actor This element is included in summaries. 0..1 Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {r, c} Person, Location/HealthcareService or Device
Appointment.participant.required This element is included in summaries. 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.
Appointment.participant.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
Appointment.participant.period 0..1 Period Participation period of the actor
Appointment.requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.cancelationReason Base example Appointment cancellation reason 📍4.0.1 FHIR Std.
Appointment.serviceCategory Base example Service category 📍4.0.1 FHIR Std.
Appointment.serviceType Base example Service type 📍4.0.1 FHIR Std.
Appointment.serviceType:appointmentType Base example Service type 📍4.0.1 FHIR Std.
Appointment.serviceType:appointmentType.​coding Base required Appointment Service Type 📦11.0.1 This IG
Appointment.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
Appointment.appointmentType Base required Appointment Type Codes 📦11.0.1 This IG
Appointment.reasonCode Base required Appointment Reason 📦11.0.1 This IG
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
governance-1 error Appointment.extension:legalBasis When extension is used a Episode of Care MUST be referenced %resource.supportingInformation.reference.contains('EpisodeOfCare/')
responsible-1 error Appointment Ensuring 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)
responsible-2 error Appointment.extension:legalBasis Both 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()
single-patient-appointment error Appointment Only a single patient is allowed pr. appointment participant.actor.where(reference.contains('/Patient')).count() < 2

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, responsible-1, single-patient-appointment
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for extension.extension:responsible 1..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Responsible careteam/practitioner
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
Appointment.Slices for extension.extension:groupId 0..1 string Logical id identifying a set of messages with the same recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id
Appointment.Slices for extension.extension:legalBasis C 0..1 CodeableConcept Legal basis
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-legalBasis
Binding: Jurisdiction (required)
Constraints: governance-1, responsible-2
Appointment.Slices for extension.extension:releasableResource 0..1 boolean Indicates if the resource may be shared through national document repositories
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-releasableResource
Appointment.Slices for extension.extension:responsibleOrganization 0..1 Reference(ehealth-organization) {r} Responsible organization
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible-organization
Appointment.Slices for extension.extension:performer 0..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Performer
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performer
Appointment.Slices for extension.extension:performingOrganization 0..1 Reference(ehealth-organization) {r} Organization who is performing in the given context
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performing-organization
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.status This element is a modifier element. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
Appointment.Slices for serviceType This element is included in summaries. 1..* CodeableConcept The specific service that is to be performed during this appointment
Slice: Unordered, Open by value:coding.code
Binding: ServiceType (example)

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for serviceType.serviceType:appointmentType This element is included in summaries. 1..1 CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
Appointment.Slices for serviceType.serviceType:appointmentType.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Binding: Appointment Service Type (required)
Appointment.Slices for serviceType.serviceType:appointmentType.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: regular (no extensions allowed)
Appointment.appointmentType This element is included in summaries. 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: Appointment Type Codes (required)
Appointment.reasonCode This element is included in summaries. 0..1 CodeableConcept Coded reason this appointment is scheduled
Binding: Appointment Reason (required)
Appointment.supportingInformation 0..1 Reference(ehealth-episodeofcare | ehealth-careplan) {r} Additional information to support the appointment
Appointment.participant C 2..* BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.participant.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.participant.Slices for extension.extension:careteam 0..1 Reference(ehealth-careteam) {r} Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
Appointment.participant.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.participant.actor This element is included in summaries. 0..1 Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {r, c} Person, Location/HealthcareService or Device
Appointment.participant.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.serviceType Base example Service type 📍4.0.1 FHIR Std.
Appointment.serviceType:appointmentType Base example Service type 📍4.0.1 FHIR Std.
Appointment.serviceType:appointmentType.​coding Base required Appointment Service Type 📦11.0.1 This IG
Appointment.appointmentType Base required Appointment Type Codes 📦11.0.1 This IG
Appointment.reasonCode Base required Appointment Reason 📦11.0.1 This IG
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
governance-1 error Appointment.extension:legalBasis When extension is used a Episode of Care MUST be referenced %resource.supportingInformation.reference.contains('EpisodeOfCare/')
responsible-1 error Appointment Ensuring 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)
responsible-2 error Appointment.extension:legalBasis Both 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()
single-patient-appointment error Appointment Only a single patient is allowed pr. appointment participant.actor.where(reference.contains('/Patient')).count() < 2

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: responsible-1, single-patient-appointment
Appointment.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for extension.extension:responsible 1..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Responsible careteam/practitioner
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
Appointment.Slices for extension.extension:groupId 0..1 string Logical id identifying a set of messages with the same recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id
Appointment.Slices for extension.extension:legalBasis C 0..1 CodeableConcept Legal basis
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-legalBasis
Binding: Jurisdiction (required)
Constraints: governance-1, responsible-2
Appointment.Slices for extension.extension:releasableResource 0..1 boolean Indicates if the resource may be shared through national document repositories
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-releasableResource
Appointment.Slices for extension.extension:responsibleOrganization 0..1 Reference(ehealth-organization) {r} Responsible organization
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible-organization
Appointment.Slices for extension.extension:performer 0..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Performer
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performer
Appointment.Slices for extension.extension:performingOrganization 0..1 Reference(ehealth-organization) {r} Organization who is performing in the given context
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performing-organization
Appointment.Slices for serviceType 1..* CodeableConcept The specific service that is to be performed during this appointment
Slice: Unordered, Open by value:coding.code
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for serviceType.serviceType:appointmentType 1..1 CodeableConcept The specific service that is to be performed during this appointment
Appointment.Slices for serviceType.serviceType:appointmentType.coding 0..* Coding Code defined by a terminology system
Binding: Appointment Service Type (required)
Appointment.Slices for serviceType.serviceType:appointmentType.coding.code 1..1 code Symbol in syntax defined by the system
Fixed Value: regular (no extensions allowed)
Appointment.appointmentType 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: Appointment Type Codes (required)
Appointment.reasonCode 0..1 CodeableConcept Coded reason this appointment is scheduled
Binding: Appointment Reason (required)
Appointment.supportingInformation 0..1 Reference(ehealth-episodeofcare | ehealth-careplan) {r} Additional information to support the appointment
Appointment.participant 2..* BackboneElement Participants involved in appointment
Appointment.participant.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.participant.Slices for extension.extension:careteam 0..1 Reference(ehealth-careteam) {r} Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
Appointment.participant.actor 0..1 Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {r, c} Person, Location/HealthcareService or Device

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Appointment.serviceType:appointmentType.​coding Base required Appointment Service Type 📦11.0.1 This IG
Appointment.appointmentType Base required Appointment Type Codes 📦11.0.1 This IG
Appointment.reasonCode Base required Appointment Reason 📦11.0.1 This IG

Constraints

Id Grade Path(s) Description Expression
governance-1 error Appointment.extension:legalBasis When extension is used a Episode of Care MUST be referenced %resource.supportingInformation.reference.contains('EpisodeOfCare/')
responsible-1 error Appointment Ensuring 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)
responsible-2 error Appointment.extension:legalBasis Both 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()
single-patient-appointment error Appointment Only a single patient is allowed pr. appointment participant.actor.where(reference.contains('/Patient')).count() < 2

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Appointment C 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
Constraints: app-2, app-3, app-4, responsible-1, single-patient-appointment
Appointment.id This element is included in summaries. 0..1 id Logical id of this artifact
Appointment.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Appointment.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Appointment.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Appointment.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Appointment.contained 0..* Resource Contained, inline Resources
Appointment.Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for extension.extension:responsible 1..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Responsible careteam/practitioner
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible
Appointment.Slices for extension.extension:groupId 0..1 string Logical id identifying a set of messages with the same recipient
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-id
Appointment.Slices for extension.extension:legalBasis C 0..1 CodeableConcept Legal basis
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-legalBasis
Binding: Jurisdiction (required)
Constraints: governance-1, responsible-2
Appointment.Slices for extension.extension:releasableResource 0..1 boolean Indicates if the resource may be shared through national document repositories
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-releasableResource
Appointment.Slices for extension.extension:responsibleOrganization 0..1 Reference(ehealth-organization) {r} Responsible organization
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-responsible-organization
Appointment.Slices for extension.extension:performer 0..1 Reference(ehealth-careteam | ehealth-practitioner) {r} Performer
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performer
Appointment.Slices for extension.extension:performingOrganization 0..1 Reference(ehealth-organization) {r} Organization who is performing in the given context
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-performing-organization
Appointment.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Appointment.identifier This element is included in summaries. 0..* Identifier External Ids for this item
Appointment.status This element is a modifier element. This element is included in summaries. 1..1 code proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist
Binding: AppointmentStatus (required): The free/busy status of an appointment.
Appointment.cancelationReason This element is included in summaries. 0..1 CodeableConcept The coded reason for the appointment being cancelled
Binding: AppointmentCancellationReason (example)
Appointment.serviceCategory This element is included in summaries. 0..* CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
Appointment.Slices for serviceType This element is included in summaries. 1..* CodeableConcept The specific service that is to be performed during this appointment
Slice: Unordered, Open by value:coding.code
Binding: ServiceType (example)

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.Slices for serviceType.serviceType:appointmentType This element is included in summaries. 1..1 CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
Appointment.Slices for serviceType.serviceType:appointmentType.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for serviceType.serviceType:appointmentType.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.Slices for serviceType.serviceType:appointmentType.coding This element is included in summaries. 0..* Coding Code defined by a terminology system
Binding: Appointment Service Type (required)
Appointment.Slices for serviceType.serviceType:appointmentType.coding.id 0..1 string Unique id for inter-element referencing
Appointment.Slices for serviceType.serviceType:appointmentType.coding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Appointment.Slices for serviceType.serviceType:appointmentType.coding.system This element is included in summaries. 0..1 uri Identity of the terminology system
Appointment.Slices for serviceType.serviceType:appointmentType.coding.version This element is included in summaries. 0..1 string Version of the system - if relevant
Appointment.Slices for serviceType.serviceType:appointmentType.coding.code This element is included in summaries. 1..1 code Symbol in syntax defined by the system
Fixed Value: regular (no extensions allowed)
Appointment.Slices for serviceType.serviceType:appointmentType.coding.display This element is included in summaries. 0..1 string Representation defined by the system
Appointment.Slices for serviceType.serviceType:appointmentType.coding.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
Appointment.Slices for serviceType.serviceType:appointmentType.text This element is included in summaries. 0..1 string Plain text representation of the concept
Appointment.specialty This element is included in summaries. 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
Appointment.appointmentType This element is included in summaries. 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: Appointment Type Codes (required)
Appointment.reasonCode This element is included in summaries. 0..1 CodeableConcept Coded reason this appointment is scheduled
Binding: Appointment Reason (required)
Appointment.reasonReference 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
Appointment.priority 0..1 unsignedInt Used to make informed decisions if needing to re-prioritize
Appointment.description 0..1 string Shown on a subject line in a meeting request, or appointment list
Appointment.supportingInformation 0..1 Reference(ehealth-episodeofcare | ehealth-careplan) {r} Additional information to support the appointment
Appointment.start This element is included in summaries. 0..1 instant When appointment is to take place
Appointment.end This element is included in summaries. 0..1 instant When appointment is to conclude
Appointment.minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
Appointment.slot 0..* Reference(Slot) The slots that this appointment is filling
Appointment.created 0..1 dateTime The date that this appointment was initially created
Appointment.comment 0..1 string Additional comments
Appointment.patientInstruction 0..1 string Detailed information and instructions for the patient
Appointment.basedOn 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
Appointment.participant C 2..* BackboneElement Participants involved in appointment
Constraints: app-1
Appointment.participant.id 0..1 string Unique id for inter-element referencing
Appointment.participant.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Appointment.participant.Slices for extension.extension:careteam 0..1 Reference(ehealth-careteam) {r} Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
Appointment.participant.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Appointment.participant.type This element is included in summaries. 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.
Appointment.participant.actor This element is included in summaries. 0..1 Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {r, c} Person, Location/HealthcareService or Device
Appointment.participant.required This element is included in summaries. 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.
Appointment.participant.status This element is included in summaries. 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.
Appointment.participant.period 0..1 Period Participation period of the actor
Appointment.requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.cancelationReason Base example Appointment cancellation reason 📍4.0.1 FHIR Std.
Appointment.serviceCategory Base example Service category 📍4.0.1 FHIR Std.
Appointment.serviceType Base example Service type 📍4.0.1 FHIR Std.
Appointment.serviceType:appointmentType Base example Service type 📍4.0.1 FHIR Std.
Appointment.serviceType:appointmentType.​coding Base required Appointment Service Type 📦11.0.1 This IG
Appointment.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
Appointment.appointmentType Base required Appointment Type Codes 📦11.0.1 This IG
Appointment.reasonCode Base required Appointment Reason 📦11.0.1 This IG
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
governance-1 error Appointment.extension:legalBasis When extension is used a Episode of Care MUST be referenced %resource.supportingInformation.reference.contains('EpisodeOfCare/')
responsible-1 error Appointment Ensuring 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)
responsible-2 error Appointment.extension:legalBasis Both 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()
single-patient-appointment error Appointment Only a single patient is allowed pr. appointment participant.actor.where(reference.contains('/Patient')).count() < 2

 

Other representations of profile: CSV, Excel, Schematron