2.2.0 - Release

KLGatewayRehab, published by Kommunernes Landsforening. This guide is not an authorized publication; it is the continuous build for version 2.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7dk/kl-gateway-rehab/ and changes regularly. See the Directory of published versions

Resource Profile: KLGateway140Encounter

Official URL: http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-encounter Version: 2.2.0
Active as of 2024-10-31 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 shopping activities.
  • Sessions where the citizens visit municipality facilities e.g. for training or health prevention have the code 'AMB' Ambulatory.
  • Encounters delivered as a screen visit should be registered as 'Skærmbesøg'.
  • Encounters delivered using a phone should be registered as 'Telefonisk'

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 Encounter
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnCarePlan 0..1 (Complex) [DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
..... value[x] 1..1 Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b} Value of extension
... identifier 0..0
... status 1..1 code [DK] kontaktstatus
... class 1..1 Coding [DK] kontaktklasse
Binding: KontaktKlasseKoder (required)
.... version 0..0
.... userSelected 0..0
... classHistory 0..0
... type
.... coding 0..0
.... text 0..0
... serviceType 0..0
... priority 0..0
... subject 1..1 Reference(KLGateway140Citizen) {b} [DK] kontaktsubjekt
... episodeOfCare 0..0
... basedOn 0..0
... participant 0..0
... appointment 0..0
... period 1..1 Period The start and end time of the encounter
.... start 1..1 dateTime [DK] kontaktstart
.... end 1..1 dateTime [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

Terminology Bindings (Differential)

PathConformanceValueSetURI
Encounter.classrequiredEncounterClassCodes
http://fhir.kl.dk/rehab/ValueSet/EncounterClassCodes
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..* Encounter An interaction during which services are provided to the patient
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnCarePlan 0..1 (Complex) [DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
..... extension 0..0
..... url 1..1 uri "http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension"
..... value[x] 1..1 Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b} Value of extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... class Σ 1..1 Coding [DK] kontaktklasse
Binding: KontaktKlasseKoder (required)
... subject Σ 1..1 Reference(KLGateway140Citizen) {b} [DK] kontaktsubjekt
... period 1..1 Period The start and end time of the encounter
.... start ΣC 1..1 dateTime [DK] kontaktstart
.... end ΣC 1..1 dateTime [DK] kontaktslut

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Encounter.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.statusHistory.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.classrequiredEncounterClassCodes
http://fhir.kl.dk/rehab/ValueSet/EncounterClassCodes
from this IG
Encounter.classHistory.classextensibleActEncounterCode
http://terminology.hl7.org/ValueSet/v3-ActEncounterCode

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..* Encounter An interaction during which services are provided to the patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnCarePlan 0..1 (Complex) [DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension"
..... value[x] 1..1 Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b} Value of extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code [DK] kontaktstatus
Binding: EncounterStatus (required): Current state of the encounter.

... class Σ 1..1 Coding [DK] kontaktklasse
Binding: KontaktKlasseKoder (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system Σ 0..1 uri Identity of the terminology system
.... code Σ 0..1 code Symbol in syntax defined by the system
.... display Σ 0..1 string Representation defined by the system
... type Σ 0..* CodeableConcept Specific type of encounter
Binding: EncounterType (example): The type of encounter.


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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Encounter.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Encounter.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.statusHistory.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.classrequiredEncounterClassCodes
http://fhir.kl.dk/rehab/ValueSet/EncounterClassCodes
from this IG
Encounter.classHistory.classextensibleActEncounterCode
http://terminology.hl7.org/ValueSet/v3-ActEncounterCode
Encounter.typeexampleEncounterType
http://hl7.org/fhir/ValueSet/encounter-type
from the FHIR Standard
Encounter.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
from the FHIR Standard
Encounter.diagnosis.usepreferredDiagnosisRole
http://hl7.org/fhir/ValueSet/diagnosis-role
from the FHIR Standard
Encounter.hospitalization.admitSourcepreferredAdmitSource
http://hl7.org/fhir/ValueSet/encounter-admit-source
from the FHIR Standard
Encounter.hospitalization.reAdmissionexampleHl7VSReAdmissionIndicator
http://terminology.hl7.org/ValueSet/v2-0092
Encounter.hospitalization.dietPreferenceexampleDiet
http://hl7.org/fhir/ValueSet/encounter-diet
from the FHIR Standard
Encounter.hospitalization.specialCourtesypreferredSpecialCourtesy
http://hl7.org/fhir/ValueSet/encounter-special-courtesy
from the FHIR Standard
Encounter.hospitalization.specialArrangementpreferredSpecialArrangements
http://hl7.org/fhir/ValueSet/encounter-special-arrangements
from the FHIR Standard
Encounter.hospitalization.dischargeDispositionexampleDischargeDisposition
http://hl7.org/fhir/ValueSet/encounter-discharge-disposition
from the FHIR Standard
Encounter.location.statusrequiredEncounterLocationStatus
http://hl7.org/fhir/ValueSet/encounter-location-status|4.0.1
from the FHIR Standard
Encounter.location.physicalTypeexampleLocationType
http://hl7.org/fhir/ValueSet/location-physical-type
from the FHIR Standard

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 Encounter
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnCarePlan 0..1 (Complex) [DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
..... value[x] 1..1 Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b} Value of extension
... identifier 0..0
... status 1..1 code [DK] kontaktstatus
... class 1..1 Coding [DK] kontaktklasse
Binding: KontaktKlasseKoder (required)
.... version 0..0
.... userSelected 0..0
... classHistory 0..0
... type
.... coding 0..0
.... text 0..0
... serviceType 0..0
... priority 0..0
... subject 1..1 Reference(KLGateway140Citizen) {b} [DK] kontaktsubjekt
... episodeOfCare 0..0
... basedOn 0..0
... participant 0..0
... appointment 0..0
... period 1..1 Period The start and end time of the encounter
.... start 1..1 dateTime [DK] kontaktstart
.... end 1..1 dateTime [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

Terminology Bindings (Differential)

PathConformanceValueSetURI
Encounter.classrequiredEncounterClassCodes
http://fhir.kl.dk/rehab/ValueSet/EncounterClassCodes
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..* Encounter An interaction during which services are provided to the patient
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnCarePlan 0..1 (Complex) [DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
..... extension 0..0
..... url 1..1 uri "http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension"
..... value[x] 1..1 Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b} Value of extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... class Σ 1..1 Coding [DK] kontaktklasse
Binding: KontaktKlasseKoder (required)
... subject Σ 1..1 Reference(KLGateway140Citizen) {b} [DK] kontaktsubjekt
... period 1..1 Period The start and end time of the encounter
.... start ΣC 1..1 dateTime [DK] kontaktstart
.... end ΣC 1..1 dateTime [DK] kontaktslut

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Encounter.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.statusHistory.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.classrequiredEncounterClassCodes
http://fhir.kl.dk/rehab/ValueSet/EncounterClassCodes
from this IG
Encounter.classHistory.classextensibleActEncounterCode
http://terminology.hl7.org/ValueSet/v3-ActEncounterCode

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..* Encounter An interaction during which services are provided to the patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnCarePlan 0..1 (Complex) [DK] kontaktBaseretPå
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "http://fhir.kl.dk/rehab/StructureDefinition/BasedOnCarePlanExtension"
..... value[x] 1..1 Reference(KLGateway140care-plan | KLGateway140PlannedIntervention) {b} Value of extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code [DK] kontaktstatus
Binding: EncounterStatus (required): Current state of the encounter.

... class Σ 1..1 Coding [DK] kontaktklasse
Binding: KontaktKlasseKoder (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system Σ 0..1 uri Identity of the terminology system
.... code Σ 0..1 code Symbol in syntax defined by the system
.... display Σ 0..1 string Representation defined by the system
... type Σ 0..* CodeableConcept Specific type of encounter
Binding: EncounterType (example): The type of encounter.


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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Encounter.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Encounter.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.statusHistory.statusrequiredEncounterStatus
http://hl7.org/fhir/ValueSet/encounter-status|4.0.1
from the FHIR Standard
Encounter.classrequiredEncounterClassCodes
http://fhir.kl.dk/rehab/ValueSet/EncounterClassCodes
from this IG
Encounter.classHistory.classextensibleActEncounterCode
http://terminology.hl7.org/ValueSet/v3-ActEncounterCode
Encounter.typeexampleEncounterType
http://hl7.org/fhir/ValueSet/encounter-type
from the FHIR Standard
Encounter.participant.typeextensibleParticipantType
http://hl7.org/fhir/ValueSet/encounter-participant-type
from the FHIR Standard
Encounter.diagnosis.usepreferredDiagnosisRole
http://hl7.org/fhir/ValueSet/diagnosis-role
from the FHIR Standard
Encounter.hospitalization.admitSourcepreferredAdmitSource
http://hl7.org/fhir/ValueSet/encounter-admit-source
from the FHIR Standard
Encounter.hospitalization.reAdmissionexampleHl7VSReAdmissionIndicator
http://terminology.hl7.org/ValueSet/v2-0092
Encounter.hospitalization.dietPreferenceexampleDiet
http://hl7.org/fhir/ValueSet/encounter-diet
from the FHIR Standard
Encounter.hospitalization.specialCourtesypreferredSpecialCourtesy
http://hl7.org/fhir/ValueSet/encounter-special-courtesy
from the FHIR Standard
Encounter.hospitalization.specialArrangementpreferredSpecialArrangements
http://hl7.org/fhir/ValueSet/encounter-special-arrangements
from the FHIR Standard
Encounter.hospitalization.dischargeDispositionexampleDischargeDisposition
http://hl7.org/fhir/ValueSet/encounter-discharge-disposition
from the FHIR Standard
Encounter.location.statusrequiredEncounterLocationStatus
http://hl7.org/fhir/ValueSet/encounter-location-status|4.0.1
from the FHIR Standard
Encounter.location.physicalTypeexampleLocationType
http://hl7.org/fhir/ValueSet/location-physical-type
from the FHIR Standard

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