This page is part of the FHIR Specification (v0.06: DSTU 1 Ballot 2). 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
This page contains two examples that demonstrate how to use extensions
ISO 21090 (Healthcare Data Types) defines a concept called a "name part qualifier" that contains extra information about how a particular name part should be used or interpreted. In practice, this field is used rarely, except in particular cultural contexts, where certain part qualifiers are used as a matter of practice. Following the FHIR design policy, such a field is not included in the overall definition of the core name data type, instead is it added as an extension.
In order to use an extension, there is a three step process:
In practice, for cases such as these in ISO 21090, HL7 provides common extensions, and these are defined at [location still to be finalized].
For each extension, the first thing to do is to fill out the definitional properties of the extension:
Code | "name-qualifier" |
Context | This extension can be used anywhere a HumanName.part appears |
Short Defn | (one of the codes) AD | SP | BR | CL | IN | LS | MID | PFX | SFX |
Definition | A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type |
Comments | Used to indicate additional information about the name part and how it should be used |
Cardinality | 0..* (this is always optional, but more than one can be used if required) |
Type | code |
XPaths | N/A |
Must Understand | No (Qualifiers are not required to be understood) |
RIM Mapping | ENXP.qualifier |
v2 Mapping | N/A |
Binding | Bound to a subset of the codes specified for EntityNamePartQualifierR2 in ISO 21090 |
Not all the codes of the EntityNamePartQualifierR2 are required in this context, because prefix and suffix are explicitly part of the name types. Rather than simply refer to the OID for EntityNamePartQualifierR2 (2.16.840.1.113883.5.1122), in this case we enumerate the available codes, and set the type of the extension to code. The type of "code" is only allowed if the profile itself defines the codes that can be used. Here is a table of the codes (see the EntityNamePartQualifierR2 reference for the full definitions):
LS | Legal status | For organizations a suffix... |
AC | Academic | Indicates that a prefix like "D... |
NB | Nobility | In Europe and Asia, there are s... |
PR | Professional | Primarily in the British Im... |
HON | Honorific | An honorific such as 'The Rig... |
BR | Birth | A name that a person was given at ... |
AD | Acquired | A name part a person acquired. ... |
SP | Spouse | The name assumed from the partner... |
MID | Middle Name | Indicates that the name par... |
CL | Call me | Callme is used to indicate which... |
IN | Initial | Indicates that a name part is ju... |
This is all then represented formally in a profile. Such profiles do not need to include constraint statements of resources; instead, they include just extension declarations and their associated bindings. In this case, the profile looks like this:
<Profile xmlns="http://hl7.org/fhir"> <id>iso-21090</id> <-- snip other metadata --> <extensionDefn> <code>name-qualifier</code> <context>HumanName.part</context> <contextType>datatype</contextType> <definition> <short>AD | SP | BR | CL | IN | LS | MID | PFX | SFX</short> <formal>A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type</formal> <comments>Used to indicate additional information about the name part and how it should be used</comments> <min>0</min> <max>*</max> <type>code</type> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> <binding>EntityNamePartQualifier</binding> <mapping> <target>ENXP.qualifier</target> <map>RIM</map> </mapping> </definition> </extensionDefn> <binding> <name>EntityNamePartQualifier</name> <definition>A set of codes each of which specifies a certain subcategory of the name part in addition to the main name part type</definition> <type>codelist</type> <strength>required</strength> <reference>http://www.hl7.org/fhir/repository/valueset/@name-part-qualifier</reference> <concept> <code>LS</code> <system>oid:2.16.840.1.113883.5.1122</system> <display>Legal status</display> <definition>For ... <-- snip definition --></definition> </concept> <-- snip other codes --> </binding> <-- snip narrative --> </Profile>
Note that usually you would build the actual profile using some tool. This example was built from a spreadsheet definition by the FHIR build tooling.
For this example, it is registered at http://hl7connect.healthintersections.com.au/svc/fhir/profile/@iso-21090. This is the url that will appear in the definition element when the extension is used.
To using the extension in an instance, you firstly mark the name part that is being extended with an id attribute, so that the extension can be connected to it:
<name> <use>official</use> <part id="n1"> <type>given</type> <value>Östlund</value> <part> </name>
Then, in the extensions section of the resource, you add an extension. The code and the definition have been defined above; all that is needed is the idref to the part above, and the actual value.
<extension> <url>http://hl7connect.healthintersections.com.au/svc/fhir/profile/@iso-21090#name-qualifier</url> <ref>n1</ref> <valueCode>MID</valueCode> <extension>
This particular example is a Scandavian mellannamn. See Datatypes examples for additional examples.
This is an old version of FHIR retained for archive purposes. Do not use for anything else
Implementers are welcome to experiment with the content defined here, but should note that the contents are subject to change without prior notice.
© HL7.org 2011 - 2012. FHIR v0.06 generated on Tue, Dec 4, 2012 00:04+1100. License