eHealth Infrastructure
2.5.0 - release

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

Resource Profile: ehealth-group-appointment

Official URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-group-appointment Version: 2.5.0
Active as of 2023-02-09 Computable Name: ehealth-group-appointment

Extra Validation Constraints

  • When a dateTime value is present in the ehealth-registration-deadline extension, then a WARNING validation issue will be raised if a participant is added to the appointment after this point in time
    • This constraint is implemented directly on the server due to technical limitations, which means it is not listed with other Implementation Guide constraints
  • The ehealth-creator extension value is managed by the server and holds a reference to the CareTeam that created the group appointment
    • When creating a new group appointment, the server automatically fills out this value based on the JWT CareTeam context of the user
    • Trying to assign a value different from the CareTeam in context when creating a group appointment, or changing this value in an update or patch operation, generates a http 422 error
    • The value is used by the security system of the server to allow the original creator of the group appointment to modify the appointment after creation, even when the creator is not the ehealth-responsible party

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
max-participants: Too many intended participants
min-participants: Too few intended participants
... 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
... creator 0..1Reference(ehealth-careteam) {r}Creator Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-creator
... intendedAudience 0..*Reference()The intended audience of the resource
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... registrationDeadline 0..1dateTimeRegistration deadline
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-registration-deadline
... 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: group
... 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
.... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
.... careteam 0..1Reference(ehealth-careteam) {r}Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
.... assigningCareteam 1..1Reference()Assigning careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-assigning-careteam
.... actor 0..1Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {rc}Person, Location/HealthcareService or Device

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Appointment.serviceType:appointmentType.codingrequiredAppointmentServiceType (a valid code from Appointment Service Types)
Appointment.appointmentTyperequiredAppointmentTypeCodes (a valid code from Appointment Type Codes)
Appointment.reasonCoderequiredAppointmentReason (a valid code from Appointment Reason)

Constraints

IdGradePath(s)DetailsRequirements
governance-1errorAppointment.extension:legalBasisWhen extension is used a Episode of Care MUST be referenced
: %resource.supportingInformation.reference.contains('EpisodeOfCare/')
max-participantswarningAppointmentToo many intended participants
: extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-max-participants').exists() implies participant.actor.where(reference.startsWith('#').not()).count() <= extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-max-participants').valueInteger
min-participantswarningAppointmentToo few intended participants
: extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-min-participants').exists() implies participant.actor.where(reference.startsWith('#').not()).count() >= extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-min-participants').valueInteger
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)
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()
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
max-participants: Too many intended participants
min-participants: Too few intended participants
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... 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
... 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
... creator 0..1Reference(ehealth-careteam) {r}Creator Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-creator
... intendedAudience 0..*Reference()The intended audience of the resource
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... registrationDeadline 0..1dateTimeRegistration deadline
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-registration-deadline
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... 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.

... 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)
..... coding Σ0..*CodingCode defined by a terminology system
Binding: Appointment Service Type (required)
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: group
... 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 C1..*BackboneElementParticipants involved in appointment
.... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
.... careteam 0..1Reference(ehealth-careteam) {r}Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
.... assigningCareteam 1..1Reference()Assigning careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-assigning-careteam
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... actor Σ0..1Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {rc}Person, Location/HealthcareService or Device
.... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Appointment.statusrequiredAppointmentStatus
Appointment.serviceTypeexampleServiceType
Appointment.serviceType:appointmentTypeexampleServiceType
Appointment.serviceType:appointmentType.codingrequiredAppointmentServiceType (a valid code from Appointment Service Types)
Appointment.appointmentTyperequiredAppointmentTypeCodes (a valid code from Appointment Type Codes)
Appointment.reasonCoderequiredAppointmentReason (a valid code from Appointment Reason)
Appointment.participant.statusrequiredParticipationStatus

Constraints

IdGradePath(s)DetailsRequirements
governance-1errorAppointment.extension:legalBasisWhen extension is used a Episode of Care MUST be referenced
: %resource.supportingInformation.reference.contains('EpisodeOfCare/')
max-participantswarningAppointmentToo many intended participants
: extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-max-participants').exists() implies participant.actor.where(reference.startsWith('#').not()).count() <= extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-max-participants').valueInteger
min-participantswarningAppointmentToo few intended participants
: extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-min-participants').exists() implies participant.actor.where(reference.startsWith('#').not()).count() >= extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-min-participants').valueInteger
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)
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()
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
max-participants: Too many intended participants
min-participants: Too few intended participants
... 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
... creator 0..1Reference(ehealth-careteam) {r}Creator Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-creator
... intendedAudience 0..*Reference()The intended audience of the resource
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... registrationDeadline 0..1dateTimeRegistration deadline
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-registration-deadline
... 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: group
...... 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 C1..*BackboneElementParticipants involved in appointment
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
.... careteam 0..1Reference(ehealth-careteam) {r}Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
.... assigningCareteam 1..1Reference()Assigning careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-assigning-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

Terminology Bindings

PathConformanceValueSet
Appointment.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Appointment.statusrequiredAppointmentStatus
Appointment.cancelationReasonexampleAppointmentCancellationReason
Appointment.serviceCategoryexampleServiceCategory
Appointment.serviceTypeexampleServiceType
Appointment.serviceType:appointmentTypeexampleServiceType
Appointment.serviceType:appointmentType.codingrequiredAppointmentServiceType (a valid code from Appointment Service Types)
Appointment.specialtypreferredPracticeSettingCodeValueSet
Appointment.appointmentTyperequiredAppointmentTypeCodes (a valid code from Appointment Type Codes)
Appointment.reasonCoderequiredAppointmentReason (a valid code from Appointment Reason)
Appointment.participant.typeextensibleParticipantType
Appointment.participant.requiredrequiredParticipantRequired
Appointment.participant.statusrequiredParticipationStatus

Constraints

IdGradePath(s)DetailsRequirements
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()

This structure is derived from Appointment

Summary

Mandatory: 7 elements (1 nested mandatory element)
Fixed Value: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Appointment.serviceType is sliced based on the value of value:coding.code

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
max-participants: Too many intended participants
min-participants: Too few intended participants
... 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
... creator 0..1Reference(ehealth-careteam) {r}Creator Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-creator
... intendedAudience 0..*Reference()The intended audience of the resource
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... registrationDeadline 0..1dateTimeRegistration deadline
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-registration-deadline
... 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: group
... 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
.... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
.... careteam 0..1Reference(ehealth-careteam) {r}Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
.... assigningCareteam 1..1Reference()Assigning careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-assigning-careteam
.... actor 0..1Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {rc}Person, Location/HealthcareService or Device

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Appointment.serviceType:appointmentType.codingrequiredAppointmentServiceType (a valid code from Appointment Service Types)
Appointment.appointmentTyperequiredAppointmentTypeCodes (a valid code from Appointment Type Codes)
Appointment.reasonCoderequiredAppointmentReason (a valid code from Appointment Reason)

Constraints

IdGradePath(s)DetailsRequirements
governance-1errorAppointment.extension:legalBasisWhen extension is used a Episode of Care MUST be referenced
: %resource.supportingInformation.reference.contains('EpisodeOfCare/')
max-participantswarningAppointmentToo many intended participants
: extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-max-participants').exists() implies participant.actor.where(reference.startsWith('#').not()).count() <= extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-max-participants').valueInteger
min-participantswarningAppointmentToo few intended participants
: extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-min-participants').exists() implies participant.actor.where(reference.startsWith('#').not()).count() >= extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-min-participants').valueInteger
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)
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()

Key Elements 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
max-participants: Too many intended participants
min-participants: Too few intended participants
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... 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
... 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
... creator 0..1Reference(ehealth-careteam) {r}Creator Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-creator
... intendedAudience 0..*Reference()The intended audience of the resource
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... registrationDeadline 0..1dateTimeRegistration deadline
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-registration-deadline
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... 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.

... 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)
..... coding Σ0..*CodingCode defined by a terminology system
Binding: Appointment Service Type (required)
...... code Σ1..1codeSymbol in syntax defined by the system
Fixed Value: group
... 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 C1..*BackboneElementParticipants involved in appointment
.... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
.... careteam 0..1Reference(ehealth-careteam) {r}Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
.... assigningCareteam 1..1Reference()Assigning careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-assigning-careteam
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... actor Σ0..1Reference(ehealth-patient | ehealth-practitioner | ehealth-relatedperson | Location) {rc}Person, Location/HealthcareService or Device
.... status Σ1..1codeaccepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Appointment.statusrequiredAppointmentStatus
Appointment.serviceTypeexampleServiceType
Appointment.serviceType:appointmentTypeexampleServiceType
Appointment.serviceType:appointmentType.codingrequiredAppointmentServiceType (a valid code from Appointment Service Types)
Appointment.appointmentTyperequiredAppointmentTypeCodes (a valid code from Appointment Type Codes)
Appointment.reasonCoderequiredAppointmentReason (a valid code from Appointment Reason)
Appointment.participant.statusrequiredParticipationStatus

Constraints

IdGradePath(s)DetailsRequirements
governance-1errorAppointment.extension:legalBasisWhen extension is used a Episode of Care MUST be referenced
: %resource.supportingInformation.reference.contains('EpisodeOfCare/')
max-participantswarningAppointmentToo many intended participants
: extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-max-participants').exists() implies participant.actor.where(reference.startsWith('#').not()).count() <= extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-max-participants').valueInteger
min-participantswarningAppointmentToo few intended participants
: extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-min-participants').exists() implies participant.actor.where(reference.startsWith('#').not()).count() >= extension.where(url = 'http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-min-participants').valueInteger
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)
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()

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
max-participants: Too many intended participants
min-participants: Too few intended participants
... 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
... creator 0..1Reference(ehealth-careteam) {r}Creator Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-creator
... intendedAudience 0..*Reference()The intended audience of the resource
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience
... registrationDeadline 0..1dateTimeRegistration deadline
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-registration-deadline
... 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: group
...... 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 C1..*BackboneElementParticipants involved in appointment
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
.... careteam 0..1Reference(ehealth-careteam) {r}Careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-ext-careteam
.... assigningCareteam 1..1Reference()Assigning careteam
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-assigning-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

Terminology Bindings

PathConformanceValueSet
Appointment.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Appointment.statusrequiredAppointmentStatus
Appointment.cancelationReasonexampleAppointmentCancellationReason
Appointment.serviceCategoryexampleServiceCategory
Appointment.serviceTypeexampleServiceType
Appointment.serviceType:appointmentTypeexampleServiceType
Appointment.serviceType:appointmentType.codingrequiredAppointmentServiceType (a valid code from Appointment Service Types)
Appointment.specialtypreferredPracticeSettingCodeValueSet
Appointment.appointmentTyperequiredAppointmentTypeCodes (a valid code from Appointment Type Codes)
Appointment.reasonCoderequiredAppointmentReason (a valid code from Appointment Reason)
Appointment.participant.typeextensibleParticipantType
Appointment.participant.requiredrequiredParticipantRequired
Appointment.participant.statusrequiredParticipationStatus

Constraints

IdGradePath(s)DetailsRequirements
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()

This structure is derived from Appointment

Summary

Mandatory: 7 elements (1 nested mandatory element)
Fixed Value: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element Appointment.serviceType is sliced based on the value of value:coding.code

 

Other representations of profile: CSV, Excel, Schematron