CH EPR mHealth (R4)
0.2.0 - DSTU 1 Informative Ballot

CH EPR mHealth (R4), published by eHealth Suisse. This is not an authorized publication; it is the continuous build for version 0.2.0). This version is based on the current content of https://github.com/ehealthsuisse/ch-epr-mhealth/ and changes regularly. See the Directory of published versions

Data Type Profile: CH EPR mHealth HumanName

Defining URL:http://fhir.ch/ig/ch-epr-mhealth/StructureDefinition/ch-epr-mhealth-humanname
Version:0.2.0
Name:ChEprMHealthHumanName
Title:CH EPR mHealth HumanName
Status:Draft as of 7/27/20, 12:00 AM
Definition:

The humanname WITHOUT the ISO 21090 qualifier https://www.hl7.org/fhir/extension-iso21090-en-qualifier.html BR

Publisher:eHealth Suisse
Copyright:

CC-BY-SA-4.0

Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://fhir.ch/ig/ch-epr-mhealth/StructureDefinition/ch-epr-mhealth-humanname

Formal Views of Profile Content

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

This structure is derived from CHCoreHumanName

Summary

This structure is derived from CHCoreHumanName

NameFlagsCard.TypeDescription & Constraintsdoco
.. HumanName I0..*CHCoreHumanNameName of a human - parts and usage
ch-epr-mhealth-1: For birth name (iso21090-EN-qualifier BR) use slice 'name:BirthName'

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. HumanName I0..*CHCoreHumanNameName of a human - parts and usage
ch-epr-mhealth-1: For birth name (iso21090-EN-qualifier BR) use slice 'name:BirthName'
... id 0..1stringUnique id for inter-element referencing
... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

... family Σ0..1stringFamily name (often called 'Surname')
.... id 0..1stringxml:id (or equivalent in JSON)
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... ch-ext-ech-11-name 0..1codeExtension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name
Binding: eCH-011 NameDataTypes (required): A set of codes advising a system or user which name in a set of names to select for a given purpose.


.... value 0..1stringPrimitive value for string
Max Length: 1048576
... given Σ0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... id 0..1stringxml:id (or equivalent in JSON)
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... ch-ext-ech-11-firstname 0..1codeExtension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname
Binding: eCH-011 FirstNameDataTypes (required): A set of codes advising a system or user which name in a set of names to select for a given purpose.


.... value 0..1stringPrimitive value for string
Max Length: 1048576
... prefix Σ0..*stringFor 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..1stringxml:id (or equivalent in JSON)
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... iso21090-EN-qualifier 0..*codeFor 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): A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type.


.... value 0..1stringPrimitive value for string
Max Length: 1048576
... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
... period Σ0..1PeriodTime period when name was/is in use

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. HumanName I0..*CHCoreHumanNameName of a human - parts and usage
ch-epr-mhealth-1: For birth name (iso21090-EN-qualifier BR) use slice 'name:BirthName'

doco Documentation for this format

This structure is derived from CHCoreHumanName

Summary

Differential View

This structure is derived from CHCoreHumanName

NameFlagsCard.TypeDescription & Constraintsdoco
.. HumanName I0..*CHCoreHumanNameName of a human - parts and usage
ch-epr-mhealth-1: For birth name (iso21090-EN-qualifier BR) use slice 'name:BirthName'

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. HumanName I0..*CHCoreHumanNameName of a human - parts and usage
ch-epr-mhealth-1: For birth name (iso21090-EN-qualifier BR) use slice 'name:BirthName'
... id 0..1stringUnique id for inter-element referencing
... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

... family Σ0..1stringFamily name (often called 'Surname')
.... id 0..1stringxml:id (or equivalent in JSON)
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... ch-ext-ech-11-name 0..1codeExtension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name
Binding: eCH-011 NameDataTypes (required): A set of codes advising a system or user which name in a set of names to select for a given purpose.


.... value 0..1stringPrimitive value for string
Max Length: 1048576
... given Σ0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... id 0..1stringxml:id (or equivalent in JSON)
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... ch-ext-ech-11-firstname 0..1codeExtension
URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname
Binding: eCH-011 FirstNameDataTypes (required): A set of codes advising a system or user which name in a set of names to select for a given purpose.


.... value 0..1stringPrimitive value for string
Max Length: 1048576
... prefix Σ0..*stringFor 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..1stringxml:id (or equivalent in JSON)
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... iso21090-EN-qualifier 0..*codeFor 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): A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type.


.... value 0..1stringPrimitive value for string
Max Length: 1048576
... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
... period Σ0..1PeriodTime period when name was/is in use

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
HumanName.userequiredNameUse

Constraints

IdPathDetailsRequirements
ele-1HumanNameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ch-core-hm-1HumanNameif 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 valueCode='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and valueCode='officialName').exists() and use='official')
ch-core-hm-2HumanNameif 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 valueCode='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and valueCode='originalName').exists() and use='maiden'))
ch-core-hm-3HumanNamech-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-4HumanNamech-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()
ch-epr-mhealth-1HumanNameFor birth name (iso21090-EN-qualifier BR) use slice 'name:BirthName'
: family.extension.where(url='http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier' and valueCode='BR').exists()=false
ele-1HumanName.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1HumanName.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1HumanName.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1HumanName.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1HumanName.familyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1HumanName.family.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1HumanName.family.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1HumanName.family.extension:ech11nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1HumanName.family.extension:ech11nameMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1HumanName.givenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1HumanName.given.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1HumanName.given.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1HumanName.given.extension:ech11firstnameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1HumanName.given.extension:ech11firstnameMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1HumanName.prefixAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1HumanName.prefix.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1HumanName.prefix.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1HumanName.prefix.extension:salutationandtitleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1HumanName.prefix.extension:salutationandtitleMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1HumanName.suffixAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1HumanName.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())