SPL Mapping FHIR R5 Implementation Guide
0.2.1 - Build CI United States of America flag

SPL Mapping FHIR R5 Implementation Guide, published by HL7 International / Biomedical Research and Regulation. This guide is not an authorized publication; it is the continuous build for version 0.2.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-spl/ and changes regularly. See the Directory of published versions

Data Type Profile: SPLContactPoint - Detailed Descriptions

Page standards status: Trial-use Maturity Level: 1

Definitions for the SPLContactPoint data type profile.

Guidance on how to interpret the contents of this table can be found here

0. ContactPoint
Invariantsspl-2.1.7.x: Telephone and fax numbers are formatted properly ((system = 'phone' or system = 'fax') implies value.matches('^\\+[0-9]{1,3}-[0-9]{1,3}-[0-9]{3,4}-[0-9]{4}(;ext=[0-9]+)?$'))
spl-2.1.7.11: Emails are formatted properly (system = 'email' implies value.matches('^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*$'))
2. ContactPoint.system
Control1..?
Must Supporttrue
4. ContactPoint.value
Control1..?
Must Supporttrue

Guidance on how to interpret the contents of this table can be found here

0. ContactPoint
Definition

Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.

ShortDetails of a Technology mediated contact point (phone, fax, email, etc.)
Control0..*
Is Modifierfalse
Invariantscpt-2: A system is required if a value is provided. (value.empty() or system.exists())
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
spl-2.1.7.x: Telephone and fax numbers are formatted properly ((system = 'phone' or system = 'fax') implies value.matches('^\\+[0-9]{1,3}-[0-9]{1,3}-[0-9]{3,4}-[0-9]{4}(;ext=[0-9]+)?$'))
spl-2.1.7.11: Emails are formatted properly (system = 'email' implies value.matches('^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*$'))
2. ContactPoint.system
Definition

Telecommunications form for contact point - what communications system is required to make use of the contact.

Shortphone | fax | email | pager | url | sms | other
Control10..1
This element is affected by the following invariants: cpt-2
BindingThe codes SHALL be taken from ContactPointSystemhttp://hl7.org/fhir/ValueSet/contact-point-system|5.0.0
(required to http://hl7.org/fhir/ValueSet/contact-point-system|5.0.0)

Telecommunications form for contact point.

Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. ContactPoint.value
Definition

The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).

ShortThe actual contact point details
Comments

Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.

Control10..1
This element is affected by the following invariants: cpt-2
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Requirements

Need to support legacy numbers that are not in a tightly controlled format.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
6. ContactPoint.use
Definition

Identifies the purpose for the contact point.

Shorthome | work | temp | old | mobile - purpose of this contact point
Comments

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

Control0..1
BindingThe codes SHALL be taken from ContactPointUsehttp://hl7.org/fhir/ValueSet/contact-point-use|5.0.0
(required to http://hl7.org/fhir/ValueSet/contact-point-use|5.0.0)

Use of contact point.

Typecode
Is Modifiertrue because This is labeled as "Is Modifier" because applications should not mistake a temporary or old contact etc.for a current/permanent one
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Requirements

Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

Guidance on how to interpret the contents of this table can be found here

0. ContactPoint
Definition

Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.

ShortDetails of a Technology mediated contact point (phone, fax, email, etc.)
Control0..*
Is Modifierfalse
Invariantscpt-2: A system is required if a value is provided. (value.empty() or system.exists())
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
spl-2.1.7.x: Telephone and fax numbers are formatted properly ((system = 'phone' or system = 'fax') implies value.matches('^\\+[0-9]{1,3}-[0-9]{1,3}-[0-9]{3,4}-[0-9]{4}(;ext=[0-9]+)?$'))
spl-2.1.7.11: Emails are formatted properly (system = 'email' implies value.matches('^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*$'))
2. ContactPoint.id
Definition

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

ShortUnique id for inter-element referencing
Control0..1
This element is affected by the following invariants: ele-1
Typeid
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
4. ContactPoint.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 managable, 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.

ShortAdditional content defined by implementations
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.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-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 ContactPoint.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. ContactPoint.system
    Definition

    Telecommunications form for contact point - what communications system is required to make use of the contact.

    Shortphone | fax | email | pager | url | sms | other
    Control1..1
    This element is affected by the following invariants: cpt-2
    BindingThe codes SHALL be taken from ContactPointSystem
    (required to http://hl7.org/fhir/ValueSet/contact-point-system|5.0.0)

    Telecommunications form for contact point.

    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    8. ContactPoint.value
    Definition

    The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).

    ShortThe actual contact point details
    Comments

    Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.

    Control1..1
    This element is affected by the following invariants: cpt-2
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    Need to support legacy numbers that are not in a tightly controlled format.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    10. ContactPoint.use
    Definition

    Identifies the purpose for the contact point.

    Shorthome | work | temp | old | mobile - purpose of this contact point
    Comments

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

    Control0..1
    BindingThe codes SHALL be taken from ContactPointUse
    (required to http://hl7.org/fhir/ValueSet/contact-point-use|5.0.0)

    Use of contact point.

    Typecode
    Is Modifiertrue because This is labeled as "Is Modifier" because applications should not mistake a temporary or old contact etc.for a current/permanent one
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Requirements

    Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    12. ContactPoint.rank
    Definition

    Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values.

    ShortSpecify preferred order of use (1 = highest)
    Comments

    Note that rank does not necessarily follow the order in which the contacts are represented in the instance.

    Ranks need not be unique. E.g. it's possible to have multiple contacts with rank=1. If the ranks have different systems or uses, this would be interpreted to mean "X is my most preferred phone number, Y is my most preferred email address" or "X is my preferred home email and Y is my preferred work email". If the system and use for equally-ranked contacts are the same, then the level of preference is equivalent for both repetitions.

    Ranks need not be sequential and not all repetitions must have a rank. For example, it's possible to have 4 contacts with ranks of 2, 5 and two with no rank specified. That would be interpreted to mean the first is preferred over the second and no preference stated for the remaining contacts.

    Control0..1
    TypepositiveInt
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    14. ContactPoint.period
    Definition

    Time period when the contact point was/is in use.

    ShortTime period when the contact point was/is in use
    Control0..1
    TypePeriod
    Is Modifierfalse
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))