CH Core (R4)
5.0.0-ballot - ballot Switzerland flag

This page is part of the CH Core (R4) (v5.0.0-ballot: STU 5 Ballot 1) based on FHIR (HL7® FHIR® Standard) 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

Data Type Profile: Human Name

Official URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-humanname Version: 5.0.0-ballot
Active as of 2024-05-16 Computable Name: CHCoreHumanName

Copyright/Legal: CC0-1.0

Name with extensions for ech-11

Usage:

Formal Views of Profile Content

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

This structure is derived from HumanName

NameFlagsCard.TypeDescription & Constraintsdoco
.. HumanName C 0..* HumanName Name of a human - parts and usage
ch-core-hm-1: if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
ch-core-hm-2: if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
ch-core-hm-3: ch-ext-ech-11-name can only be put on a family name
ch-core-hm-4: ch-ext-ech-11-firstname can only be put on a given name
... family 0..1 string Family name (often called 'Surname')
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11name 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name
Binding: eCH-011 NameDataTypes (extensible)
... given 0..* string Given names (not always 'first'). Includes middle names
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11firstname 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname
Binding: eCH-011 FirstNameDataTypes (extensible)
... prefix 0..* string For a salutation use a prefix without the iso21090-EN-qualifier extension. For academical titles and legal status use the http://hl7.org/fhir/ExtensionDefinition/iso21090-EN-qualifier with the codes AC, LS.
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... salutationandtitle 0..* code For academical titles and legal status use the http://hl7.org/fhir/ExtensionDefinition/iso21090-EN-qualifier with the codes AC, LS.
URL: http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier
Binding: EntityNamePartQualifier (required)

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ch-core-hm-1errorHumanNameif officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').exists() and use='official')
ch-core-hm-2errorHumanNameif orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').exists() and use='maiden'))
ch-core-hm-3errorHumanNamech-ext-ech-11-name can only be put on a family name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()=family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()
ch-core-hm-4errorHumanNamech-ext-ech-11-firstname can only be put on a given name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()=given.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()
NameFlagsCard.TypeDescription & Constraintsdoco
.. HumanName C 0..* HumanName Name of a human - parts and usage
ch-core-hm-1: if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
ch-core-hm-2: if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
ch-core-hm-3: ch-ext-ech-11-name can only be put on a family name
ch-core-hm-4: ch-ext-ech-11-firstname can only be put on a given name
... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

... family Σ 0..1 string Family name (often called 'Surname')
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11name 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name
Binding: eCH-011 NameDataTypes (extensible)
... given Σ 0..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11firstname 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname
Binding: eCH-011 FirstNameDataTypes (extensible)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... salutationandtitle 0..* code For academical titles and legal status use the http://hl7.org/fhir/ExtensionDefinition/iso21090-EN-qualifier with the codes AC, LS.
URL: http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier
Binding: EntityNamePartQualifier (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
HumanName.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-core-hm-1errorHumanNameif officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').exists() and use='official')
ch-core-hm-2errorHumanNameif orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').exists() and use='maiden'))
ch-core-hm-3errorHumanNamech-ext-ech-11-name can only be put on a family name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()=family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()
ch-core-hm-4errorHumanNamech-ext-ech-11-firstname can only be put on a given name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()=given.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()
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
.. HumanName C 0..* HumanName Name of a human - parts and usage
ch-core-hm-1: if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
ch-core-hm-2: if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
ch-core-hm-3: ch-ext-ech-11-name can only be put on a family name
ch-core-hm-4: ch-ext-ech-11-firstname can only be put on a given name
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

... family Σ 0..1 string Family name (often called 'Surname')
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11name 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name
Binding: eCH-011 NameDataTypes (extensible)
.... value 0..1 string Primitive value for string
Max Length: 1048576
... given Σ 0..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11firstname 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname
Binding: eCH-011 FirstNameDataTypes (extensible)
.... value 0..1 string Primitive value for string
Max Length: 1048576
... prefix Σ 0..* string For a salutation use a prefix without the iso21090-EN-qualifier extension. For academical titles and legal status use the http://hl7.org/fhir/ExtensionDefinition/iso21090-EN-qualifier with the codes AC, LS.
This repeating element order: Prefixes appear in the correct order for presenting the name
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... salutationandtitle 0..* code For academical titles and legal status use the http://hl7.org/fhir/ExtensionDefinition/iso21090-EN-qualifier with the codes AC, LS.
URL: http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier
Binding: EntityNamePartQualifier (required)
.... value 0..1 string Primitive value for string
Max Length: 1048576
... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
... period Σ 0..1 Period Time period when name was/is in use

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
HumanName.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-core-hm-1errorHumanNameif officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').exists() and use='official')
ch-core-hm-2errorHumanNameif orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').exists() and use='maiden'))
ch-core-hm-3errorHumanNamech-ext-ech-11-name can only be put on a family name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()=family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()
ch-core-hm-4errorHumanNamech-ext-ech-11-firstname can only be put on a given name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()=given.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()
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 HumanName

NameFlagsCard.TypeDescription & Constraintsdoco
.. HumanName C 0..* HumanName Name of a human - parts and usage
ch-core-hm-1: if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
ch-core-hm-2: if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
ch-core-hm-3: ch-ext-ech-11-name can only be put on a family name
ch-core-hm-4: ch-ext-ech-11-firstname can only be put on a given name
... family 0..1 string Family name (often called 'Surname')
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11name 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name
Binding: eCH-011 NameDataTypes (extensible)
... given 0..* string Given names (not always 'first'). Includes middle names
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11firstname 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname
Binding: eCH-011 FirstNameDataTypes (extensible)
... prefix 0..* string For a salutation use a prefix without the iso21090-EN-qualifier extension. For academical titles and legal status use the http://hl7.org/fhir/ExtensionDefinition/iso21090-EN-qualifier with the codes AC, LS.
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... salutationandtitle 0..* code For academical titles and legal status use the http://hl7.org/fhir/ExtensionDefinition/iso21090-EN-qualifier with the codes AC, LS.
URL: http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier
Binding: EntityNamePartQualifier (required)

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ch-core-hm-1errorHumanNameif officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').exists() and use='official')
ch-core-hm-2errorHumanNameif orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').exists() and use='maiden'))
ch-core-hm-3errorHumanNamech-ext-ech-11-name can only be put on a family name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()=family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()
ch-core-hm-4errorHumanNamech-ext-ech-11-firstname can only be put on a given name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()=given.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. HumanName C 0..* HumanName Name of a human - parts and usage
ch-core-hm-1: if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
ch-core-hm-2: if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
ch-core-hm-3: ch-ext-ech-11-name can only be put on a family name
ch-core-hm-4: ch-ext-ech-11-firstname can only be put on a given name
... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

... family Σ 0..1 string Family name (often called 'Surname')
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11name 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name
Binding: eCH-011 NameDataTypes (extensible)
... given Σ 0..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11firstname 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname
Binding: eCH-011 FirstNameDataTypes (extensible)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... salutationandtitle 0..* code For academical titles and legal status use the http://hl7.org/fhir/ExtensionDefinition/iso21090-EN-qualifier with the codes AC, LS.
URL: http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier
Binding: EntityNamePartQualifier (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
HumanName.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-core-hm-1errorHumanNameif officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').exists() and use='official')
ch-core-hm-2errorHumanNameif orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').exists() and use='maiden'))
ch-core-hm-3errorHumanNamech-ext-ech-11-name can only be put on a family name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()=family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()
ch-core-hm-4errorHumanNamech-ext-ech-11-firstname can only be put on a given name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()=given.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()
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
.. HumanName C 0..* HumanName Name of a human - parts and usage
ch-core-hm-1: if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
ch-core-hm-2: if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
ch-core-hm-3: ch-ext-ech-11-name can only be put on a family name
ch-core-hm-4: ch-ext-ech-11-firstname can only be put on a given name
... id 0..1 string Unique id for inter-element referencing
... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

... family Σ 0..1 string Family name (often called 'Surname')
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11name 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name
Binding: eCH-011 NameDataTypes (extensible)
.... value 0..1 string Primitive value for string
Max Length: 1048576
... given Σ 0..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... ech11firstname 0..1 code Extension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname
Binding: eCH-011 FirstNameDataTypes (extensible)
.... value 0..1 string Primitive value for string
Max Length: 1048576
... prefix Σ 0..* string For a salutation use a prefix without the iso21090-EN-qualifier extension. For academical titles and legal status use the http://hl7.org/fhir/ExtensionDefinition/iso21090-EN-qualifier with the codes AC, LS.
This repeating element order: Prefixes appear in the correct order for presenting the name
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
..... salutationandtitle 0..* code For academical titles and legal status use the http://hl7.org/fhir/ExtensionDefinition/iso21090-EN-qualifier with the codes AC, LS.
URL: http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier
Binding: EntityNamePartQualifier (required)
.... value 0..1 string Primitive value for string
Max Length: 1048576
... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
... period Σ 0..1 Period Time period when name was/is in use

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
HumanName.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ch-core-hm-1errorHumanNameif officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='officialName').exists() and use='official')
ch-core-hm-2errorHumanNameif orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden
: family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and value='originalName').exists() and use='maiden'))
ch-core-hm-3errorHumanNamech-ext-ech-11-name can only be put on a family name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()=family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()
ch-core-hm-4errorHumanNamech-ext-ech-11-firstname can only be put on a given name
: descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()=given.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()
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