CH EPR mHealth (R4)
1.1.0 - DSTU 2 Informative Ballot Switzerland flag

This page is part of the CH EPR mHealth (R4) (v1.1.0: DSTU 2) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

Data Type Profile: ChEprMHealthBirthName - Detailed Descriptions

Draft as of 2020-07-07

Definitions for the ch-epr-mhealth-birthname data type profile.

1. HumanName
Definition

A human's name with the ability to identify parts and usage.

Control0..* This element is affected by the following invariants: ele-1
Comments

Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts might or might not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely.

InvariantsDefined on this element
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 (: 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-2: if 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-3: ch-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-4: ch-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-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
2. HumanName.id
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Control0..1
Typestring
3. HumanName.extension
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Control0..*
TypeExtension
Alternate Namesextensions, user content
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (: extension.exists() != value.exists())
SlicingThis element introduces a set of slices on HumanName.extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ url
4. HumanName.use
Definition

Identifies the purpose for this name.

Control0..1
BindingThe codes SHALL be taken from NameUse The use of a human name.

Typecode
Is Modifiertrue
Requirements

Allows the appropriate name for a particular context of use to be selected from among a set of names.

Comments

Applications can assume that a name is current unless it explicitly says that it is temporary or old.

InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
5. HumanName.text
Definition

Specifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts.

Control0..1
Typestring
Requirements

A renderable, unencoded form.

Comments

Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part.

InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
6. HumanName.family
Definition

The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.

Control1..1
Typestring
Must Supporttrue
Alternate Namessurname
Comments

Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).

InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
7. HumanName.family.id
Definition

unique id for the element within a resource (for internal references)

Control0..1
Typestring
8. HumanName.family.extension
Definition

An Extension

Control1..1
TypeExtension
InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (: extension.exists() != value.exists())
SlicingThis element introduces a set of slices on HumanName.family.extension. The slices are unordered and Closed, and can be differentiated using the following discriminators:
  • value @ url
9. HumanName.family.extension:ech11name
SliceNameech11name
Definition

Extension for eCH-0011 - namedatatype

Control0..1 This element is affected by the following invariants: ele-1
TypeExtension(ECH011Name) (Extension Type: code)
InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (: extension.exists() != value.exists())
10. HumanName.family.extension:iso21090-EN-qualifier
SliceNameiso21090-EN-qualifier
Definition

A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type.

Control1..1
TypeExtension(EN-qualifier) (Extension Type: code)
Comments

Used to indicate additional information about the name part and how it should be used.

InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (: extension.exists() != value.exists())
11. HumanName.family.extension:iso21090-EN-qualifier.id
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Control0..1
Typestring
12. HumanName.family.extension:iso21090-EN-qualifier.extension
Definition

An Extension

Control0..0
TypeExtension
InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (: extension.exists() != value.exists())
SlicingThis element introduces a set of slices on HumanName.family.extension.extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ url
13. HumanName.family.extension:iso21090-EN-qualifier.url
Definition

Source of the definition for the extension code - a logical name or a URL.

Control1..1
Typeuri
Comments

The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.

Fixed Valuehttp://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier
14. HumanName.family.extension:iso21090-EN-qualifier.value[x]
Definition

Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

Control1..1
BindingThe codes SHALL be taken from EntityNamePartQualifier A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type.

Typecode
[x] NoteSee Choice of Data Types for further information about how to use [x]
InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
SlicingThis element introduces a set of slices on HumanName.family.extension.value[x]. The slices are unordered and Closed, and can be differentiated using the following discriminators:
  • type @ $this
15. HumanName.family.extension:iso21090-EN-qualifier.value[x]:valueCode
SliceNamevalueCode
Definition

Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).

Control1..1
BindingThe codes SHALL be taken from EntityNamePartQualifier A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type.

Typecode
[x] NoteSee Choice of Data Types for further information about how to use [x]
Fixed ValueBR
InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
16. HumanName.family.value
Definition

The actual value

Control0..1
Typestring
Max Length1048576
17. HumanName.given
Definition

Given name.

Control0..*
Typestring
Alternate Namesfirst name, middle name
Comments

If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called "first name" since given names do not always come first.

InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
18. HumanName.given.id
Definition

unique id for the element within a resource (for internal references)

Control0..1
Typestring
19. HumanName.given.extension
Definition

An Extension

Control0..*
TypeExtension
InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (: extension.exists() != value.exists())
SlicingThis element introduces a set of slices on HumanName.given.extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ url
20. HumanName.given.extension:ech11firstname
SliceNameech11firstname
Definition

eCH-0011: Extension to define first name type

Control0..1 This element is affected by the following invariants: ele-1
TypeExtension(ECH011FirstName) (Extension Type: code)
InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (: extension.exists() != value.exists())
21. HumanName.given.value
Definition

The actual value

Control0..1
Typestring
Max Length1048576
22. HumanName.prefix
Definition

Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.

Control0..*
Typestring
InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
23. HumanName.prefix.id
Definition

unique id for the element within a resource (for internal references)

Control0..1
Typestring
24. HumanName.prefix.extension
Definition

An Extension

Control0..*
TypeExtension
InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (: extension.exists() != value.exists())
SlicingThis element introduces a set of slices on HumanName.prefix.extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ url
25. HumanName.prefix.extension:salutationandtitle
SliceNamesalutationandtitle
Definition

A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type.

Control0..* This element is affected by the following invariants: ele-1
TypeExtension(EN-qualifier) (Extension Type: code)
Comments

Used to indicate additional information about the name part and how it should be used.

InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (: extension.exists() != value.exists())
26. HumanName.prefix.value
Definition

The actual value

Control0..1
Typestring
Max Length1048576
27. HumanName.suffix
Definition

Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.

Control0..*
Typestring
InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))
28. HumanName.period
Definition

Indicates the period of time when this name was valid for the named person.

Control0..1
TypePeriod
Requirements

Allows names to be placed in historical context.

InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() or (children().count() > id.count()))