1.0.1 - draft

NyTimelosingIG - Local Development build (v1.0.1) 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: 1.0.1
Draft as of 2025-12-02 Computable Name: HnBasisAppointment

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

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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)
Constraints: app-2, app-3, app-4, cancelationReason-inv, contained-location-must-have-managingorganization
... meta Σ 0..1 Meta Information about use of metadata in FHIR resources in helsenorge:
.... lastUpdated Σ 1..1 instant LastUpdated should always be present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:virtualService 0..* (Complex) Virtual Service
URL: http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service
..... Slices for extension Content/Rules for all slices
...... extension:channelType 0..1 Extension Extension
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "channelType"
....... value[x] 0..1 Coding Valuset for virtual servie.
Binding: Hn Basis VirtualServiceType Value Set (required)
...... extension:virtualAddress 0..1 Extension Contact address/number
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "virtualAddress"
...... extension:additionalInfo 0..* Extension Address to see alternative connection details
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "additionalInfo"
...... extension:maxParticipants 0..1 Extension Maximum number of participants supported by the virtual service.
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "maxParticipants"
...... extension:sessionKey 0..1 Extension Session Key required by the virtual service
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "sessionKey"
..... url 1..1 uri "http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service"
.... extension:group 0..1 boolean no-basis-group
URL: http://hl7.no/fhir/StructureDefinition/no-basis-group
.... extension:partOf 0..1 Reference(no-basis-Appointment) no-basis-partof
URL: http://hl7.no/fhir/StructureDefinition/no-basis-partof
.... extension:recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
.... extension: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
.... extension: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
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... 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
.... assigner Σ 1..1 Reference(Organization | no-basis-Organization(2.0.15)) Organization that issued id (may be just text)
... 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)
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
... 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
Constraints: inv-4
... appointmentType Σ 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
.... Slices for coding ΣC 0..* Coding Recomended code systems for no-basis-Appointment.
Slice: Unordered, Open by value:$this
Constraints: inv-4
..... coding:omsorgsNiva Σ 0..1 Coding Volven 8406
Binding: urn:oid:2.16.578.1.12.4.1.1.8406 (required): Volven
..... coding:kontaktType Σ 0..1 Coding Volven 8432
Binding: urn:oid:2.16.578.1.12.4.1.1.8432 (required): Volven
..... coding:innbygger Σ 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)
... description C 0..1 string Shown on a subject line in a meeting request, or appointment list
Constraints: must-be-max-1000-chars
... supportingInformation 1..* Reference(Resource) Spesial instructions for use.
... patientInstruction C 0..1 string Detailed information and instructions for the patient
Constraints: must-be-max-1000-chars
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1, appointment-participant-actor-patient-reference-identifier, appointment-participant-actor-patient-reference-reference
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... 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
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.extension:virtualService.​extension:channelType.​value[x] Base required Hn Basis VirtualServiceType Value Set 📦1.0.1 This IG
Appointment.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.cancelationReason Base preferred

urn:oid:2.16.578.1.12.4.1.1.8445

Not State Unknown
Appointment.serviceCategory Base required hn-appointment-ServiceCategory-code-vs 📦1.0.1 This IG
Appointment.appointmentType Base preferred hl7VS-appointmentReasonCodes 📦2.0.0 THO v7.0
Appointment.appointmentType.​coding:omsorgsNiva Base required

urn:oid:2.16.578.1.12.4.1.1.8406

Not State Unknown
Appointment.appointmentType.​coding:kontaktType Base required

urn:oid:2.16.578.1.12.4.1.1.8432

Not State Unknown
Appointment.appointmentType.​coding:innbygger Base required

urn:oid:2.16.578.1.12.4.1.1.7617

Not State Unknown
Appointment.appointmentType.​coding:helsenorge Base required hn-appointment-AppointmentType-code-vs 📦1.0.1 This IG
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
app-1 error Appointment.participant Either the type or actor on the participant SHALL be specified type.exists() or actor.exists()
app-2 error Appointment Either start and end are specified, or neither start.exists() = end.exists()
app-3 error Appointment Only proposed or cancelled appointments can be missing start/end dates (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4 error Appointment Cancelation reason is only used for appointments that have been cancelled, or noshow Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')
appointment-participant-actor-patient-reference-identifier warning Appointment.participant When actor is a Patient logical reference MUST be used actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-reference warning Appointment.participant When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inv error Appointment Cancelation reason MUST be set when status=cancelled and serviceCategory=27 or 30 (that is Specialist Medical or Radiology) (status = 'canceled' and (serviceCategory.coding.code = '27' or serviceCategory.coding.code = '30')) implies cancelationReason.exists()
contained-location-must-have-managingorganization error Appointment Contained location must have managing organization Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
dom-2 error Appointment If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Appointment 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 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-4 error Appointment If 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-5 error Appointment If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Appointment A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-4 error Appointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.appointmentType.coding If code is used in a codable consept the system must be used code > '' implies (system > '' )
must-be-max-1000-chars error Appointment.description, Appointment.patientInstruction Length MUST be <= 1000 $this.length() <= 1000

This structure is derived from NoBasisAppointment

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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)
Constraints: cancelationReason-inv, contained-location-must-have-managingorganization
... 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)
.... extension:recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
.... extension: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
.... extension: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(2.0.15)) Organization that issued id (may be just text)
.... coding C 0..* Coding Code defined by a terminology system
Constraints: inv-4
... 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
Constraints: inv-4
... serviceType
.... coding C 0..* Coding Code defined by a terminology system
Constraints: inv-4
... specialty
.... coding C 0..* Coding Code defined by a terminology system
Constraints: inv-4
... 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.
Constraints: inv-4
.... 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
Constraints: inv-4
... description C 0..1 string Shown on a subject line in a meeting request, or appointment list
Constraints: must-be-max-1000-chars
... supportingInformation 1..* Reference(Resource) Spesial instructions for use.
... patientInstruction C 0..1 string Detailed information and instructions for the patient
Constraints: must-be-max-1000-chars
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: appointment-participant-actor-patient-reference-identifier, appointment-participant-actor-patient-reference-reference
.... type
..... coding C 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... 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)

Path Status Usage ValueSet Version Source
Appointment.extension:virtualService.​extension:channelType.​value[x] Base required Hn Basis VirtualServiceType Value Set 📦1.0.1 This IG
Appointment.cancelationReason Base preferred

urn:oid:2.16.578.1.12.4.1.1.8445

Not State Unknown
Appointment.serviceCategory Base required hn-appointment-ServiceCategory-code-vs 📦1.0.1 This IG
Appointment.appointmentType.​coding:helsenorge Base required hn-appointment-AppointmentType-code-vs 📦1.0.1 This IG

Constraints

Id Grade Path(s) Description Expression
appointment-participant-actor-patient-reference-identifier warning Appointment.participant When actor is a Patient logical reference MUST be used actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-reference warning Appointment.participant When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inv error Appointment Cancelation reason MUST be set when status=cancelled and serviceCategory=27 or 30 (that is Specialist Medical or Radiology) (status = 'canceled' and (serviceCategory.coding.code = '27' or serviceCategory.coding.code = '30')) implies cancelationReason.exists()
contained-location-must-have-managingorganization error Appointment Contained location must have managing organization Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
inv-4 error Appointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.serviceType.coding, Appointment.specialty.coding, Appointment.appointmentType.coding, Appointment.reasonCode.coding, Appointment.participant.type.coding If code is used in a codable consept the system must be used code > '' implies (system > '' )
must-be-max-1000-chars error Appointment.description, Appointment.patientInstruction Length MUST be <= 1000 $this.length() <= 1000
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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)
Constraints: app-2, app-3, app-4, cancelationReason-inv, contained-location-must-have-managingorganization
... 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 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:virtualService 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 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 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "channelType"
....... value[x] 0..1 Coding Valuset for virtual servie.
Binding: Hn Basis VirtualServiceType Value Set (required)
...... extension:virtualAddress 0..1 Extension Contact address/number
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "virtualAddress"
....... value[x] 0..1 Value of extension
........ valueString string
........ valueUrl url
........ valueContactPoint ContactPoint
...... extension:additionalInfo 0..* Extension Address to see alternative connection details
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "additionalInfo"
....... value[x] 0..1 url Value of extension
...... extension:maxParticipants 0..1 Extension Maximum number of participants supported by the virtual service.
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "maxParticipants"
....... value[x] 0..1 positiveInt Value of extension
...... extension:sessionKey 0..1 Extension Session Key required by the virtual service
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "sessionKey"
....... value[x] 0..1 string Value of extension
..... url 1..1 uri "http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service"
.... extension:group 0..1 boolean no-basis-group
URL: http://hl7.no/fhir/StructureDefinition/no-basis-group
.... extension:partOf 0..1 Reference(no-basis-Appointment) no-basis-partof
URL: http://hl7.no/fhir/StructureDefinition/no-basis-partof
.... extension:recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
.... extension: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
.... extension: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 ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..1 Identifier External Ids for this item
.... id 0..1 string Unique id for inter-element referencing
.... extension 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 Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 1..1 Reference(Organization | no-basis-Organization(2.0.15)) Organization that issued id (may be just text)
... 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... 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 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
Constraints: inv-4
..... coding:omsorgsNiva Σ 0..1 Coding Volven 8406
Binding: urn:oid:2.16.578.1.12.4.1.1.8406 (required): Volven
..... coding:kontaktType Σ 0..1 Coding Volven 8432
Binding: urn:oid:2.16.578.1.12.4.1.1.8432 (required): Volven
..... coding:innbygger Σ 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... text Σ 0..1 string Plain text representation of the concept
... reasonReference 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
... 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
Constraints: must-be-max-1000-chars
... supportingInformation 1..* Reference(Resource) Spesial instructions for use.
... 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 0..* Reference(Slot) The slots that this appointment is filling
... created 0..1 dateTime The date that this appointment was initially created
... comment 0..1 string Additional comments
... patientInstruction C 0..1 string Detailed information and instructions for the patient
Constraints: must-be-max-1000-chars
... basedOn 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1, appointment-participant-actor-patient-reference-identifier, appointment-participant-actor-patient-reference-reference
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
..... text Σ 0..1 string Plain text representation of the concept
.... 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
.... 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 0..1 Period Participation period of the actor
... requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Appointment.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Appointment.language Base preferred Common Languages 📦4.0.1 FHIR Std.
Appointment.extension:virtualService.​extension:channelType.​value[x] Base required Hn Basis VirtualServiceType Value Set 📦1.0.1 This IG
Appointment.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.cancelationReason Base preferred

urn:oid:2.16.578.1.12.4.1.1.8445

Not State Unknown
Appointment.serviceCategory Base required hn-appointment-ServiceCategory-code-vs 📦1.0.1 This IG
Appointment.serviceType Base example Service type 📦4.0.1 FHIR Std.
Appointment.specialty Base preferred Practice Setting Code Value Set 📦4.0.1 FHIR Std.
Appointment.appointmentType Base preferred hl7VS-appointmentReasonCodes 📦2.0.0 THO v7.0
Appointment.appointmentType.​coding:omsorgsNiva Base required

urn:oid:2.16.578.1.12.4.1.1.8406

Not State Unknown
Appointment.appointmentType.​coding:kontaktType Base required

urn:oid:2.16.578.1.12.4.1.1.8432

Not State Unknown
Appointment.appointmentType.​coding:innbygger Base required

urn:oid:2.16.578.1.12.4.1.1.7617

Not State Unknown
Appointment.appointmentType.​coding:helsenorge Base required hn-appointment-AppointmentType-code-vs 📦1.0.1 This IG
Appointment.reasonCode Base preferred Encounter Reason Codes 📦4.0.1 FHIR Std.
Appointment.participant.​type Base extensible Participant type 📦4.0.1 FHIR Std.
Appointment.participant.​required Base required ParticipantRequired 📍4.0.1 FHIR Std.
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
app-1 error Appointment.participant Either the type or actor on the participant SHALL be specified type.exists() or actor.exists()
app-2 error Appointment Either start and end are specified, or neither start.exists() = end.exists()
app-3 error Appointment Only proposed or cancelled appointments can be missing start/end dates (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4 error Appointment Cancelation reason is only used for appointments that have been cancelled, or noshow Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')
appointment-participant-actor-patient-reference-identifier warning Appointment.participant When actor is a Patient logical reference MUST be used actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-reference warning Appointment.participant When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inv error Appointment Cancelation reason MUST be set when status=cancelled and serviceCategory=27 or 30 (that is Specialist Medical or Radiology) (status = 'canceled' and (serviceCategory.coding.code = '27' or serviceCategory.coding.code = '30')) implies cancelationReason.exists()
contained-location-must-have-managingorganization error Appointment Contained location must have managing organization Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
dom-2 error Appointment If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Appointment 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 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-4 error Appointment If 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-5 error Appointment If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Appointment A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-4 error Appointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.serviceType.coding, Appointment.specialty.coding, Appointment.appointmentType.coding, Appointment.reasonCode.coding, Appointment.participant.type.coding If code is used in a codable consept the system must be used code > '' implies (system > '' )
must-be-max-1000-chars error Appointment.description, Appointment.patientInstruction Length MUST be <= 1000 $this.length() <= 1000

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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)
Constraints: app-2, app-3, app-4, cancelationReason-inv, contained-location-must-have-managingorganization
... meta Σ 0..1 Meta Information about use of metadata in FHIR resources in helsenorge:
.... lastUpdated Σ 1..1 instant LastUpdated should always be present
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... extension:virtualService 0..* (Complex) Virtual Service
URL: http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service
..... Slices for extension Content/Rules for all slices
...... extension:channelType 0..1 Extension Extension
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "channelType"
....... value[x] 0..1 Coding Valuset for virtual servie.
Binding: Hn Basis VirtualServiceType Value Set (required)
...... extension:virtualAddress 0..1 Extension Contact address/number
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "virtualAddress"
...... extension:additionalInfo 0..* Extension Address to see alternative connection details
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "additionalInfo"
...... extension:maxParticipants 0..1 Extension Maximum number of participants supported by the virtual service.
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "maxParticipants"
...... extension:sessionKey 0..1 Extension Session Key required by the virtual service
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "sessionKey"
..... url 1..1 uri "http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service"
.... extension:group 0..1 boolean no-basis-group
URL: http://hl7.no/fhir/StructureDefinition/no-basis-group
.... extension:partOf 0..1 Reference(no-basis-Appointment) no-basis-partof
URL: http://hl7.no/fhir/StructureDefinition/no-basis-partof
.... extension:recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
.... extension: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
.... extension: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
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... 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
.... assigner Σ 1..1 Reference(Organization | no-basis-Organization(2.0.15)) Organization that issued id (may be just text)
... 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)
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
... 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
Constraints: inv-4
... appointmentType Σ 1..1 CodeableConcept The style of appointment or patient that has been booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
.... Slices for coding ΣC 0..* Coding Recomended code systems for no-basis-Appointment.
Slice: Unordered, Open by value:$this
Constraints: inv-4
..... coding:omsorgsNiva Σ 0..1 Coding Volven 8406
Binding: urn:oid:2.16.578.1.12.4.1.1.8406 (required): Volven
..... coding:kontaktType Σ 0..1 Coding Volven 8432
Binding: urn:oid:2.16.578.1.12.4.1.1.8432 (required): Volven
..... coding:innbygger Σ 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)
... description C 0..1 string Shown on a subject line in a meeting request, or appointment list
Constraints: must-be-max-1000-chars
... supportingInformation 1..* Reference(Resource) Spesial instructions for use.
... patientInstruction C 0..1 string Detailed information and instructions for the patient
Constraints: must-be-max-1000-chars
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1, appointment-participant-actor-patient-reference-identifier, appointment-participant-actor-patient-reference-reference
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... 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
.... status Σ 1..1 code accepted | declined | tentative | needs-action
Binding: ParticipationStatus (required): The Participation status of an appointment.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.extension:virtualService.​extension:channelType.​value[x] Base required Hn Basis VirtualServiceType Value Set 📦1.0.1 This IG
Appointment.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.cancelationReason Base preferred

urn:oid:2.16.578.1.12.4.1.1.8445

Not State Unknown
Appointment.serviceCategory Base required hn-appointment-ServiceCategory-code-vs 📦1.0.1 This IG
Appointment.appointmentType Base preferred hl7VS-appointmentReasonCodes 📦2.0.0 THO v7.0
Appointment.appointmentType.​coding:omsorgsNiva Base required

urn:oid:2.16.578.1.12.4.1.1.8406

Not State Unknown
Appointment.appointmentType.​coding:kontaktType Base required

urn:oid:2.16.578.1.12.4.1.1.8432

Not State Unknown
Appointment.appointmentType.​coding:innbygger Base required

urn:oid:2.16.578.1.12.4.1.1.7617

Not State Unknown
Appointment.appointmentType.​coding:helsenorge Base required hn-appointment-AppointmentType-code-vs 📦1.0.1 This IG
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
app-1 error Appointment.participant Either the type or actor on the participant SHALL be specified type.exists() or actor.exists()
app-2 error Appointment Either start and end are specified, or neither start.exists() = end.exists()
app-3 error Appointment Only proposed or cancelled appointments can be missing start/end dates (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4 error Appointment Cancelation reason is only used for appointments that have been cancelled, or noshow Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')
appointment-participant-actor-patient-reference-identifier warning Appointment.participant When actor is a Patient logical reference MUST be used actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-reference warning Appointment.participant When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inv error Appointment Cancelation reason MUST be set when status=cancelled and serviceCategory=27 or 30 (that is Specialist Medical or Radiology) (status = 'canceled' and (serviceCategory.coding.code = '27' or serviceCategory.coding.code = '30')) implies cancelationReason.exists()
contained-location-must-have-managingorganization error Appointment Contained location must have managing organization Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
dom-2 error Appointment If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Appointment 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 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-4 error Appointment If 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-5 error Appointment If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Appointment A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-4 error Appointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.appointmentType.coding If code is used in a codable consept the system must be used code > '' implies (system > '' )
must-be-max-1000-chars error Appointment.description, Appointment.patientInstruction Length MUST be <= 1000 $this.length() <= 1000

Differential View

This structure is derived from NoBasisAppointment

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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)
Constraints: cancelationReason-inv, contained-location-must-have-managingorganization
... 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)
.... extension:recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
.... extension: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
.... extension: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(2.0.15)) Organization that issued id (may be just text)
.... coding C 0..* Coding Code defined by a terminology system
Constraints: inv-4
... 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
Constraints: inv-4
... serviceType
.... coding C 0..* Coding Code defined by a terminology system
Constraints: inv-4
... specialty
.... coding C 0..* Coding Code defined by a terminology system
Constraints: inv-4
... 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.
Constraints: inv-4
.... 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
Constraints: inv-4
... description C 0..1 string Shown on a subject line in a meeting request, or appointment list
Constraints: must-be-max-1000-chars
... supportingInformation 1..* Reference(Resource) Spesial instructions for use.
... patientInstruction C 0..1 string Detailed information and instructions for the patient
Constraints: must-be-max-1000-chars
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: appointment-participant-actor-patient-reference-identifier, appointment-participant-actor-patient-reference-reference
.... type
..... coding C 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... 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)

Path Status Usage ValueSet Version Source
Appointment.extension:virtualService.​extension:channelType.​value[x] Base required Hn Basis VirtualServiceType Value Set 📦1.0.1 This IG
Appointment.cancelationReason Base preferred

urn:oid:2.16.578.1.12.4.1.1.8445

Not State Unknown
Appointment.serviceCategory Base required hn-appointment-ServiceCategory-code-vs 📦1.0.1 This IG
Appointment.appointmentType.​coding:helsenorge Base required hn-appointment-AppointmentType-code-vs 📦1.0.1 This IG

Constraints

Id Grade Path(s) Description Expression
appointment-participant-actor-patient-reference-identifier warning Appointment.participant When actor is a Patient logical reference MUST be used actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-reference warning Appointment.participant When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inv error Appointment Cancelation reason MUST be set when status=cancelled and serviceCategory=27 or 30 (that is Specialist Medical or Radiology) (status = 'canceled' and (serviceCategory.coding.code = '27' or serviceCategory.coding.code = '30')) implies cancelationReason.exists()
contained-location-must-have-managingorganization error Appointment Contained location must have managing organization Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
inv-4 error Appointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.serviceType.coding, Appointment.specialty.coding, Appointment.appointmentType.coding, Appointment.reasonCode.coding, Appointment.participant.type.coding If code is used in a codable consept the system must be used code > '' implies (system > '' )
must-be-max-1000-chars error Appointment.description, Appointment.patientInstruction Length MUST be <= 1000 $this.length() <= 1000

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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)
Constraints: app-2, app-3, app-4, cancelationReason-inv, contained-location-must-have-managingorganization
... 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 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:virtualService 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 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 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "channelType"
....... value[x] 0..1 Coding Valuset for virtual servie.
Binding: Hn Basis VirtualServiceType Value Set (required)
...... extension:virtualAddress 0..1 Extension Contact address/number
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "virtualAddress"
....... value[x] 0..1 Value of extension
........ valueString string
........ valueUrl url
........ valueContactPoint ContactPoint
...... extension:additionalInfo 0..* Extension Address to see alternative connection details
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "additionalInfo"
....... value[x] 0..1 url Value of extension
...... extension:maxParticipants 0..1 Extension Maximum number of participants supported by the virtual service.
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "maxParticipants"
....... value[x] 0..1 positiveInt Value of extension
...... extension:sessionKey 0..1 Extension Session Key required by the virtual service
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..0 Extension
Slice: Unordered, Open by value:url
....... url 1..1 uri "sessionKey"
....... value[x] 0..1 string Value of extension
..... url 1..1 uri "http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service"
.... extension:group 0..1 boolean no-basis-group
URL: http://hl7.no/fhir/StructureDefinition/no-basis-group
.... extension:partOf 0..1 Reference(no-basis-Appointment) no-basis-partof
URL: http://hl7.no/fhir/StructureDefinition/no-basis-partof
.... extension:recurring S 0..1 boolean no-basis-recurring
URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-Recurring
.... extension: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
.... extension: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 ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..1 Identifier External Ids for this item
.... id 0..1 string Unique id for inter-element referencing
.... extension 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 Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 1..1 Reference(Organization | no-basis-Organization(2.0.15)) Organization that issued id (may be just text)
... 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... 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 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
Constraints: inv-4
..... coding:omsorgsNiva Σ 0..1 Coding Volven 8406
Binding: urn:oid:2.16.578.1.12.4.1.1.8406 (required): Volven
..... coding:kontaktType Σ 0..1 Coding Volven 8432
Binding: urn:oid:2.16.578.1.12.4.1.1.8432 (required): Volven
..... coding:innbygger Σ 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
.... text Σ 0..1 string Plain text representation of the concept
... reasonReference 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Reason the appointment is to take place (resource)
... 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
Constraints: must-be-max-1000-chars
... supportingInformation 1..* Reference(Resource) Spesial instructions for use.
... 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 0..* Reference(Slot) The slots that this appointment is filling
... created 0..1 dateTime The date that this appointment was initially created
... comment 0..1 string Additional comments
... patientInstruction C 0..1 string Detailed information and instructions for the patient
Constraints: must-be-max-1000-chars
... basedOn 0..* Reference(ServiceRequest) The service request this appointment is allocated to assess
... participant C 1..* BackboneElement Participants involved in appointment
Constraints: app-1, appointment-participant-actor-patient-reference-identifier, appointment-participant-actor-patient-reference-reference
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... 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 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... coding ΣC 0..* Coding Code defined by a terminology system
Constraints: inv-4
..... text Σ 0..1 string Plain text representation of the concept
.... 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
.... 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 0..1 Period Participation period of the actor
... requestedPeriod 0..* Period Potential date/time interval(s) requested to allocate the appointment within

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Appointment.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Appointment.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Appointment.language Base preferred Common Languages 📦4.0.1 FHIR Std.
Appointment.extension:virtualService.​extension:channelType.​value[x] Base required Hn Basis VirtualServiceType Value Set 📦1.0.1 This IG
Appointment.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Appointment.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Appointment.status Base required AppointmentStatus 📍4.0.1 FHIR Std.
Appointment.cancelationReason Base preferred

urn:oid:2.16.578.1.12.4.1.1.8445

Not State Unknown
Appointment.serviceCategory Base required hn-appointment-ServiceCategory-code-vs 📦1.0.1 This IG
Appointment.serviceType Base example Service type 📦4.0.1 FHIR Std.
Appointment.specialty Base preferred Practice Setting Code Value Set 📦4.0.1 FHIR Std.
Appointment.appointmentType Base preferred hl7VS-appointmentReasonCodes 📦2.0.0 THO v7.0
Appointment.appointmentType.​coding:omsorgsNiva Base required

urn:oid:2.16.578.1.12.4.1.1.8406

Not State Unknown
Appointment.appointmentType.​coding:kontaktType Base required

urn:oid:2.16.578.1.12.4.1.1.8432

Not State Unknown
Appointment.appointmentType.​coding:innbygger Base required

urn:oid:2.16.578.1.12.4.1.1.7617

Not State Unknown
Appointment.appointmentType.​coding:helsenorge Base required hn-appointment-AppointmentType-code-vs 📦1.0.1 This IG
Appointment.reasonCode Base preferred Encounter Reason Codes 📦4.0.1 FHIR Std.
Appointment.participant.​type Base extensible Participant type 📦4.0.1 FHIR Std.
Appointment.participant.​required Base required ParticipantRequired 📍4.0.1 FHIR Std.
Appointment.participant.​status Base required ParticipationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
app-1 error Appointment.participant Either the type or actor on the participant SHALL be specified type.exists() or actor.exists()
app-2 error Appointment Either start and end are specified, or neither start.exists() = end.exists()
app-3 error Appointment Only proposed or cancelled appointments can be missing start/end dates (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
app-4 error Appointment Cancelation reason is only used for appointments that have been cancelled, or noshow Appointment.cancelationReason.exists() implies (Appointment.status='noshow' or Appointment.status='cancelled')
appointment-participant-actor-patient-reference-identifier warning Appointment.participant When actor is a Patient logical reference MUST be used actor.type = 'Patient' implies actor.identifier.exists()
appointment-participant-actor-patient-reference-reference warning Appointment.participant When actor is a Patient literal reference (relative, internal or absolute) reference MUST not be used (actor.type = 'Patient') implies actor.reference.exists().not()
cancelationReason-inv error Appointment Cancelation reason MUST be set when status=cancelled and serviceCategory=27 or 30 (that is Specialist Medical or Radiology) (status = 'canceled' and (serviceCategory.coding.code = '27' or serviceCategory.coding.code = '30')) implies cancelationReason.exists()
contained-location-must-have-managingorganization error Appointment Contained location must have managing organization Appointment.contained.where($this is Location).empty() or Appointment.contained.where($this is Location).all(managingOrganization.exists())
dom-2 error Appointment If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Appointment 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 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-4 error Appointment If 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-5 error Appointment If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Appointment A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
inv-4 error Appointment.cancelationReason.coding, Appointment.serviceCategory.coding, Appointment.serviceType.coding, Appointment.specialty.coding, Appointment.appointmentType.coding, Appointment.reasonCode.coding, Appointment.participant.type.coding If code is used in a codable consept the system must be used code > '' implies (system > '' )
must-be-max-1000-chars error Appointment.description, Appointment.patientInstruction Length MUST be <= 1000 $this.length() <= 1000

 

Other representations of profile: CSV, Excel, Schematron