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: SPLAddress - Detailed Descriptions

Page standards status: Trial-use Maturity Level: 1

Definitions for the SPLAddress data type profile.

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

0. Address
Invariantsspl-2.1.6.4: If the country is USA, then the state and postal code exist (country = 'USA' implies (state.exists() and state.length() = 2 and postalCode.exists()))
spl-2.1.6.5: If the country is USA, then the postal code is 5 digits with an optional dash and 4 numbers (country = 'USA' implies postalCode.matches('^[0-9]{5}(-[0-9]{4})?$'))
2. Address.line
Control1..2
4. Address.city
Control1..?
Must Supporttrue
6. Address.state
Must Supporttrue
8. Address.postalCode
Control1..?
Must Supporttrue
10. Address.country
ShortCountry can either be the ISO 3-letter country code or the full country name matching the code.
Control1..?
Must Supporttrue

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

0. Address
Definition

An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world. The ISO21090-codedString may be used to provide a coded representation of the contents of strings in an Address.

ShortAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
Comments

Note: address is intended to describe postal addresses for administrative purposes, not to describe absolute geographical coordinates. Postal addresses are often used as proxies for physical locations (also see the Location resource).


Note: address is intended to describe postal addresses for administrative purposes, not to describe absolute geographical coordinates. Postal addresses are often used as proxies for physical locations (also see the Location resource).

Control0..*
Is Modifierfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
spl-2.1.6.4: If the country is USA, then the state and postal code exist (country = 'USA' implies (state.exists() and state.length() = 2 and postalCode.exists()))
spl-2.1.6.5: If the country is USA, then the postal code is 5 digits with an optional dash and 4 numbers (country = 'USA' implies postalCode.matches('^[0-9]{5}(-[0-9]{4})?$'))
2. Address.use
Definition

The purpose of this address.

Shorthome | work | temp | old | billing - purpose of this address
Comments

Applications can assume that an address is current unless it explicitly says that it is temporary or old.

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

The use of an address (home / work / etc.).

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

Allows an appropriate address to be chosen from a list of many.

Example<br/><b>General</b>:home
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. Address.line
Definition

This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.

ShortStreet name, number, direction & P.O. Box etc.
Control10..2*
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Example<br/><b>General</b>:137 Nowhere Street
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
6. Address.city
Definition

The name of the city, town, suburb, village or other community or delivery center.

ShortName of city, town etc.
Control10..1
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Alternate NamesMunicpality
Example<br/><b>General</b>:Erewhon
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
8. Address.state
Definition

Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (e.g. US 2 letter state codes).

ShortSub-unit of country (abbreviations ok)
Control0..1
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Alternate NamesProvince, Territory
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. Address.postalCode
Definition

A postal code designating a region defined by the postal service.

ShortPostal code for area
Control10..1
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Alternate NamesZip
Example<br/><b>General</b>:9132
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
12. Address.country
Definition

Country - a nation as commonly understood or generally accepted.

ShortCountry can either be the ISO 3-letter country code or the full country name matching the code.Country (e.g. may be ISO 3166 2 or 3 letter code)
Comments

ISO 3166 2- or 3- letter codes MAY be used in place of a human readable country name.

Control10..1
Typestring
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()))

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

0. Address
Definition

An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world. The ISO21090-codedString may be used to provide a coded representation of the contents of strings in an Address.

ShortAn address expressed using postal conventions (as opposed to GPS or other location definition formats)
Comments

Note: address is intended to describe postal addresses for administrative purposes, not to describe absolute geographical coordinates. Postal addresses are often used as proxies for physical locations (also see the Location resource).

Control0..*
Is Modifierfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
spl-2.1.6.4: If the country is USA, then the state and postal code exist (country = 'USA' implies (state.exists() and state.length() = 2 and postalCode.exists()))
spl-2.1.6.5: If the country is USA, then the postal code is 5 digits with an optional dash and 4 numbers (country = 'USA' implies postalCode.matches('^[0-9]{5}(-[0-9]{4})?$'))
2. Address.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. Address.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 Address.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. Address.use
    Definition

    The purpose of this address.

    Shorthome | work | temp | old | billing - purpose of this address
    Comments

    Applications can assume that an address is current unless it explicitly says that it is temporary or old.

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

    The use of an address (home / work / etc.).

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

    Allows an appropriate address to be chosen from a list of many.

    Example<br/><b>General</b>:home
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    8. Address.type
    Definition

    Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.

    Shortpostal | physical | both
    Comments

    The definition of Address states that "address is intended to describe postal addresses, not physical locations". However, many applications track whether an address has a dual purpose of being a location that can be visited as well as being a valid delivery destination, and Postal addresses are often used as proxies for physical locations (also see the Location resource).

    Control0..1
    BindingThe codes SHALL be taken from AddressType
    (required to http://hl7.org/fhir/ValueSet/address-type|5.0.0)

    The type of an address (physical / postal).

    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Example<br/><b>General</b>:both
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    10. Address.text
    Definition

    Specifies the entire address as it should be displayed e.g. on a postal label. This may be provided instead of or as well as the specific parts.

    ShortText representation of the address
    Comments

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

    Control0..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Requirements

    A renderable, unencoded form.

    Example<br/><b>General</b>:137 Nowhere Street, Erewhon 9132
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    12. Address.line
    Definition

    This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information.

    ShortStreet name, number, direction & P.O. Box etc.
    Control1..2
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Example<br/><b>General</b>:137 Nowhere Street
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    14. Address.city
    Definition

    The name of the city, town, suburb, village or other community or delivery center.

    ShortName of city, town etc.
    Control1..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Alternate NamesMunicpality
    Example<br/><b>General</b>:Erewhon
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    16. Address.district
    Definition

    The name of the administrative area (county).

    ShortDistrict name (aka county)
    Comments

    District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead.

    Control0..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summarytrue
    Alternate NamesCounty
    Example<br/><b>General</b>:Madison
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    18. Address.state
    Definition

    Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (e.g. US 2 letter state codes).

    ShortSub-unit of country (abbreviations ok)
    Control0..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Alternate NamesProvince, Territory
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    20. Address.postalCode
    Definition

    A postal code designating a region defined by the postal service.

    ShortPostal code for area
    Control1..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Alternate NamesZip
    Example<br/><b>General</b>:9132
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    22. Address.country
    Definition

    Country - a nation as commonly understood or generally accepted.

    ShortCountry can either be the ISO 3-letter country code or the full country name matching the code.
    Comments

    ISO 3166 2- or 3- letter codes MAY be used in place of a human readable country name.

    Control1..1
    Typestring
    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()))
    24. Address.period
    Definition

    Time period when address was/is in use.

    ShortTime period when address was/is in use
    Control0..1
    TypePeriod
    Is Modifierfalse
    Summarytrue
    Requirements

    Allows addresses to be placed in historical context.

    Example<br/><b>General</b>:{ "start" : "2010-03-23", "end" : "2010-07-01" }
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))