This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
FHIR Infrastructure Work Group | Maturity Level: N/A | Ballot Status: DSTU 2 |
This page includes additional examples of the data types, based on common usages and questions
Table of Contents
Primitive Types |
Complex Types |
A boolean true value:
<active value="true" />
A negative integer value:
<score value="-14" />
A high-precision decimal value:
<pi value="3.14159265358979323846264338327950288419716939937510" />
A stream of bytes, base64 encoded:
<data value="/9j/4...KAP//Z" /> <!-- covers many lines -->
A unicode string:
<caption value="Noodles are called ?? in Chinese" />
A URI that points to a website:
<reference value="http://hl7.org/fhir" />
A URI that is a urn:
<id value="urn:isbn:0451450523" />
A date of birth:
<date value="1951-06-04" />
An approximate date of birth:
<date value="1951-06" />
The instant a document was created, including time zone:
<instant value="2013-06-08T10:57:34+01:00" />
The instant a document was created, expressed in UTC, with milliseconds:
<instant value="2013-06-08T09:57:34.2112Z" />
2:35pm in the afternoon:
<time value="14:35" />
A URI that is the root oid of HL7:
<root value="urn:oid:2.16.840.1.113883" />
A URI that is a uuid:
<id value="urn:uuid:a5afddf4-e880-459b-876e-e4591b0acc11" />
A code:
<code value="acq4+acq5" />
A code with single internal space:
<code value="Question 4b" />
A numeric id:
<id value="314" />
An alphanumeric id:
<id value="alpha-gamma-14" />
See also Base Definition, Detailed Descriptions and Mappings.
A PDF document:
<document> <contentType value="application/pdf" /> <language value="en" /> <data value="/9j/4...KAP//Z" /> <!-- covers many lines --> <title value="Definition of Procedure" /> </document>
document : { contentType : { value : "application/pdf" }, language : { value : "en" }, data : { value : "/9j/4...KAP//Z"}, title : { value : "Definition of Procedure" } }
Since the JSON examples have the same structure as the XML, only XML is shown for the rest of the examples.
A reference to a DICOM image via WADO:
<image> <contentType value="application/dicom" /> <url value="http://10.1.2.3:1000/wado?requestType=WADO&wado_details..." /> <hash value="EQH/..AgME" /> </image>
See also Base Definition, Detailed Descriptions and Mappings.
Examples
A primary key from an application table (an OID in the space allocated by HL7 to some organization to further sub-allocate):
<identifier> <use value="official" /> <system value="urn:oid:2.16.840.1.113883.16.4.3.2.5" /> <value value="123" /> </identifier>
A patient identifier defined by a hospital:
<identifier> <use value="official" /> <system value="http://www.acmehosp.com/patients" /> <value value="44552" /> <period> <start value="2003-05-03" /> </period> </identifier>
In this case, the period is used to track when the identifier was first assigned to the patient.
An identifier that refers to a patient FHIR resource on a particular system:
<identifier> <system value="urn:ietf:rfc:3986" /> <value value="http://pas-server/xxx/Patient/443556" /> </identifier>
This is not a resource reference - it's a logical reference by the patient identifier.
A UUID:
<identifier> <use value="temp" /> <system value="urn:ietf:rfc:3986" /> <value value="urn:uuid:a76d9bbf-f293-4fb7-ad4c-2851cac77162" /> </identifier>
UUIDs are often used for temporary identifiers, though this is not necessary.
A US SSN:
<identifier> <use value="usual" /> <type> <coding> <system value="http://hl7.org/fhir/v2/0203"/> <code value="SSN"/> </coding> </type> <system value="http://hl7.org/fhir/sid/us-ssn" /> <value value="000111111" /> </identifier>
Notes:
A medical record number assigned on 5-July 2009:
<identifier> <use value="usual" /> <type> <coding> <system value="http://hl7.org/fhir/v2/0203"/> <code value="MRN"/> </coding> </type> <system value="urn:oid:0.1.2.3.4.5.6.7" /> <value value="2356" /> <period> <start value="2009-07-05" /> </period> </identifier>
See also Base Definition, Detailed Descriptions and Mappings.
Examples
A simple code for headache, in ICD-10:
<code> <system value="http://hl7.org/fhir/sid/icd-10" /> <code value="G44.1" /> </code>
A SNOMED CT expression:
<problem> <system value="http://snomed.info/sct" /> <code value="128045006:{363698007=56459004}" /> </problem>
See also Base Definition, Detailed Descriptions and Mappings.
Examples
A simple code for headache initially coded in SNOMED CT (by picking the SNOMED CT code from a pick-list), and then translated to ICD-10:
<concept> <coding> <system value="http://hl7.org/fhir/sid/icd-10" /> <code value="R51" /> </coding> <coding> <system value="http://snomed.info/sct" /> <code value="25064002" /> <display value="Headache" /> <userSelected value="true" /> </coding> <text value="general headache" /> </concept>
A concept represented in an institution's local coding systems for unit for which no UCUM equivalent exists:
<unit> <coding> <system value="urn:oid:2.16.840.1.113883.19.5.2" /> <code value="tab" /> <display value="Tablet" /> </coding> <coding> <system value="http://unitsofmeasure.org" /> </coding> </unit>
A SNOMED CT expression:
<diagnosis> <coding> <system value="http://snomed.info/sct" /> <code value="128045006:{363698007=56459004}" /> </coding> <text value="Cellulitis of the foot" /> </diagnosis>
In this case, there is no display element, because no display is defined for SNOMED CT expressions.
Using the value set:
The results on a urinalysis strip:
<valueCoding> <system value="http://example.org/codes/simple-grades" /> <code value="+" /> </valueCoding>
And where the value set would be something like this:
<ValueSet xmlns="http://hl7.org/fhir"> <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Possible Clinistix codes: neg, trace, +, ++, and +++</p> </div> </text> <identifier value="http://hl7.org/fhir/ValueSet/clinistix"/> <name value="Codes for Clinistix"/> <publisher value="HL7"/> <telecom> <system value="url"/> <value value="http://hl7.org/fhir"/> </telecom> <description value="Clinistix Codes"/> <status value="draft"/> <experimental value="true"/> <date value="2013-10-01"/> <codeSystem> <system value="http://example.org/codes/simple-grades"/> <caseSensitive value="false"/> <concept> <code value="neg"/> </concept> <concept> <code value="trace"/> </concept> <concept> <code value="+"/> </concept> <concept> <code value="+"/> </concept> <concept> <code value="++"/> </concept> <concept> <code value="+++"/> </concept> </codeSystem> </ValueSet>
See also Base Definition, Detailed Descriptions and Mappings.
Examples
A duration:
<time> <value value="25" /> <unit value="sec" /> <system value="http://unitsofmeasure.org" /> <code value="s" /> </time>
A concentration where the value was out of range:
<result> <value value="40000" /> <comparator value=">" /> <unit value="mcg/L" /> <system value="http://unitsofmeasure.org" /> <code value="ug" /> </result>
An amount of prescribed medication:
<dose> <value value="3" /> <unit value="capsules" /> <system value="http://snomed.info/sct" /> <code value="385049006" /> </dose>
A price (coded using currency codes defined in ISO 4217):
<cost> <value value="25.45" /> <unit value="US$" /> <system value="urn:iso:std:iso:4217" /> <code value="USD" /> </cost>
See also Base Definition, Detailed Descriptions and Mappings.
Examples
Range of Quantity (distance):
<estimate> <low> <value value="1.6" /> <unit value="m" /> </low> <high> <value value="1.9" /> <unit value="m" /> </high> </estimate>
See also Base Definition, Detailed Descriptions and Mappings.
Examples
Titer (Ratio of integer:integer)
<result> <numerator> <value value="1" /> </numerator> <denominator> <value value="128" /> </denominator> </result>
Unit cost (Ratio of Money:Quantity):
<charge> <numerator> <value value="103.50" /> <unit value="US$" /> <code value="USD" /> <system value="urn:iso:std:iso:4217" /> </numerator> <denominator> <value value="1" /> <unit value="day" /> <code value="day" /> <system value="http://unitsofmeasure.org" /> </denominator> </charge>
See also Base Definition, Detailed Descriptions and Mappings.
Examples
23rd May 2011 to 27th May, including 27th May:
<coverage> <start value="2011-05-23" /> <end value="2011-05-27" /> </coverage>
See also Base Definition, Detailed Descriptions and Mappings.
Example
The output from an EKG device:
<sampledData> <origin> <value value="0"/> <unit value="μV"/> <system value="http://unitsofmeasure.org"/> <code value="uV"/> </origin> <period value="2"/> <factor value="2.5"/> <dimensions value="1"/> <data value="-4 -13 -18 -18 -18 -17 -16 -16 -16 -16 -16 -17 -18 -18 -18 ...."/> </sampledData>
See also Base Definition, Detailed Descriptions and Mappings.
A Simple example
<name> <family value="Everyman" /> <given value="Adam" /> <given value="A." /> </name>
Composite names
<name> <family value="Contrata" /> <given value="Mary Jane" /> </name>
These cases can be quite ambiguous - is "Mary Jane" one name, or two? Different systems, and data enterers may treat this differently, and the person themselves may not know. Parts are allowed to contain spaces, but systems should consider how to treat these cases. Composite names separated by "-" should be treated as a single name part.
A common pattern: a person is called by a name other than that expected from their official name (first given name in most cultures).
<name> <use value="official" /> <family value="Chalmers" /> <given value="Peter" /> <given value="James" /> </name> <name> <use value="usual" /> <given value="Jim" /> </name>
This same pattern is often encountered with immigrants, who retain their real name for official use, but adopt a localized name for everyday use:
<name> <use value="official" /> <family value="Sczypinski" /> <given value="Piotr" /> <given value="Andre" /> </name> <name> <use value="usual" /> <family value="Skipper" /> <given value="Jim" /> </name>
Karen van Hentenryck is of Dutch origin, and the "van" is a voorvoegsel.
<name> <use value="official" /> <family value="van"> <extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier" > <valueCode value="VV" /> </extension> </family> <family value="Hentenryck" /> <given value="Karen" /> </name>
See the Extensibility Example for more information. Note that this name has multiple family name parts. Systems that do not support as many name parts as are provided in an instance they are processing may wish to append parts together using spaces, so that this becomes "van Hentenryck".
Complex example from Germany: Dr.phil. Regina Johanna Maria Gräfin Hochheim-Weilenfels, NCFSA. This example shows extensive use of multiple given names, prefixes, suffixes, for academic degrees, nobility titles, and professional designations.
<name> <use value="official" /> <family value="Hochheim-Weilenfels" /> <given value="Regina" /> <given value="Johanna" /> <given value="Maria" /> <prefix value="Gräfin"> <extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier" > <valueCode value="NB" /> </extension> </prefix> <prefix value="Dr. phil."> <extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier" > <valueCode value="AC" /> </extension> </prefix> <suffix value="NCFSA" /> </name> <name> <use value="maiden" /> <family value="Hochheim" /> </name>
This example makes use of the ISO 21090 extensions to carry the rare ISO 21090 qualifier attributes "AC" and "NB".
Japanese example in the three forms: ideographic (Kanji), syllabic (Hiragana) and alphabetic (Romaji).
<name> <family value="??" /> <given value="??" /> </name> <name> <family value="???" /> <given value="???" /> </name> <name> <family value="KIMURA" /> <given value="MICHIO" /> </name>
The three forms are differentiated by the character subset each contains.
Russian example in the two forms: cyrillic, and latin:
<name> <family value="??????" /> <given value="????" /> <given value="????????????" /> </name> <name> <family value="EMELIN" /> <given value="IVAN" /> <given value="VLADIMIROVICH" /> </name>
In Russian usage, these names are known as the domestic and foreign names respectively. The two forms are differentiated by the character subset each contains.
Scandinavian example: Erikson is the family name. Jan Erik are the given names, and Östlund the family name of the mother, which is taken as a Mellannamn.
<name> <use value="official" /> <family value="Erikson" /> <given value="Jan" /> <given value="Erik" /> <given value="Östlund"> <extension url="http://hl7.org/fhir/StructureDefinitioniso-20190#name-qualifier" > <valueCoding> <code value="MID" /> <system value="http://hl7.org/fhir/v3/EntityNamePartQualifier2" /> </valueCoding> </extension> </given> </name>
This example makes use of the ISO 21090 extension to carry the culture specific ISO 21090 qualifier attribute "MID" for the Mellannamn.
Then Jan Erikson has a daughter, Karin, with his wife Margrete Hansen. The first communications of the new born name is "Margrete Jente" (Margrete's Girl) and the mother's family name, not the given name (Karin). The father's Family name is not used at all. This is a known temporary name assigned directly after the birth of the child.
<name> <use value="temp" /> <!-- use could be OR+OLD, depends how record keeping is done --> <family value="Hansen" /> <given value="Margrete Jente" /> </name>
The baby's name is subsequently changed to the fathers' family name, and to use the mother's name as mellomnamn.
<name> <use value="official" /> <family value="Erikson" /> <given value="Karin" /> <given value="Hansen"> <extension url="http://hl7.org/fhir/StructureDefinitioniso-20190#name-qualifier" > <valueCoding> <code value="MID" /> <system value="http://hl7.org/fhir/v3/EntityNamePartQualifier2" /> </valueCoding> </extension> </given> </name>
Later, Karin gets married to Per Berg, and decides to adopt Berg as her family name, and also decides to use Erikson as the mellom navn. (Note: Karin could have chosen to use another mellom navn, e.g. the family name of her mother, her father or other family names as specified by naming laws of the country in question).
<name> <use value="old" /> <family value="Erikson" /> <given value="Karin" /> <given value="Hansen"> <extension url="http://hl7.org/fhir/StructureDefinitioniso-20190#name-qualifier" > <valueCoding> <code value="MID" /> <system value="http://hl7.org/fhir/v3/EntityNamePartQualifier2" /> </valueCoding> </extension> </given> </name> <name> <use value="official" /> <family value="Berg" /> <given value="Karin" /> <given value="Erikson"> <extension url="http://hl7.org/fhir/StructureDefinitioniso-20190#name-qualifier" > <valueCoding> <code value="MID" /> <system value="http://hl7.org/fhir/v3/EntityNamePartQualifier2" /> </valueCoding> </extension> </given> </name> <name> <use value="usual" /> <family value="Berg" /> <given value="Karin" /> </name>
These examples are taken from the W3C International Examples , which should be consulted for further information.
A patronymic is "The part of a name that links to the genealogy":
<name> <text value="Björk Guðmundsdóttir"/> <family value="Guðmundsdóttir"/> <given value="Björk"/> </name>
A patronymic with a "son/daughter of" appellation:
<name> <text value="Isa bin Osman"/> <family value="bin Osman"/> <given value="Isa"/> </name>
Note: The family name may also be given as two different family names.
A Chinese name with a generational name:
<name> <text value="???"/> <!-- left to right --> <family value="?"/> <given value="?"/> <given value="?"/> </name> <name> <text value="Mao Ze Dong"/> <!-- left to right --> <family value="Mao"/> <given value="Ze"/> <given value="Dong"/> </name>
Todo: is there a need to identify the given name that is the generational name.
Additional Western name (see also example above):
<name> <use value="official" /> <family value="Yao" /> <given value="Ming" /> </name> <name> <use value="usual" /> <given value="Fred" /> </name>
Multiple Family names:
<name> <family value="Carreño" /> <family value="Quiñones" /> <given value="María-Jose" /> </name>
Brazilian Example:
<name> <family value="Eduardo" /> <family value="Santos" /> <family value="Tavares" /> <family value="Melo" /> <family value="Silva" /> <given value="José" /> </name>
Russian Examples (using Cyrillic):
<name> <family value="??????????" /> <family value="??????" /> <given value="?????" /> </name> <name> <family value="?????????" /> <family value="???????" /> <given value="?????" /> </name>
Example with Initial:
<name> <family value="Public" /> <given value="John" /> <given value="Q." /> </name>
Other Examples:
<name> <text value="Velikkakathu Sankaran Achuthanandan"/> <family value="Velikkakathu" /> <given value="Sankaran" /> <given value="Achuthanandan" /> </name> <name> <text value="Kogaddu Birappa Timappa Nair"/> <family value="Nair" /> <given value="Birappa" /> <given value="Timappa" /> <prefix value="Kogaddu" /> </name> <name> <text value="Aditya Pratap Singh Chauhan"/> <family value="Singh" /> <given value="Aditya" /> <given value="Pratap" /> <suffix value="Chauhan" /> </name> <name> <text value="Madurai Mani Iyer"/> <given value="Mani" /> <prefix value="Madurai" /> <suffix value="Iyer" /> </name> <name> <text value="Abu Karim Muhammad al-Jamil ibn Nidal ibn Abdulaziz al-Filistini"/> <family value="ibn Nidal" /> <family value="ibn Abdulaziz" /> <given value="Muhammad" /> <given value="al-Jamil" /> <prefix value="Abu Karim" /> <suffix value="al-Filistini" /> </name>
Todo: need to discuss this with Indian / Arabic implementers. Note that collecting and storing the text element makes the primary purpose of the structured parts for index/searching, and fidelity of the name parts is not critical.
See also Base Definition, Detailed Descriptions and Mappings.
Note about these examples: the most important element in an address is the 'text' element - this defines what is printed on the envelope, the actual postal address. The other data elements are provided to support either data analysis based on a patient's address, or for the many systems that exchange fully structured addresses specific to a particular culture. For this reason, these examples focus on the structured data elements of the address.
Example
HL7 office's address.
<address> <use value="work" /> <text value="1050 W Wishard Blvd RG 5th floor Indianapolis, IN 46240" /> <line value="1050 W Wishard Blvd" /> <line value="RG 5th floor" /> <city value="Indianapolis" /> <state value="IN" /> <postalCode value="46240" /> </address>
A UK example address, with the county 'HUDDERSFIELD'.
<address> <text value="1 Back Lane Holmfirth HUDDERSFIELD HD7 1HQ"/> <line value="1 Back Lane"/> <city value="Holmfirth"/> <district value="HUDDERSFIELD"/> <postalCode value="HD7 1HQ"/> </address>
A Postal address - i.e. an address that it doesn't make sense to try and visit.
<address> <extension url="http://hl7.org/fhir/StructureDefinition/iso21090-AD-use"> <valueCode value="PST"/> </extension> <line value="PO Box 31445"/> <city value="Erewhon"/> <postalCode value="0001"/> </address>
The next set of examples are taken from the official international postal union examples.
Rue Lougoraïa 12, app. 10 | thoroughfare type, name and number, apartment |
Korolevo | locality |
223016 NOVY DVOR | postcode + post office name |
Minsk | District name of district |
Minsk | Region name of region |
BELARUS | Country |
<address> <line value="Rue Lougoraïa 12, app. 10"/> <city value="Korolevo"/> <district value="Minsk"/> <state value="Minsk" /> <country value="BELARUS" /> </address>
Protea Apt 12 | apartment number |
22 Ally Hassan Mwinyi | premise + street |
14111 MSASANI | postcode + locality |
DAR ES SALAM | province |
TANZANIA | country |
<address> <line value="Protea Apt 12"/> <line value="22 Ally Hassan Mwinyi"/> <city value="MSASANI"/> <state value="DAR ES SALAM" /> <postalCode value="14111"/> <country value="TANZANIA" /> </address>
15 Shiri | premise + sub-locality 2 |
Kimashuku Village | sub-locality |
25204 MACHAME KUSINI | postcode + locality |
HAI | sub-province |
KILIMANJARO | province |
TANZANIA | country |
<address> <extension url="http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-precinct"> <valueCode value="Kimashuku Village"/> </extension> <line value="15 Shiri"/> <city value="MACHAME KUSINI"/> <district value="HAI"/> <state value="KILIMANJARO" /> <postalCode value="25204"/> <country value="TANZANIA" /> </address>
705-1104 | building number + door |
56, Dalgubeol-daero 323beon-gil, Suseong-gu | street |
Daegu | city |
Rep. OF KOREA | country |
706-907 | postcode |
<address> <line value="705-1104"/> <line value="56, Dalgubeol-daero 323beon-gil, Suseong-gu"/> <city value="Daegu"/> <country value="Rep. OF KOREA" /> <postalCode value="706-907"/> </address>
3F | building floor |
42, Toegye-ro 77beon-gil | street |
Chuncheon-si | city |
Gangwon-do | province |
Rep. OF KOREA | country |
200-066 | postcode |
<address> <line value="3F"/> <line value="42, Toegye-ro 77beon-gil"/> <city value="Chuncheon-si"/> <state value="Gangwon-do" /> <country value="Rep. OF KOREA" /> <postalCode value="200-066"/> </address>
Ga-B101 | building number + door |
136, Sesil-ro | street |
Busan | city |
Rep. OF KOREA | country |
612-837 | postcode |
<address> <line value="Ga-B101"/> <line value="136, Sesil-ro"/> <city value="Busan"/> <country value="Rep. OF KOREA" /> <postalCode value="612-837"/> </address>
See also Base Definition, Detailed Descriptions and Mappings.
Example
Home phone number:
<telecom> <system value="phone" /> <value value="(555) 675 5745" /> <use value="home" /> </telecom>
In ISO 21090, CDA and other HL7 v3 specifications, the TEL data type requires that the telephone number be represented as a formal URI in RFC 3166 syntax. Many CDA documents violate this rule, since the telephone numbers are not collected from the user in conformance with the underlying rules (particularly around extensions, notes about use, etc.), so the base FHIR type does not require the phone number to be conformant. A ISO 21090 extension can be used to convey this if desired:
Example
Formally correct URI:
<telecom> <extension url="http://hl7.org/fhir/StructureDefinition/iso21090-TEL-address" > <valueUri value="tel:+15556755745" /> </extension> <system value="phone" /> <value value="(555) 675 5745" /> <use value="home" /> </telecom>
See also Base Definition, Detailed Descriptions and Mappings.
Example
A series of appointments for radiotherapy:
<schedule> <event value="2012-01-07T09:00:00+10:00" /> <event value="2012-01-14T09:00:00+10:00" /> <event value="2012-01-22T11:00:00+10:00" /> </schedule>
BID (twice a day) (no start or end specified):
<schedule> <repeat> <frequency value="2" /> <period value="1" /> <periodUnit value="d" /> </repeat> </schedule>
1/2 an hour before breakfast for 10 days from 23-Dec 2011:
<schedule> <repeat> <boundsPeriod> <start value="2011-12-23" /> <end value="2012-01-02" /> </boundsPeriod> <when value="ACM" /> <period value="30" /> <periodUnit value="min" /> </repeat> </schedule>
Note that the end date is inclusive like the end date of a Period.
TID, for 14 days:
<schedule> <repeat> <boundsDuration> <value value="14" /> <unit value="d" /> <system value="http://unitsofmeasure.org" /> <unit value="d" /> </boundsDuration> <frequency value="3" /> <period value="1" /> <periodUnit value="d" /> </repeat> </schedule>
BID, start on 7/1/2015 at 1:00 PM:
<schedule> <repeat> <boundsPeriod> <start value="2015-07-01T13:00:00" /> </boundsPeriod> <frequency value="2" /> <period value="1" /> <periodUnit value="d" /> </repeat> </schedule>
See also Base Definition, Detailed Descriptions and Mappings.
Example
todo
<signature> <!-- todo --> </signature>
See also Base Definition, Detailed Descriptions and Mappings.
Example
todo
<Annotation> <!-- todo --> </Annotation>