0.1.0 - draft
NyTimelosingIG - Local Development build (v0.1.0). See the Directory of published versions
Official URL: http://helsenorge.no/fhir/StructureDefinition/hn-basis-appointment | Version: 0.1.0 | |||
Draft as of 2024-06-01 | Computable Name: HnBasisAppointment |
Base profile for Helsenorge Appointment information. Defined by Helsenorge based on national profile.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from NoBasisAppointment
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
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: | |
extension:virtualService | 0..* | NoBasisVirtualService | Virtual Service | |
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) | |
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 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 |
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-100-chars: Length MUST be <=100. |
supportingInformation | 1..* | Reference(Resource) | Spesial instructions for use. | |
patientInstruction | C | 0..1 | string | Detailed information and instructions for the patient must-be-max-500-chars: Length MUST be <= 500 |
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 | |
Documentation for this format |
Path | Conformance | ValueSet |
Appointment.extension:virtualService.extension:channelType.value[x] | required | HnBasisVirtualServiceType |
Appointment.cancelationReason | preferred |
|
Appointment.serviceCategory | required | HnAppointmentServiceCategoryVS |
Appointment.appointmentType.coding:helsenorge | required | HnAppointmentAppointmentTypeVS |
Id | Grade | Path(s) | Details | Requirements |
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 (that is Specialist Medical) : (status='canceled' and serviceCategory.coding.code='27') 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-100-chars | error | Appointment.description | Length MUST be <=100. : $this.length() <= 100 | |
must-be-max-500-chars | error | Appointment.patientInstruction | Length MUST be <= 500 : $this.length() <= 500 |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
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: |
implicitRules | ?!ΣN | 0..1 | uri | A set of rules under which this content was created |
virtualService | S | 0..* | (Complex) | Virtual Service URL: http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service |
extension:channelType | 0..1 | Extension | Extension | |
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 |
extension | N | 0..0 | ||
url | 1..1 | uri | "virtualAddress" | |
extension:additionalInfo | N | 0..* | Extension | Address to see alternative connection details |
extension | N | 0..0 | ||
url | 1..1 | uri | "additionalInfo" | |
extension:maxParticipants | N | 0..1 | Extension | Maximum number of participants supported by the virtual service. |
extension | N | 0..0 | ||
url | 1..1 | uri | "maxParticipants" | |
extension:sessionKey | N | 0..1 | Extension | Session Key required by the virtual service |
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 |
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 |
use | ?!ΣN | 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 | ΣC | 1..1 | Reference(Organization | no-basis-Organization) | Organization that issued id (may be just text) |
status | ?!ΣN | 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 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 |
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 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) |
description | C | 0..1 | string | Shown on a subject line in a meeting request, or appointment list must-be-max-100-chars: Length MUST be <=100. |
supportingInformation | C | 1..* | Reference(Resource) | Spesial instructions for use. |
patientInstruction | C | 0..1 | string | Detailed information and instructions for the patient must-be-max-500-chars: Length MUST be <= 500 |
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 |
modifierExtension | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
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 |
status | ΣN | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. |
Documentation for this format |
Path | Conformance | ValueSet |
Appointment.extension:virtualService.extension:channelType.value[x] | required | HnBasisVirtualServiceType |
Appointment.identifier.use | required | IdentifierUse |
Appointment.status | required | AppointmentStatus |
Appointment.cancelationReason | preferred |
|
Appointment.serviceCategory | required | HnAppointmentServiceCategoryVS |
Appointment.appointmentType | preferred | Hl7VSAppointmentReasonCodes |
Appointment.appointmentType.coding:omsorgsNiva | required |
|
Appointment.appointmentType.coding:kontaktType | required |
|
Appointment.appointmentType.coding:innbygger | required |
|
Appointment.appointmentType.coding:helsenorge | required | HnAppointmentAppointmentTypeVS |
Appointment.participant.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
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 no-show : Appointment.cancelationReason.exists() implies (Appointment.status='no-show' 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 (that is Specialist Medical) : (status='canceled' and serviceCategory.coding.code='27') 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** elements | 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-100-chars | error | Appointment.description | Length MUST be <=100. : $this.length() <= 100 | |
must-be-max-500-chars | error | Appointment.patientInstruction | Length MUST be <= 500 : $this.length() <= 500 | |
ref-1 | error | Appointment.identifier.assigner, Appointment.supportingInformation, Appointment.participant.actor | SHALL 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')) |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
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 | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Information about use of metadata in FHIR resources in helsenorge: | ||||
implicitRules | ?!ΣN | 0..1 | uri | A set of rules under which this content was created | ||||
language | N | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| ||||
text | N | 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 | ?!ΣN | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | ΣN | 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 | ΣCN | 0..1 | Period | Time period when id is/was valid for use | ||||
assigner | ΣC | 1..1 | Reference(Organization | no-basis-Organization) | Organization that issued id (may be just text) | ||||
status | ?!ΣN | 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 | ΣN | 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 | ΣN | 0..1 | string | Plain text representation of the concept | ||||
serviceType | ΣN | 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 | ΣN | 0..1 | string | Plain text representation of the concept | ||||
specialty | ΣN | 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 | ΣN | 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 | ΣN | 0..1 | string | Plain text representation of the concept | ||||
reasonCode | ΣN | 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 | ΣN | 0..1 | string | Plain text representation of the concept | ||||
reasonReference | CN | 0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | Reason the appointment is to take place (resource) | ||||
priority | N | 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-100-chars: Length MUST be <=100. | ||||
supportingInformation | C | 1..* | Reference(Resource) | Spesial instructions for use. | ||||
start | ΣN | 0..1 | instant | When appointment is to take place | ||||
end | ΣN | 0..1 | instant | When appointment is to conclude | ||||
minutesDuration | N | 0..1 | positiveInt | Can be less than start/end (e.g. estimate) | ||||
slot | CN | 0..* | Reference(Slot) | The slots that this appointment is filling | ||||
created | N | 0..1 | dateTime | The date that this appointment was initially created | ||||
comment | N | 0..1 | string | Additional comments | ||||
patientInstruction | C | 0..1 | string | Detailed information and instructions for the patient must-be-max-500-chars: Length MUST be <= 500 | ||||
basedOn | CN | 0..* | Reference(ServiceRequest) | The service request this appointment is allocated to assess | ||||
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 | ||||
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 | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
type | ΣN | 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 | ΣN | 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 | ||||
required | ΣN | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
status | ΣN | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
period | CN | 0..1 | Period | Participation period of the actor | ||||
requestedPeriod | CN | 0..* | Period | Potential date/time interval(s) requested to allocate the appointment within | ||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Appointment.language | preferred | CommonLanguages
| ||||
Appointment.extension:virtualService.extension:channelType.value[x] | required | HnBasisVirtualServiceType | ||||
Appointment.identifier.use | required | IdentifierUse | ||||
Appointment.identifier.type | extensible | Identifier Type Codes | ||||
Appointment.status | required | AppointmentStatus | ||||
Appointment.cancelationReason | preferred |
| ||||
Appointment.serviceCategory | required | HnAppointmentServiceCategoryVS | ||||
Appointment.serviceType | example | ServiceType | ||||
Appointment.specialty | preferred | PracticeSettingCodeValueSet | ||||
Appointment.appointmentType | preferred | Hl7VSAppointmentReasonCodes | ||||
Appointment.appointmentType.coding:omsorgsNiva | required |
| ||||
Appointment.appointmentType.coding:kontaktType | required |
| ||||
Appointment.appointmentType.coding:innbygger | required |
| ||||
Appointment.appointmentType.coding:helsenorge | required | HnAppointmentAppointmentTypeVS | ||||
Appointment.reasonCode | preferred | EncounterReasonCodes | ||||
Appointment.participant.type | extensible | ParticipantType | ||||
Appointment.participant.required | required | ParticipantRequired | ||||
Appointment.participant.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
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 no-show : Appointment.cancelationReason.exists() implies (Appointment.status='no-show' 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 (that is Specialist Medical) : (status='canceled' and serviceCategory.coding.code='27') 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** elements | 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-100-chars | error | Appointment.description | Length MUST be <=100. : $this.length() <= 100 | |
must-be-max-500-chars | error | Appointment.patientInstruction | Length MUST be <= 500 : $this.length() <= 500 | |
per-1 | error | Appointment.identifier.period, Appointment.participant.period, Appointment.requestedPeriod | If present, start SHALL have a lower value than end : start.hasValue().not() or end.hasValue().not() or (start <= end) | |
ref-1 | error | Appointment.identifier.assigner, Appointment.reasonReference, Appointment.supportingInformation, Appointment.slot, Appointment.basedOn, Appointment.participant.actor | SHALL 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
Summary
Mandatory: 8 elements
Must-Support: 3 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Differential View
This structure is derived from NoBasisAppointment
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
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: | |
extension:virtualService | 0..* | NoBasisVirtualService | Virtual Service | |
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) | |
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 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 |
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-100-chars: Length MUST be <=100. |
supportingInformation | 1..* | Reference(Resource) | Spesial instructions for use. | |
patientInstruction | C | 0..1 | string | Detailed information and instructions for the patient must-be-max-500-chars: Length MUST be <= 500 |
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 | |
Documentation for this format |
Path | Conformance | ValueSet |
Appointment.extension:virtualService.extension:channelType.value[x] | required | HnBasisVirtualServiceType |
Appointment.cancelationReason | preferred |
|
Appointment.serviceCategory | required | HnAppointmentServiceCategoryVS |
Appointment.appointmentType.coding:helsenorge | required | HnAppointmentAppointmentTypeVS |
Id | Grade | Path(s) | Details | Requirements |
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 (that is Specialist Medical) : (status='canceled' and serviceCategory.coding.code='27') 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-100-chars | error | Appointment.description | Length MUST be <=100. : $this.length() <= 100 | |
must-be-max-500-chars | error | Appointment.patientInstruction | Length MUST be <= 500 : $this.length() <= 500 |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
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: |
implicitRules | ?!ΣN | 0..1 | uri | A set of rules under which this content was created |
virtualService | S | 0..* | (Complex) | Virtual Service URL: http://hl7.no/fhir/StructureDefinition/no-basis-virtual-service |
extension:channelType | 0..1 | Extension | Extension | |
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 |
extension | N | 0..0 | ||
url | 1..1 | uri | "virtualAddress" | |
extension:additionalInfo | N | 0..* | Extension | Address to see alternative connection details |
extension | N | 0..0 | ||
url | 1..1 | uri | "additionalInfo" | |
extension:maxParticipants | N | 0..1 | Extension | Maximum number of participants supported by the virtual service. |
extension | N | 0..0 | ||
url | 1..1 | uri | "maxParticipants" | |
extension:sessionKey | N | 0..1 | Extension | Session Key required by the virtual service |
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 |
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 |
use | ?!ΣN | 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 | ΣC | 1..1 | Reference(Organization | no-basis-Organization) | Organization that issued id (may be just text) |
status | ?!ΣN | 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 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 |
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 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) |
description | C | 0..1 | string | Shown on a subject line in a meeting request, or appointment list must-be-max-100-chars: Length MUST be <=100. |
supportingInformation | C | 1..* | Reference(Resource) | Spesial instructions for use. |
patientInstruction | C | 0..1 | string | Detailed information and instructions for the patient must-be-max-500-chars: Length MUST be <= 500 |
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 |
modifierExtension | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
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 |
status | ΣN | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. |
Documentation for this format |
Path | Conformance | ValueSet |
Appointment.extension:virtualService.extension:channelType.value[x] | required | HnBasisVirtualServiceType |
Appointment.identifier.use | required | IdentifierUse |
Appointment.status | required | AppointmentStatus |
Appointment.cancelationReason | preferred |
|
Appointment.serviceCategory | required | HnAppointmentServiceCategoryVS |
Appointment.appointmentType | preferred | Hl7VSAppointmentReasonCodes |
Appointment.appointmentType.coding:omsorgsNiva | required |
|
Appointment.appointmentType.coding:kontaktType | required |
|
Appointment.appointmentType.coding:innbygger | required |
|
Appointment.appointmentType.coding:helsenorge | required | HnAppointmentAppointmentTypeVS |
Appointment.participant.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
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 no-show : Appointment.cancelationReason.exists() implies (Appointment.status='no-show' 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 (that is Specialist Medical) : (status='canceled' and serviceCategory.coding.code='27') 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** elements | 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-100-chars | error | Appointment.description | Length MUST be <=100. : $this.length() <= 100 | |
must-be-max-500-chars | error | Appointment.patientInstruction | Length MUST be <= 500 : $this.length() <= 500 | |
ref-1 | error | Appointment.identifier.assigner, Appointment.supportingInformation, Appointment.participant.actor | SHALL 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')) |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
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 | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Information about use of metadata in FHIR resources in helsenorge: | ||||
implicitRules | ?!ΣN | 0..1 | uri | A set of rules under which this content was created | ||||
language | N | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| ||||
text | N | 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 | ?!ΣN | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
type | ΣN | 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 | ΣCN | 0..1 | Period | Time period when id is/was valid for use | ||||
assigner | ΣC | 1..1 | Reference(Organization | no-basis-Organization) | Organization that issued id (may be just text) | ||||
status | ?!ΣN | 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 | ΣN | 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 | ΣN | 0..1 | string | Plain text representation of the concept | ||||
serviceType | ΣN | 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 | ΣN | 0..1 | string | Plain text representation of the concept | ||||
specialty | ΣN | 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 | ΣN | 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 | ΣN | 0..1 | string | Plain text representation of the concept | ||||
reasonCode | ΣN | 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 | ΣN | 0..1 | string | Plain text representation of the concept | ||||
reasonReference | CN | 0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | Reason the appointment is to take place (resource) | ||||
priority | N | 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-100-chars: Length MUST be <=100. | ||||
supportingInformation | C | 1..* | Reference(Resource) | Spesial instructions for use. | ||||
start | ΣN | 0..1 | instant | When appointment is to take place | ||||
end | ΣN | 0..1 | instant | When appointment is to conclude | ||||
minutesDuration | N | 0..1 | positiveInt | Can be less than start/end (e.g. estimate) | ||||
slot | CN | 0..* | Reference(Slot) | The slots that this appointment is filling | ||||
created | N | 0..1 | dateTime | The date that this appointment was initially created | ||||
comment | N | 0..1 | string | Additional comments | ||||
patientInstruction | C | 0..1 | string | Detailed information and instructions for the patient must-be-max-500-chars: Length MUST be <= 500 | ||||
basedOn | CN | 0..* | Reference(ServiceRequest) | The service request this appointment is allocated to assess | ||||
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 | ||||
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 | ?!ΣN | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
type | ΣN | 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 | ΣN | 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 | ||||
required | ΣN | 0..1 | code | required | optional | information-only Binding: ParticipantRequired (required): Is the Participant required to attend the appointment. | ||||
status | ΣN | 1..1 | code | accepted | declined | tentative | needs-action Binding: ParticipationStatus (required): The Participation status of an appointment. | ||||
period | CN | 0..1 | Period | Participation period of the actor | ||||
requestedPeriod | CN | 0..* | Period | Potential date/time interval(s) requested to allocate the appointment within | ||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Appointment.language | preferred | CommonLanguages
| ||||
Appointment.extension:virtualService.extension:channelType.value[x] | required | HnBasisVirtualServiceType | ||||
Appointment.identifier.use | required | IdentifierUse | ||||
Appointment.identifier.type | extensible | Identifier Type Codes | ||||
Appointment.status | required | AppointmentStatus | ||||
Appointment.cancelationReason | preferred |
| ||||
Appointment.serviceCategory | required | HnAppointmentServiceCategoryVS | ||||
Appointment.serviceType | example | ServiceType | ||||
Appointment.specialty | preferred | PracticeSettingCodeValueSet | ||||
Appointment.appointmentType | preferred | Hl7VSAppointmentReasonCodes | ||||
Appointment.appointmentType.coding:omsorgsNiva | required |
| ||||
Appointment.appointmentType.coding:kontaktType | required |
| ||||
Appointment.appointmentType.coding:innbygger | required |
| ||||
Appointment.appointmentType.coding:helsenorge | required | HnAppointmentAppointmentTypeVS | ||||
Appointment.reasonCode | preferred | EncounterReasonCodes | ||||
Appointment.participant.type | extensible | ParticipantType | ||||
Appointment.participant.required | required | ParticipantRequired | ||||
Appointment.participant.status | required | ParticipationStatus |
Id | Grade | Path(s) | Details | Requirements |
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 no-show : Appointment.cancelationReason.exists() implies (Appointment.status='no-show' 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 (that is Specialist Medical) : (status='canceled' and serviceCategory.coding.code='27') 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** elements | 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-100-chars | error | Appointment.description | Length MUST be <=100. : $this.length() <= 100 | |
must-be-max-500-chars | error | Appointment.patientInstruction | Length MUST be <= 500 : $this.length() <= 500 | |
per-1 | error | Appointment.identifier.period, Appointment.participant.period, Appointment.requestedPeriod | If present, start SHALL have a lower value than end : start.hasValue().not() or end.hasValue().not() or (start <= end) | |
ref-1 | error | Appointment.identifier.assigner, Appointment.reasonReference, Appointment.supportingInformation, Appointment.slot, Appointment.basedOn, Appointment.participant.actor | SHALL 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
Summary
Mandatory: 8 elements
Must-Support: 3 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Other representations of profile: CSV, Excel, Schematron