0.9.0 - draft

NyTimelosingIG - Local Development build (v0.9.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: hn-basis-appointment

Official URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment Version: 0.9.0
Draft as of 2025-02-15 Computable Name: HnBasisAppointment

Base profile for Helsenorge Appointment information. Defined by Helsenorge based on national profile.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C 0..* NoBasisAppointment 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)
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-6: A resource should have narrative for robust management
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
app-4: Cancelation reason is only used for appointments that have been cancelled, or no-show
app-3: Only proposed or cancelled appointments can be missing start/end dates
app-2: Either start and end are specified, or neither
cancelationReason-inv: Cancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
contained-location-must-have-managingorganization: Contained location must have managing organization
... meta Σ 0..1 Meta Information about use of metadata in FHIR resources in helsenorge:
ele-1: All FHIR elements must have a @value or children
.... lastUpdated Σ 1..1 instant LastUpdated should always be present
ele-1: All FHIR elements must have a @value or children
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension Content/Rules for all slices
.... virtualService S 0..* (Complex) Virtual Service
URL: http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... Slices for extension Content/Rules for all slices
...... extension:channelType 0..1 Extension Extension
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension N 0..0
....... url 1..1 uri "channelType"
....... value[x] 0..1 Coding Valuset for virtual servie.
Binding: Hn Basis VirtualServiceType Value Set (required)
ele-1: All FHIR elements must have a @value or children
...... extension:virtualAddress N 0..1 Extension Contact address/number
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension N 0..0
....... url 1..1 uri "virtualAddress"
...... extension:additionalInfo N 0..* Extension Address to see alternative connection details
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension N 0..0
....... url 1..1 uri "additionalInfo"
...... extension:maxParticipants N 0..1 Extension Maximum number of participants supported by the virtual service.
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension N 0..0
....... url 1..1 uri "maxParticipants"
...... extension:sessionKey N 0..1 Extension Session Key required by the virtual service
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension N 0..0
....... url 1..1 uri "sessionKey"
..... url 1..1 uri "http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service"
.... group SN 0..1 boolean no-basis-group
URL: http://hl7.no/fhir/StructureDefinition/no-basis-group
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... partOf SN 0..1 Reference(no-basis-Appointment) no-basis-partof
URL: http://hl7.no/fhir/StructureDefinition/no-basis-partof
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... postponementReason 0..1 Coding hn-basis-postponementreason
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-postponementreason
Binding: urn:oid:2.16.578.1.12.4.1.1.8446 (preferred): Volven


ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... consultationType S 0..1 Coding hn-basis-consultationType
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-consultationType
Binding: urn:oid:2.16.578.1.12.4.1.1.9505 (preferred)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... identifier Σ 1..1 Identifier External Ids for this item
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... system Σ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Example General: http://www.acme.com/identifiers/patient
.... value Σ 1..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456
.... assigner ΣC 1..1 Reference(Organization | no-basis-Organization) Organization that issued id (may be just text)
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
... status ?!Σ 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.


ele-1: All FHIR elements must have a @value or children
... cancelationReason Σ 0..1 CodeableConcept Reason for cancelation
Binding: urn:oid:2.16.578.1.12.4.1.1.8445 (preferred)
ele-1: All FHIR elements must have a @value or children
.... coding ΣC 0..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
inv-4: If code is used in a codable consept the system must be used
... serviceCategory Σ 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: hn-appointment-ServiceCategory-code-vs (required)
ele-1: All FHIR elements must have a @value or children
.... coding ΣC 0..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
inv-4: If code is used in a codable consept the system must be used
... appointmentType Σ 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
ele-1: All FHIR elements must have a @value or children
.... Slices for coding ΣC 0..* Coding Recomended code systems for no-basis-Appointment.
Slice: Unordered, Open by value:$this
ele-1: All FHIR elements must have a @value or children
inv-4: If code is used in a codable consept the system must be used
..... coding:omsorgsNiva ΣN 0..1 Coding Volven 8406
Binding: urn:oid:2.16.578.1.12.4.1.1.8406 (required): Volven


ele-1: All FHIR elements must have a @value or children
..... coding:kontaktType ΣN 0..1 Coding Volven 8432
Binding: urn:oid:2.16.578.1.12.4.1.1.8432 (required): Volven


ele-1: All FHIR elements must have a @value or children
..... coding:innbygger ΣN 0..1 Coding Volven 7617
Binding: urn:oid:2.16.578.1.12.4.1.1.7617 (required): Volven


ele-1: All FHIR elements must have a @value or children
..... coding:helsenorge SΣ 0..1 Coding Codes from value set
Binding: hn-appointment-AppointmentType-code-vs (required)
ele-1: All FHIR elements must have a @value or children
... description C 0..1 string Shown on a subject line in a meeting request, or appointment list
ele-1: All FHIR elements must have a @value or children
must-be-max-1000-chars: Length MUST be <= 1000
... supportingInformation C 1..* Reference(Resource) Spesial instructions for use.
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
... patientInstruction C 0..1 string Detailed information and instructions for the patient
ele-1: All FHIR elements must have a @value or children
must-be-max-1000-chars: Length MUST be <= 1000
... participant C 1..* BackboneElement Participants involved in appointment
ele-1: All FHIR elements must have a @value or children
app-1: Either the type or actor on the participant SHALL be specified
appointment-participant-actor-patient-reference-identifier: When actor is a Patient logical reference MUST be used
appointment-participant-actor-patient-reference-reference: When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... actor ΣC 1..1 Reference(no-basis-Patient | no-basis-Practitioner | no-basis-PractitionerRole | no-basis-Location | no-basis-RelatedPerson | Device | no-basis-HealthcareService) When actor is a Patient logical reference MUST be used
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.extension:virtualService.extension:channelType.value[x]requiredHnBasisVirtualServiceType
http://helsenorge.no/fhir/ValueSet/hn-basis-virtual-service-type.valueset
from this IG
Appointment.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|4.0.1
from the FHIR Standard
Appointment.cancelationReasonpreferred

urn:oid:2.16.578.1.12.4.1.1.8445

urn:oid:2.16.578.1.12.4.1.1.8445
Appointment.serviceCategoryrequiredHnAppointmentServiceCategoryVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-ServiceCategory-code-vs
from this IG
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.appointmentType.coding:omsorgsNivarequired

urn:oid:2.16.578.1.12.4.1.1.8406

urn:oid:2.16.578.1.12.4.1.1.8406
Appointment.appointmentType.coding:kontaktTyperequired

urn:oid:2.16.578.1.12.4.1.1.8432

urn:oid:2.16.578.1.12.4.1.1.8432
Appointment.appointmentType.coding:innbyggerrequired

urn:oid:2.16.578.1.12.4.1.1.7617

urn:oid:2.16.578.1.12.4.1.1.7617
Appointment.appointmentType.coding:helsenorgerequiredHnAppointmentAppointmentTypeVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-AppointmentType-code-vs
from this IG
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
appointment-participant-actor-patient-reference-identifierwarningAppointment.participantWhen actor is a Patient logical reference MUST be used
: actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-referencewarningAppointment.participantWhen actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
: (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inverrorAppointmentCancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
: (status='canceled' and serviceCategory.coding.code='27') implies cancelationReason.exists()
contained-location-must-have-managingorganizationerrorAppointmentContained location must have managing organization
: Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** elementsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-4errorAppointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.appointmentType.codingIf code is used in a codable consept the system must be used
: code > '' implies (system > '' )
must-be-max-1000-charserrorAppointment.description, Appointment.patientInstructionLength MUST be <= 1000
: $this.length() <= 1000
ref-1errorAppointment.identifier.assigner, Appointment.supportingInformation, Appointment.participant.actorSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

This structure is derived from NoBasisAppointment

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C 0..* NoBasisAppointment 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)
cancelationReason-inv: Cancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
contained-location-must-have-managingorganization: Contained location must have managing organization
... meta 0..1 Meta Information about use of metadata in FHIR resources in helsenorge:
.... lastUpdated 1..1 instant LastUpdated should always be present
... Slices for extension Content/Rules for all slices
.... extension:virtualService 0..* NoBasisVirtualService Virtual Service
..... Slices for extension Content/Rules for all slices
...... extension:channelType 0..1 Extension Extension
....... value[x] 0..1 Coding Valuset for virtual servie.
Binding: Hn Basis VirtualServiceType Value Set (required)
.... recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
.... postponementReason 0..1 Coding hn-basis-postponementreason
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-postponementreason
Binding: urn:oid:2.16.578.1.12.4.1.1.8446 (preferred): Volven

.... consultationType S 0..1 Coding hn-basis-consultationType
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-consultationType
Binding: urn:oid:2.16.578.1.12.4.1.1.9505 (preferred)
... identifier 1..1 Identifier External Ids for this item
.... system 1..1 uri The namespace for the identifier value
.... value 1..1 string The value that is unique
.... assigner 1..1 Reference(Organization | no-basis-Organization) Organization that issued id (may be just text)
.... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
... serviceCategory 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: hn-appointment-ServiceCategory-code-vs (required)
.... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
... serviceType
.... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
... specialty
.... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
... appointmentType 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
.... coding C 0..* Coding Recomended code systems for no-basis-Appointment.
inv-4: If code is used in a codable consept the system must be used
.... Slices for coding Content/Rules for all slices
..... coding:helsenorge S 0..1 Coding Codes from value set
Binding: hn-appointment-AppointmentType-code-vs (required)
... reasonCode
.... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
... description C 0..1 string Shown on a subject line in a meeting request, or appointment list
must-be-max-1000-chars: Length MUST be <= 1000
... supportingInformation 1..* Reference(Resource) Spesial instructions for use.
... patientInstruction C 0..1 string Detailed information and instructions for the patient
must-be-max-1000-chars: Length MUST be <= 1000
... participant C 1..* BackboneElement Participants involved in appointment
appointment-participant-actor-patient-reference-identifier: When actor is a Patient logical reference MUST be used
appointment-participant-actor-patient-reference-reference: When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
.... type
..... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... actor 1..1 Reference(no-basis-Patient | no-basis-Practitioner | no-basis-PractitionerRole | no-basis-Location | no-basis-RelatedPerson | Device | no-basis-HealthcareService) When actor is a Patient logical reference MUST be used

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Appointment.extension:virtualService.extension:channelType.value[x]requiredHnBasisVirtualServiceType
http://helsenorge.no/fhir/ValueSet/hn-basis-virtual-service-type.valueset
from this IG
Appointment.cancelationReasonpreferred

urn:oid:2.16.578.1.12.4.1.1.8445

urn:oid:2.16.578.1.12.4.1.1.8445
Appointment.serviceCategoryrequiredHnAppointmentServiceCategoryVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-ServiceCategory-code-vs
from this IG
Appointment.appointmentType.coding:helsenorgerequiredHnAppointmentAppointmentTypeVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-AppointmentType-code-vs
from this IG

Constraints

IdGradePath(s)DetailsRequirements
appointment-participant-actor-patient-reference-identifierwarningAppointment.participantWhen actor is a Patient logical reference MUST be used
: actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-referencewarningAppointment.participantWhen actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
: (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inverrorAppointmentCancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
: (status='canceled' and serviceCategory.coding.code='27') implies cancelationReason.exists()
contained-location-must-have-managingorganizationerrorAppointmentContained location must have managing organization
: Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
inv-4errorAppointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.serviceType.coding, Appointment.specialty.coding, Appointment.appointmentType.coding, Appointment.reasonCode.coding, Appointment.participant.type.codingIf code is used in a codable consept the system must be used
: code > '' implies (system > '' )
must-be-max-1000-charserrorAppointment.description, Appointment.patientInstructionLength MUST be <= 1000
: $this.length() <= 1000
NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C 0..* NoBasisAppointment 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)
app-4: Cancelation reason is only used for appointments that have been cancelled, or no-show
app-3: Only proposed or cancelled appointments can be missing start/end dates
app-2: Either start and end are specified, or neither
cancelationReason-inv: Cancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
contained-location-must-have-managingorganization: Contained location must have managing organization
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Information about use of metadata in FHIR resources in helsenorge:
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 1..1 instant LastUpdated should always be present
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... virtualService S 0..* (Complex) Virtual Service
URL: http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... extension:channelType 0..1 Extension Extension
....... id 0..1 string Unique id for inter-element referencing
....... extension N 0..0
....... url 1..1 uri "channelType"
....... value[x] 0..1 Coding Valuset for virtual servie.
Binding: Hn Basis VirtualServiceType Value Set (required)
...... extension:virtualAddress N 0..1 Extension Contact address/number
....... id 0..1 string Unique id for inter-element referencing
....... extension N 0..0
....... url 1..1 uri "virtualAddress"
....... value[x] N 0..1 Value of extension
........ valueString string
........ valueUrl url
........ valueContactPoint ContactPoint
...... extension:additionalInfo N 0..* Extension Address to see alternative connection details
....... id 0..1 string Unique id for inter-element referencing
....... extension N 0..0
....... url 1..1 uri "additionalInfo"
....... value[x] N 0..1 url Value of extension
...... extension:maxParticipants N 0..1 Extension Maximum number of participants supported by the virtual service.
....... id 0..1 string Unique id for inter-element referencing
....... extension N 0..0
....... url 1..1 uri "maxParticipants"
....... value[x] N 0..1 positiveInt Value of extension
...... extension:sessionKey N 0..1 Extension Session Key required by the virtual service
....... id 0..1 string Unique id for inter-element referencing
....... extension N 0..0
....... url 1..1 uri "sessionKey"
....... value[x] N 0..1 string Value of extension
..... url 1..1 uri "http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service"
.... group SN 0..1 boolean no-basis-group
URL: http://hl7.no/fhir/StructureDefinition/no-basis-group
.... partOf SN 0..1 Reference(no-basis-Appointment) no-basis-partof
URL: http://hl7.no/fhir/StructureDefinition/no-basis-partof
.... recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
.... postponementReason 0..1 Coding hn-basis-postponementreason
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-postponementreason
Binding: urn:oid:2.16.578.1.12.4.1.1.8446 (preferred): Volven


.... consultationType S 0..1 Coding hn-basis-consultationType
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-consultationType
Binding: urn:oid:2.16.578.1.12.4.1.1.9505 (preferred)
... modifierExtension ?!N 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... identifier Σ 1..1 Identifier External Ids for this item
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ 1..1 string The value that is unique
Example General: 123456
.... period ΣC 0..1 Period Time period when id is/was valid for use
per-1: If present, start SHALL have a lower value than end
.... assigner ΣC 1..1 Reference(Organization | no-basis-Organization) Organization that issued id (may be just text)
ref-1: SHALL have a contained resource if a local reference is provided
... status ?!Σ 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.

... cancelationReason Σ 0..1 CodeableConcept Reason for cancelation
Binding: urn:oid:2.16.578.1.12.4.1.1.8445 (preferred)
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... text Σ 0..1 string Plain text representation of the concept
... serviceCategory Σ 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: hn-appointment-ServiceCategory-code-vs (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... text Σ 0..1 string Plain text representation of the concept
... serviceType Σ 0..* CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... text Σ 0..1 string Plain text representation of the concept
... specialty Σ 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... text Σ 0..1 string Plain text representation of the concept
... appointmentType Σ 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding ΣC 0..* Coding Recomended code systems for no-basis-Appointment.
Slice: Unordered, Open by value:$this
inv-4: If code is used in a codable consept the system must be used
..... coding:omsorgsNiva ΣN 0..1 Coding Volven 8406
Binding: urn:oid:2.16.578.1.12.4.1.1.8406 (required): Volven


..... coding:kontaktType ΣN 0..1 Coding Volven 8432
Binding: urn:oid:2.16.578.1.12.4.1.1.8432 (required): Volven


..... coding:innbygger ΣN 0..1 Coding Volven 7617
Binding: urn:oid:2.16.578.1.12.4.1.1.7617 (required): Volven


..... coding:helsenorge SΣ 0..1 Coding Codes from value set
Binding: hn-appointment-AppointmentType-code-vs (required)
.... text Σ 0..1 string Plain text representation of the concept
... reasonCode Σ 0..* CodeableConcept Coded reason this appointment is scheduled
Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place.


.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... text Σ 0..1 string Plain text representation of the concept
... reasonReference C 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
ref-1: SHALL have a contained resource if a local reference is provided
... priority 0..1 unsignedInt Used to make informed decisions if needing to re-prioritize
... description C 0..1 string Shown on a subject line in a meeting request, or appointment list
must-be-max-1000-chars: Length MUST be <= 1000
... supportingInformation C 1..* Reference(Resource) Spesial instructions for use.
ref-1: SHALL have a contained resource if a local reference is provided
... start Σ 0..1 instant When appointment is to take place
... end Σ 0..1 instant When appointment is to conclude
... minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
... slot C 0..* Reference(Slot) The slots that this appointment is filling
ref-1: SHALL have a contained resource if a local reference is provided
... created 0..1 dateTime The date that this appointment was initially created
... comment 0..1 string Additional comments
... patientInstruction C 0..1 string Detailed information and instructions for the patient
must-be-max-1000-chars: Length MUST be <= 1000
... basedOn C 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
ref-1: SHALL have a contained resource if a local reference is provided
... participant C 1..* BackboneElement Participants involved in appointment
app-1: Either the type or actor on the participant SHALL be specified
appointment-participant-actor-patient-reference-identifier: When actor is a Patient logical reference MUST be used
appointment-participant-actor-patient-reference-reference: When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type Σ 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


..... id 0..1 string Unique id for inter-element referencing
..... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
..... text Σ 0..1 string Plain text representation of the concept
.... actor ΣC 1..1 Reference(no-basis-Patient | no-basis-Practitioner | no-basis-PractitionerRole | no-basis-Location | no-basis-RelatedPerson | Device | no-basis-HealthcareService) When actor is a Patient logical reference MUST be used
ref-1: SHALL have a contained resource if a local reference is provided
.... required Σ 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

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

.... period C 0..1 Period Participation period of the actor
per-1: If present, start SHALL have a lower value than end
... requestedPeriod C 0..* Period Potential date/time interval(s) requested to allocate the appointment within
per-1: If present, start SHALL have a lower value than end

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Appointment.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Appointment.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Appointment.extension:virtualService.extension:channelType.value[x]requiredHnBasisVirtualServiceType
http://helsenorge.no/fhir/ValueSet/hn-basis-virtual-service-type.valueset
from this IG
Appointment.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Appointment.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|4.0.1
from the FHIR Standard
Appointment.cancelationReasonpreferred

urn:oid:2.16.578.1.12.4.1.1.8445

urn:oid:2.16.578.1.12.4.1.1.8445
Appointment.serviceCategoryrequiredHnAppointmentServiceCategoryVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-ServiceCategory-code-vs
from this IG
Appointment.serviceTypeexampleServiceType
http://hl7.org/fhir/ValueSet/service-type
from the FHIR Standard
Appointment.specialtypreferredPracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.appointmentType.coding:omsorgsNivarequired

urn:oid:2.16.578.1.12.4.1.1.8406

urn:oid:2.16.578.1.12.4.1.1.8406
Appointment.appointmentType.coding:kontaktTyperequired

urn:oid:2.16.578.1.12.4.1.1.8432

urn:oid:2.16.578.1.12.4.1.1.8432
Appointment.appointmentType.coding:innbyggerrequired

urn:oid:2.16.578.1.12.4.1.1.7617

urn:oid:2.16.578.1.12.4.1.1.7617
Appointment.appointmentType.coding:helsenorgerequiredHnAppointmentAppointmentTypeVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-AppointmentType-code-vs
from this IG
Appointment.reasonCodepreferredEncounterReasonCodes
http://hl7.org/fhir/ValueSet/encounter-reason
from the FHIR Standard
Appointment.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
from the FHIR Standard
Appointment.participant.requiredrequiredParticipantRequired
http://hl7.org/fhir/ValueSet/participantrequired|4.0.1
from the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
appointment-participant-actor-patient-reference-identifierwarningAppointment.participantWhen actor is a Patient logical reference MUST be used
: actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-referencewarningAppointment.participantWhen actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
: (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inverrorAppointmentCancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
: (status='canceled' and serviceCategory.coding.code='27') implies cancelationReason.exists()
contained-location-must-have-managingorganizationerrorAppointmentContained location must have managing organization
: Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** elementsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-4errorAppointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.serviceType.coding, Appointment.specialty.coding, Appointment.appointmentType.coding, Appointment.reasonCode.coding, Appointment.participant.type.codingIf code is used in a codable consept the system must be used
: code > '' implies (system > '' )
must-be-max-1000-charserrorAppointment.description, Appointment.patientInstructionLength MUST be <= 1000
: $this.length() <= 1000
per-1errorAppointment.identifier.period, Appointment.participant.period, Appointment.requestedPeriodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)
ref-1errorAppointment.identifier.assigner, Appointment.reasonReference, Appointment.supportingInformation, Appointment.slot, Appointment.basedOn, Appointment.participant.actorSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C 0..* NoBasisAppointment 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)
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-6: A resource should have narrative for robust management
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
app-4: Cancelation reason is only used for appointments that have been cancelled, or no-show
app-3: Only proposed or cancelled appointments can be missing start/end dates
app-2: Either start and end are specified, or neither
cancelationReason-inv: Cancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
contained-location-must-have-managingorganization: Contained location must have managing organization
... meta Σ 0..1 Meta Information about use of metadata in FHIR resources in helsenorge:
ele-1: All FHIR elements must have a @value or children
.... lastUpdated Σ 1..1 instant LastUpdated should always be present
ele-1: All FHIR elements must have a @value or children
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension Content/Rules for all slices
.... virtualService S 0..* (Complex) Virtual Service
URL: http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... Slices for extension Content/Rules for all slices
...... extension:channelType 0..1 Extension Extension
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension N 0..0
....... url 1..1 uri "channelType"
....... value[x] 0..1 Coding Valuset for virtual servie.
Binding: Hn Basis VirtualServiceType Value Set (required)
ele-1: All FHIR elements must have a @value or children
...... extension:virtualAddress N 0..1 Extension Contact address/number
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension N 0..0
....... url 1..1 uri "virtualAddress"
...... extension:additionalInfo N 0..* Extension Address to see alternative connection details
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension N 0..0
....... url 1..1 uri "additionalInfo"
...... extension:maxParticipants N 0..1 Extension Maximum number of participants supported by the virtual service.
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension N 0..0
....... url 1..1 uri "maxParticipants"
...... extension:sessionKey N 0..1 Extension Session Key required by the virtual service
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
....... extension N 0..0
....... url 1..1 uri "sessionKey"
..... url 1..1 uri "http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service"
.... group SN 0..1 boolean no-basis-group
URL: http://hl7.no/fhir/StructureDefinition/no-basis-group
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... partOf SN 0..1 Reference(no-basis-Appointment) no-basis-partof
URL: http://hl7.no/fhir/StructureDefinition/no-basis-partof
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... postponementReason 0..1 Coding hn-basis-postponementreason
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-postponementreason
Binding: urn:oid:2.16.578.1.12.4.1.1.8446 (preferred): Volven


ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... consultationType S 0..1 Coding hn-basis-consultationType
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-consultationType
Binding: urn:oid:2.16.578.1.12.4.1.1.9505 (preferred)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... identifier Σ 1..1 Identifier External Ids for this item
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... system Σ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Example General: http://www.acme.com/identifiers/patient
.... value Σ 1..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456
.... assigner ΣC 1..1 Reference(Organization | no-basis-Organization) Organization that issued id (may be just text)
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
... status ?!Σ 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.


ele-1: All FHIR elements must have a @value or children
... cancelationReason Σ 0..1 CodeableConcept Reason for cancelation
Binding: urn:oid:2.16.578.1.12.4.1.1.8445 (preferred)
ele-1: All FHIR elements must have a @value or children
.... coding ΣC 0..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
inv-4: If code is used in a codable consept the system must be used
... serviceCategory Σ 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: hn-appointment-ServiceCategory-code-vs (required)
ele-1: All FHIR elements must have a @value or children
.... coding ΣC 0..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
inv-4: If code is used in a codable consept the system must be used
... appointmentType Σ 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
ele-1: All FHIR elements must have a @value or children
.... Slices for coding ΣC 0..* Coding Recomended code systems for no-basis-Appointment.
Slice: Unordered, Open by value:$this
ele-1: All FHIR elements must have a @value or children
inv-4: If code is used in a codable consept the system must be used
..... coding:omsorgsNiva ΣN 0..1 Coding Volven 8406
Binding: urn:oid:2.16.578.1.12.4.1.1.8406 (required): Volven


ele-1: All FHIR elements must have a @value or children
..... coding:kontaktType ΣN 0..1 Coding Volven 8432
Binding: urn:oid:2.16.578.1.12.4.1.1.8432 (required): Volven


ele-1: All FHIR elements must have a @value or children
..... coding:innbygger ΣN 0..1 Coding Volven 7617
Binding: urn:oid:2.16.578.1.12.4.1.1.7617 (required): Volven


ele-1: All FHIR elements must have a @value or children
..... coding:helsenorge SΣ 0..1 Coding Codes from value set
Binding: hn-appointment-AppointmentType-code-vs (required)
ele-1: All FHIR elements must have a @value or children
... description C 0..1 string Shown on a subject line in a meeting request, or appointment list
ele-1: All FHIR elements must have a @value or children
must-be-max-1000-chars: Length MUST be <= 1000
... supportingInformation C 1..* Reference(Resource) Spesial instructions for use.
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
... patientInstruction C 0..1 string Detailed information and instructions for the patient
ele-1: All FHIR elements must have a @value or children
must-be-max-1000-chars: Length MUST be <= 1000
... participant C 1..* BackboneElement Participants involved in appointment
ele-1: All FHIR elements must have a @value or children
app-1: Either the type or actor on the participant SHALL be specified
appointment-participant-actor-patient-reference-identifier: When actor is a Patient logical reference MUST be used
appointment-participant-actor-patient-reference-reference: When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... actor ΣC 1..1 Reference(no-basis-Patient | no-basis-Practitioner | no-basis-PractitionerRole | no-basis-Location | no-basis-RelatedPerson | Device | no-basis-HealthcareService) When actor is a Patient logical reference MUST be used
ele-1: All FHIR elements must have a @value or children
ref-1: SHALL have a contained resource if a local reference is provided
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.extension:virtualService.extension:channelType.value[x]requiredHnBasisVirtualServiceType
http://helsenorge.no/fhir/ValueSet/hn-basis-virtual-service-type.valueset
from this IG
Appointment.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|4.0.1
from the FHIR Standard
Appointment.cancelationReasonpreferred

urn:oid:2.16.578.1.12.4.1.1.8445

urn:oid:2.16.578.1.12.4.1.1.8445
Appointment.serviceCategoryrequiredHnAppointmentServiceCategoryVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-ServiceCategory-code-vs
from this IG
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.appointmentType.coding:omsorgsNivarequired

urn:oid:2.16.578.1.12.4.1.1.8406

urn:oid:2.16.578.1.12.4.1.1.8406
Appointment.appointmentType.coding:kontaktTyperequired

urn:oid:2.16.578.1.12.4.1.1.8432

urn:oid:2.16.578.1.12.4.1.1.8432
Appointment.appointmentType.coding:innbyggerrequired

urn:oid:2.16.578.1.12.4.1.1.7617

urn:oid:2.16.578.1.12.4.1.1.7617
Appointment.appointmentType.coding:helsenorgerequiredHnAppointmentAppointmentTypeVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-AppointmentType-code-vs
from this IG
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
appointment-participant-actor-patient-reference-identifierwarningAppointment.participantWhen actor is a Patient logical reference MUST be used
: actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-referencewarningAppointment.participantWhen actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
: (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inverrorAppointmentCancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
: (status='canceled' and serviceCategory.coding.code='27') implies cancelationReason.exists()
contained-location-must-have-managingorganizationerrorAppointmentContained location must have managing organization
: Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** elementsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-4errorAppointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.appointmentType.codingIf code is used in a codable consept the system must be used
: code > '' implies (system > '' )
must-be-max-1000-charserrorAppointment.description, Appointment.patientInstructionLength MUST be <= 1000
: $this.length() <= 1000
ref-1errorAppointment.identifier.assigner, Appointment.supportingInformation, Appointment.participant.actorSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

Differential View

This structure is derived from NoBasisAppointment

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C 0..* NoBasisAppointment 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)
cancelationReason-inv: Cancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
contained-location-must-have-managingorganization: Contained location must have managing organization
... meta 0..1 Meta Information about use of metadata in FHIR resources in helsenorge:
.... lastUpdated 1..1 instant LastUpdated should always be present
... Slices for extension Content/Rules for all slices
.... extension:virtualService 0..* NoBasisVirtualService Virtual Service
..... Slices for extension Content/Rules for all slices
...... extension:channelType 0..1 Extension Extension
....... value[x] 0..1 Coding Valuset for virtual servie.
Binding: Hn Basis VirtualServiceType Value Set (required)
.... recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
.... postponementReason 0..1 Coding hn-basis-postponementreason
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-postponementreason
Binding: urn:oid:2.16.578.1.12.4.1.1.8446 (preferred): Volven

.... consultationType S 0..1 Coding hn-basis-consultationType
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-consultationType
Binding: urn:oid:2.16.578.1.12.4.1.1.9505 (preferred)
... identifier 1..1 Identifier External Ids for this item
.... system 1..1 uri The namespace for the identifier value
.... value 1..1 string The value that is unique
.... assigner 1..1 Reference(Organization | no-basis-Organization) Organization that issued id (may be just text)
.... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
... serviceCategory 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: hn-appointment-ServiceCategory-code-vs (required)
.... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
... serviceType
.... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
... specialty
.... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
... appointmentType 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
.... coding C 0..* Coding Recomended code systems for no-basis-Appointment.
inv-4: If code is used in a codable consept the system must be used
.... Slices for coding Content/Rules for all slices
..... coding:helsenorge S 0..1 Coding Codes from value set
Binding: hn-appointment-AppointmentType-code-vs (required)
... reasonCode
.... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
... description C 0..1 string Shown on a subject line in a meeting request, or appointment list
must-be-max-1000-chars: Length MUST be <= 1000
... supportingInformation 1..* Reference(Resource) Spesial instructions for use.
... patientInstruction C 0..1 string Detailed information and instructions for the patient
must-be-max-1000-chars: Length MUST be <= 1000
... participant C 1..* BackboneElement Participants involved in appointment
appointment-participant-actor-patient-reference-identifier: When actor is a Patient logical reference MUST be used
appointment-participant-actor-patient-reference-reference: When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
.... type
..... coding C 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... actor 1..1 Reference(no-basis-Patient | no-basis-Practitioner | no-basis-PractitionerRole | no-basis-Location | no-basis-RelatedPerson | Device | no-basis-HealthcareService) When actor is a Patient logical reference MUST be used

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Appointment.extension:virtualService.extension:channelType.value[x]requiredHnBasisVirtualServiceType
http://helsenorge.no/fhir/ValueSet/hn-basis-virtual-service-type.valueset
from this IG
Appointment.cancelationReasonpreferred

urn:oid:2.16.578.1.12.4.1.1.8445

urn:oid:2.16.578.1.12.4.1.1.8445
Appointment.serviceCategoryrequiredHnAppointmentServiceCategoryVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-ServiceCategory-code-vs
from this IG
Appointment.appointmentType.coding:helsenorgerequiredHnAppointmentAppointmentTypeVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-AppointmentType-code-vs
from this IG

Constraints

IdGradePath(s)DetailsRequirements
appointment-participant-actor-patient-reference-identifierwarningAppointment.participantWhen actor is a Patient logical reference MUST be used
: actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-referencewarningAppointment.participantWhen actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
: (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inverrorAppointmentCancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
: (status='canceled' and serviceCategory.coding.code='27') implies cancelationReason.exists()
contained-location-must-have-managingorganizationerrorAppointmentContained location must have managing organization
: Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
inv-4errorAppointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.serviceType.coding, Appointment.specialty.coding, Appointment.appointmentType.coding, Appointment.reasonCode.coding, Appointment.participant.type.codingIf code is used in a codable consept the system must be used
: code > '' implies (system > '' )
must-be-max-1000-charserrorAppointment.description, Appointment.patientInstructionLength MUST be <= 1000
: $this.length() <= 1000

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Appointment C 0..* NoBasisAppointment 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)
app-4: Cancelation reason is only used for appointments that have been cancelled, or no-show
app-3: Only proposed or cancelled appointments can be missing start/end dates
app-2: Either start and end are specified, or neither
cancelationReason-inv: Cancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
contained-location-must-have-managingorganization: Contained location must have managing organization
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Information about use of metadata in FHIR resources in helsenorge:
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 1..1 instant LastUpdated should always be present
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... virtualService S 0..* (Complex) Virtual Service
URL: http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... extension:channelType 0..1 Extension Extension
....... id 0..1 string Unique id for inter-element referencing
....... extension N 0..0
....... url 1..1 uri "channelType"
....... value[x] 0..1 Coding Valuset for virtual servie.
Binding: Hn Basis VirtualServiceType Value Set (required)
...... extension:virtualAddress N 0..1 Extension Contact address/number
....... id 0..1 string Unique id for inter-element referencing
....... extension N 0..0
....... url 1..1 uri "virtualAddress"
....... value[x] N 0..1 Value of extension
........ valueString string
........ valueUrl url
........ valueContactPoint ContactPoint
...... extension:additionalInfo N 0..* Extension Address to see alternative connection details
....... id 0..1 string Unique id for inter-element referencing
....... extension N 0..0
....... url 1..1 uri "additionalInfo"
....... value[x] N 0..1 url Value of extension
...... extension:maxParticipants N 0..1 Extension Maximum number of participants supported by the virtual service.
....... id 0..1 string Unique id for inter-element referencing
....... extension N 0..0
....... url 1..1 uri "maxParticipants"
....... value[x] N 0..1 positiveInt Value of extension
...... extension:sessionKey N 0..1 Extension Session Key required by the virtual service
....... id 0..1 string Unique id for inter-element referencing
....... extension N 0..0
....... url 1..1 uri "sessionKey"
....... value[x] N 0..1 string Value of extension
..... url 1..1 uri "http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service"
.... group SN 0..1 boolean no-basis-group
URL: http://hl7.no/fhir/StructureDefinition/no-basis-group
.... partOf SN 0..1 Reference(no-basis-Appointment) no-basis-partof
URL: http://hl7.no/fhir/StructureDefinition/no-basis-partof
.... recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
.... postponementReason 0..1 Coding hn-basis-postponementreason
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-postponementreason
Binding: urn:oid:2.16.578.1.12.4.1.1.8446 (preferred): Volven


.... consultationType S 0..1 Coding hn-basis-consultationType
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-consultationType
Binding: urn:oid:2.16.578.1.12.4.1.1.9505 (preferred)
... modifierExtension ?!N 0..* Extension Extensions that cannot be ignored
Slice: Unordered, Open by value:url
... identifier Σ 1..1 Identifier External Ids for this item
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ 1..1 string The value that is unique
Example General: 123456
.... period ΣC 0..1 Period Time period when id is/was valid for use
per-1: If present, start SHALL have a lower value than end
.... assigner ΣC 1..1 Reference(Organization | no-basis-Organization) Organization that issued id (may be just text)
ref-1: SHALL have a contained resource if a local reference is provided
... status ?!Σ 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.

... cancelationReason Σ 0..1 CodeableConcept Reason for cancelation
Binding: urn:oid:2.16.578.1.12.4.1.1.8445 (preferred)
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... text Σ 0..1 string Plain text representation of the concept
... serviceCategory Σ 1..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: hn-appointment-ServiceCategory-code-vs (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... text Σ 0..1 string Plain text representation of the concept
... serviceType Σ 0..* CodeableConcept The specific service that is to be performed during this appointment
Binding: ServiceType (example)
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... text Σ 0..1 string Plain text representation of the concept
... specialty Σ 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred)
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... text Σ 0..1 string Plain text representation of the concept
... appointmentType Σ 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding ΣC 0..* Coding Recomended code systems for no-basis-Appointment.
Slice: Unordered, Open by value:$this
inv-4: If code is used in a codable consept the system must be used
..... coding:omsorgsNiva ΣN 0..1 Coding Volven 8406
Binding: urn:oid:2.16.578.1.12.4.1.1.8406 (required): Volven


..... coding:kontaktType ΣN 0..1 Coding Volven 8432
Binding: urn:oid:2.16.578.1.12.4.1.1.8432 (required): Volven


..... coding:innbygger ΣN 0..1 Coding Volven 7617
Binding: urn:oid:2.16.578.1.12.4.1.1.7617 (required): Volven


..... coding:helsenorge SΣ 0..1 Coding Codes from value set
Binding: hn-appointment-AppointmentType-code-vs (required)
.... text Σ 0..1 string Plain text representation of the concept
... reasonCode Σ 0..* CodeableConcept Coded reason this appointment is scheduled
Binding: EncounterReasonCodes (preferred): The Reason for the appointment to take place.


.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
.... text Σ 0..1 string Plain text representation of the concept
... reasonReference C 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
ref-1: SHALL have a contained resource if a local reference is provided
... priority 0..1 unsignedInt Used to make informed decisions if needing to re-prioritize
... description C 0..1 string Shown on a subject line in a meeting request, or appointment list
must-be-max-1000-chars: Length MUST be <= 1000
... supportingInformation C 1..* Reference(Resource) Spesial instructions for use.
ref-1: SHALL have a contained resource if a local reference is provided
... start Σ 0..1 instant When appointment is to take place
... end Σ 0..1 instant When appointment is to conclude
... minutesDuration 0..1 positiveInt Can be less than start/end (e.g. estimate)
... slot C 0..* Reference(Slot) The slots that this appointment is filling
ref-1: SHALL have a contained resource if a local reference is provided
... created 0..1 dateTime The date that this appointment was initially created
... comment 0..1 string Additional comments
... patientInstruction C 0..1 string Detailed information and instructions for the patient
must-be-max-1000-chars: Length MUST be <= 1000
... basedOn C 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
ref-1: SHALL have a contained resource if a local reference is provided
... participant C 1..* BackboneElement Participants involved in appointment
app-1: Either the type or actor on the participant SHALL be specified
appointment-participant-actor-patient-reference-identifier: When actor is a Patient logical reference MUST be used
appointment-participant-actor-patient-reference-reference: When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
.... id 0..1 string Unique id for inter-element referencing
.... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type Σ 0..* CodeableConcept Role of participant in the appointment
Binding: ParticipantType (extensible): Role of participant in encounter.


..... id 0..1 string Unique id for inter-element referencing
..... extension N 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding ΣC 0..* Coding Code defined by a terminology system
inv-4: If code is used in a codable consept the system must be used
..... text Σ 0..1 string Plain text representation of the concept
.... actor ΣC 1..1 Reference(no-basis-Patient | no-basis-Practitioner | no-basis-PractitionerRole | no-basis-Location | no-basis-RelatedPerson | Device | no-basis-HealthcareService) When actor is a Patient logical reference MUST be used
ref-1: SHALL have a contained resource if a local reference is provided
.... required Σ 0..1 code required | optional | information-only
Binding: ParticipantRequired (required): Is the Participant required to attend the appointment.

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

.... period C 0..1 Period Participation period of the actor
per-1: If present, start SHALL have a lower value than end
... requestedPeriod C 0..* Period Potential date/time interval(s) requested to allocate the appointment within
per-1: If present, start SHALL have a lower value than end

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Appointment.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Appointment.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Appointment.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Appointment.extension:virtualService.extension:channelType.value[x]requiredHnBasisVirtualServiceType
http://helsenorge.no/fhir/ValueSet/hn-basis-virtual-service-type.valueset
from this IG
Appointment.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Appointment.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Appointment.statusrequiredAppointmentStatus
http://hl7.org/fhir/ValueSet/appointmentstatus|4.0.1
from the FHIR Standard
Appointment.cancelationReasonpreferred

urn:oid:2.16.578.1.12.4.1.1.8445

urn:oid:2.16.578.1.12.4.1.1.8445
Appointment.serviceCategoryrequiredHnAppointmentServiceCategoryVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-ServiceCategory-code-vs
from this IG
Appointment.serviceTypeexampleServiceType
http://hl7.org/fhir/ValueSet/service-type
from the FHIR Standard
Appointment.specialtypreferredPracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard
Appointment.appointmentTypepreferredHl7VSAppointmentReasonCodes
http://terminology.hl7.org/ValueSet/v2-0276
Appointment.appointmentType.coding:omsorgsNivarequired

urn:oid:2.16.578.1.12.4.1.1.8406

urn:oid:2.16.578.1.12.4.1.1.8406
Appointment.appointmentType.coding:kontaktTyperequired

urn:oid:2.16.578.1.12.4.1.1.8432

urn:oid:2.16.578.1.12.4.1.1.8432
Appointment.appointmentType.coding:innbyggerrequired

urn:oid:2.16.578.1.12.4.1.1.7617

urn:oid:2.16.578.1.12.4.1.1.7617
Appointment.appointmentType.coding:helsenorgerequiredHnAppointmentAppointmentTypeVS
http://helsenorge.no/fhir/ValueSet/hn-appointment-AppointmentType-code-vs
from this IG
Appointment.reasonCodepreferredEncounterReasonCodes
http://hl7.org/fhir/ValueSet/encounter-reason
from the FHIR Standard
Appointment.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
from the FHIR Standard
Appointment.participant.requiredrequiredParticipantRequired
http://hl7.org/fhir/ValueSet/participantrequired|4.0.1
from the FHIR Standard
Appointment.participant.statusrequiredParticipationStatus
http://hl7.org/fhir/ValueSet/participationstatus|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
app-1errorAppointment.participantEither the type or actor on the participant SHALL be specified
: type.exists() or actor.exists()
app-2errorAppointmentEither start and end are specified, or neither
: start.exists() = end.exists()
app-3errorAppointmentOnly proposed or cancelled appointments can be missing start/end dates
: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4errorAppointmentCancelation reason is only used for appointments that have been cancelled, or no-show
: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
appointment-participant-actor-patient-reference-identifierwarningAppointment.participantWhen actor is a Patient logical reference MUST be used
: actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-referencewarningAppointment.participantWhen actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used
: (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inverrorAppointmentCancelation reason MUST be set when status=cancelled and serviceCategory=27 (that is Specialist Medical)
: (status='canceled' and serviceCategory.coding.code='27') implies cancelationReason.exists()
contained-location-must-have-managingorganizationerrorAppointmentContained location must have managing organization
: Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
dom-2errorAppointmentIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAppointmentIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorAppointmentIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAppointmentA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** elementsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
inv-4errorAppointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.serviceType.coding, Appointment.specialty.coding, Appointment.appointmentType.coding, Appointment.reasonCode.coding, Appointment.participant.type.codingIf code is used in a codable consept the system must be used
: code > '' implies (system > '' )
must-be-max-1000-charserrorAppointment.description, Appointment.patientInstructionLength MUST be <= 1000
: $this.length() <= 1000
per-1errorAppointment.identifier.period, Appointment.participant.period, Appointment.requestedPeriodIf present, start SHALL have a lower value than end
: start.hasValue().not() or end.hasValue().not() or (start <= end)
ref-1errorAppointment.identifier.assigner, Appointment.reasonReference, Appointment.supportingInformation, Appointment.slot, Appointment.basedOn, Appointment.participant.actorSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))

 

Other representations of profile: CSV, Excel, Schematron