1.0.0 - Release

This page is part of the KLGatewayRehab (v1.0.0: Release) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: KLGateway140Encounter

Official URL: http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-encounter Version: 1.0.0
Active as of 2023-09-28 Computable Name: KLGateway140Encounter

Encounter for first planned visits and all executed activities in a §140 care pathway

Scope and usage

klgateway-140-encounter is used whenever a citizen meets the rehabilitation staff in a Danish municipality context.

In the context of the rehabilitation repporting, all Encounter.status values may be used, but not all are mandatory. The mandatory part is:

  • To report all carried out encounters. For encounters carried out, use Encounter.status ‘finished’.
  • To report errors using status ‘entered-in-error’

Enconters that are planned, but not carried out are possible to report but not mandatory.

Encounter.class is mandatory in FHIR. In Danish municipalities, the values are used as follows.

  • Visits in citizens homes have the code ‘HH’ home health, the code is also used for services that are not strictly health related e.g. help with cleaning. This code is also used, even if the activities stretch outside the citizens residence e.g. a physiotherapist that want to see a citizen walk outside, or a social worker helping with shpping activities.
  • Sessions where the citizens visit municipality facilities e.g. for training have the code “AMB” ambulatory.
  • For telehealth/telecare encounters, where the patient is contacted by telephone, by teleconference or e-mail, the code is ‘VR’ virtual.

Encounter.extension[basedOnCarePlan] should be populated with a reference to the care plan or planned intervention that describes the activities that are planned for the encounter.

The time of the encounter is documented in Encounter.period.start and Encounter.periode.end, and both attributes are mandatory. Only planned time is mandatory to report. There is no expectation that the staff update the time if they finish a little earlier or a little later.

Encounter.subject relates to the citizen that the encounter is about.

Conversions between Danish information model and FHIR-profile

Nedenstående tabel oversætter mellem de attributter der er defineret i den fælleskommunale informationsmodel (FKI), definerer kort den enkelte attribut på dansk og specificere hvilke af FHIR-profilens atributter der skal bruges til specifikation af indholdet

FKI-attribut Definition FHIR
borgerkontaktstatus Klasse der indikerer om kontakten er igangværende, eller om dokumentationen repræsentere en fremtidig intention eller er historisk Encounter.status
borgerkontaktklasse Klasse, der udtrykker en generel kategori for kontakten, som rækker ud over den kommunale kontekst. Encounter.class
borgerkontaktstart Kontaktens start, eller planlagte start Encounter.period.start
borgerkontaktslut Kontaktens sluttidspunkt, eller planlagte sluttidspunkt Encounter.period.end
borgerkontaktsubjekt Den borger kontakten vedrører Encounter.subject
borgerkontaktanledning Den henvisning/henvendelse, der er grunden til at denne kontakt udføres Encounter.basedOn
borgerkontaktBaseretPå Den care plan, der er grunden til at denne kontakt udføres Encounter.extension:basedOnCarePlan

Usage:

Formal Views of Profile Content

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

This structure is derived from Encounter

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... basedOnCarePlan 0..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention)[DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
.... value[x] 1..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b}Value of extension
... identifier 0..0
... statusHistory 0..0
... class 1..1Coding[DK] kontaktklasse
.... version 0..0
.... display 0..0
.... userSelected 0..0
... classHistory 0..0
... type
.... coding 0..0
.... text 0..0
... serviceType 0..0
... priority 0..0
... subject 1..1Reference(KLGateway140Citizen) {b}[DK] kontaktsubjekt
... episodeOfCare 0..0
... basedOn 0..0
... participant 0..0
... appointment 0..0
... period 1..1PeriodThe start and end time of the encounter
.... start 1..1dateTime[DK] kontaktstart
.... end 1..1dateTime[DK] kontaktslut
... length 0..0
... reasonCode 0..0
... reasonReference 0..0
... diagnosis 0..0
... account 0..0
... hospitalization 0..0
... location 0..0
... serviceProvider 0..0
... partOf 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... basedOnCarePlan 0..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention)[DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
.... extension 0..0
.... url 1..1uri"http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension"
.... value[x] 1..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b}Value of extension
... status ?!Σ1..1code[DK] kontaktstatus
Binding: EncounterStatus (required): Current state of the encounter.

... class Σ1..1Coding[DK] kontaktklasse
Binding: ActEncounterCode (extensible): Classification of the encounter.

... subject Σ1..1Reference(KLGateway140Citizen) {b}[DK] kontaktsubjekt
... period 1..1PeriodThe start and end time of the encounter
.... start ΣC1..1dateTime[DK] kontaktstart
.... end ΣC1..1dateTime[DK] kontaktslut

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.statusrequiredEncounterStatus
Encounter.statusHistory.statusrequiredEncounterStatus
Encounter.classextensibleActEncounterCode
Encounter.classHistory.classextensibleActEncounterCode

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... basedOnCarePlan 0..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention)[DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension"
.... value[x] 1..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b}Value of extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1code[DK] kontaktstatus
Binding: EncounterStatus (required): Current state of the encounter.

... class Σ1..1Coding[DK] kontaktklasse
Binding: ActEncounterCode (extensible): Classification of the encounter.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system Σ0..1uriIdentity of the terminology system
.... code Σ0..1codeSymbol in syntax defined by the system
... type Σ0..*CodeableConceptSpecific type of encounter
Binding: EncounterType (example): The type of encounter.


.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... subject Σ1..1Reference(KLGateway140Citizen) {b}[DK] kontaktsubjekt
... period 1..1PeriodThe start and end time of the encounter
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... start ΣC1..1dateTime[DK] kontaktstart
.... end ΣC1..1dateTime[DK] kontaktslut

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Encounter.statusrequiredEncounterStatus
Encounter.statusHistory.statusrequiredEncounterStatus
Encounter.classextensibleActEncounterCode
Encounter.classHistory.classextensibleActEncounterCode
Encounter.typeexampleEncounterType
Encounter.participant.typeextensibleParticipantType
Encounter.diagnosis.usepreferredDiagnosisRole
Encounter.hospitalization.admitSourcepreferredAdmitSource
Encounter.hospitalization.reAdmissionexampleHl7VSReAdmissionIndicator
Encounter.hospitalization.dietPreferenceexampleDiet
Encounter.hospitalization.specialCourtesypreferredSpecialCourtesy
Encounter.hospitalization.specialArrangementpreferredSpecialArrangements
Encounter.hospitalization.dischargeDispositionexampleDischargeDisposition
Encounter.location.statusrequiredEncounterLocationStatus
Encounter.location.physicalTypeexampleLocationType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Encounter

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... basedOnCarePlan 0..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention)[DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
.... value[x] 1..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b}Value of extension
... identifier 0..0
... statusHistory 0..0
... class 1..1Coding[DK] kontaktklasse
.... version 0..0
.... display 0..0
.... userSelected 0..0
... classHistory 0..0
... type
.... coding 0..0
.... text 0..0
... serviceType 0..0
... priority 0..0
... subject 1..1Reference(KLGateway140Citizen) {b}[DK] kontaktsubjekt
... episodeOfCare 0..0
... basedOn 0..0
... participant 0..0
... appointment 0..0
... period 1..1PeriodThe start and end time of the encounter
.... start 1..1dateTime[DK] kontaktstart
.... end 1..1dateTime[DK] kontaktslut
... length 0..0
... reasonCode 0..0
... reasonReference 0..0
... diagnosis 0..0
... account 0..0
... hospitalization 0..0
... location 0..0
... serviceProvider 0..0
... partOf 0..0

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... basedOnCarePlan 0..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention)[DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
.... extension 0..0
.... url 1..1uri"http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension"
.... value[x] 1..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b}Value of extension
... status ?!Σ1..1code[DK] kontaktstatus
Binding: EncounterStatus (required): Current state of the encounter.

... class Σ1..1Coding[DK] kontaktklasse
Binding: ActEncounterCode (extensible): Classification of the encounter.

... subject Σ1..1Reference(KLGateway140Citizen) {b}[DK] kontaktsubjekt
... period 1..1PeriodThe start and end time of the encounter
.... start ΣC1..1dateTime[DK] kontaktstart
.... end ΣC1..1dateTime[DK] kontaktslut

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.statusrequiredEncounterStatus
Encounter.statusHistory.statusrequiredEncounterStatus
Encounter.classextensibleActEncounterCode
Encounter.classHistory.classextensibleActEncounterCode

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... basedOnCarePlan 0..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention)[DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension"
.... value[x] 1..1Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b}Value of extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1code[DK] kontaktstatus
Binding: EncounterStatus (required): Current state of the encounter.

... class Σ1..1Coding[DK] kontaktklasse
Binding: ActEncounterCode (extensible): Classification of the encounter.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system Σ0..1uriIdentity of the terminology system
.... code Σ0..1codeSymbol in syntax defined by the system
... type Σ0..*CodeableConceptSpecific type of encounter
Binding: EncounterType (example): The type of encounter.


.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... subject Σ1..1Reference(KLGateway140Citizen) {b}[DK] kontaktsubjekt
... period 1..1PeriodThe start and end time of the encounter
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... start ΣC1..1dateTime[DK] kontaktstart
.... end ΣC1..1dateTime[DK] kontaktslut

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Encounter.statusrequiredEncounterStatus
Encounter.statusHistory.statusrequiredEncounterStatus
Encounter.classextensibleActEncounterCode
Encounter.classHistory.classextensibleActEncounterCode
Encounter.typeexampleEncounterType
Encounter.participant.typeextensibleParticipantType
Encounter.diagnosis.usepreferredDiagnosisRole
Encounter.hospitalization.admitSourcepreferredAdmitSource
Encounter.hospitalization.reAdmissionexampleHl7VSReAdmissionIndicator
Encounter.hospitalization.dietPreferenceexampleDiet
Encounter.hospitalization.specialCourtesypreferredSpecialCourtesy
Encounter.hospitalization.specialArrangementpreferredSpecialArrangements
Encounter.hospitalization.dischargeDispositionexampleDischargeDisposition
Encounter.location.statusrequiredEncounterLocationStatus
Encounter.location.physicalTypeexampleLocationType

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron