Pharmaceutical Quality Submissions to Food & Drug Administration (PQ/CMC)
0.1.20 - Build CI United States of America flag

Pharmaceutical Quality Submissions to Food & Drug Administration (PQ/CMC), published by HL7 International / Biomedical Research and Regulation. This guide is not an authorized publication; it is the continuous build for version 0.1.20 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/FHIR-us-pq-cmc/ and changes regularly. See the Directory of published versions

Data Type Profile: PqAddress - Detailed Descriptions

Draft as of 2024-03-04

Definitions for the pq-cmc-address data type profile.

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

0. Address
Invariantsaddr-state: If the country is USA, then the state and postal code exist (country = 'USA' implies (state.exists() and state.length() = 2 and postalCode.exists()))
addr-zip: 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. The codes and full names are in the value set: GENC 3 Letter Codes
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).

Control0..*
Is Modifierfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
addr-state: If the country is USA, then the state and postal code exist (country = 'USA' implies (state.exists() and state.length() = 2 and postalCode.exists()))
addr-zip: 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
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. The codes and full names are in the value set: GENC 3 Letter CodesCountry (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()))
addr-state: If the country is USA, then the state and postal code exist (country = 'USA' implies (state.exists() and state.length() = 2 and postalCode.exists()))
addr-zip: 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 are unordered 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
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
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. The codes and full names are in the value set: GENC 3 Letter Codes
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()))