This page is part of the FHIR Specification (v0.05: DSTU 1 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
This is an old version of FHIR retained for archive purposes. Do not use for anything else
Welcome to the FHIR Draft for comment ballot + Connectathon Source. This is the "book form" of FHIR, with all the contents in a single stream with section numbers. The section numbers are used when making ballot comments. You can can download this book form and compare previous versions of FHIR at the FHIR home page (http://hl7.org/fhir). You can also go to that page for more information about implementation support and how to engage in the FHIR development process.
This ballot is restricted to the infrastructural parts. Specifically, this is the "Introduction" and "Implementation" sections, or sections 1.*, 2.*, 4.1-4.8 and 5.1-5.9. Comments may be made against the Resources but there is no guarantee that they will ever be acted on.
As draft for comment, there are still several open issues around the the FHIR specification.
Additional open issues can be found in the text of the specification and on the FHIR active discussions wiki page. Contributions on the wiki in addition to (or in place of) ballot feedback is more than welcome.
It is expected that these will be resolved between this ballot and the next, particularly through feedback from the connectathon.
FHIR is a very implementation focused specification. Ballot comments representing real world experience will attract a greater weight; reference the implementation context in your comments where possible.
The FHIR project team is
1: Introduction (§1.0)
1.1: Roadmap (§1.1)
1.2: Resource Format (§1.2)
1.3: Data Types (§1.3)
1.4: Using Codes (§1.4)
1.5: Extensibility (§1.5)
1.6: Resource Profiles (§1.6)
2: Implementation (§2.6)
2.1: REST (HTTP) (§2.1)
2.2: Messaging (§2.2)
2.3: Documents (§2.3)
2.4: hData Integration (§2.4)
2.5: Atom Feeds
2.6: Value Set (§2.6)
2.7: Conformance (§2.7)
3: Resources (§3.7)
3.1: Agent (§3.1)
3.2: Animal (§3.2)
3.3: AssessmentScale (§3.3)
3.4: LabReport (§3.4)
3.5: Organization (§3.5)
3.6: Patient (§3.6)
3.7: Person (§3.7)
3.8: Prescription (§3.8)
4: Examples
4.1: Resource Format (§4.1.1)
4.2: Data types (§4.2.1)
4.3: Extensibility (§4.3.1)
4.4: Agent (§4.4)
4.5: Animal (§4.5)
4.6: AssessmentScale (§4.6)
4.7: Conformance (§4.7)
4.8: DocumentHeader (§4.8)
4.9: LabReport (§4.9)
4.10: MessageHeader (§4.10)
4.11: Organization (§4.11)
4.12: Patient (§4.12)
4.13: Person (§4.13)
4.14: Prescription (§4.14)
4.15: Profile (§4.15)
4.16: ValueSet (§4.16)
5: Formal Definitions
5.1: Terminology Bindings (§5.1.1)
5.2: XML (§5.2.1)
5.3: Data Types (§5.3.1)
5.4: Extensibility (§5.4.1)
5.5: Agent (§5.5)
5.6: Animal (§5.6)
5.7: AssessmentScale (§5.7)
5.8: Conformance (§5.8)
5.9: DocumentHeader (§5.9)
5.10: LabReport (§5.10)
5.11: MessageHeader (§5.11)
5.12: Organization (§5.12)
5.13: Patient (§5.13)
5.14: Person (§5.14)
5.15: Prescription (§5.15)
5.16: Profile (§5.16)
5.17: ValueSet (§5.17)
Fast Healthcare Interoperability Resources (FHIR) defines a set of "resources" for health. These resources represent granular clinical concepts that can be exchanged in order to quickly and effectively solve problems in healthcare and related processes. The resources cover the basic elements of healthcare - patients, admissions, diagnostic reports, medications and problem lists - with their typical participants and also support a range of richer and more complex clinical models. The simple direct definitions of the resources are based on thorough requirements gathering, formal analysis and extensive cross-mapping to other relevant standards. |
FHIR plain English license:
Note: Why not use a standard open source license? We'd like to use Creative Commons (http://creativecommons.org/) or a license listed here (http://opensource.org/licenses/alphabetical) , but none of them actually deliver on the plain English intent above in important ways. We aspire to meet these requirements from the Open Source Initiative (http://opensource.org/osr-intro) , though patents are a problem (http://xml.coverpages.org/patents.html) .
While we resolve the questions around the long term license, the following license, adapted from the OMG (http://www.omg.org) (thanks for allowing this), applies:
Subject to all of the terms and conditions below, HL7 hereby grants you a fully-paid up, non-exclusive, non-transferable, perpetual, worldwide license (without the right to sublicense) to use this specification to create and distribute software and special purpose specifications that are based upon this specification and to use, copy and distribute this specification as provided under the United States Copyright Act; provided that:
- both the copyright notice identified above and this permission notice appear on any copies of this specification;
- the use of the specifications is for informational purposes and will not be resold or transferred for commercial purposes;
- no modifications are made to this specification.
This limited permission automatically terminates without notice if you breach any of these terms or conditions. Upon termination, you will destroy immediately any copies of the specifications in your possession or control.
GENERAL USE RESTRICTIONS
Any unauthorized use of this specification may violate copyright laws, trademark laws, and communications regulations and statutes. This document contains information which is protected by copyright. All Rights Reserved. No part of this work covered by copyright herein may be reproduced or used in any form or by any means--graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems--without permission of the copyright owner.
DISCLAIMER OF WARRANTY
WHILE THIS PUBLICATION IS BELIEVED TO BE ACCURATE, IT IS PROVIDED "AS IS" AND MAY CONTAIN ERRORS OR MISPRINTS. HL7 MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS PUBLICATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF TITLE OR OWNERSHIP, IMPLIED WARRANTY OF MERCHANTABILITY OR WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE OR USE. IN NO EVENT SHALL HL7 BE LIABLE FOR ERRORS CONTAINED HEREIN OR FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, RELIANCE OR COVER DAMAGES, INCLUDING LOSS OF PROFITS, REVENUE, DATA OR USE, INCURRED BY ANY USER OR ANY THIRD PARTY IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
The entire risk as to the quality and performance of software developed using this specification is borne by you. This disclaimer of warranty constitutes an essential part of the license granted to you to use this specification.
CONFORMANCE
HL7 is and shall at all times be the sole entity that may authorize developers, suppliers and sellers of computer software or specifications to use certification marks, trademarks or other special designations to indicate compliance with FHIR. Software developed under the terms of this license may claim compliance or conformance with FHIR if and only if the software compliance is of a nature fully matching the applicable conformance points as stated in the FHIR specification. Software developed only partially matching the applicable compliance points may claim only that the software was based on FHIR, but may not claim compliance or conformance with this specification. In the event that testing suites or processes are implemented or approved by HL7, Inc., software developed using this specification may claim compliance or conformance with the FHIR specification only if the software satisfactorily completes the testing suites.
Fast Healthcare Interoperability Resources (FHIR) defines a set of resources for use in exchanging information about the healthcare processes. Resources are:
In addition to the basic resources, FHIR defines a lightweight implementation framework that supports the use of these resources in RESTful environments, classic message exchanges, human-centric clinical documents and enterprise SOA architectures. Each of these approaches provides its own benefits - FHIR provides the underpinning enablement that makes the choosing one of these painless and enables enterprises to choose their own paradigm without forsaking interoperability with other paradigms.
Though the resources are simple and easy to understand, they are backed by a thorough, global requirements gathering and formal modeling process that ensures that the content of the resources is stable and reliable. The resource contents are mapped to solid underlying ontologies and models using computable languages (including RDF) so that the definitions and contents of the resources can be leveraged by computational analysis and conversion processes.
FHIR also provides an underlying conformance framework and tooling that allows different implementation contexts and enterprises to describe their context and use of resources in formal computable ways and to empower computed interoperability that leverages both the conformance and definitional frameworks.
The combination of the resources and the 3 supporting layers (implementation frameworks, definitional thoroughness, and conformance tooling) frees healthcare data so that it can easily flow to where it needs to be (hospital production systems, mobile clinical systems, cloud based data stores, national health repositories, research databases, etc.) without having to pass through format and semantic inter-conversion hurdles along the way.
Compared to the all the other approaches, FHIR... [-- Obligatory: insert your FHIR FIRE related joke here --].
This specification is structured into 3 parts, the introduction, the implementation section and the resource definitions.
The introduction provides foundational material that is required to understand and use resources:
The implementation section explains how resources are used in various contexts:
The resources section enumerates the resources:
For each resource, the following pages are provided:
The FHIR community meets inside the wider HL7 community (http://hl7.org) and draws on its extensive human resources, institutional memory, previous standards and corporate support. HL7 itself owns FHIR and makes it freely available and the community relies on HL7 provided infrastructure.
The primary resources used by the FHIR community are the HL7 wiki (http://wiki.hl7.org/index.php?title=FHIR) , and the FHIR email list (http://wiki.hl7.org/index.php?title=FHIR_email_list_subscription_instructions) . In addition, the community holds regular face to face meetings as part of the HL7 Working Group meetings (http://www.hl7.org/events/workgroupmeetings.cfm?ref=nav) . The formal governance arrangements that manage FHIR development are documented (where?)
Note that each page contains a direct link its matching wiki page where input from the wider community is managed. Community input is very welcome - please consider making comments.
In this specification, resources are described in a simple XML format. This page documents how the XML content for resources is described and controlled. The XML may be validated by schema and schemas are provided, but validation is not required in operational systems (though the XML must always be valid against this specification). In addition to the simple XML description, W3C Schema, UML models, and other definitional models are provided that may be a useful aid for system implementation.
To provide a visual sense of what the end resource instances will look like, all resources include documentation of their allowed content in a pseudo-XML syntax that uses the following notation:
<name xmlns="http://hl7.org/fhir" [xml:lang]> <nameA><!-- 1..1 type description of content --><nameA> <nameB d?><!-- 0..1 type description --></nameB> <nameC> <!-- 1..* --> <nameD d?><!-- 1..1 type>Relevant records --></nameD> </nameC> <name>
Notes:
Every resource contains the following common elements:
<[Name] xmlns="http://hl7.org/fhir"> <id><!-- 0..1 id Master Resource Id, always first in all resources --></id> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of [x], for human interpretation --></text> </[Name]>
The id element is always mandatory except in the case that a resource is posted to a server to create it, and the id of the resource is not yet known. In this case, the id element is absent. The use of the id element is discussed further below (§1.2.6). The use of the extensions element is discussed under "Extensibility" (§1.5). The text ("Narrative") is discussed below (§1.2.4). In addition to these data elements, there are several pieces of metadata about a resource that are not part of the resource content, but are delegated to the infrastructure:
Metadata Item | Type | Usage |
---|---|---|
Version Id | id | Changed each time the content of the resource changes. Can be referenced in a resource reference (see below). Can be used to ensure that updates are based on the latest version of the resource. |
Last Modified Date | dateTime | Changed each time the content of the resource changes. Can be used by a system or a human to judge the currency of the resource content. |
Master Location | uri | Reports the location of the master for the resource. Useful when a resource is re-used by another system - it can report the location of the master should any system need to know this. |
In any environment where the resources are used, the technical details of how these metadata elements are represents will need to be resolved. For further details, see Implementation Details (§2.6).
Data Quality - or the lack thereof - is a ubiquitious issue in healthcare. In order to handle this, many elements defined as part of a resource may have a dataAbsentReason attribute. This attribute may be used to specify why the normally expected content of the data element is missing.
<x dataAbsentReason=""/>
The dataAbsentReason attribute can have one of the following values:
unknown | The value is not known |
asked | The source human does not know the value |
temp | There is reason to expect (from the workflow) that the value may become known |
notasked | The workflow didn't lead to this value being known |
masked | The information is not available due to security, privacy or related reasons |
unsupported | The source system wasn't capable of supporting this element |
astext | The content of the data is represented as text (see below) |
error | Some system or workflow process error means that the information is not available |
Notes:
Every resource SHALL include a human readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resources may define what content should be represented in the narrative to ensure clinical safety.
The narrative for a resource is allowed to contain additional information that is not in the structured data, including human-edited content. Such additional information must be in the scope of the definition of the resource. In small, closed trading partner environments, there may be no need for a narrative text. In such cases, implementations are allowed to populate the narrative with text equivalent to "No human readable text provided for this resource" (other languages are allowed). Implementers should note that small, closed traing partner environments are very likely to open up during the lifetime of the resources they define.
Each narrative has a flag that specifies the relationship between the narrative and the structured data. This flag may have one of the following codes:
generated | The contents of the narrative are entirely generated from the structured data in the resource. |
extensions | The contents of the narrative are entirely generated from the structured data in the resource and some of the narrative is generated from extensions |
additional | The contents of the narrative contain additional information not found in the structured data |
In addition to this general flag that specifies the status of the narrative, there is an optional mapping between the narrative and the structured data. Each mapping has narrative id and structured data id which provide internal references (§1.2.5) to the narrative and the structured data respectively, and a flag for whether the text was generated from the data, or the data was generated from the text (by some form of retrospective processing, whether human or computer), or whether both come from an external source. The structured data target may be an empty element with a dataAbsentReason of "astext"; this means that the value of the text could not be properly represented in the data type. Any element defined as part of the resource content, or any repeating element inside a data type may carry an id attribute to serve as the target of a narrative mapping.
The narrative is an xhtml fragment that also includes images if appropriate:
<x xmlns="http://hl7.org/fhir"> <status><!-- 1..1 code generated | extensions | additional --></status> <div xmlns="http://www.w3.org/1999/xhtml"> <!-- Limited xhtml content< --> </div> <image> <!-- 0..* Images referenced in xhtml --> <mimeType><!-- 1..1 code Mime type of image --></mimeType> <content><!-- 1..1 base64Binary base64 image data --></content> </image> <map> <!-- 0..* --> <text><!-- 1..1 idref Narrative source (by id attribute) --></text> <data><!-- 1..1 idref Data source (by id attribute) --></data> <source><!-- 1..1 code text | data --></source> </map> </x>
Terminology Bindings
generated | The contents of the narrative are entirely generated from the structured data in the resource. | |
extensions | The contents of the narrative are entirely generated from the structured data in the resource and some of the content is generated from extensions | |
additional | The contents of the narrative contain additional information not found in the structured data |
text | The text is the original data | |
data | The data is the original data |
The contents of the div element are an XHTML fragment containing only the basic html formatting elements described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes. The XHTML content must not contain a head, a body element, external stylesheet references, scripts, forms, base/link/xlink, frames, iframes, and objects.
<narrative> <div xmlns="http://www.w3.org/1999/xhtml">This is a simple example with only plain text</div> </narrative> <narrative> <div xmlns="http://www.w3.org/1999/xhtml"> <p> This is an <i>example</i> with some <b>xhtml</b> formatting. </p> </div> <narrative>
The image source may be a local reference within the resource:
<img src="#a5"/>
This is a internal reference (§1.2.5) to an id attribute on an element in the same resource, either in the image attachments on the text element directly, or an element of type "Attachment (§1.3.4)".
<narrative> <html xmlns="http://www.w3.org/1999/xhtml"> <p> <img src="#a1/>. </p> </html> <image id="a1"> <mimeType>image/png</mimeType> <data>MEKH....SD/Z</data> </image> <narrative>
Since the presence of images that are not part of the resource is not guaranteed, images that are an essential part of the narrative should always be embedded.
The dataAbsentReason is not used on the narrative element or any elements contained in it. The xhtml element must have some non-whitespace content.
Note: the XHTML is contained in general XML, and there is no support for HTML entities like or © etc. Unicode characters should be used instead. Note that   substitutes for .
The XHTML fragment in the narrative may be styled using CSS in the normal fashion, using a mix of classes, ids and in-line style elements. Specific CSS stylesheets will be applied to the XHTML when it is extracted from the resource to be displayed to a human to create the presentation desired in the context of use. Authors may fix the following styling aspects of the content:
These style properties are specified in-line using the style attribute. If an equivalent html element exists, such as "i", or "pre", it may be used instead, but note that some of these elements are deprecated in HTML 4 and must not be used in Narrative XHTML (including "u", and "font").
Rendering systems are required to respect any of these rendering styles when they are specified in the XHTML, though appropriate interpretation is allowed (e.g. a low-contrast display for dark room contexts may adjust colors accordingly).
Authors are allowed to specify additional styles and style properties as specified in the CSS specification, but these are extensions to this specification and renderers are not required to honor them. Note, however, the additional rules around styling that apply in the context of documents (§2.3.4.1).
There are 4 cases where elements inside a resource reference each other:
These references are done using an id/idref based approach, where a source element indicates that it has the same content as the target element. The target element has an attribute "id" which must have a unique value within the resource with regard to any other id attributes. The "id" attribute is not in any namespace. The source element has no content (text or children elements) and just a single attribute named "idref". The value of the idref attribute must match the value of an id attribute in the same resource (or, for a CodeableConcept, inside the same datatype).
<example> <target id="a1"> <child>content</child> </target> <-- other stuff --> <source idref="a1"> </example>
In a single resource, this works exactly like xml:id/idref, but there is an important difference: the uniqueness and resolution scope of these id references is within the resource that contains them. If multiple resources are combined into a single piece of XML, such as an atom feed, duplicate values may occur between resources. This must be managed by applications reading the resources.
The "Resource" type indicates a reference from one resource to another.
<x xmlns="http://hl7.org/fhir"> <type><!-- 0..1 code Resource Type --></type> <id><!-- 0..1 uri URL/Id of the reference --></id> <version><!-- 0..1 uri Specific version URL/Id of resource referenced --></version> <text><!-- 0..1 string Text alternative for the resource --></text> </x>
Terminology Bindings
Whether or not the type of the resource reference is fixed for a particular element, the reference includes the resource type.
Both the id and the version are URL based references - they must be literal URLs that resolve to the location of the resource. Both URLs may be relative URLS, in which case they are interpreted to contain the logical id and versionId respectively of the resource in question, and the resolution of the logical reference is a matter of implementation logic. Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading between separated eco-systems. Absolute URLs do not need to point to a FHIR RESTful server (§2.1), though this is the preferred approach.
A resource reference may contain either a version independent reference ("id") or a version dependent reference ("version") or both. If both are provided, it is at the descretion of the processor of the data which to use in a particular context. If relative references are used, a version cannot be provided without an id, since the version may be scoped by the id.
A relative reference to the patient (§3.6) "034AB16" in an element named "context":
<context> <type>Patient</type> <id>034AB16</id> <context>
An absolute reference to a resource profile (§1.6) in an element named "profile":
<profile> <type>Profile</type> <id>http://fhir.hl7.org/svc/profile/@c8973a22-2b5b-4e76-9c66-00639c99e61b</id> <profile>
Note that HL7 has not yet actually created a profile registry, nor decided on a URL for it.
The logical id and version id of a Resource can take one of the following forms:
A whole number in the range 0 to 2^64-1. May be represented in hex | |
A uuid (guid) (in lowercase, without wrapping with the characters "{}[]" which sometimes occur) | |
An ISO OID (http://en.wikipedia.org/wiki/Object_identifier) | |
Any other combination of letters, numerals, "-" and "." | |
Resource ids must be represented in lowercase. Ids are always opaque, and systems should not and need not attempt to determine their internal structure. However the id is represented, it must always be represented in the same way in resource references and URLs. Note that absolute URLs that do not point to FHIR RESTful servers do not need to include the id in the URL, though this is good practice. If the id is in the URL, it must be present in lower case. Irrespective of whether the URL points to a FHIR RESTful server or includes the logical id in the URL, URLs are always considered to be case-sensitive and lowercase is preferred.
Plain text narrative may be provided that describes the resource in addition to the resource reference (or in place of, if a dataAbsentReason is allowed).
<id> <type>Organisation</type> <id>1234</id> <text>HL7, Inc</text> <id>
Use
Unless the resource reference element has a dataAbsentReason flag, it must contain a valid type and (id or version).
There is no explicit version marker in the XML. Subsequent versions of this specification may introduce new elements at any point in the content models, but the path and meaning of existing data elements will not be changed. Given that, in a typical scenario, mixed versions may need to exist, applications SHOULD ignore elements that they do not recognize unless those elements are marked with a "must understand" attribute. However, in a healthcare context, many application vendors are unwilling to consider this approach because of concerns about clinical risk. Applications are not required to ignore unknown elements, but must declare whether they will do so in their conformance statements using the acceptUnknown element.
This specification provides schema definitions for all of the content models described here. The base schema is called "fhir-base.xsd" and defines all of the datatypes and also the base infrastructure types described on this page. In addition, there is a schema for each resource and a common schema fhir-all.xsd that includes all the resource schemas. A customized atom schema fhir-atom.xsd is provided for validating bundles.
In addition to the w3c schema files, this specification also provides Schematron files that enforce the various constraints defined for the datatypes and resources. These are packaged as files for each resource as well as a combined fhir-atom.sch file that incorporates the rules for all resources.
XML that is exchanged must be valid against the w3c schema and Schematron, though there is no requirement to validate instances against either, nor is being valid against the schema and Schematron sufficient to be a conformant instance. (This specification makes several rules that cannot be checked by either mechanism.) Exchanged content must not specify the schema or even the schema instance namespace in the resource itself.
In addition to the schema, this specification also provides object models defined in UML that may be of assistance in defining systems that work with the resources defined here.
Although the UML models provided express the same contents as the resource formats, because of the wide variation in how different architectures and tools map from UML to XML, there should be no expectation that any particular tool will produce compatible XML from these UML diagrams. Systems are welcome to use these object models as a basis for serialization internally or even between trading partner systems, with any form of exchange technology (including JSON). Systems that use this form of exchange cannot claim to be conformant with this specification, but can describe themselves as using "FHIR consistent object models".
Informative Section: Due to a series of issues around the formal standardization of the JSON representation, the standard JSON representation for resources is only informative.
Though the formal representation of the resources is in XML, many systems wish to use JSON to exchange the resources and it is useful to standardise a single JSON format for this use. The JSON format for the resources follows the standard XML format closely so XPath queries can easily be mapped to query the JSON structures:
There are differences too:
These differences - particularly the repeating element one, which cannot be avoided - ensure that generic XML --> JSON converters are not able to perform correctly. The reference platforms will provide XML <--> JSON conversion functionality.
FHIR elements with primitive values are represented as JSON object members of the same name, with their value encoded as a string. Native JSON types other than "string" are never used to guarantee equivalence of the serialized representation between XML and JSON.
Primitive elements used inside the FHIR datatypes cannot have an 'id' or 'dataAbsentReason' attribute, so they are rendered in JSON as a property and value:
<date>1972-11-30</date>
is represented in JSON as
"date": "1972-11-30"
Primitive elements inside resources can have 'id' or (if allowed) 'dataAbsentReason' attributes, so their JSON representation uses a JSON object with members '_id', 'dataAbsentReason' and 'value', which contains the actual primitive value as string. Note that in most cases, the primitive will not have a value when there is a dataAbsentReason present, in which case the special 'value' member must not be present. So,
<dob id='314159'>1972-11-30</dob>
is represented in JSON as:
"dob": { "_id": "314159", "value": "1972-11-30" }
while this example would look like this in the case of a dataAbsentReason:
"dob": { "_id": "314159", "dataAbsentReason": "Unknown" }
Repeating elements are rendered withing a JSON array with the name of the element, so a repeating <dob> element in
<dob>2011-11-30</dob> <dob id='314159'>1972-11-30</dob>
is represented in JSON like so:
"dob": [ { "value": "2011-11-30" }, { "_id": "314159", "value": "1972-11-30" } ]
Resources and other composite datatypes (types that contain named elements of other types) are represented using a JSON object, containing a member for each element in the datatype. Composites can have id's and dataAbsentReasons, therefore these attributes get converted to JSON members values, in the same manner as described for primitives. These members will be placed before all other members. For example:
<Person> <id>34234</> <name> <use>official</use> <part> <type>given</type> <value>Karen</value> </part> <part id="n1"> <type>family</type> <value>Van</value> </part> </name> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml">...</div> </text> </Person>
is represented in JSON as:
{ "Person" : { "id" : { "value" : "34234" }, "name" : [{ "use" : "official", "part" : [ { "type" : "given", "value" : "Karen" }, { "_id" : "n1", "type" : "family", "value" : "van" }] }], "dob" : { "dataAbsentReason" : "notasked" }, "language" : [ { "code" : { "_id" : "lang-1", "value" : "dut" }, "use" : { "value" : "fluent" } }, { "code" : { "value" : "cmn" }, "use" : { "value" : "useable" } }], "text" : { "status" : "generated", "div" : "<div xmlns='http://www.w3.org/1999/xhtml'>...</div>" } }
Things to note here are:
This specification describes the use of the dataAbsentReason attribute, which is used throughout the content models on elements of any type to indicate missing data. The dataAbsentReason attribute "may appear on any element in a resource other than those marked mandatory".
In Object-Orientated paradigms, the dataAbsentReason is a mixin. The definition of a mix-in (http://en.wikipedia.org/wiki/Mixin#) is that it is an abstract class that provides functionality that is not inherited by specialization but rather by collecting functionality. A mixin can be thought of as a generic class that specializes its parameter class:
This shows a mixin called "DataQualityAspect" which expresses the attribute "dataAbsentReason". The two derived classes, DataQualityAspectQuantity which inherits both Quantity and DataQualityAspect and DataQualityAspect(Quantity), which binds Quantity to the parameter T on the DataQualityAspect mixin both have the same semantics (are identical other than their type derivation).
The problem with this approach is that not only is the <<mixin>> stereotype not a recognised standard UML syntax, but most mainstream programming languages cannot implement multiple inheritance in this form. There are two alternative approaches for implementing mixins in object-oriented platforms. The first is using a wrapper class:
The problem with this variation is that Quantity and DataQualityAspect(Quantity) are no longer both types of Quantity, as with a pure mixin and this will have a series of effects on implementations. The other alternative is simply to make DataQualityAspect a base class:
This is the simplest approach, but has the disadvantage that all instances of the Quantity data type carry the dataAbsentReason attribute, whether it is appropriate or not.
Implementers that use these objects in an environment where mixins are not supported must choose one of these two approaches. For simplicity, the object models defined in this specification simply bind the target type directly to the specified data type, and ignore the issue of the dataAbsentReason mixin.
Note that the dataAbsentReason may also be associated with primitive types as well so use of one of these mixin mechanisms will be required there as well.
The FHIR data types include primitive types imported from XML schema and additional data types that capture patterns that are ubiquitous throughout the scope of the healthcare data that will be exchanged.
The data types defined on this page on this page are categorised as "Primitive Types", "Types" or "Structures". Primitive Types are those either drawn from W3C Schema types or directly derived from them. Types and Structures are more complex, made up of multiple properties. "Structures" are higher level concepts that some systems internally treat differently from Types. There is no functional difference between the two categories, and systems are not required to treat them any differently.
The following table summarises the primitive types that are used by are used in the exchange specifications and are directly imported from w3c schema (though sometimes aliased). The possible values for these types are those specified in the W3C Schema specification part 2. All elements that contain text content have one of these primitive types. Elements of this type can only be empty if they have a dataAbsentReason (§1.2.3) attribute on them (and only where that attribute is allowed).
Type | Base type | Description | Spec | Example | Default value |
---|---|---|---|---|---|
boolean | xs:boolean | Values can be either true or false | {true, false} | true | false |
integer | xs:int | A signed 32-bit integer (for larger values, use decimal) | {-2147483648,...,-2,-1,0,1,2,...,2147483647} | 1066 | 0 |
decimal | xs:decimal | A rational number. Do not use a IEEE type floating point type, instead use something that works like a true decimal, with inbuilt precision (e.g. Java BigDecimal) | ('-'? [1-9][0-9]* '.' [0-9]+) | '0' | -1.23, 12678967.543233 | 0 |
base64Binary | xs:base64Binary | A stream of bytes, base64 encoded | see Wikipedia (http://en.wikipedia.org/wiki/Base64) | cGxlYXN1cmUu | null / empty |
instant | xs:dateTime | An instant in time - known at least to the second and always includes a timezone. Note: This type is for system times, not human times (see below). | yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)? ('Z' | (('+' | '-') hh ':' ss)) | 2002-10-10T17:00:00Z | N/A - systems must track missing/null |
string | xs:string | A sequence of Unicode characters. Note that FHIR strings may not exceed 1MB in size | null / empty | ||
uri | xs:anyURI | A Uniform Resource Identifier Reference. It can be absolute or relative, and may have an optional fragment identifier. | See RFC 3986 (http://tools.ietf.org/html/rfc3986) | http://www.hl7.org/fhir | null / no reference |
The default value specifies the implicit semantic meaning of a missing element. Note that some implementations are able to distinguish between missing values and the default values, but the semantic meaning is still required anyway. The string patterns that follow share the same default value as the string type, and all the rest of the types have a default value of null.
Implementations that convert the xml described in this specification to other formats such as JSON or some object based notation will have to find equivalent types.
In addition to these assumed primitive types, this specification defines a few simple string patterns that are commonly used:
Type | Description | Spec | Example |
---|---|---|---|
code | A string which has at least one character and no whitespace | [^\s]+([\s]+[^\s]+)* | ++, asked |
oid | An ISO oid (ISO/IEC 8824:1990(E)) | ([1-9][0-9]*)(\.[1-9][0-9]*)* | 1.20.134.5.6 |
uuid | A UUID (Open Group, CDE 1.1 Remote Procedure Call specification, Appendix A), sometimes called a GUID. Always represented in lowercase. | [0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12} | 0ff343ac-ae48-3c92-2385e35e34ac |
sid | A system id, which is a uri taken from the list of known definition systems (§1.4.2). sid values never contain a '#' | [A-Za-z]+:[^s]* | http://snomed.info |
id | A whole number in the range 0 to 2^64-1, optionally represented in hex, a uuid, an oid, or any other combination of lowercase letters, numerals, "-" and ".", with a length limit of 36 characters | [a-z0-9\-\.]{1,36} | lab-report.3445 |
date | A date, or partial date (e.g. just year or year + month) as used in human communication. There is no time zone. Dates must be valid dates. | [0-9]{4}(\-((0[1-9])|(1[0-2]))(\-((0[1-9])|([1-2][0-9])|(3[0-1])))?)? | 2012, 1997-09, 1972-11-30 |
dateTime | A date, date-time or partial date (e.g. just year or year + month) as used in human communication. If hours and minutes are specified, a time zone must be populated. Seconds may be provided but may also be ignored. Dates must be valid dates. | [0-9]{4}(\-((0[1-9])|(1[0-2]))(\-((0[1-9])|([1-2][0-9])|(3[0-1]))(T(([0-1][0-9])|(2[0-3])):[0-5][0-9]:[0-5][0-9]((\+|-)(0[0-9]|1[0-4]):(0|3|4)(0|5)|Z)?)?)?)? | 2012-01, 2012-10-22T12:04:43 |
Examples
date (e.g. Date of birth):
<x>1951-06-04</x>
This type is for containing attachments - additional data content defined in other formats. The most common use of this type is to include images or reports in some report format such as PDF. However it can be used for any data that has a mime type.
<x xmlns="http://hl7.org/fhir"> <mimeType><!-- 1..1 code Mime type of the content --></mimeType> <data><!-- 0..1 base64Binary Data inline, base64ed --></data> <url><!-- 0..1 uri Uri where the data can be found --></url> <hash><!-- 0..1 base64Binary sha-256 hash of the data (base64 ) --></hash> <lang><!-- 0..1 code ISO 639-3 language code --></lang> <title><!-- 0..1 string Label to display in place of the data --></title> </x>
Terminology Bindings
The mimeType element must always be populated. The actual content of the Attachment can be conveyed directly using the data element or a url reference can be provided. If both are provided, they must point to the same content. The reference can never be reused to point to different data (which means that the reference is version specific). The url reference must point to a location that resolves to actual data; some uris such as cid: meet this requirement.
The hash is included so that applications can verify that the contents of a location have not changed and also so that a signature of the xml content can implicitly sign the content of an image without having to include the data or reference the url in the signature. The lang element can help a consumer choose between multiple different Attachment elements.
In many cases where Attachment is used, the cardinality is >1; repeats are used to convey the same content in different mime types and languages.
Use
If neither data nor a url is provided, the value should be understood as an assertion that no content for the specified mimeType and/or lang is available for the reason stated.
The context of use may frequently make rules about the kind of attachment (and therefore, the kind of mime types) that can be used.
Examples
A PDF document:
<x> <mimeType>application/pdf</mimeType> <data>/9j/4...KAP//Z</data> <!-- covers many lines --> <lang>eng</lang> <title>Definition of Procedure</title> </x>
A reference to a DICOM image:
<x> <mimeType>application/dicom</mimeType> <url>http://10.1.2.3:1000/wado?requestType=WADO&wado details...</url> <hash>EQH/..AgME</hash> </x>
An identifier defined by some external system.
<x xmlns="http://hl7.org/fhir"> <system><!-- 0..1 uri The namespace for the identifier --></system> <id><!-- 0..1 string The actual identifier --></id> </x>
The system may be either a specific application or a recognised concept for which the specific application may be implicit. The system is a URI that may be an OID (oid:) or a UUID (uuid:), a sid (a specially defined URI from the named systems list (§1.4.2)) or a URL that references a definition of the identifier. OIDs and UUIDs may be registered in the HL7 OID registry (http://hl7.org/oid) and should be if the content is shared or exchanged across institutional boundaries.
In some cases, the system may not be known - only the id is known (e.g. a simple device that scans a barcode). In this case, no useful matching may be performed using the id unless the system can be safely inferred by the context.
Note that the system defines the scheme that controls uniqueness of the id. The id must be unique within the defined system. If the id itself is actually an OID, a UUID, or a URI, then the system will be either "http://hl7.org/fhir/sid/oid", "http://hl7.org/fhir/sid/uuid" or "http://hl7.org/fhir/sid/uri" respectively and the OID, UUID or URI would be in the id element. Ids are always case sensitive. UUIDs must be represented in lower case.
Use
Examples
A primary key from an application table (an OID in the space allocated by HL7 to some organisation to further sub-allocate):
<x> <system>oid:2.16.840.1.113883.16.4.3.2.5</system> <id>123</id> </x>
An identifier of a patient FHIR resource on a particular system:
<x> <system>http://pas-server/xxx/patient</system> <id>443556</id> </x>
A guid:
<x> <system>http://hl7.org/fhir/sid/uuid</system> <id>a76d9bbf-f293-4fb7-ad4c-2851cac77162</id> </x>
A full URL as the identifier:
<x> <system>http://hl7.org/fhir/sid/uri</system> <id>http://server.acme.com/fhir/people/@1</id> </x>
A "coding" is a representation of a defined concept using a symbol from a defined "code system" - which may be an enumeration, a list of codes, a full terminology such as SNOMED-CT or LOINC or a formal ontology.
<x xmlns="http://hl7.org/fhir"> <code><!-- 0..1 code Symbol in syntax defined by the system --></code> <system><!-- 1..1 uri Identity of the terminology system --></system> <display><!-- 0..1 string Representation defined by the system --></display> </x>
There must be a system that identifies the terminology or ontology the code is defined by. The system is a URI that may be an OID (oid:) a UUID (uuid:), a specially defined URI from the named systems list (§1.4.2), a url that references a definition of the system or any other URI. OIDs and UUIDs may be registered in the HL7 OID registry (http://hl7.org/oid) and should be if the content is shared or exchanged across institutional boundaries.
If present, the code must be a syntactically correct symbol as defined by the system. In some code systems such as SNOMED-CT, the code may be an expression composed of other codes. Note that codes are case sensitive unless specified otherwise by the code system. If no code is present and there is no dataAbsentReason, the coding should be interpreted to mean that the concept cannot be encoded in the identified system. The display is a text representation of the code defined by the system and can be used to display the meaning of the code by an application that is not aware of the system.
If two Codings have the same the system and code then they have the same meaning. If either the system or the code differs, then how they are related can only be determined by consulting the definitions of the system(s) and any mappings available.
The correct value of the system for a given code system can be determined by:
Use
Unless the Coding element has a dataAbsentReason flag, it must contain a system element and it should contain a display if it contains a code.
The context of use usually makes rules about what codes and systems are allowed or required in a particular context by binding (§1.4) the element to a value set.
Examples
A simple code for headache, in ICD-10:
<x> <code>G44.1</code> <system>http://hl7.org/fhir/sid/icd-10</system> </coding> </x>
A SNOMED-CT expression:
<x> <code>128045006:{363698007=56459004}</code> <system>http://snomed.info</system> </x>
A Coding is a simple direct reference to a code in a code system. The following type, CodeableConcept is a complex type that may include multiple Coding and/or a text representation. The interplay between one or more coding systems and a text representation is an extremely common pattern encountered in healthcare data and the CodeableConcept caters for the general case. Accordingly, it is usually used in resources in preference to the simpler Coding. Some resource definitions use Coding directly because the interplay between text and codes is inherently part of the resource model. In such cases, these resource definitions have to make allowance for the design issues directly.
A CodeableConcept represents a represents a field that is usually defined by formal reference to one or more terminologies or ontologies, but may also be defined by the provision of text. This is a common pattern in healthcare data.
<x xmlns="http://hl7.org/fhir"> <coding><!-- 0..* Coding Code defined by a terminology system --></coding> <text><!-- 0..1 string Plain text representation of the concept --></text> <primary><!-- 0..1 idref Which code was chosen directly by the user --></primary> </x>
Each "coding" is a representation of the concept using a symbol from a defined "code system" - which may be an enumeration, a list of codes, a full terminology such as SNOMED-CT or LOINC, or a formal ontology. The concept may be coded multiple times in different code systems (or even multiple times in the same code systems, where multiple forms are possible, such as with SNOMED-CT). The different codings may have slightly different granularity due to the differences in the definitions of the underlying codes.
Whether or not coding elements are present, the text is a human language representation of the concept as seen/selected/uttered by the user who entered the data, and/or which represents the intended meaning of the user or concept. Very often the text is the same as a display of one of the codings. One of the codings may be flagged as the primary - the code that the user actually chose directly. If present, the value of the primary element is an ID that must match an id attribute on one of the codings.
Use
The context of use usually makes rules about what codes and systems are allowed or required in a particular context by binding (§1.4) the element to a value set.
The ordering of Codings within a CodeableConcept is undefined. Conformant systems shall not depend on Codings appearing in a particular sequence.
Examples
A simple code for headache initially coded in SNOMED-CT and translated to ICD-10:
<x> <coding> <code>R51</code> <system>http://hl7.org/fhir/sid/icd-10</system> </coding> <coding id="1"> <code>25064002</code> <system>http://snomed.info</system> </coding> <text>general headache</text> <primary>1</primary> </x>
A concept represented in an institution's local coding systems for unit for which no UCUM equivalent exists:
<x> <coding> <code>tab</code> <system>oid:2.16.840.1.113883.19.5.2</system> <display>Tablet</display> </coding> <coding> <system>http://unitsofmeasure.org</system> </coding> </x>
A SNOMED-CT expression:
<x> <coding> <code>128045006:{363698007=56459004}</code> <system>http://snomed.info</system> </coding> <text>Cellulitis of the foot</text> </x>
A code taken from a short list of codes that are not defined in a formal code system. Choice is generally used for things like pain scales, questionnaires or formally defined assessment indexes. The possible codes may be ordered with some arbitrarily defined scale. Note: Choice is not an appropriate data type to use when the possible codes are defined as a value set from a formal code system or otherwise stored on a terminology server.
<x xmlns="http://hl7.org/fhir"> <code><!-- 0..1 code Selected code --></code> <value> <!-- 2..* List of possible code values --> <code><!-- 1..1 code Possible code --></code> <display><!-- 0..1 string Display for the code --></display> </value> <isOrdered><!-- 0..1 boolean If order of the values has meaning --></isOrdered> </x>
The code is the selected value. A list of possible values must be provided; at least a code must be provided for each value. The selected code must be found in the list of possible codes.
If isOrdered is true, then the values have an inherent meaningful order and the list of values must be provided in the correct order.
Use
Example
The results on a urinalysis strip:
<x> <code>+</code> <value> <code>neg</code> </value> <value> <code>trace</code> </value> <value> <code>+</code> </value> <value> <code>++</code> </value> <value> <code>+++</code> </value> <isOrdered>true</isOrdered> </x>
A measured amount (or an amount that can potentially be measured).
<x xmlns="http://hl7.org/fhir"> <value><!-- 0..1 decimal Numerical value (with implicit precision) --></value> <range><!-- 0..1 code Proximity of measured value to actual --></range> <units><!-- 0..1 string Unit representation --></units> <code><!-- 0..1 code Coded form of the unit --></code> <system><!-- 0..1 uri System that defines coded unit form --></system> </x>
Terminology Bindings
< | The actual value is less than the given value | |
<= | The actual value is less than or equal to the given value | |
>= | The actual value is greater than or equal to the given value | |
> | The actual value is greater than the given value |
The value contains the numerical value of the quantity, including an implicit precision. The range indicates how the value should be understood and represented. If no range is specified, the value is a point value (i.e. '='). The range element can never be ignored.
The units element must contain a displayable unit that defines what is measured. The units may additionally be coded in the code and the system, which is a URI, OID or a SID that defines the code (see CodeableConcept (§1.3.7) for further information about system).
If the units are able to be coded in UCUM and a code is provided, it SHOULD be a UCUM code. If a UCUM unit is provided in the code then a canonical value can be generated for purposes of comparison between quantities. Note that the units element will often contain text that is actually a valid UCUM unit, but it cannot be assumed that it does.
Use
The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may additionally require a code from a particular system. The context of use may also restrict the values for range.
These are used as types in resource content models, but they are really just Quantity with some rules:
Duration | The unit must be an amount of time and a UCUM unit must be provided. |
Distance | The unit must be an amount of length and a UCUM unit must be provided. |
Count | The value must a whole number and the UCUM unit must be "1" |
Money | The unit must be a currency and the code must from ISO 4217 (system = "http://hl7.org/fhir/sid/iso-4217") |
Examples
A duration:
<x> <value>25</value> <unit>sec</unit> <code>s</code> <system>http://unitsofmeasure.org</system> </x>
A concentration where the value was out of range:
<x> <value>40000</value> <range>></range> <unit>mcg/L</unit> <code>ug</code> <system>http://unitsofmeasure.org</system> </x>
An amount of prescribed medication:
<x> <value>3</value> <unit>capsules</unit> <code>385049006</code> <system>http://snomed.info</system> </x>
A price:
<x> <value>25.45</value> <unit>US$</unit> <code>USD</code> <system>http://hl7.org/fhir/sid/iso-4217</system> </x>
A set of ordered Quantity values defined by a low and high limit.
A Range specifies a set of possible values; usually, one value from the range applies (e.g. "give the patient between 2 and 4 tablets").
<x xmlns="http://hl7.org/fhir"> <low><!-- 0..1 Quantity Low limit --></low> <high><!-- 0..1 Quantity High limit --></high> </x>
The units and code/system elements of the low or high elements must match. If the low or high elements are missing, the meaning is that the low or high boundaries are not known and therefore neither is the range. A dataAbsentReason flag must be provided on the Range in this case.
The range flag on the low or high elements cannot have the values <, <=, =>, or >. Note that the Range type should not be used to represent measurements where the range flag might be used instead.
The low and the high values are inclusive, and are assumed to have arbitrarily high precision. E.g. the range 1.5 to 2.5 includes 1.50, and 2.50 but not 1.49 or 2.51.
Use
Examples
Range of Quantity (distance):
<x> <low> <value>2.8</value> <unit>m</unit> </low> <high> <value>4.6</value> <unit>m</unit> </high> </x>
A ratio of two Quantity values - a numerator and a denominator.
<x xmlns="http://hl7.org/fhir"> <numerator><!-- 0..1 Quantity The numerator --></numerator> <denominator><!-- 0..1 Quantity The denominator --></denominator> </x>
Common factors in the numerator and denominator are not automatically cancelled out. The Ratio data type is used for titers (e.g., "1:128") and other quantities produced by laboratories that truly represent ratios. Ratios are not simply "structured numerics" and blood pressure measurements (e.g. "120/60") are not ratios. In addition, ratios are used where common factors in the numerator and denominator do not cancel out. The most common example of this is where the ratio represents a unit cost, and the numerator is a currency.
Use
The context of use may require particular types of Quantity for the numerator or denominator.
Examples
Titer (Ratio of integer:integer)
<x> <numerator> <value>1</value> </numerator> <denominator> <value>128</value> </denominator> </x>
Unit cost (Ratio of Money:Quantity):
<x> <numerator> <value>103.50</value> <unit>US$</unit> <code>USD</code> <system>http://hl7.org/fhir/sid/iso-4217</system> </numerator> <denominator> <value>128</value> <unit>day</unit> <code>day</code> <system>http://unitsofmeasure.org</system> </denominator> </x>
A time period defined by a start and end time.
A period specifies a range of times. The context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the period applies (e.g. "give to the patient between 2 and 4 pm").
<x xmlns="http://hl7.org/fhir"> <start><!-- 0..1 dateTime The start of the period --></start> <end><!-- 0..1 dateTime The end of the period, if not ongoing --></end> </x>
If the low or high elements are missing, the meaning is that the low or high boundaries are not known. If the low element is missing, a dataAbsentReason flag must be provided on the Period element in this case. If the high is missing, it means that the period is ongoing.
The high value includes any matching date/time. For example, the period 2011-05-23 to 2011-05-27 includes all the times of 23rd May through to the end of the 27th May.
Use
Examples
23rd May 2011 to 27th May, including 27th May:
<x> <low> <date>2011-05-23</date> </low> <high> <date>2011-05-27</date> </high> </x>
An identifier that humans use. This is different from a system identifier because identifiers that humans use are regularly changed or retired due to human intervention and error. Note that a human identifier may be a system identifier on some master system, but becomes a human identifier elsewhere due to how it is exchanged between humans. Driver's license numbers are a good example of this. Also, because human mediated identifiers are often invoked as implicit links to external business processes, such identifiers are often associated with multiple different resources. Human identifiers often have some type associated with them that is important to allow the identifier to be picked as a basis for exchange elsewhere, either in other electronic interchanges or paper forms.
<x xmlns="http://hl7.org/fhir"> <type><!-- 0..1 Coding Code for identifier type --></type> <identifier><!-- 0..1 Identifier Actual identifier --></identifier> <period><!-- 0..1 Period Time period when id was valid for use --></period> <assigner><!-- 0..1 Resource(Organization) Organisation that issued id --></assigner> </x>
Terminology Bindings
account | Account number | |
credit | Credit Card Number | |
microchip | Microchip Number | |
registry | A Registry Number | |
insurance | Insurance Scheme Member Number | |
national | National Healthcare Identifier | |
ssn | National Social Security Number (or equivalent) | |
jurisdiction | Jurisdictional Healthcare Identifier | |
patient | Patient identifier | |
facility | Facility ID | |
provider | Provider number |
Note that in many cases, the assigner is used to indicate what registry/state/facility/etc. assigned the identifier. Another possible source for the type of an identifier is HL7 v2 table 0203.
The resource elements often use HumanId for an identifier that may be an external human mediated reference, that may also come from a direct unambiguous reference to a resource or may be from a separate workflow, possibly human mediated. When the identifier is actually a direct resource reference, the type should be a resource type, the identifier.system should be the URL of the source system or, if a particular end point is not known, then "http://hl7.org/fhir/sid/fhir/[X]" where "[X]" is the resource name , and the identifier.id should be the resource id.
Use
If the HumanId is mandatory, then either an identifier.system or an type must be provided (In some cases, the type of the identifier will be known, but not the identifier.system. For instance, a driver's license number, where the state, province or country that issues the license identifier (or at least the appropriate system uri for a known license provider) is unknown).
The assigner.id may be replaced with assigner.text when used with the dataAbsentReason "astext".
Examples
A US SSN:
<x> <type> <code>ssn</code> <system>http://hl7.org/fhir/sid/fhir/identifier-type</system> </type> <identifier> <system>http://hl7.org/fhir/sid/us-ssn</system> <id>000111111</id> </identifier> </x>
Notes:
A medical record number assigned on 5-July 2009:
<x> <type> <code>patient</code> <system>http://hl7.org/fhir/sid/fhir/identifier-type</system> </type> <identifier> <system>oid:0.1.2.3.4.5.6.7</system> <id>2356</id> </identifier> <period> <low>2009-06-05</low> </period> </x>
A name of a human with parts and usage information.
Names may be changed or repudiated. People may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts may or may not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely.
<x xmlns="http://hl7.org/fhir"> <use><!-- 0..1 code The use of this name --></use> <text><!-- 0..1 string Text representation of the full name --></text> <part> <!-- 0..* A part of a name --> <type><!-- 0..1 code Type of name part (see below) --></type> <value><!-- 1..1 string The content of the name part --></value> </part> <period><!-- 0..1 Period Time period when name was/is in use --></period> </x>
Terminology Bindings
usual | Known as/conventional/the one you normally use | |
official | The formal name as registered in an official (government) registry, but which name might not be commonly used. May be called "legal name". | |
temp | A temporary name. A name valid time can provide more detailed information. This may also be used for temporary names assigned at birth or in emergency situations. | |
anonymous | Anonymous assigned name, alias, or pseudonym (used to protect a person's identity for privacy reasons) | |
old | This name is no longer in use (or was never correct, but retained for records) | |
maiden | A name used prior to marriage. Marriage naming customs vary greatly around the world. This name use is for use by applications that collect and store "maiden" names. Though the concept of maiden name is often gender specific, the use of this term is not gender specific. The use of this term does not imply any particular history for a person's name, nor should the maiden name be determined algorithmically. |
family | Family name, this is the name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father. | |
given | Given name. NOTE: Not to be called "first name" since given names do not always come first. | |
suffix | Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that comes at the end of the name | |
prefix | Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that comes at the start of the name |
The text element specifies the entire name as it should be represented. This may be provided instead of or as well as specific part elements. Every part must have a value.
Note that the order of the parts within a given part type has significance and must be observed. The different part types may be re-ordered between different contexts of use and the order between part types is not expected to be meaningful.
Use
Example
Full name of Peter James Chalmers.
<x> <use>usual</use> <part> <type>given</type> <value>Peter</value> </part> <part> <type>given</type> <value>James</value> </part> <part> <type>family</type> <value>Chalmers</value> </part> </x>
A postal address. There are a variety of postal address formats defined around the world. This format defines a superset that is the basis for addresses all around the world. Postal addresses are often used to record a location that can be visited to find a patient or person.
<x xmlns="http://hl7.org/fhir"> <use><!-- 0..1 code The use of this address --></use> <text><!-- 0..1 string Text representation of the address --></text> <part> <!-- 0..* --> <type><!-- 0..1 code Type of address part (see below) --></type> <value><!-- 1..1 string The content of the address part --></value> </part> <period><!-- 0..1 Period Time period when address was/is in use --></period> </x>
Terminology Bindings
home | A communication address at a home | |
work | An office address. First choice for business related contacts during business hours | |
temp | A temporary address. The period can provide more detailed information | |
old | This address is no longer in use (or was never correct, but retained for records) |
part | Part of an address line (typically used with an extension that further defines the meaning of the part). | |
line | A line of an address (typically used for street names & numbers, unit details, delivery hints, etc.) . | |
city | The name of the city, town, village, or other community or delivery centre. | |
state | Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes). | |
country | Country. ISO 3166 3 letter codes can be used in place of a full country name. | |
zip | A postal code designating a region defined by the postal service. | |
dpid | A value that uniquely identifies the postal address. (Often used in barcodes). |
The text element specifies the entire address as it should be represented. This may be provided instead of or as well as specific part elements. Every part must have a value.
Use
Example
HL7 office's address.
<x> <use>work</use> <text> 1050 W Wishard Blvd RG 5th floor Indianapolis, IN 46240 </html> </text> <part> <type>city</type> <value>Indianapolis</value> </part> <part> <type>state</type> <value>IN</value> </part> <part> <type>zip</type> <value>46240</value> </part> </x>
All kinds of technology-mediated contact details for a person or organisation, including telephone, email, etc.
<x xmlns="http://hl7.org/fhir"> <system><!-- 0..1 code What kind of contact this is --></system> <value><!-- 0..1 string The actual contact details --></value> <use><!-- 0..1 code How to use this address --></use> <period><!-- 0..1 Period Time period when the contact was/is in use --></period> </x>
Terminology Bindings
phone | The value is a telephone number used for voice calls. Use of full international numbers starting with + is recommended to enable automatic dialing support but not required. | |
fax | The value is a fax machine. Use of full international numbers starting with + is recommended to enable automatic dialing support but not required. | |
The value is an email address | ||
url | The value is a url. This is intended for various personal contacts including blogs, Twitter, Facebook, etc. Do not use for email addresses |
home | A communication contact at a home; attempted contacts for business purposes might intrude privacy and chances are one will contact family or other household members instead of the person one wishes to call. Typically used with urgent cases, or if no other contacts are available. | |
work | An office contact. First choice for business related contacts during business hours. | |
temp | A temporary contact. The period can provide more detailed information. | |
old | This contact is no longer in use (or was never correct, but retained for records) | |
mobile | A telecommunication device that moves and stays with its owner. May have characteristics of all other use codes, suitable for urgent matters, not the first choice for routine business |
If capturing a phone, fax or similar contact, the value should be a properly formatted telephone number according to ITU-T E.123 (http://www.itu.int/rec/T-REC-E.123-200102-I/e) . However, this is frequently not possible due to legacy data and/or recording methods.
Use
Example
Home phone number:
<x> <system>phone</system> <value>+15556755745</value> <use>home</use> </x>
A schedule that specifies an event that may occur multiple times. Schedules are not used for recording when things did happen, but when they are expected or requested to occur. A schedule can be either a list of events - periods on which the event occurs, or a single event with repeating criteria, or just repeating criteria with no actual event.
Note: a possible enhancement to this is to have the repeat content repeat with each event. This is richer and more complex - is the added functionality useful?
<x xmlns="http://hl7.org/fhir"> <event><!-- 0..* Period When the event occurs --></event> <repeat> <!-- Only if there is none or one event --> <frequency><!-- 0..1 integer Event occurs frequency times per duration --></frequency> <when><!-- 0..1 code Event occurs duration from common life event --></when> <duration><!-- 1..1 Duration Repeating or event-related duration --></duration> <count><!-- 0..1 integer Number of times to repeat --></count> <end><!-- 0..1 dateTime When to stop repeats --></end> </repeat> </x>
Terminology Bindings
HS | event occurs duration before the hour of sleep (or trying to) | |
WAKE | event occurs duration after waking | |
AC | event occurs duration before a meal (from the Latin ante cibus) | |
ACM | event occurs duration before breakfast (from the Latin ante cibus matutinus) | |
ACD | event occurs duration before lunch (from the Latin ante cibus diurnus) | |
ACV | event occurs duration before dinner (from the Latin ante cibus vespertinus) | |
PC | event occurs duration after a meal (from the Latin post cibus) | |
PCM | event occurs duration after breakfast (from the Latin post cibus matutinus) | |
PCD | event occurs duration after lunch (from the Latin post cibus diurnus) | |
PCV | event occurs duration after dinner (from the Latin post cibus vespertinus) |
If events are specified, at least a low must be specified for each event. If no high is specified, the event is assumed to last a limited but unknown time as clinically relevant.
If the schedule has repeating criteria, the repeat can occur a given number of times per the specified duration or in relation to some real world event. Also, if the event repeats, a time to end the schedule can be specified, either by specifying a count number of times it can occur or a date at which to end the schedule. If no end condition is specified, the Schedule will terminate on some criteria that are expressed elsewhere.
There are 3 rules concerning the contents of a Schedule:
Use
Example
A series of appointments for radiotherapy:
<x> <event> <low>2012-01-07T09:00</low> <high>2012-01-07T13:00</high> </event> <event> <low>2012-01-14T09:00</low> <high>2012-01-14T13:00</high> </event> <event> <low>2012-01-22T11:00</low> <high>2012-01-22T15:00</high> </event> </x>
BID (twice a day) (no start or end specified):
<x> <repeat> <frequency>2</frequency> <duration> <value>1</value> <units>day</units> <code>d</code> <system>http://unitsofmeasure.org</system> </duration> </repeat> </x>
1/2 an hour before breakfast for 10 days from 23-Dec 2011:
<x> <event> <low>2011-12-23</low> </event> <repeat> <when>ACM</when> <duration> <value>30</value> <units>min</units> <code>min</code> <system>http://unitsofmeasure.org</system> </duration> <end>2012-01-02</end> </repeat> </x>
Note that the end date is inclusive like the high date of a Period.
With regard to the UML models, see notes about the UML Object models (§1.2.9), and particularly the note regarding the UML representation of dataAbsentReason (§1.2.11)
Many elements in the FHIR resources are assigned a type of code, Coding (§1.3.6) or CodeableConcept (§1.3.7). These elements contain codes that have defined meanings and come from sets of codes of varying sophistication and size. In many simple cases, the set of codes is a short list defined specifically for the element. In other cases, the list of codes is taken from a large and complex terminology or ontology such as SNOMED-CT or OBO.
All these elements of type code, Coding (§1.3.6) or CodeableConcept (§1.3.7) are given a "binding name" that defines the set of possible codes that can be used in the element in question. In Resource Profiles (§1.6), the elements can be assigned a new binding name that defines a new set of possible codes. The set of codes defined by a profile must be a subset of the set of codes defined in the base resource and those defined by any imported profiles. Binding Names can identify sets of codes in the following ways:
value set | The binding name has an associated URL which is a reference to a Value Set Resource (§2.6) that provides a formal definition of the set of possible codes |
code list | The binding name is associated with a simple list of codes and definitions from some identified code system (by SID, URI, OID or UUID). In resource definitions, the system reference may be omitted and a list of custom codes with definitions supplied (this is for status and workflow fields that applications need to know). In formal terms, this is merely a locally-defined value set. |
reference | The binding name has an associated URL which refers to some external standard or specification that defines the possible codes |
special | The binding points to a list of concepts defined as part of FHIR itself (see below for possible values (§1.4.3)) |
Value set and code list bindings also have two properties that govern their use - extensibility and conformance:
complete | No additional codes are to be used beyond the list provided |
extensible | Some concepts won't be covered by the provided value set, so supplemental codes or plain text may be needed |
required |
Only codes in the specified set are allowed. Profiles can only specify a subset of the
defined codes. If the strength is 'extensible', other codes may be used for concepts not covered by the value set but cannot be used for concepts covered by the bound code list, even if a profile constrains out some of those codes). Specifications may render this as "SHALL" |
preferred |
For greater interoperability, implementers are strongly encouraged to use the bound set of
codes, however alternate codes may be used in profiles if necessary without being considered
non-conformant. Specifications may render this as "SHOULD" |
example |
The codes in the set are an example to illustrate the meaning of the field.
There is no particular preference for its use. Specifications may render this as "MAY" |
See the second tab of this page for a full list of the binding names defined for all FHIR resources.
This specification defines the following names (URIs) as fixed names that may be used in the system element of the Identifier (§1.3.5) Coding (§1.3.6) or CodeableConcept (§1.3.7) data types. If a URI is defined here, it must be used in preference to other identifying mechanisms such as OIDs found in the HL7 OID registry.
URI | Source | Comment |
---|---|---|
Code Systems | ||
http://snomed.info | SNOMED-CT: (IHTSDO (http://ihtsdo.org) ) | The version, module, etc. may be appended to this uri following the IHTSDO specifications OID=2.16.840.1.113883.6.96 |
http://loinc.org | LOINC (LOINC.org (http://loinc.org) ) |
The version of LOINC may be appended to this uri like so: http://loinc.org?v=2.36 |
http://unitsofmeasure.org | UCUM: (UnitsOfMeasure.org (http://unitsofmeasure.org) ) | Generally used in the Quantity Data Type OID=2.16.840.1.113883.6.8 |
http://hl7.org/fhir/sid/icd-10 | ICD-10 International (WHO (http://www.who.int/classifications/icd/en/) ) | OID=2.16.840.1.113883.6.3 |
http://hl7.org/fhir/sid/icd-9 | ICD-9 USA (CDC (http://www.cdc.gov/nchs/icd/icd9.htm) ) | OID=2.16.840.1.113883.6.42 |
http://hl7.org/fhir/sid/v2-[X] | Version 2 table code | [X] is the 4 digit identifier for a table. e.g. http://hl7.org/fhir/sid/v2-0203 OID=2.16.840.1.113883.12.[X] |
http://hl7.org/fhir/sid/iso-[X] | Codes as defined in the ISO standard with the given number. Two important ISO standards are the 2-3 letter language codes (ISO 639 (http://en.wikipedia.org/wiki/ISO_639) -3) and the currency codes (ISO 4217 (http://en.wikipedia.org/wiki/ISO_4217) ) |
OID=1.0.[X](.tail as specified) (1.0.639.3 for 3 letter language codes |
http://hl7.org/fhir/sid/atc | Anatomical Therapeutic Chemical Classification System (WHO (http://www.whocc.no/atc/structure_and_principles/) ) | OID=2.16.840.1.113883.6.73 |
Identifier Systems | ||
http://hl7.org/fhir/sid/uri | URIs (W3C (http://www.w3.org) ) | As defined by various applicable RFCs including X No OID |
http://hl7.org/fhir/sid/oid | OIDs | The identifier is an OID itself |
http://hl7.org/fhir/sid/uuid | UUIDs | Also called GUIDs No OID |
http://hl7.org/fhir/sid/us-ssn | SSN (W3C (http://www.w3.org) ) | SSN for USA. Represented with dashes removed OID=2.16.840.1.113883.4.1 |
Important Note: The set of sids listed above is incomplete and subject to change. Some values may be dropped and others will likely be added in the coming months as HL7 institutes a formal process for determining what code systems and identifier types should be handled in this manner rather than as OIDs or other identifiers.
In addition to this, a number of code systems are defined informally through the specification. This table enumerates them and assigns sid and OID values for them, though these are not generally used directly in this specification:
Special Values (§1.4.4) | http://hl7.org/fhir/sid/special-values | 2.16.840.1.113883.6.305 |
Resource Types | http://hl7.org/fhir/sid/resource-types | 2.16.840.1.113883.6.306 |
Logical Interactions (RESTful framework) | http://hl7.org/fhir/sid/rest-operations | 2.16.840.1.113883.6.308 |
Message Events (§2.2.5) (Messaging framework) | http://hl7.org/fhir/sid/message-events | 2.16.840.1.113883.6.307 |
Data Absent Reason (§1.2.3) | http://hl7.org/fhir/sid/data-absent-reasons | 2.16.840.1.113883.6.309 |
Note that all the codes in these code systems are case sensitive and must be used in lowercase. All the codes in these code systems have their own uri of the format http://hl7.org/fhir/sid/[system]/[code]. E.g. The resource type "Person" has the full uri http://hl7.org/fhir/sid/resource-types/person.
Internally defined codes useful throughout the specification where Coding (§1.3.6) or CodeableConcept (§1.3.7) is used. These are defined by the code system "http://hl7.org/fhir/sid/special-values" which has OID 2.16.840.1.113883.6.305.
true | Boolean true |
false | Boolean false |
trace | The content is greater than zero, but too small to be quantified (used in formulations) |
sufficient | The specific quantity is not known, but is known to be non-zero and is not specified because it makes up the bulk of the material. (e.g. 'Add 10mg of ingredient X, 50mg of ingredient Y, and sufficient quantity of water to 100mL.' This code would be used to express the quantity of water. ) |
withdrawn | The correct value is no longer available |
In several places, the resource types themselves are used as either codes or identifiers. These should be referenced with the sid "http://hl7.org/fhir/sid/fhir/resource-types". This is a formal list of the resource type codes:
Agent (§3.1) | A person who represents an organisation, and is authorised to perform actions on its behalf |
Animal (§3.2) | An animal that has relevance to the care process -usually this is for animals that are patients. |
AssessmentScale (§3.3) | Assessment scales or scores combine the findings of individual values into a total score which can be interpreted more easily against a reference population |
Conformance (§2.7) | A conformance statement about how an application or implementation supports FHIR or the set of requirements for a desired implementation. |
DocumentHeader (§2.3) | A documentation of healthcare-related information that is assembled together into a single statement of meaning that establishes its own context. A document is composed of a set of resources that include both human and computer readable portions. A human may attest to the accuracy of the human readable portion, and may authenticate and/or sign the entire whole. A document may be kept as a set of logically linked resources, or they may be bundled together in an atom feed |
LabReport (§3.4) | The findings and interpretation of pathology tests performed on tissues and body fluids. This is typically done in a laboratory but may be done in other environments such as at the point of care |
MessageHeader (§2.2) | A transmission requesting action on a bundle of one or more resources or a response to such a request |
Organization (§3.5) | For any company/corporation/institution/government department that has relevance to the care process |
Patient (§3.6) | A patient is a person or animal that is receiving care |
Person (§3.7) | A person who is involved in the healthcare process |
Prescription (§3.8) | Directions provided by a prescribing practitioner for a specific medication to be administered (and possibly) supplied to an individual |
Profile (§1.6) | A Resource Profile - a statement of use of FHIR. May include constraints on Resources, Terminology Binding Statements and Extension Definitions |
ValueSet (§2.6) | Value Set - a set of defined codes from one or more code systems that may be bound to a context |
Admission (Known Broken Link - needs to be resolved) | Yet to be defined |
AssessmentDefinition (Known Broken Link - needs to be resolved) | Yet to be defined |
Device (Known Broken Link - needs to be resolved) | Yet to be defined |
Group (Known Broken Link - needs to be resolved) | Yet to be defined |
InterestOfCare (Known Broken Link - needs to be resolved) | Yet to be defined |
Specimen (Known Broken Link - needs to be resolved) | Yet to be defined |
This exchange specification is based on generally agreed common requirements across healthcare - covering many jurisdications, domains, and different functional approaches. As such, it is common for specific implementations to have valid requirements that will not be directly included in this specification. Incorporating all of these requirements would make this specification very cumbersome and difficult to implement. Instead, this specification expects that these additional distinct requirements will be implemented as extensions.
As such, extensibility is a fundamental part of the design of this specification. Every resource includes an extension section that may be used to represent additional information that is not part of the basic definition of the resource. Conformant applications are not allowed to reject resources because they contain extensions, though they may need to reject resources because of the specific contents of the extensions.
Note that, unlike in many other specifications, 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 simplicity for everyone.
In order to make the use of extensions safe and manageable, there is a strict governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that must be met as part of the definition of the extension.
Each resource includes the optional "extension" element that may be present any number of times before the narrative element at the end of the resource. This is the content model of the extension as it appears in each resource:
<x xmlns="http://hl7.org/fhir"> <code><!-- 1..1 id Code that identifies the meaning of the extension --></code> <profile><!-- 1..1 uri Profile that defines the extension --></profile> <ref><!-- 0..1 idref Internal reference to context of the extension (xml:id) --></ref> <mustUnderstand><!-- 0..1 boolean Must you recognize this extension to safely read the resource? --></mustUnderstand> <value[x] d?><!-- 0..1 Value of extension --></value[x]> <extension><!-- 0..* Extension Nested Extensions --></extension> </x>
Notes:
As well as providing additional information, extensions may be used to qualify the meaning of other elements or even to negate the meanings of other elements. This behavior makes these kinds extensions unsafe to ignore. Such extensions must have an attribute mustUnderstand = true. Any application processing the data of a resource must check for extensions labeled "mustUnderstand". If the application does not recognise the code on an extension that is labeled "mustUnderstand", and where the extension either has no internal reference, or the reference is data processed by the application, the application SHALL either refuse to process the data, or carry a warning concerning the data along with any action or output that results from processing the data. Note that it must always be safe to show the narrative to humans; any extension that is labelled as "mustUnderstand" must be represented in the narrative. Applications are encouraged to ignore un-required extensions that they do not recognise if "mustUnderstand" is not set to true. "mustUnderstand" extensions SHALL be attached to reference points within an instance such that all data elements whose meaning may be impacted by the extension are part of the element to which the extension is attached.
The value[x] element has the [x] replaced with the name of one of the defined types, and the contents as defined for that type, or another extension. The value type may be one of the following:
Some of the primitive (§1.3.1) datatypes are not included in this list. Extensions that might wish to use one of the ommitted primitives are expected to use one of the more complex types in their place. For example, decimal and integer are handed by Quantity (§1.3.9), base64Binary by Attachment (§1.3.4), etc.
Nested extensions cannot have a ref element. The [type] element is optional unless the definitions of the extension codes make rules about it. Extensions can never have a default value.
Extensions may be defined by any project or jurisdication, up to and including international standards organisations such as HL7 itself, and are published as part of a Resource Profile (§1.6). Extensions are always defined against some particular context. The following are possible contexts for an extension:
Context type | Context format | Examples |
---|---|---|
A particular element (including the root) in a single resource | The element path for that element | Profile.resource.element; Person |
A particular element (including the root) in a particular data type | The datatype name for primitive types or the element path for complex datatypes | Address.part.value; string |
A particular context in one of the mapped reference models | The name of the reference model followed by the mapping path | RIM: Act[moodCode="EVN"] |
Another extension | The profile uri of the extension followed b the extension code | http://myextensions.org someExtension |
A set of some combination of the above | As above, separated by ';' | Address; Contact |
In addition, an extension definition might apply additional constraints with regards to particular element values of the target that make its use appropriate. Extensions SHALL only be used on a target for which they are defined.
Each extension is defined using the following fields:
Code | Required | The name that is used as a code in a resource to identify this extension - unique in the context of the defining profile |
Context | Required | The context of this extension. See above. The context has two parts: a type, and a path which supplies the details |
Short Defn | Required | A brief description of the extension used in the XML descriptions when the extension is referenced in a profile |
Definition | Required | A formal statement of the meaning of the content of the field |
Requirements | Optional | Identifies the reason the extension is needed |
Comments | Optional | Additional other information about the extension, including information such as use notes |
Cardinality | Required | The cardinality of this extension. Specifying a minimum cardinality of 1 means that if the source system declares that it conforms to an extension that declares a type including this extension, this extension must be included in the resource. Cardinality can be constrained but not loosened in profiles that reference this extension |
Type | Required | The type(s) of the extension. This must be a valid FHIR data type as described above, or "Extension: x,y,z" which indicates that the extension codes x,y, and z will be contained in the extension |
DateAbsentReason? | Required | Whether the the data absent reason is allowed on the value of the extension. (This can be further constrained in profiles that reference the extension) |
XPaths | Optional | One or more XPath statements that must evaluate to true when the extension is used |
Must Understand | Required | Whether the extension must be understood by any system reading the resource. There are 3 possible values: "true" - the extension must be understood, "false" - the extension does not need to be understood, and "sender" - the sender can decide whether the extension needs to be understood |
RIM Mapping | Conditional | The formal mapping from this extension to the RIM. Required for HL7-defined extensions that apply to resources with RIM mappings, but may be optional in other contexts |
v2 Mapping | Optional | Mapping to a v2 segment/field/etc, if desired and appropriate. |
Binding | Conditional | For the types CodeableConcept and Coding. See Terminologies (§1.4) |
Notes:
Whenever resources containing extensions are exchanged, the definitions of the extensions must be available to all the parties that share the resources. Each extension contains a URI that references the source of the definitions as a Resource Profile. The source SHOULD be a literal reference, such as an http: url that refers to an end-point that responds with the contents of the definitions - preferably a FHIR RESTful server (§2.1) supporting the Resources Profile, or a logical reference (e.g. using a urn:) - for instance, to a national published standard.
As well as defining the base element structure for resources, HL7 also publishes extensions. HL7 publishes data definitions as extensions rather than as part of the base resource structure in order to keep the base resource structure simple and concise, and to allow implementors not to engage with an entire world's worth of functionality up front. Note that HL7 extensions are never flagged as must-understand - if HL7 publishes resource content that must be understood, it will be part of the resource content itself, since everyone has to understand the extension anyway.
Before extensions can be used in instances, they must be published. HL7 maintains two extension registries, and users are encouraged to register their extensions there. But this is not required; all that is required is that the extension is published in a context that is available for users of the extension. So, for example, if a particular extension is used exchanged within a single institution, the definition of the extension can be placed on the instition's intranet. However since, by their nature, resources tend to travel well, it's always better to use the HL7 extension registries.
HL7 provides two extension registries. The first is for HL7 approved extensions. These have been approved by an appropriate part of the HL7 community following a review process, and have formal standing. The other registry is provided as a service to the community, and anyone can register an extension on it.
Registry | Search | Submit |
---|---|---|
HL7 Approved | [tbd] | [tbd] |
Community | [tbd] | [tbd] |
Interim | http://hl7connect.healthintersections.com.au/svc/fhir/profile/search | http://hl7connect.healthintersections.com.au/svc/fhir/profile/upload |
HL7 profiles defining extensions may be balloted alongside resource content as part of the FHIR specification or may be published as part of separate specifications. When HL7 publishes extensions as part of the FHIR specification, these extensions SHALL be used for this data whenever the data is represented in instances. Applications SHOULD use other HL7-defined extensions published to represent equivalent data in the interest of maximum interoperability. If referencing a profile that defines extensions, implementations declaring conformance with the profile SHALL use the profile-defined and imported extensions when conveying equivalent data elements.
To minimize complexity for implementers, HL7 will not elevate content defined in an HL7-approved extension to be content defined in a core resource in future versions of the resource.
In some cases, an HL7 work group or other body may publish a profile whose sole purpose is to define extensions expected to be needed by implementers in a particular context. E.g. extensions needed to map a particular set of v2 segments or a v3 model.
Implementations are encouraged to share their extensions with HL7 and register them with the HL7 extension registry. The domain committees will work to elevate the extensions into HL7 published extensions or, if adopted by a broad enough portion of the implementer community, the into the base resource structure itself.
To avoid interoperability issues, extensions SHALL NOT change their definition once published. (Small clarifications to descriptions that do not affect interoperability are permitted.) Rather than modifying an existing extension, a new extension should be introduced. Revisions to an extension may extend the set of contexts in which the extension apply but may not remove or constrain any context previously listed
Status: An infrastructure resource. This is an approved resource, and its status is draft for comment
A Resource Profile - a statement of use of FHIR. May include constraints on Resources, Terminology Binding Statements and Extension Definitions.
The resource name as it appears in a RESTful URL (§2.1) is /profile/
This specification describes a set of base resources that are used in many different contexts in healthcare. In order to make this manageable, applications and specifications need to be able to:
All these things are done by a Resource Profile, which is itself a resource that describes the usage of one or more other resources. Profiles have a metadata section that describes who published the profile, and why, as well as optional lists of resources constraints, extension definitions, and vocabulary bindings.
One common operation in a resource profile is to take an element that may occur more than once, and describe a series of different constraints on the elements in the list. In this way, the list is split into a series of individual elements or sub-lists. In FHIR, this operation is known as "Slicing" a collection. Here is an example to illustrate the process:
In this example, the resource definition defines the "relationship" element which may occur multiple times. The profile for Acme, Inc. constrains the relationship element into 3 different named kinds: 1 or 2 parents, up to 6 children, and maybe a guardian. No other relationships are supported by the Acme system.
Note that in FHIR, only the resource is ever actually exchanged. The profile describes a way of using the resource, but the item profile names ("parent", etc. in this list) are never exchanged. The slicing description is more useful if it is "unambiguous": if systems are able to determine which relationships in the relationship list that is actually exchanged are parent, child, or guardian; in this particular case, the determination is allowed by fixing the value of the relationship type element. Fixing a code value is the most common way to slice a list.
See also the Examples (§4.15) and the Definitions (§5.16).
<Profile xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Fixed identifier for this profile --></id> <name><!-- 1..1 string Informal name for this profile --></name> <version><!-- 0..1 string Version number for external references --></version> <author> <!-- (Organisation or individual) --> <name><!-- 1..1 string Name of the recognised author --></name> <reference><!-- 0..* uri Web reference to the author --></reference> </author> <description><!-- 1..1 string Natural language description of the profile --></description> <code><!-- 0..* Coding Assist with indexing and finding --></code> <status> <!-- Current status --> <code><!-- 1..1 code draft | testing | review | production | withdrawn | superceded --></code> <date><!-- 1..1 dateTime date for given status --></date> <comment><!-- 0..1 string Supplemental status info --></comment> </status> <import> <!-- 0..* External source of extensions and bindings --> <uri><!-- 1..1 uri Profile location --></uri> <prefix><!-- 0..1 string Short form for referencing --></prefix> </import> <bundle><!-- 0..1 code If this describes a bundle, the first resource in the bundle --></bundle> <resource> <!-- 0..* A constraint on a profile --> <type><!-- 1..1 code The Type of the resource being described --></type> <profile><!-- 0..1 uri Resource Profile that supplies the constraints --></profile> <name><!-- 0..1 string Name for this Constraint Statement --></name> <purpose><!-- 0..1 string Human summary: why describe this resource? --></purpose> <element> <!-- 0..* Definition of elements in the resource --> <path><!-- 1..1 string The path of the element (see the formal definitions) --></path> <name><!-- 0..1 string Name of constraint for slicing - see above --></name> <definition> <!-- More specific definition of the element --> <short><!-- 1..1 string Concise definition for xml presentation --></short> <formal><!-- 1..1 string Formal definition --></formal> <comments><!-- 0..1 string Comments about the use of this element --></comments> <requirements><!-- 0..1 string Why is this needed? --></requirements> <synonym><!-- 0..* string Other names --></synonym> <min><!-- 1..1 integer Minimum Cardinality --></min> <max><!-- 1..1 string Maximum Cardinality (a number or *) --></max> <type> <!-- 0..* Type of the element --> <code><!-- 1..1 code Data type or Resource --></code> <profile><!-- 0..1 uri Profile to apply (Resource only) --></profile> </type> <nameReference><!-- 0..1 string To another element constraint (by element.name) --></nameReference> <value[x] d?><!-- 0..1 Fixed value: [as defined for type] --></value[x]> <maxLength><!-- 0..1 integer Length for strings --></maxLength> <dataAbsentReason><!-- 1..1 boolean If @dataAbsentReason is allowed --></dataAbsentReason> <condition><!-- 0..* id reference to invariant about presence --></condition> <constraint> <!-- 0..* Condition that must evaluate to true --> <id><!-- 1..1 id Target of 'condition' reference above --></id> <name><!-- 0..1 string Short human label --></name> <severity><!-- 1..1 code error | warning --></severity> <human><!-- 1..1 string Human description of constraint --></human> <xpath><!-- 1..1 string XPath expression of constraint --></xpath> <ocl><!-- 0..1 string OCL expression of constraint --></ocl> </constraint> <mustSupport><!-- 0..1 boolean If the element must be usable --></mustSupport> <mustUnderstand><!-- 0..1 boolean If the element must be understood --></mustUnderstand> <binding><!-- 0..1 string Binding - see bindings below (only if coded) --></binding> <mapping> <!-- 0..* Map element to another set of definitions --> <target><!-- 1..1 string Which mapping this is (v2, CDA, openEHR, etc.) --></target> <map><!-- 0..1 string Details of the mapping --></map> </mapping> </definition> <bundled><!-- 0..1 boolean If type is Resource, is it in the bundle? --></bundled> <closed><!-- 0..1 boolean If list, whether derived profiles can slice more --></closed> </element> </resource> <extensionDefn> <!-- 0..* Definition of an extension --> <code><!-- 1..1 code identifies the extension in the instance --></code> <contextType><!-- 1..1 code resource | datatype | mapping | extension --></contextType> <context><!-- 1..* string Where the extension can be used in instances --></context> <definition><!-- 1..1 Content as for Profile.resource.element.definition Definition of the extension and its content --></definition> </extensionDefn> <binding> <!-- 0..* Define code sets for coded elements --> <name><!-- 1..1 string binding name --></name> <definition><!-- 0..1 string Human explanation of the binding --></definition> <type><!-- 1..1 code valueset | codelist | reference | special --></type> <isExtensible><!-- 1..1 boolean Can additional codes be used? --></isExtensible> <conformance><!-- 1..1 code required | preferred | example --></conformance> <reference><!-- 0..1 uri Source of binding content --></reference> <concept> <!-- 0..* Enumerated codes that are the binding --> <code><!-- 1..1 code Code to use for this concept --></code> <system><!-- 0..1 uri source for the code, if taken from another system --></system> <display><!-- 0..1 string Print name. Defaults to code if not provided --></display> <definition><!-- 1..1 string Meaning of the concept --></definition> </concept> </binding> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of resource profile for human interpretation --></text> </Profile>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
draft | This profile is still under development | |
testing | this profile was authored for testing purposes (or education/evaluation/evangelisation) | |
review | This profile is undergoing review to check that it is ready for production use | |
production | This profile is ready for use in production systems | |
withdrawn | This profile has been withdrawn | |
superseded | This profile was superseded by a more recent version |
resource | The context is all elements matching a particular resource element path | |
datatype | The context is all nodes matching a particular data type element path (root or repeating element) or all elements referencing a particular primitive data type (expressed as the datatype name) | |
mapping | The context is all nodes whose mapping to a specified reference model corresponds to a particular mapping structure. The context identifies the mapping target. The mapping should clearly identify where such an extension could be used, though this | |
extension | The context is a particular extension from a particular profile. Expressed as uri#name, where uri identifies the profile and #name identifies the extension code |
valueset | The binding name has an associated URL which is a reference to a Value Set Resource that provides a formal definition of the set of possible codes | |
codelist | The binding name is associated with a simple list of codes, and definitions from some identified code system (SID, URI, OID, UUID). In resource definitions, the system reference may be omitted, and a list of custom codes with definitions supplied (this is for status and workflow fields that applications need to know) | |
reference | The binding name has an associated URL which refers to some external standard or specification that defines the possible codes | |
special | The binding points to a list of concepts defined as part of FHIR itself (see below for possible values) |
required | Only codes in the specified set are allowed. If the binding is extensible, other codes may be used for concepts not covered by the bound set of codes. | |
preferred | For greater interoperability, implementers are strongly encouraged to use the bound set of codes, however alternate codes may be used in profiles if necessary without being considered non-conformant. | |
example | The codes in the set are an example to illustrate the meaning of the field. There is no particular preference for its use |
Constraints
Metadata Notes:
Interpretation Notes:
TODO: Is any control over narrative required?
If a profile is unambiguous, then the FHIR profile tooling (ref to be provided) is able to generate reference implementation based object models that express the profiled model natively, where the object interface does not include prohibited elements, treats declared extensions as primary properties, and slices lists according to the profile. This eases the burden on an implementer, though this object model can only be used with a sub-set of the possible resources.
The tooling is also able to generate bi-directional transforms between the normal XML format (§1.2) and an XML representation of this profiled object model, and schema for this profiled XML representation. This XML form has extensions promoted into the primary XML form by using the extension code as the XML name, and sliced lists are renamed to use the Profile.resource.element.name as the XML element name. Profiles are only suitable for this use if they ensure that there are no clashing extension names when the extension definition spaces are ignored, and that the sliced list names are appropriate.
Implementations are allowed to exchange this profiled XML format. Implementations that do so are not fully conformant to FHIR; instead they can claim to be conformant to "Profiled FHIR". Implementations should consider carefully before adopting this approach; while it will reduce the amount of work required to initially implement particular profiles, it will increase the amount of work required to exchange this data with other communities, or to re-use tooling and applications that are also used in other contexts. This cost should particularly be considered in light of the fact that the previously discussed tooling allows applications to be written as though they are dealing with "Profiled FHIR" instances when they are in fact sending and receiving fully conformant FHIR instances.
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
name : string | a portion of the name of the resource |
word : text | a word somewhere in the definition of the resource or the elements in the resource. (Common words - 'and', etc. - are often not supported) |
author : string | name or id of the author |
code : qtoken | a code in the format uri::code (server may choose to do subsumption) |
extension : token | an extension code (use or definition) |
binding : token | a vocabulary binding code |
status : token | a status of the profile |
type : token | type of resource that is constrained in the profile |
resource : token | a resource constrained in a profile |
reference : token | an id of another profile referenced in the profile |
date : date | date equal to the profile publication date |
date-before : date | date before or equal to the profile publication date |
date-after : date | date after or equal to the profile publication date |
(See Searching (§2.1.12)).
While the FHIR Resources are designed with a simple RESTful HTTP-based implementation (§2.1) in mind, it is not necessary to use this implementation framework. This specification also defines a straight messaging based implementation framework (§2.2) for FHIR resources and a document-based framework (§2.3), as well as documenting how FHIR resources are used with hData (§2.4).
Alternatively, it is not necessary to use any of these approaches. Resources can be exchanged or persisted using any technical means that is appropriate to the context at hand. A common use of FHIR resources or bundles is as parameters of service interfaces. FHIR itself does not define any particular service interface. Instead, other standards and implementations define their own service interfaces and architecture that use FHIR resources. As long as the resources that are used are conformant with this specification and the rules for authoring and reading applications are followed, then the implementation can claim conformance to "FHIR Resources". Such implementations will need to resolve several issues:
The resolution to these issues should be documented and published with the service specification.
There are many ways to implement any particular workflow and there are many ways to use resources to build working systems:
This section contains links to content that assist implementers make FHIR work in production:
TODO: add RDF & OWL renditions, eCore definitions, ADL versions, anything anyone else asks for
These reference implementations are provided for implementer interest and assistance. They may be used in production instances, though HL7 and its contributors accept no liability for this use. All these implementations are provided under a standard OSI approved BSD license (BSD-3-Clause).
These reference implementations are limited to code for representing the resource contents in their native form and parsing & serializing them as XML and JSON. In addition, some of the implementations provide support for building, using and reasoning with resource definitions. Full blown open source implementations for FHIR, some of which use these reference implementations, are listed on the HL7 wiki (http://wiki.hl7.org/index.php?title=Open_Source_FHIR_implementations) .
It is not necessary to use these particular implementations in order to be conformant. Any other approach may be used, including code generated from the schemas.
Any (conformant?) FHIR Implementation is allowed to use the FHIR icon in association with the FHIR implementation.
The FHIR icon is available in various sizes:
In addition to the set of base resources, FHIR also provides a RESTful implementation using HTTP (http://www.w3.org/Protocols/rfc2616/rfc2616.html) - an implementation of the OMG Health RESTful specification (http://www.omg.org) . Each resource type has the same set of interactions defined that can be used to manage the resources in a highly granular fashion. Applications claiming conformance to this framework claim to be conformant to "RESTful FHIR".
Note that in this RESTful framework, transactions are performed directly on the server resource using an HTTP request/response. These HTTP calls may be authenticated against a single user account (including using OAuth (http://www.oauth.org) ), but this arrangement doesn't cater for common transaction metadata such as multiple users, responsible party, reasons, consents, etc. that are commonly encountered in healthcare. Instead, use of this protocol assumes that appropriate security and logs are managed by the client (perhaps through using ATNA), and that the server trusts the client to maintain these. One implication is that this RESTful framework is only suitable for use where such trust relationships exist (e.g. in a single institution) and is not suitable where such trust does not exist (e.g. state & national EHR systems and health record systems that support disparate systems). Similarly, this simple RESTful interface has no support for explicit archiving and similar functions. These types of more sophisticated usages should consider a messaging (§2.2) or SOA-based approach (§2.6.6) or some kind of profiled REST interface, such as hData (§2.4).
The following logical interactions are supported:
Instance | |
read (§2.1.5) | Read the current state of the resource |
vread (§2.1.6) | Read the state of a specific version of the resource |
update (§2.1.7) | Update an existing resource by its id (or create it if it is new) |
delete (§2.1.8) | Delete a resource |
history (§2.1.9) | Retrieve the update history for the resource |
validate (§2.1.10) | Check that the content would be acceptable as an update |
Manager | |
updates (§2.1.11) | Get a list of prior updates to resources of this type, optionally with some filter criteria |
search (§2.1.12) | Search the resource type based on some filter criteria |
create (§2.1.13) | Create a new resource with a server assigned id |
System | |
conformance (§2.1.14) | Get a conformance statement for support of this resource type |
Note that while these same logical interactions are defined on all resources, applications are not required to implement all of them. Applications must provide a conformance statement (§2.7) that says what interactions are supported.
The Service Root URL is the address where all of the resources defined by this interface are found. The Service Root URL takes the form of
http(s)://server/path
The path may end with a trailing slash or not. Each resource type defined in this specification has a manager (or "entity set") that lives at the address "/[name]" where the name is the name of the resource type in lower case. For instance, the resource manager for the type "Patient" will live at:
http://server/path/patient
All the logical operations are defined relative to the service root URL below. Note that this means that given the address of any one FHIR resource on a system, the correct address for all the other resources may be determined. However since application URLs may change and because in some uses of FHIR within internal eco-systems, local configuration may dictate that the provider of a resource is different to that claimed by any particular provider or consumer, applications may need to replace Service Root URLs.
Note: except for the Service Root Portion of the URL, all the URLs (and ids that form part of the URL) defined by this specification are case sensitive and are required to be in lowercase.
Each resource has an associated set of resource metadata elements (§1.2.2). These map to the http request and response using the following fields:
Metadata Item | HTTP Response Header |
---|---|
Version Id | The Version Id is represented by the full canonical URL in the master location (see vread (§2.1.6) below). The Version Id may also be represented in the http ETag, but the use of ETag is not needed by this specification |
Last Modified Date | HTTP Last-Modified header |
Master Location | HTTP Content-Location header |
For this specification, normal HTTP security and authentication rules apply. The Service Root URL will specify whether SSL is required. HTTP authentication may be required by the server, possibly including the requirement for client certificates. It is a matter of application requirements and local configuration whether all interactions run under the account of a trusted system user whether each interaction runs under the account of the individual user or whether some other arrangement is required.
OAuth (http://oauth.net/) may be used to provide security. Applications are recommended to use the variants of the OAuth protocol that do not require URL parameters, but these may be used if necessary.
The formal mime type for FHIR resources is text/xml+fhir (still to be registered) and SHOULD be use by clients and servers. Servers are required to support the XML format of the resources defined in this specification, but may support other alternatives, including the informative JSON (§1.2.10) representation. Servers must support the content-type negotiation support described by the HTTP specification, but in order to support various implementation limitations, may choose to support the (?format=) parameter to specify alternative return formats by their mime types. For the format parameter, the mime types text/xml & text/xml+fhir must be interpreted to mean the normative XML format defined by FHIR and application/json must be interpreted to mean the informative JSON format.
The read interaction accesses the current contents of a resource. The interaction is performed by an HTTP GET operation as shown:
GET [service-url]/[resourcetype]/{@id} (?format=mimeType)
This returns a single instance with the content specified for the resource type. This url may be accessed by a browser. The logical id is preceded by a "@" to make parsing the url easier. The possible values for the id itself are described in the id type. Servers are required to return a content-location header with the response which is the full version specific url (see vread below) and a Last-Modified header.
The vread interaction preforms a version specific read of the resource. The interaction is performed by an HTTP GET operation as shown:
GET [service-url]/[resourcetype]/{@id}/history/{@vid} (?format=mimeType)
This returns a single instance with the content specified for the resource type. Servers may return a content-location header with the response which is the url requested and a Last-Modified header.
The version id is an opaque identifier that conforms to the same format requirements as a resource id. The id may have been found by performing a history operation (see below), by recording the version id from a content location returned from a read or from a version specific reference in a content model. The vread interaction should succeed even after a resource is deleted as long as a correct version identifier is provided.
The update interaction changes an existing resource or creates a new resource if it doesn't already exist. The update interaction is performed by an HTTP PUT operation as shown:
PUT [service-url]/[resourcetype]/{@id} (?format=mimeType)
The server must return a copy of the newly updated resource (which might not be the same as that submitted) with the response, along with a Last-Modified header, and a Content-Location header that refers to the version created by the updated operation.
Servers may choose to implement version-aware updates, where the only updates that are accepted quote the current version of the resource. In this case, the client must submit the currently correct version specific URL in the Content-Location in the PUT request. If the value is incorrect, the server SHALL return a 412 Preconditions failed response. Clients SHOULD submit a proper Content-Location header and SHALL correctly understand a 412 response as an update conflict.
The delete interaction removes an existing resource. The interaction is performed by an HTTP DELETE operation as shown:
DELETE [service-url]/[resourcetype]/{@id}
A delete operation means that non-version specific reads (§2.1.5) of a resource return a 410 error and that the resource is no longer found through search operations. If a server refuses to delete resources of that type on principle, then it should return the status code 405 method not allowed. If the server refuses to delete a resource because of reasons specific to that resource, such as referential integrity, it should return the status code 409 Conflict. Resources may be undeleted by PUTting an update to them subsequent to the deletion.
Many resources have a status element that overlaps with the idea of deletion. Each resource type defines what the semantics of the deletion operations are. If no documentation is provided, the deletion operation should be understood as deleting the record of the resource, with nothing about the state of the real-world corresponding resource implied.
The history interaction retrieves the history of the resource. The interaction is performed by an HTTP Get operation as shown:
GET [service-url]/[resourcetype]/{@id}/history (?format=mimeType)
The return content is an Atom feed containing the version history for that resource, sorted with oldest versions first. ToDo: how deletions are represented.
The validate interaction checks whether the attached content would be acceptable as an update to an existing resource. The validation operation may be the first part of a light two- phase commit process. The interaction is performed by an HTTP POST operation as shown:
todo: harmonise these with the RLUS REST specification POST [service-url]/[resourcetype]/validate/{@id}
The content is first checked against the general specification and against the conformance profile that applies to the application. How much checking is performed is at the discretion of the server. Then the resource is considered as a proposed update and additional instance specific rules such as referential integrity and update logic are applied as well. The return content has status 200 OK if the content validates ok or 409 Conflict, with the following content:
<validation xmlns="http://hl7.org/fhir"> <error mand type="string">General error message</error> <messages type="list"> <!-- Zero+ --> <message> <path opt type="string"xpath to the issue</path> <error mand type="string">Description of the problem</error> </message> <messages> </validation>
The validation operation has complex semantics and rules. Implementers wishing to use this operation should consult the full discussion of the operation in the OMG REST specification.
The updates interaction retrieves a list of the resources of a particular type, ordered by the date of last update in reverse (most recently changed first). The interaction is performed by an HTTP Get operation as shown:
GET [service-url]/[resourcetype] (?format=mimeType)
The return content is an Atom feed containing list of resources, sorted with oldest updates first.
The updates list can be restricted to a limited period by the Last-Modified header. Additional parameters can be used to filter the updates list using the search parameters defined by the resource type.
This interaction searches a resource type based on some filter criteria. The interaction is performed by an HTTP Get operation as shown:
GET [service-url]/[resourcetype]/search?parameters (&format=mimeType)
Because of the way that some user agents treat POST requests, POST submissions are also allowed, though the semantics are exactly the same as a GET operation. Search operations take a series of parameters that are encoded in the URL or as an x-multi-part-form submission for a POST. Each FHIR resource type defines a set of applicable search parameters with their meanings and servers may declare additional parameters in their conformance statements. In addition, the following common search parameters apply to all resource types:
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : id | An identifier associated with the resource |
It is at the discretion of the server how many results to return, though the client may request a particular number with the count parameter. If the client wishes for more results, it should use the n parameter. More generally, the client uses parameters to narrow the search and increase its usefulness. Note that which parameters to support is at the discretion of the server.
The return content is an Atom feed containing the results of the search as a list of resources in a defined order. This specification does not assign any particular meaning to the order of the resources.
If more sophisticated searching is required, a FHIR-based service interface can be defined to enable the workflow and functionality desired. At this time, support for messaging-based queries is not expected to be needed in FHIR.
integer | search parameter must be a simple whole number |
string | search parameter is a simple string, like a name part (search usually functions on partial matches) |
text | search parameter is into a long string (i.e. a text filter type search) |
date | search parameter is onto a date (and should support -before and -after variants) |
token | search parameter is on a fixed value string (i.e. search has an exact match) |
qtoken | search parameter is a pair of fixed value strings, namespace and value, separated by a ":". The namespace is usually a uri, such as one of the defined code systems (§1.4) and is optional when searching |
The create interaction creates a new resource. The interaction is performed by an HTTP POST operation as shown:
POST [service-url]/[resourcetype] (?format=mimeType)
The server returns a copy of the newly created resource (which might not be the same as that submitted) with the acknowledgement, along with a Location: header which also contains the new location and id of the created resource:
Location: [service-url]/[resourcetype]/{new-id} version aware....
The resource id element SHALL not be present. If the client wishes to specify the id of the submitted resource, then it should use the update operation instead.
The conformance interaction retrieves the application's conformance statement for the resource. The interaction is performed by an HTTP OPTIONS operation as shown:
OPTIONS [service-url] (?format=mimeType)
Applications SHALL return a Conformance Resource (§2.7) that specifies which resource types and operations are supported. If a 404 Unknown is returned, FHIR is not supported on the nominated service url.
Servers may choose what content to return when they receive a GET operation on the Service Root URL. Generally some page that guides human manual interaction with the server would be appropriate.
The HTTP protocol may be routed through an HTTP proxy such as squid. Such proxies are transparent to the applications, though implementers should be alert to the effects of rogue caching.
Interface engines may also be placed between the consumer and the provider. These differ from proxies because they actively alter the content and/or destination of the HTTP exchange and are not bound the rules that apply to HTTP proxies. Such agents are allowed, but must mark the http header to assist with troubleshooting.
Any agent that modifies an HTTP request or Response content other than under the rules for HTTP proxies must add a stamp to the HTTP headers like this:
request-modified-[identity]: [purpose] response-modified-[identity]: [purpose]
The identity must a single token defined by the administrator of the agent that will sufficiently identify the agent in the context of use. The header must specify the agent's purpose in modifying the content. End point systems must not use this header for any purpose. Its aim is to assist with system troubleshooting.
Status: An infrastructure resource. This is an approved resource, and its status is draft for comment
A transmission requesting action on a bundle of one or more resources or a response to such a request.
This page describes how FHIR Resources can be used in a traditional messaging context, much like HL7 v2. Applications claiming conformance to this framework claim to be conformant to "FHIR messaging".
In FHIR messaging, a "request message" is sent from a source application to a destination application when an event happens. Events mostly correspond to things that happen in the real world. The request message consists of a bundle (§2.5) of resources, with the first resource in the bundle being this Message resource. The Message resource has a code - the message event - that identifies the nature of the request message and carries additional request metadata. The other resources in the bundle depend on the type of the request.
The events supported in FHIR, along with the resources that are included in them, are defined below.
The destination application processes the request and returns one or more response messages which are also a bundle (§2.5) of resources, with the first resource in the bundle being a Message (§2.2.4) resource with a response section that reports the outcome of processing the message and any additional response resources required.
This specification assumes that content will be delivered from one application to another by some delivery mechanism, and then a response will be returned to the source application. The exact mechanism of transfer is irrelevant to this specification, but may include file transfer, http based transfer, LLP (HL7 minimal lower layer protocol), MQ series messaging or anything else. The only requirement for the transfer layer is that requests are sent to a known location and responses are returned to the source of the request. This specification considers the source and destination applications as logical entities, and the mapping from logical source and destination to implementation specific addresses is outside the scope of this specification.
In principle, source applications are not required to wait for a response to a transaction before issuing a new transaction. However in many case, the messages in a given stream are dependent on each other, and must be sent and processed in order. In addition, some transfer methods may require sequential delivery of messages.
This specification ignores the existence of interface engines and message transfer agents that exist between the source and destination. Either they are transparent to the message/transaction content and irrelevant to this specification, or they are actively involved in manipulating the message content. If these middleware agents are modifying the message content, then they become responsible for honoring the contract described below in both directions.
Some of the message delivery mechanisms mentioned above are reliable delivery systems - the message is always delivered, or an appropriate error is returned to the source. However most implementations use methods which do not provide reliable messaging, and either the request or the response can get lost in transit. FHIR messaging describes a simple approach to handle this that applications must conform to, whether messaging appears to be reliable or not.
A message receiver must always check the incoming bundle identifier (atom feed.id), and check them against a store of previously received messages (going back a reasonable period in time). If it receives a duplicate message id that it has already responded to, it should assume that the original response was lost (failed to return to the request issuer), and resend the original response in a new bundle. If the source application gets no response to its request from the destination application, the source application should resend the same bundle with the same atom feed.id.
Applications claiming to be conformant to "FHIR messaging" may choose to publish a conformance statement that lists all the message events they support, either as sender or listener, and for each event, a profile that states which resources are bundled (sender), or are required to be bundled (listener), and any rules about the information content of the individual resources. The conformance statement is a resource with the name "Conformance" (§2.7).
There are two end-points defined for a RESTful server that supports Messages:
The first end-point is used for working within the message contents, for instance, for building messages piecemeal or for auditing received messages. Creating or updating Message resources to this end point does not represent the actual occurrence of any event, nor can it trigger any logic associated with the actual event. It is just for managing message resources.
The second end-point is used for actually sending messages as bundles (§2.5), to indicate that the event identified by the code has occurred. The end-point responds with a message response as defined for the particular event, or an error indicating that the attempt to process the message was unsuccessful. The functionality of this end-point is described below (§2.2.6).
Note: While the end-points above are defined for use with message resources and for delivering messages to a RESTful server, it is not necessary to use them; messages may be transported between systems using any method desired.
See also the Examples (§4.10) and the Definitions (§5.11).
<MessageHeader xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Master Resource Id = Message Id --></id> <instant><!-- 1..1 instant Instant the message was sent --></instant> <event><!-- 1..1 code Code for the event his message represents --></event> <response> <!-- If this is a reply to prior message --> <id><!-- 1..1 id Id of original message --></id> <code><!-- 1..1 code Type of response to the message --></code> </response> <source> <!-- Message Source Application --> <name><!-- 0..1 string Name of system --></name> <software><!-- 1..1 string Name of software running the system --></software> <version d?><!-- 0..1 string Version of software running --></version> <contact d?><!-- 0..1 Contact Human contact for problems --></contact> <endpoint><!-- 1..1 uri Actual message source address or id --></endpoint> </source> <destination> <!-- Message Destination Application --> <name><!-- 0..1 string Name of system --></name> <target d?><!-- 0..1 Resource(Device) Particular delivery destination within the destination --></target> <endpoint><!-- 1..1 uri Actual destination address or id --></endpoint> </destination> <enterer d?><!-- 0..1 Resource(Agent) The source of the data entry --></enterer> <author d?><!-- 0..1 Resource(Agent) The source of the decision --></author> <receiver d?><!-- 0..1 Resource(Person|Organization) Intended "real-world" recipient for the data --></receiver> <responsible d?><!-- 0..1 Resource(Agent|Organization) Final responsibility for event --></responsible> <effective d?><!-- 0..1 Period Time of effect --></effective> <reason d?><!-- 0..1 CodeableConcept Cause of event --></reason> <data><!-- 0..* Resource(Any) The actual content of the message --></data> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of message, for human interpretation --></text> </MessageHeader>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
ok | The message was accepted and processed without error | |
error | Some internal unexpected error occurred - wait and try again. Note - this is usually used for things like database unavailable, which may be expected to resolve, though human intervention may be required | |
rejection | The message was rejected because of some content in it. There is no point in re-sending without change. The response narrative must describe what the issue is | |
rules | The message was rejected because of some event-specific business rules, and it may be possible to modify the request and re-submit (as a different request). The response data must clarify what the change would be, as described by the event definition | |
undeliverable | A middleware agent was unable to deliver the message to its intended destination |
Notes:
Code | Description | Request | Response | Notes |
---|---|---|---|---|
admin-notify | Notification of a change to an administrative resource (either create or update). Note that there is no delete, though some administrative resources have status or period elements for this use | Person | -- | |
Animal | -- | |||
Organization | -- | |||
Patient | -- | Patient Links cannot be updated using admin-notify. The links element must be empty | ||
labreport-provide | Provide a lab report, or update a previously provided lab report | LabReport LabReport.patient LabReport.patient.person LabReport.patient.animal LabReport.admission LabReport.requestDetail.clinicalInfo LabReport.specimen LabReport.resultGroup.specimen | -- | |
patient-link | Notification that two patient records actually identify the same patient | Patient,Patient | -- | Follow ups: patient-unlink? |
patient-unlink | Notification that previous advice that two patient records concern the same patient is now considered incorrect | Patient,Patient | -- |
The mailbox is the standard name for a service hosted on a RESTful server that accepts messages and processes them as transactions, and returns a message response appropriate for the message received. The server is under no obligation to do anything particular with the resources except as required by the semantics of the event code in the message resource. A server may choose to retain the resources and make them available on a RESTful interface, but is not required to do so. If the server returns 200 Ok, it must return a valid message that indicates what the outcome of the event processing is. An HTTP error indicates that the message was not processed successfully, and that it should be resubmitted (and doing so should not result in a duplicate message response). Repeated failures indicate either a fatal problem with the message or a problem with the receiving application.
The mail box can also be used to accept documents. In this case, the document is "accepted" (the server takes responsibility for custody of the received document), and an HTTP status of 204 No Content is returned, or an HTTP error is returned. The server is under no obligation to do anything with the document except as specific trading partner agreements dictate.
The following rules apply to the mailbox:
This simple mailbox profile can be used by any http end point that accepts FHIR messages or documents, not just FHIR RESTful servers.
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
(See Searching (§2.1.12)).
Status: An infrastructure resource. This is an approved resource, and its status is draft for comment
A documentation of healthcare-related information that is assembled together into a single statement of meaning that establishes its own context. A document is composed of a set of resources that include both human and computer readable portions. A human may attest to the accuracy of the human readable portion, and may authenticate and/or sign the entire whole. A document may be kept as a set of logically linked resources, or they may be bundled together in an atom feed.
FHIR resources can be used to build clinical documents that capture information about clinical observations and services. A clinical document is a bundle (a list of resources in an atom feed) that is fixed in scope, frozen in time and authored and/or attested as a set of logically contained resources by humans, organisations and devices. Documents built in this fashion may be exchanged between systems and also persisted in document storage and management systems, including systems such as IHE XDS. Applications claiming conformance to this framework claim to be conformant to "FHIR documents".
All documents have the same structure: a bundle that has a Document Header resource (below) first, followed by a series of other resources referenced from the Document header that provides guidance on how they fit together. The bundle gathers all the content of the document into a single XML document which may be signed and managed as required. The resources include both human and computer readable portions.
The document header identifies the document and its purpose, sets the context of the document and carries key information such as the subject and author. It also divides the document up into a series of sections that contain other resources identified in this specification that carry the content. Any resource referenced directly in the Document resource must be included in the bundle when the document is assembled. Other resources that these referenced resources refer to may also be included in the bundle if the document originator chooses to.
The Document.id identifies the logical document. Multiple versions of the document may exist, each with their own unique bundle identifier (Atom feed.id). The means the Document.id maps to CDA ClinicalDocument.setId and the feed.id to ClinicalDocument.id.
Document profiles (§1.6) can make additional rules about which resources must be included in the bundle along with the resources that are directly referenced in the Document resource. In addition, Document Profiles can specify what sections a document contains and what the constraints on their contents are. Applications should consider publishing conformance statements (§2.7) that identify particular documents they support.
There are two RESTful end-points defined for Documents:
The first end-point is used for working within the document contents, for instance, for building documents piecemeal, for auditing received documents or for providing a document registry. The second end-point is used for working with whole documents, such as providing a document repository. Servers may un-bundle documents received through the /document/ end-point, and make the document resources they contain available through the /documentheader/ end-point, but are not required to do so.
RESTful systems may also accept documents through their mailbox (§2.2.6).
Note: While the end-points above are defined for use with document resources and document bundles, it is not necessary to use them. Documents may be transferred between systems using any method desired.
See also the Examples (§4.8) and the Definitions (§5.9).
<DocumentHeader xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Master Resource Id = document Id --></id> <instant><!-- 1..1 instant Document Creation Time --></instant> <type><!-- 1..1 CodeableConcept Kind of Document (LOINC if possible) --></type> <title d?><!-- 0..1 string Document Title --></title> <replaces><!-- 0..1 id If this document replaces another --></replaces> <enterer d?><!-- 0..1 Resource(Agent) The source of the data entry --></enterer> <subject><!-- 1..1 Resource(Patient|Group|Device) Who/what the document is about --></subject> <informant d?><!-- 0..1 Resource(Person) Who provided information in document --></informant> <author><!-- 1..* Resource(Agent) Who/what authored the final document --></author> <attester> <!-- 0..* Attests to accuracy of document --> <mode><!-- 1..1 code Personal | professional | legal | official --></mode> <time d?><!-- 0..1 dateTime When document attested --></time> <party d?><!-- 0..1 Resource(Agent|Organization) Who attested the document --></party> </attester> <recipient d?><!-- 0..* Resource(Agent|Organization) Expected to receive a copy --></recipient> <custodian><!-- 1..1 Resource(Organization) Org which maintains the document --></custodian> <context d?><!-- 0..1 Resource(Any) The clinical item being documented --></context> <encounter d?><!-- 0..1 Resource(Admission|InterestOfCare) Context of the document --></encounter> <stylesheet d?><!-- 0..1 Attachment Stylesheet to use when rendering the document --></stylesheet> <representation><!-- 0..1 Attachment Alternative representation of the document --></representation> <section> <!-- 0..* Document is broken into sections --> <type><!-- 0..1 CodeableConcept Type of section (recommended) --></type> <instant d?><!-- 0..1 instant Section Creation Time --></instant> <author><!-- 0..1 Resource(Agent) Who/what authored the section --></author> <enterer d?><!-- 0..1 Resource(Agent) The source of the data entry --></enterer> <subject><!-- 0..1 Resource(Patient|Group|Device) If section different to document --></subject> <informant d?><!-- 0..1 Resource(Person) Who provided information in section --></informant> <content d?><!-- 0..1 Resource(Any) The actual data for the section --></content> <text d?><!-- 0..1 Narrative Human Readable Text Summary of the section --></text> <section><!-- 0..* Content as for DocumentHeader.Section Nested Section --></section> </section> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of document, for human interpretation --></text> </DocumentHeader>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
personal | The person authenticated the document in their personal capacity | |
professional | The person authenticated the document in their professional capacity | |
legal | The person authenticated the document and accepted legal responsibility for its content | |
official | The organization authenticated the document as consistent with their policies and procedures |
Constraints
Notes:
The human display of the Document is the collated narrative portions of following resources (in order):
The document narrative should summarise the important parts of the document header that are required to establish clinical context for the document (other than the subject, which is displayed in its own right). To actually build the combined narrative, simply append all the narrative <div> fragments.
In addition to the basic style rules (§1.2.4.1), which must be followed, a document can contain a style sheet that contains additional styles that apply to the collated narrative. Unless otherwise agreed in local trading partner agreements, applications displaying the collated narrative should use the style sheet provided in the document. Parties entering into such a trading agreement should consider the implications it will have no their long term scope for document exchange very carefully.
The authors and users of Clinical Documents, whether human or software, have obligations that they must satisfy.
A document author is an application that creates a document resource. The author may create new content resources and/or assemble already existing content resources while doing so. A document author has the following responsibilities:
A document user is an application that receives or presents documents, or extracts data from them, or makes decisions because of them. The documents may be received directly from a document author or accessed via a document management system. The document user is responsible for ensuring that received documents are processed and/or rendered in accordance to this specification. A document recipient has the following obligations:
The standard RESTful endpoints (such as [baseurl]/person/@{id} for a Person resource or [baseurl]/document/@{id} for the Document resource) handle the individual resources and not bundles (though, per the RESTful spec, they serve up atom feeds for the history (§2.1.9), search (§2.1.12) and update (§2.1.7) operations). The Document (§2.3) framework defines an additional end-point for handling document bundles at [baseurl]/document/@{id}). In this context, the id is the id of the Document Header resource. The end-point supports the following operations:
Instance | |
read | Retrieve a document bundle |
vread | Retrieve a particular version of a document |
update | Post a document to the server. |
delete | Delete a bundle. |
validate | Check that the content would be acceptable as a submission |
history | Returns a history for the document. |
Manager | |
updates | Get a list of updates to resources of this type, optionally with some filter criteria |
search | Search the document bundles based on some filter criteria. Supported search parameters
|
create | Not supported - document ids are always provided by the author, and the document must be provided as an update |
Note that the history, updates and search methods all return atom feeds that contain bundles - that is, atom feeds that contain entries where the content type is another atom feed. Atom feeds are only ever nested two levels deep (i.e. one atom feed containing a series of atom feeds that are bundles that contain resources).
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
type : qtoken | the type of the document |
date : date | date equal to the document creation time |
date-before : date | date before or equal to the document creation time |
date-after : date | date after or equal to the document creation time |
subject : qtoken | subject of the document |
author : qtoken | author of the document |
attester : qtoken | attester of the document |
context : qtoken | context of the document |
section-type : qtoken | code of the document |
section-content : qtoken | content resource of the section |
(See Searching (§2.1.12)).
hData (Known Broken Link - needs to be resolved) describes the use of a RESTful architecture to manage a set of granular resources in a coherent record structure. hData and FHIR share the same basic RESTful transport (the RESTful specification (§2.1) is a profile on the OMG hData RESTful (Known Broken Link - needs to be resolved) transport). hData builds on top of that a set of resources and addresses issues that provide the architecture to maintain a coherent record, such as a patient care record. This page documents how FHIR resources may be used for the components of an hData record architecture.
Notes: content profile for hData for each resource template for a content profile - available @ hdata wiki page on hl7 wiki (ArB is going to review that) schema + rddl (see rddl.org) set link rel in atom feed on per type
One basic operation performed with resources is to gather all a list of resources into a single XML document. In FHIR this is referred to as "bundling" the resources together. The resource bundle is not just a list of references to resources, but includes their whole content. These resource bundles are useful for a variety of different reasons, including:
Whenever resources are gethered into a list, this is done using the Atom format (http://tools.ietf.org/html/rfc4287), following this template:
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005"> <title 1..1 type="string">text statement of purpose</title> <updated 1..1 type="instant">when the bundle was built</updated> <id 1..1 type="uri">unique uri for this bundle</id> <link 1..1 rel="self" href="[building application url]"/> <entry gd:etag="version id"> <!-- Zero+ --> <title 1..1 type="string">text summary of resource</title> <link 1..1 rel="self" href="Master Location for Resource"/> <id 1..1 type="uri">Master Id (uri) for this resource</id> <updated 1..1 type="instant">Last Updated for resource</updated> <published 0..1 type="instant">Time resource copied into the feed</updated> <author> <name 1..1 type="string">Name of Human or Device that authored the resource</name> <uri 0..1 type="uri">Link to the resource for the author</uri> </author> <category 1..1 term="[Resource Type]" scheme="http://hl7.org/fhir/sid/fhir/resource-types"/> <content 1..1 type="text/xml"> <[ResourceName] xmlns="http://hl7.org/fhir"> <id 1..1 type="id">Resource Id (i.e. normal resource content)</id> <!-- Content for the resource --> </[ResourceName]> </content> <summary 0..1 type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml"> <!-- Narrative from resource --></div> </summary> </entry> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#" 0..1> <!-- Enveloped Digital Signature (see Atom section 5.1) --> </Signature> </feed>
Notes:
Readers of the resources bundles should always look through the resources in the atom feed when a resource reference (§1.2.6) is encountered. The resource reference may have the resource type and a relative url, which is the id of the target, like this:
<institution> <type>Organization</type> <id>1145c09c-73d0-4297-9835-620e4afa9deb</id> </institution>
A reader trying to find the resource this institution element identifies should always look through the entries in the atom feed prior to looking anywhere else for the institution. If that organization is in the feed, it would look like this:
.. feed .. <entry> .. <id>1145c09c-73d0-4297-9835-620e4afa9deb<id> .. <category term="Organization" scheme="http://hl7.org/fhir/sid/fhir/resource-types"/> <content type="text/xml"> <Organization xmlns="http://hl7.org/fhir"> <id>1145c09c-73d0-4297-9835-620e4afa9deb</id> <!-- other Content for the resource --> </Organization> </content> ... feed ...
It would also be possible to locate the resouce by an absolute url. In this case, the id element contains a reference to the location of the resource:
<institution> <type>Organization</type> <id>http://acme.com/fhir/patient/@23</id> </institution>
A reader trying to find this institution should always look through the entries in the atom feed prior to looking anywhere else for the institution. If that patient is in the feed, it would look like this:
.. feed .. <entry> .. <link rel="self" href="http://acme.com/fhir/patient/@23"/> <id>23<id> .. <category term="Patient" scheme="http://hl7.org/fhir/sid/fhir/resource-types"/> <content type="text/xml"> <Patient xmlns="http://hl7.org/fhir"> <id>23</id> <!-- other Content for the resource --> </Patient> </content> ... feed ...
If there is no resource in the atom feed with an appropriate URL, then the application may try accessing the provided URL directly or use some other implementation-specific method for resolving how to find the resource. Note that this example used a FHIR RESTful URL (§2.1), but this is not required.
Status: An infrastructure resource. This is an approved resource, and its status is draft for comment
Value Set - a set of defined codes from one or more code systems that may be bound to a context.
The resource name as it appears in a RESTful URL (§2.1) is /valueset/
A value set specifies a set of codes drawn from one or more code systems. Value sets don't actually define the code themselves - they just define what codes are included or excluded from the set. Value sets are defined to control what codes or concepts can be used in a particular context.
A value set resource is directly mappable to a CTS2 value set definition and an automated transform should be possible in order to use a CTS2 server to provide value set functionality
See also the Examples (§4.16) and the Definitions (§5.17).
<ValueSet xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Fixed identifier for this value set resource --></id> <name><!-- 1..1 string Informal name for this value set --></name> <author> <!-- (Organisation or individual) --> <name><!-- 1..1 string Name of the recognised author --></name> <reference><!-- 0..1 uri Author contact --></reference> </author> <description><!-- 1..1 string Human language description of the value set --></description> <status><!-- 1..1 code draft | testing | production | withdrawn | superseded --></status> <date><!-- 1..1 dateTime Date for given status --></date> <identifier><!-- 1..1 id Logical id to reference this value set --></identifier> <version><!-- 1..1 id Logical id for this version of the value set --></version> <restricts><!-- 0..* uri Can replace these value sets when profiling --></restricts> <import><!-- 0..* uri Import the contents of another value set --></import> <include> <!-- 0..* Include one or more codes from a code system --> <system><!-- 1..1 uri The system the codes come from --></system> <version><!-- 0..1 string Specific version of the code system referred to --></version> <mode><!-- 1..1 code code | children | descendants | all --></mode> <code><!-- 0..* code Code or concept --></code> <filter> <!-- 0..* Celect codes/concepts by their properties --> <property><!-- 1..1 code A property defined by the code system --></property> <op><!-- 1..1 code = | is_a | is_not_a | regex --></op> <value><!-- 1..1 code Code from the system, or regex criteria --></value> </filter> </include> <exclude><!-- 0..* Content as for ValueSet.include Explicitly exclude codes --></exclude> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of value set for human interpretation --></text> </ValueSet>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
draft | This valueset is still under development | |
testing | This valueset was authored for testing purposes (or education/evaluation/evangelisation) | |
production | This valueset is ready for use in production systems | |
withdrawn | This valueset should no longer be used | |
superseded | This valueset has been replaced and a different valueset should be used in its place |
code | Only this code is selected | |
children | Only the immediate children (codes with a is_a relationship) are selected, but not this code itself | |
descendants | All descendants of this code are selected, but not this code itself | |
all | This code and any descendants are selected |
= | The property value has the concept specified by the value | |
is_a | The property value has a concept that has an is_a relationship with the value | |
is_not_a | The property value has a concept that does not have an is_a relationship with the value | |
regex | The property value representation matches the regex specified in the value |
Constraints
Notes:
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
name : string | a portion of the name of the value set |
identifier : token | the identifier of the value set |
version : token | the version identifier of the value set |
status : token | the status of the value set |
system : token | a code system included or excluded in the value set |
code : token | a code contained in the include or exclude list of the value set (but not including descendant codes) |
restricts : token | a value set listed in the restricts list |
import : token | a value set listed in the import list |
(See Searching (§2.1.12)).
Status: An infrastructure resource. This is an approved resource, and its status is draft for comment
A conformance statement about how an application or implementation supports FHIR or the set of requirements for a desired implementation..
The resource name as it appears in a RESTful URL (§2.1) is /conformance/
Conformance statements are used in one of three ways:
In this scenario, the conformance statement describes the capabilities of a deployed and configured solution available at a particular access point or set of access points. The statement describes exactly how to interface with that deployed solution and thus provides for a degree of self-configuration of software solutions.
This is the type of profile that FHIR restful solutions are expected to make available on invocation of the conformance operation. It is also the type of statement that forms a basis for the testing, certification or commissioning of specific software installations.
A conformance statement is identified as being an implementation statement through the presence of the implementation element.
In this scenario, the conformance statement describes the generic capabilities of a software application or component solution. The solution might be available for purchase or other aquisition and might be deployed and configured at any number of independent sites. Because it is not dependent on any particular implementation, the profile cannot provide specific details such as endpoint addresses. It may also need to document various configurations in which the application can be set up or describe the degree of customizability associated with the solution.
This type of statement may be used as a marketing tool by software and system developers to formally describe their capabilities. It can also be used as the basis for conformance testing of software solutions independent of a particular installation.
A conformance statement is identified as being a software solution statement through the presence of the software element.
In this scenario, the conformance statement describes the capabilities of a desired system. It might be used as part of an architectural design process to document needed system capabilities, or might be used as part of an RFP process to formally document the requirements of a requested solution and to document the criteria by which proposals will be evaluated.
A conformance statement is identified as being a requirements statement through the presence of the proposal element.
These three types of profiles can be used together. A requirements statement can be compared against the solution statements proferred by respondents to an RFP. A solution statement for a software package forms the starting point for the implementation statement associated with a particular installation of that software package.
Conformance Statements provide for a degree of automatic configuration and adaptation. However, capturing absolutely every variation that could impact the interoperability of two systems, let alone keeping that detailed information up-to-date as systems evolve through maintenance and upgrades is rarely practical. Therefore, conformance statements should be seen as an interim step. They provide a degree of automation. However, they also provide a great deal of human-readable content that can minimize the need for direct communication between the operators of the systems being configured to interoperate.
See also the Examples (§4.7) and the Definitions (§5.8).
<Conformance xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id ConformanceStatement Id --></id> <date><!-- 1..1 dateTime Publication Date --></date> <publisher> <!-- Publisher of the statement --> <name><!-- 1..1 string Publishing Organization --></name> <address><!-- 0..1 Address Address of Organization --></address> <contact><!-- 0..* Contact Contacts for Organization --></contact> </publisher> <implementation> <!-- If profile is for implementation --> <description><!-- 1..1 string What implementation is covered? --></description> <url><!-- 0..1 uri Base URL for interfaces --></url> </implementation> <software> <!-- If profile is for software offered --> <name><!-- 1..1 string Name software is known by --></name> <version><!-- 0..1 string Version covered by this statement --></version> <releaseDate><!-- 0..1 dateTime Date this version released --></releaseDate> </software> <proposal> <!-- If profile is for proposal --> <description><!-- 1..1 string Details of proposal or requirements document --></description> </proposal> <version><!-- 1..1 id FHIR Version --></version> <acceptUnknown><!-- 1..1 boolean True if application accepts unknown elements --></acceptUnknown> <rest> <!-- 0..* If the endpoint is a RESTful one --> <mode><!-- 1..1 code client | server --></mode> <documentation><!-- 0..1 string Security, etc. --></documentation> <resource> <!-- 1..* Resource served on the REST interface --> <type><!-- 1..1 code Resource type --></type> <profile><!-- 0..1 uri Profile describing resource support --></profile> <operation> <!-- 1..* What operations are supported? --> <code><!-- 1..1 code read | vread | update | etc. --></code> <documentation><!-- 0..1 string Anything special about operation behavior --></documentation> </operation> <search> <!-- Only if supported --> <documentation><!-- 0..1 string General guidance on searching --></documentation> <param> <!-- 1..* Search params supported --> <name><!-- 1..1 string Name of search parameter --></name> <documentation><!-- 0..1 string contents and meaning of search parameter --></documentation> </param> </search> </resource> </rest> <messaging> <!-- 0..* If messaging is supported --> <endpoint><!-- 0..1 uri Actual endpoint being described --></endpoint> <documentation><!-- 0..1 string Messaging interface behavior details --></documentation> <event> <!-- 1..* Declare support for this event --> <code><!-- 1..1 code Event type --></code> <mode><!-- 1..1 code sender | receiver --></mode> <protocol><!-- 0..* Coding http | ftp |MLLP | etc. --></protocol> <focus><!-- 1..1 code Resource that's focus of message --></focus> <request><!-- 0..1 uri Profile that describes the request --></request> <response><!-- 0..1 uri Profile that describes the response --></response> <documentation><!-- 0..1 string Endpoint-specific event documentation --></documentation> </event> </messaging> <document> <!-- 0..* document definition --> <mode><!-- 1..1 code producer | consumer --></mode> <documentation><!-- 0..1 string Description of document support --></documentation> <profile><!-- 1..1 uri Constraint on a resource used in the document --></profile> </document> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of conformance profile for human interpretation --></text> </Conformance>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
client | The application acts as a server for this resource | |
server | The application acts as a client for this resource |
read | Read the current state of the resource | |
vread | Read the state of a specific version of the resource | |
update | Update an existing resource by its id (or create it if it is new) | |
delete | Delete a resource | |
history | Retrieve the update history for the resource | |
validate | Check that the content would be acceptable as an update | |
updates | Get a list of prior updates to resources of this type, optionally with some filter criteria | |
create | Create a new resource with a server assigned id |
sender | The application sends requests and receives responses | |
receiver | The application receives requests and sends responses |
http | The application sends or receives messages using HTTP POST (may be over http or https) | |
ftp | The application sends or receives messages using File Transfer Protocol | |
mllp | The application sends or receivers messages using HL7's Minimal Lower Level Protocol |
producer | The application produces documents of the specified type | |
consumer | The application consumes documents of the specified type |
Constraints
Notes:
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
publisher : string | part of a publisher name |
software : string | part of a the name of a software application |
version : token | the version of FHIR |
resource : token | name of a resource mentioned in a conformance profile |
event : qtoken | event code in a conformance statement |
mode : token | mode - restful (server/client) or messaging (sender/receiver) |
profile : qtoken | a profile id invoked in a conformance statement |
date : date | date equal to the conformance statement publication date |
date-before : date | date before or equal to the conformance statement publication date |
date-after : date | date after or equal to the conformance statement publication date |
(See Searching (§2.1.12)).
The FHIR specification presently defines the following resources:
Of these, only the Infrastructure resources have undergone any degree of vetting. The remaining administrative and clinical resources exist to provide a sense of what such resources will look like eventually. Over the coming months, the number of resources and the number of those that have been vetted by HL7 committees will grow. A list of hypothesized list of resources can be found on the HL7 wiki (http://wiki.hl7.org/index.php?title=FHIR_Resource_Types) . Feel free to add any you feel are missing or engage with one of the HL7 Work Groups (http://www.hl7.org/Special/committees/index.cfm) to submit a proposal (http://wiki.hl7.org/index.php?title=Category:FHIR_Resource_Proposal) to define a resource of particular interest.
Person | Identifies a person, the languages and qualifications, and other people who are related to them by birth, social or employment context |
Animal | Identifies an animal and charactersistics such as species as well as other animals or people that are related to it by birth or ownership arrangements |
Organization | Identifies an organization, its formal accreditations and sub, super and partner organizations |
Patient | Subject A (person/animal) is under the care of Organization B |
Agent | Person A fills role R for Organization B |
LabReport | Lab A provides a report (text and/or structured data with analysis and specimen details) concerning Patient B as requested by Agent C for reason D |
AssessmentScale | Agent A reports a score (outcome, method reference, and supporting data) for Patient B at a specific time |
Prescription | Agent A prescribes a medication (code and/or ingredients) to patient B with administration instructions and optionally dispensing instructions for Agent of Organization C |
Status: A domain resource developed as an examplar. Not an approved resource. Under consideration by the Patient Admin work group
A person who represents an organisation, and is authorised to perform actions on its behalf.
The resource name as it appears in a RESTful URL (§2.1) is /agent/
See also the Examples (§4.4) and the Definitions (§5.5).
<Agent xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Master Resource Id, always first in all resources --></id> <person><!-- 1..1 Resource(Person) The person who is the agent --></person> <organization><!-- 1..1 Resource(Organization) The represented organization --></organization> <role><!-- 1..* CodeableConcept A role the agent has --></role> <period d?><!-- 0..1 Period The period for which this agency applies (date only) --></period> <identifier d?><!-- 0..* HumanId A Human identifier for the person as this agent --></identifier> <address d?><!-- 0..* Address An address that applies for the person as this agent --></address> <contact d?><!-- 0..* Contact A contact that applies for the person as this agent --></contact> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of the agent, for human interpretation --></text> </Agent>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
Notes:
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
person : qtoken | The identity of a person |
organization : qtoken | The identity of an organization |
(See Searching (§2.1.12)).
Status: A domain resource developed as an examplar. Not an approved resource. Under consideration by the Patient Admin work group
An animal that has relevance to the care process -usually this is for animals that are patients..
The resource name as it appears in a RESTful URL (§2.1) is /animal/
See also the Examples (§4.5) and the Definitions (§5.6).
<Animal xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Master Resource Id, always first in all resources --></id> <identifier d?><!-- 0..* HumanId Human identifiers for this animal --></identifier> <name d?><!-- 0..* HumanName A name associated with the animal --></name> <dob d?><!-- 0..1 dateTime The birth date for the animal --></dob> <species d?><!-- 0..1 CodeableConcept Species for the Animal --></species> <strain d?><!-- 0..1 CodeableConcept Strain for the Animal --></strain> <gender d?><!-- 0..1 CodeableConcept Gender for the Animal --></gender> <relatedEntity> <!-- 0..* Kin, owner, care giver etc --> <identifier d?><!-- 0..1 HumanId Identifier for the entity --></identifier> <role><!-- 1..1 CodeableConcept Type of relationship --></role> <name d?><!-- 0..1 HumanName Name of the related entity --></name> <address d?><!-- 0..* Address An address (usually human, but may be kin) --></address> <contact d?><!-- 0..* Contact Contact details (usually for humans) --></contact> </relatedEntity> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of animal, fall back for human interpretation --></text> </Animal>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
Notes:
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
name : string | a portion of name in any name part |
species : qtoken | the species, including by subsumption if the coding supports this |
phonetic : string | a portion of name using some kind of phonetic matching algorithm |
related : string | a portion of any part of a related entity's name |
identifier : qtoken | an identifier for the animal |
(See Searching (§2.1.12)).
Status: A domain resource being developed in association with the Patient Care work group to investigate FHIR. Not an approved resource
Assessment scales or scores combine the findings of individual values into a total score which can be interpreted more easily against a reference population.
The resource name as it appears in a RESTful URL (§2.1) is /assessmentscale/
See also the Examples (§4.6) and the Definitions (§5.7).
<AssessmentScale xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Master Id, first in all resources --></id> <subject><!-- 1..1 Resource(Patient) Who the assessment score is about --></subject> <performer><!-- 1..1 Resource(Agent|Person) Who performed the assessment --></performer> <time><!-- 1..1 dateTime When the assessment was finalized --></time> <definition d?><!-- 0..1 Resource(AssessmentDefinition) Details of how assessment was performed --></definition> <interpretation d?><!-- 0..* CodeableConcept What the value of the assessment means --></interpretation> <score> <!-- The actual score --> <code><!-- 1..1 CodeableConcept Indicates the type of assessment --></code> <value[x]><!-- 0..1 Quantity|CodeableConcept|Choice|boolean Outcome of the assessment --></value[x]> <score d?><!-- 0..* Content as for AssessmentScale.score Nested Score elements --></score> <measure> <!-- 0..* Data from which the score is derived --> <code><!-- 0..1 CodeableConcept What this value represents --></code> <value[x] d?><!-- 0..1 Quantity|CodeableConcept|Choice|boolean actual value --></value[x]> <time d?><!-- 0..1 dateTime when the value was measured --></time> <source d?><!-- 0..1 Resource(Any) source reference for further information --></source> </measure> </score> <reason d?><!-- 0..1 string why the assessment was performed --></reason> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of [template] for human interpretation --></text> </AssessmentScale>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
Constraints
Notes:
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
subject : qtoken | who the assessment is about |
date : date | date equal to the date the assessment was performed |
date-before : date | date before or equal to the date the assessment was performed |
date-after : date | date after or equal to the date the assessment was performed |
code : qtoken | code for the assessment type (full scale or a measure) |
value : string | the value of the assessment |
reason : text | a word or phrase in the reason element |
(See Searching (§2.1.12)).
Status: A domain resource developed as an exmplar - based on the NEHTA peEHR model (Australia) (= openEHR archetype for lab report). Not an approved resource. Under consideration by the Orders and Observations work group
The findings and interpretation of pathology tests performed on tissues and body fluids. This is typically done in a laboratory but may be done in other environments such as at the point of care.
The resource name as it appears in a RESTful URL (§2.1) is /labreport/
See also the Examples (§4.9) and the Definitions (§5.10).
<LabReport xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Master Resource Id, always first in all resources --></id> <status><!-- 1..1 code registered|interim|final|amended|cancelled|withdrawn --></status> <issued><!-- 1..1 instant date issed for current status --></issued> <patient><!-- 1..1 Resource(Patient) The patient the report is about --></patient> <admission d?><!-- 0..1 Resource(Admission) Admission Context --></admission> <laboratory><!-- 1..1 Resource(Organization) Responsible Laboratory --></laboratory> <reportId><!-- 0..1 Identifier Id for external references to this report --></reportId> <requestDetail> <!-- 0..* What was requested --> <requestOrderId d?><!-- 0..1 Identifier Id assigned by requester --></requestOrderId> <receiverOrderId d?><!-- 0..1 Identifier Receiver's Id for the request --></receiverOrderId> <requestTest d?><!-- 0..* CodeableConcept Test Requested --></requestTest> <requester d?><!-- 0..1 Resource(Agent|Organization) Responsible for request --></requester> <clinicalInfo d?><!-- 0..1 Resource(Any) Clinical information provided --></clinicalInfo> </requestDetail> <reportName><!-- 1..1 CodeableConcept Name for the entire report --></reportName> <service d?><!-- 0..1 CodeableConcept Biochemistry, Haematology etc --></service> <diagnosticTime><!-- 1..1 dateTime Effective time of diagnostic report --></diagnosticTime> <specimen d?><!-- 0..* Resource(Specimen) Specimen (incl. time of collection) --></specimen> <resultGroup> <!-- 0..* Results grouped by specimen/kind/category --> <name d?><!-- 0..1 CodeableConcept What defines the group --></name> <specimen d?><!-- 0..1 Resource(Specimen) Specimen details --></specimen> <result> <!-- 1..* A particular result --> <name><!-- 0..1 CodeableConcept Name or code of the result --></name> <value[x] d?><!-- 0..1 Quantity|CodeableConcept|Attachment| Ratio|Choice|Period|string Result. [x] = type name --></value[x]> <flag><!-- 0..1 code + | ++ | +++ | - | -- | --- --></flag> <status><!-- 1..1 code Registered|Interim|Final|Amended|Cancelled|Withdrawn --></status> <comments d?><!-- 0..1 string Comments about result --></comments> <referenceRange> <!-- 0..* Guide for interpretation --> <meaning d?><!-- 0..1 CodeableConcept The meaning of this range --></meaning> <range[x]><!-- 1..1 Quantity|Range|string Reference --></range[x]> </referenceRange> </result> </resultGroup> <conclusion d?><!-- 0..1 string Clinical Interpretation of test results --></conclusion> <codedDiagnosis d?><!-- 0..* CodeableConcept Codes for the conclusion --></codedDiagnosis> <representation><!-- 0..* Attachment Entire Report as issued --></representation> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of report, for human interpretation --></text> </LabReport>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
registered | The existence of the result is registered, but there is no result yet available | |
interim | This is an initial or interim result: data may be missing or verification not been performed | |
final | The result is complete and verified by the responsible pathologist | |
amended | The result has been modified subsequent to being Final, and is complete and verified by the responsible pathologist | |
cancelled | The result is unavailable because the test was not started or not completed (also sometimes called "aborted") | |
withdrawn | The result has been withdrawn following previous Final release |
- | ||
-- | ||
--- | ||
+ | ||
++ | ||
+++ | ||
R | Resistent | |
S | Moderately Susceptible | |
SS | Very Susceptible |
Notes:
One difficult aspect of the design of this resource can be captured with a simple question: "just what is a result?" There is a wide range of variation in the answers to this question; some respond that a result is inherently measurement based, while others focus on the clinical utility of the data item.
Some practical examples:
Which of these are results? For this resource, we have chosen to take an inclusive view; any of these things can be a result, as long as they have a formal code or name that has a clinical meaning, and some kind of (possible) value then they can be a result.
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
test : qtoken | the name or code of either a requested test, the report or a report group |
result : qtoken | the name or code or result value of a result or result group |
specimen : qtoken | Either of the specimens |
patient : qtoken | The identity of a patient |
laboratory : qtoken | The identity of an laboratory |
status : token | The status of the lab report |
request : qtoken | A test requested |
diagnosis : qtoken | code of a diagnosis |
(See Searching (§2.1.12)).
Status: A domain resource developed as an examplar. Not an approved resource. Under consideration by the Patient Admin work group
For any company/corporation/institution/government department that has relevance to the care process.
The resource name as it appears in a RESTful URL (§2.1) is /organization/
See also the Examples (§4.11) and the Definitions (§5.12).
<Organization xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Master Resource Id, always first in all resources --></id> <identifier d?><!-- 0..* HumanId Identifier for this organization --></identifier> <name> <!-- 0..* name used for the organisation --> <value><!-- 1..1 string A name associated with the organization --></value> <period d?><!-- 0..1 Period When this name is/was in use (date only) --></period> </name> <address d?><!-- 0..* Address An address for the organization --></address> <contact d?><!-- 0..* Contact A contact detail for the organization --></contact> <code d?><!-- 0..1 CodeableConcept kind of organisation --></code> <industryCode d?><!-- 0..1 CodeableConcept kind of industry --></industryCode> <accreditation> <!-- 0..* formal certifications that convey authority --> <identifier d?><!-- 0..1 Identifier Identifier for the accreditation --></identifier> <code d?><!-- 0..1 CodeableConcept What kind of accreditation --></code> <institution d?><!-- 0..1 Resource(Organization) Who conferred it --></institution> <period d?><!-- 0..1 Period When the accreditation is valid (date only) --></period> </accreditation> <relatedOrganization> <!-- 0..* sub-, super-, and partner organisations --> <identifier d?><!-- 0..1 HumanId Identifier for the organization --></identifier> <code><!-- 1..1 CodeableConcept How the organizations are related --></code> <name d?><!-- 0..1 string Name of the organization --></name> <address d?><!-- 0..* Address An address for the organization --></address> <contact d?><!-- 0..* Contact General contact details for the organization --></contact> <period d?><!-- 0..1 Period When the organizations were related (date only) --></period> </relatedOrganization> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of organization, fall back for human interpretation --></text> </Organization>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
Notes:
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
name : string | a portion of name in any name part |
phonetic : string | a portion of name using some kind of phonetic matching algorithm |
code : qtoken | code for the type of organization |
identifier : qtoken | an identifier for the organization |
(See Searching (§2.1.12)).
Status: A domain resource developed as an examplar. Not an approved resource. Under consideration by the Patient Admin work group
A patient is a person or animal that is receiving care.
The resource name as it appears in a RESTful URL (§2.1) is /patient/
See also the Examples (§4.12) and the Definitions (§5.13).
<Patient xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Master Resource Id, always first in all resources --></id> <link><!-- 0..* Resource(Patient) Other patients linked to this resource --></link> <active><!-- 1..1 boolean Whether this patient record is active (in use) --></active> <subject><!-- 1..1 Resource(Person|Animal) The person or animal that is the patient --></subject> <provider><!-- 1..1 Resource(Organization) Organization managing the patient --></provider> <identifier d?><!-- 0..* HumanId An identifier for the person as this patient --></identifier> <diet d?><!-- 0..1 CodeableConcept Dietary restrictions for the patient --></diet> <confidentiality d?><!-- 0..1 CodeableConcept Confidentiality of the patient records --></confidentiality> <recordLocation d?><!-- 0..1 CodeableConcept Where the paper record is --></recordLocation> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of person, for human interpretation --></text> </Patient>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
Notes:
Managing Patient registration is a well known difficult problem. Around 2% of registrations are in error, mostly duplicate records. Sometimes the duplicate record is caught fairly quickly and retired before much data is accumulated. In other cases, substantial amounts of data may accumulate. For these and other reasons, the identifiers associated with a patient may change over time.
The master identifier for the Patient Resource can never change. For this reason the identifiers with which humans are concerned (often called MRN - Medical Record Number, or UR - Unit Record) should not be used as the master identifier. Instead they should be represented in the Patient.identifier list where they can be managed. This is also useful for the case of institutions that have acquired multiple numbers because of mergers of patient record systems over time.
In this specification, patient records are never merged. If multiple patient records are found to be duplicates, they are linked. In a RESTful context, this is done using the "link patients" transaction described below. In other contexts, equivalent functionality will be needed. When patient resources are linked, one may be chosen as the "master" - the correct record. In this case, the active status of all the other resources is set to false, and all the content is moved to the active record by updating it directly.
Patient records may only be in one of two statuses: active and retired. A normal record is active - it is in use. The status retired is used when a record is created in error. Once the error is discovered, it can either be retired or deleted. A record does not need to be linked to be retired.
The patient resource type defines one special transaction provided by the patient manager: "Link" for linking resources. The reason is that linking records is effectively a transaction that involves at least two resources, and all or none must change. Since the transaction involves multiple resources, it is implemented on the resource manager as a POST to [todo]
There is no content model for the response, except for an HTTP status code.
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
subject : qtoken | The identity of the subject |
provider : qtoken | The identity of an organization |
identifier : qtoken | A patient identifier |
(See Searching (§2.1.12)).
Status: A domain resource developed as an examplar. Not an approved resource. Under consideration by the Patient Admin work group
A person who is involved in the healthcare process.
The resource name as it appears in a RESTful URL (§2.1) is /person/
See also the Examples (§4.13) and the Definitions (§5.14).
<Person xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Master Resource Id, always first in all resources --></id> <identifier d?><!-- 0..* HumanId A Human identifier for this person --></identifier> <name d?><!-- 0..* HumanName A name associated with the person --></name> <address d?><!-- 0..* Address An address for the person --></address> <contact d?><!-- 0..* Contact A contact detail for the person --></contact> <dob d?><!-- 0..1 dateTime The birth date for the person --></dob> <gender d?><!-- 0..1 CodeableConcept Administrative Gender --></gender> <religion d?><!-- 0..1 CodeableConcept Religion of the person --></religion> <race d?><!-- 0..* CodeableConcept The race of a person --></race> <qualification> <!-- 0..* Qualifications, Accreditations, Certifications --> <identifier d?><!-- 0..1 Identifier Identifier for the qualification --></identifier> <code d?><!-- 0..1 CodeableConcept A code for the qualification --></code> <institution d?><!-- 0..1 Resource(Organization) Who conferred it --></institution> <period d?><!-- 0..1 Period When the qualification is valid (date only) --></period> </qualification> <language> <!-- 0..* language (with proficiency) --> <code><!-- 1..1 code ISO 639-3 code for language --></code> <use d?><!-- 0..1 code How well the language is used --></use> </language> <relatedPerson> <!-- 0..* Kin, Guardians, Agents, Caregivers --> <identifier d?><!-- 0..1 HumanId Identifier for the person --></identifier> <role><!-- 1..1 CodeableConcept Type of relationship --></role> <name d?><!-- 0..1 HumanName Name of the person --></name> <contact d?><!-- 0..* Contact Contact details for the person --></contact> </relatedPerson> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of person, for human interpretation --></text> </Person>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
none | The person does not speak the language at all | |
poor | The person has minimal functional capability in the language | |
useable | The person can use the language, but may not be full conversant, particularly with regards to health concepts | |
fluent | The person is fully capable of using the language |
Notes:
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
identifier : qtoken | A patient Identifier |
name : string | a portion of name in any name part |
phonetic : string | a portion of name using some kind of phonetic matching algorithm |
contact : qtoken | the value in any kind of contact |
address : string | an address in any kind of address/part |
gender : qtoken | gender of the person |
language : qtoken | language code (irrespective of use value) |
related : string | portion of name or id in a related person |
dob : date | date equal to the patient's date of birth |
dob-before : date | date before or equal to the patient's date of birth |
dob-after : date | date after or equal to the patient's date of birth |
(See Searching (§2.1.12)).
Status: A domain resource developed as an exmplar - based on the NICTIZ national model(The Netherlands). Not an approved resource. Under consideration by the pharmacy work group
Directions provided by a prescribing practitioner for a specific medication to be administered (and possibly) supplied to an individual.
The resource name as it appears in a RESTful URL (§2.1) is /prescription/
See also the Examples (§4.14) and the Definitions (§5.15).
<Prescription xmlns="http://hl7.org/fhir"> <id><!-- 1..1 id Master Resource Id, always first in all resources --></id> <identifier><!-- 0..* HumanId Prescription identification --></identifier> <status><!-- 1..1 code Status: Active|Completed --></status> <patient><!-- 1..1 Resource(Patient) Patient receiving medicine --></patient> <prescriber><!-- 1..1 Resource(Agent) Prescribing doctor --></prescriber> <prescribed><!-- 1..1 dateTime Date/time prescribed --></prescribed> <dispense> <!-- Details of included dispense request --> <repeats><!-- 0..1 integer Number of repeats --></repeats> <quantity><!-- 1..1 Quantity Quantity per repeat --></quantity> <dispenser d?><!-- 0..1 Resource(Agent|Organization) Person to fullfil the requested dispense --></dispenser> </dispense> <medicine> <!-- Prescribed medicine --> <identification d?><!-- 0..1 CodeableConcept Test and/or code(s) for medicine --></identification> <activeIngredient> <!-- 0..* Active substance --> <identification d?><!-- 1..1 CodeableConcept Text and/or Code(s) for active ingredient --></identification> <quantity[x] d?><!-- 0..1 Ratio|code Relative quantity of active ingredient --></quantity[x]> </activeIngredient> <inactiveIngredient> <!-- 0..* Inactive substance --> <identification d?><!-- 1..1 CodeableConcept Text and/or Code(s) for inactive ingredient --></identification> <quantity[x] d?><!-- 0..1 Ratio|code Relative quantity of inactive ingredient --></quantity[x]> </inactiveIngredient> </medicine> <administrationRequest> <!-- Instructions for use --> <description d?><!-- 0..1 string Textual instructions for use --></description> <totalPeriodicDosis d?><!-- 0..1 Ratio Total periodic dosis --></totalPeriodicDosis> <start d?><!-- 0..1 dateTime Startdate for administration --></start> <end d?><!-- 0..1 dateTime Enddate for administration --></end> <duration d?><!-- 0..1 Quantity Total duration of administration --></duration> <numberOfAdministrations d?><!-- 0..1 integer Maximum number of separate administrations --></numberOfAdministrations> <dosageInstruction> <!-- 1..* Dosage instruction --> <precondition d?><!-- 0..* CodeableConcept Precondition for starting administration --></precondition> <prn><!-- 0..1 boolean Pro re nate: Yes|No --></prn> <additionalInstruction d?><!-- 0..* CodeableConcept Additional instructions --></additionalInstruction> <route d?><!-- 0..1 CodeableConcept Route of administration --></route> <dose[x]><!-- 1..1 Quantity|Range Dose per administration --></dose[x]> <rate d?><!-- 0..1 Quantity Flow-rate for IV --></rate> <schedule><!-- 1..* Schedule Schedule for administration --></schedule> </dosageInstruction> </administrationRequest> <reason d?><!-- 0..1 CodeableConcept Reason for prescription --></reason> <extension><!-- 0..* Extension See Extensions --></extension> <text><!-- 1..1 Narrative Text summary of the prescription, for human interpretation --></text> </Prescription>
Alternate definitions: Schema, RDF (to do), XML, Resource Profile
Terminology Bindings
active | Patient is using the prescribed medicine | |
completed | Prescription is no longer current |
Constraints
Notes:
TODO
There is no content model for the response, except for an HTTP status code.
Search Parameters for RESTful searches. The standard parameters also apply. See Searching (§2.1.12) for more information.
n : integer | Starting offset of the first record to return in the search set |
count : integer | Number of return records requested. The server is not bound to conform |
id : token | The id of the resource |
patient : qtoken | The identity of a patient to list prescriptions for |
prescriber : qtoken | The identity of a prescriber to list prescriptions from |
startdate : date | date equal to Return only prescriptions made starting from this date (inclusive) (prescribed) |
startdate-before : date | date before or equal to Return only prescriptions made starting from this date (inclusive) (prescribed) |
startdate-after : date | date after or equal to Return only prescriptions made starting from this date (inclusive) (prescribed) |
enddate : date | date equal to Return only prescriptions made before this date (inclusive) (prescribed) |
enddate-before : date | date before or equal to Return only prescriptions made before this date (inclusive) (prescribed) |
enddate-after : date | date after or equal to Return only prescriptions made before this date (inclusive) (prescribed) |
status : token | status of the prescription |
medicine : qtoken | code or text in medicine or ingredient |
reason : qtoken | code or text in reason for prescription |
(See Searching (§2.1.12)).
This page includes additional examples of the resource format, based on common usages and questions
Todo
This page includes additional examples of the data types, based on common usages and questions
A Simple example
<name> <part> <type>given</type> <value>Adam</value> </part> <part> <type>given</type> <value>A.</value> </part> <part> <type>family</type> <value>Everyman</value> </part> </name>
Composite names
<name> <part> <type>given</type> <value>Mary Jane</value> </part> <part> <type>family</type> <value>Contrata</value> </part> </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>official</use> <part> <type>given</type> <value>Peter</value> </part> <part> <type>given</type> <value>James</value> </part> <part> <type>family</type> <value>Chalmers</value> </part> </name> <name> <use>usual</use> <part> <type>given</type> <value>Jim</value> </part> </name>
This same pattern is often encountered with immigrants, who retains their real name for official use, but adopt a localised name for everyday use:
<name> <use>official</use> <part> <type>given</type> <value>Piotr</value> </part> <part> <type>given</type> <value>Andre</value> </part> <part> <type>family</type> <value>Sczypinski</value> </part> </name> <name> <use>usual</use> <part> <type>given</type> <value>Jim</value> </part> <part> <type>family</type> <value>Skipper</value> </part> </name>
Karen van Hentenryck is of Dutch origin, and the "van" is a voorvoegsel.
<name> <use>official</use> <part> <type>given</type> <value>Karen</value> </part> <part id="n1"> <type>family</type> <value>van</value> </part> <part> <type>family</type> <value>Hentenryck</value> </part> </name> <extension> <code>name-qualifier</code> <profile>http://hl7connect.healthintersections.com.au/svc/fhir/profile/@iso-21090</profile> <ref>n1</> <valueCode>VV</valueCode> <extension>
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>official</use> <part id="n1"> <type>prefix</type> <value>Dr. phil..</value> </part> <part> <type>given</type> <value>Regina</value> </part> <part> <type>given</type> <value>Johanna</value> </part> <part> <type>given</type> <value>Maria</value> </part> <part id="n2"> <type>prefix</type> <value>Gräfin</value> </part> <part> <type>family</type> <value>Hochheim-Weilenfels</value> </part> <part> <type>suffix</type> <value>NCFSA</value> </part> </name> <name> <use>maiden</use> <part> <type>given</type> <value>Hochheim</value> </part> </name> <!-- ... --> <extension> <code>name-qualifier</code> <definition>http://hl7.org/fhir/profile/@iso-20190</definition> <ref>n1</ref> <valueCoding> <code>AC</code> <system>oid:2.16.840.1.113883.5.1122</system> </valueCoding> <extension> <extension> <code>name-qualifier</code> <definition>http://hl7.org/fhir/profile/@iso-20190</definition> <ref>n2</ref> <valueCoding> <code>NB</code> <system>oid:2.16.840.1.113883.5.1122</system> </valueCoding> <extension>
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> <part> <type>family</type> <value>木村</value> </part> <part> <type>given</type> <value>通男</value> </part> </name> <name> <part> <type>family</type> <value>きむら;</value> </part> <part> <type>given</type> <value>みちお</value> </part> </name> <name> <part> <type>family</type> <value>KIMURA</value> </part> <part> <type>given</type> <value>MICHIO</value> </part> </name>
The three forms are differentiated by the character subset each contains.
Russian example in the two forms: cyrillic, and latin:
<name> <part> <type>family</type> <value>ЕМЕЛИН</value> </part> <part> <type>given</type> <value>ИВАН</value> </part> <part> <type>given</type> <value>ВЛАДИМИРОВИЧ</value> </part> </name> <name> <part> <type>family</type> <value>EMELIN</value> </part> <part> <type>given</type> <value>IVAN</value> </part> </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>official</use> <part> <type>given</type> <value>Jan</value> </part> <part> <type>given</type> <value>Erik</value> </part> <part id="n1"> <type>given</type> <value>Östlund</value> </part> <part> <type>family</type> <value>Erikson</value> </part> </name> <!-- ... --> <extension> <code>name-qualifier</code> <definition>http://hl7.org/fhir/profile/@iso-20190</definition> <ref>n1</ref> <valueCoding> <code>MID</code> <system>oid:2.16.840.1.113883.5.1122</system> </valueCoding> </extension>
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>temp</use> <!—- use could be OR+OLD, depends how record keeping is done --> <part> <type>given</type> <value>Margrete Jente</value> </part> <part> <type>family</type> <value>Hansen</value> </part> </name>
The baby's name is subsequently changed to the fathers' family name, and to use the mother's name as mellomnamn.
<name> <use>official</use> <part> <type>given</type> <value>Karin</value> </part> <part id="n1"> <type>given</type> <value>Hansen</value> </part> <part> <type>family</type> <value>Erikson</value> </part> </name> <!-- ... --> <extension> <code>name-qualifier</code> <definition>http://hl7.org/fhir/profile/@iso-20190</definition> <ref>n1</ref> <valueCoding> <code>MID</code> <system>oid:2.16.840.1.113883.5.1122</system> </valueCoding> </extension>
Later, Karin gets married to Per Berg, and decides to adopts 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>old</use> <part> <type>given</type> <value>Karin</value> </part> <part id="n1"> <type>given</type> <value>Hansen</value> </part> <part> <type>family</type> <value>Erikson</value> </part> </name> <name> <use>official</use> <part> <type>given</type> <value>Karin</value> </part> <part id="n2"> <type>given</type> <value>Erikson</value> </part> <part> <type>family</type> <value>Berg</value> </part> </name> <name> <use>usual</use> <part> <type>given</type> <value>Karin</value> </part> <part> <type>family</type> <value>Berg</value> </part> </name> <!-- ... --> <extension> <code>name-qualifier</code> <definition>http://hl7.org/fhir/profile/@iso-20190</definition> <ref>n1</ref> <valueCoding> <code>MID</code> <system>oid:2.16.840.1.113883.5.1122</system> </valueCoding> </extension> <extension> <code>name-qualifier</code> <definition>http://hl7.org/fhir/profile/@iso-20190</definition> <ref>n2</ref> <valueCoding> <code>MID</code> <system>oid:2.16.840.1.113883.5.1122</system> </valueCoding> </extension>
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 (§1.5), 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 finalised].
For each extension, the first thing to do is to fill out the definitional properties of the extension (§1.5.2):
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 |
dataAbsentReason? | No. (If the qualifier isn't known, don't include it) |
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 (http://www.hl7.org/v3ballot/html/infrastructure/vocabulary/EntityNamePartQualifierR2.html) |
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 (http://www.hl7.org/v3ballot/html/infrastructure/vocabulary/EntityNamePartQualifierR2.html) 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> <dataAbsentReason>false</dataAbsentReason> <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>#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 (http://hl7connect.healthintersections.com.au/svc/fhir/profile/@iso-21090?format=text/html) . 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> <code>name-qualifier</code> <profile>http://hl7connect.healthintersections.com.au/svc/fhir/profile/@iso-21090</profile> <ref>n1</ref> <valueCode>MID</valueCode> <extension>
This particular example is a Scandavian mellannamn. See Datatypes examples for additional examples (§4.2.1).
Examples for the Agent (§3.1) resource.
Example of agent
Example of agent
<Agent xmlns="http://hl7.org/fhir"> <id>1</id> <person> <type>Person</type> <id>32344</id> </person> <organization> <type>Organization</type> <id>3</id> </organization> <!-- Referring Provider for the first 3 months of 2012 --> <role> <coding> <code>RP</code> <system>http://hl7.org/fhir/sid/v2-0286</system> </coding> </role> <period> <start>2012-01-01</start> <end>2012-03-31</end> </period> <identifier> <identifier> <system>htp://www.acme.org/providers</system> <id>23</id> </identifier> </identifier> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Dr Adam Careful is a Referring Provider for Acme Hospital from 1-Jan 2012 to 31-Mar 2012</p> </div> </text> </Agent>
Examples for the Animal (§3.2) resource.
Example of animal
Example of animal
<Animal xmlns="http://hl7.org/fhir"> <id>wer234fwde234</id> <!-- Dog tag, under Maroondah City council --> <identifier> <type> <code>microchip</code> <system>http://hl7.org/fhir/sid/fhir/identifier-type</system> </type> <identifier> <system>http://www.maroondah.vic.gov.au/AnimalRegFees.aspx</system> <id>1234123123312332</id> </identifier> <period> <start>2010-05-31</start> </period> <!-- todo: this is currently broken, and needs to be fixed.--> </identifier> <!-- Dog's name: Kenzi --> <name> <use>usual</use> <part> <type>given</type> <value>Kenzi</value> </part> </name> <dob>2010-03-23</dob> <!-- todo: how do you code a species? --> <species> <coding> <code>Canis lupus familiaris</code> <system>http://en.wikipedia.org/wiki/Biological_classification</system> </coding> </species> <strain> <coding> <code>58108001</code> <system>http://snomed.info</system> <display>Golden retriever</display> </coding> </strain> <gender> <coding> <code>F</code> <system>http://hl7.org/fhir/sid/v2-0001</system> </coding> </gender> <!-- owner --> <relatedEntity> <role> <coding> <code>OWN</code> <system>http://hl7.org/fhir/sid/v2-0063</system> <display>Owner</display> </coding> </role> <name> <use>official</use> <part> <type>given</type> <value>Peter</value> </part> <part> <type>given</type> <value>James</value> </part> <part> <type>family</type> <value>Chalmers</value> </part> </name> <address> <use>home</use> <part> <type>line</type> <value>534 Erewhon St</value> </part> <part> <type>city</type> <value>PleasantVille</value> </part> <part> <type>state</type> <value>Vic</value> </part> <part> <type>zip</type> <value>3999</value> </part> </address> <contact dataAbsentReason="unknown"> <use>home</use> </contact> <contact> <system>phone</system> <value>(03) 5555 6473</value> <use>work</use> </contact> </relatedEntity> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <table> <tbody> <tr> <td>Id</td> <td>Kenzi (Dog: Golden Retriever)</td> </tr> <tr> <td>Owner</td> <td>Peter Chalmers, 534 Erewhon, Pleasantville, Vic, 3999</td> </tr> <tr> <td>Contacts</td> <td>Home: unknown. Work: (03) 5555 6473</td> </tr> <tr> <td>Id</td> <td>Microchip: 1234123123312332 (Maroondah City Council)</td> </tr> </tbody> </table> </div> </text> </Animal> Maroondah City Council
Examples for the AssessmentScale (§3.3) resource.
Example of assessmentscale
Example of assessmentscale
<AssessmentScale xmlns="http://hl7.org/fhir"> <id>2342342134134</id> <subject> <type>Patient</type> <id>25bd34</id> </subject> <performer> <type>Agent</type> <id>1</id> </performer> <time>2012-05-23T07:43:00</time> <interpretation> <coding> <code>263654008</code> <system>http://snomed.info</system> <display>Abnormal</display> </coding> </interpretation> <interpretation> <coding> <code>248342006</code> <system>http://snomed.info</system> <display>Underweight</display> </coding> </interpretation> <score> <code> <coding> <code>39156-5</code> <system>http://loinc.org</system> <display>Body mass index</display> </coding> <coding> <code>60621009</code> <system>http://snomed.info</system> <display>Body mass index</display> </coding> </code> <valueQuantity> <value>18</value> <units>kg/m2</units> </valueQuantity> <!-- todo - fill out measures --> </score> <reason>?Anorexia Nervosa</reason> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> Fill this out.... </div> </text> </AssessmentScale>
Examples for the Conformance (§2.7) resource.
Example of conformance
Example of conformance
<Conformance xmlns="http://hl7.org/fhir"> <id>6cb96d2f-cfa5-4da9-a5a6-d1a087da0baf</id> <date>2012-01-04</date> <publisher> <name>ACME Corporation</name> <contact> <system>email</system> <value>wile@acme.org</value> </contact> </publisher> <software> <name>EHR</name> <version>0.00.020.2134</version> </software> <!-- while the FHIR infrastructure is turning over prior to development, a version is required. Note that this may be rescinded later? --> <version>0.02</version> <acceptUnknown>true</acceptUnknown> <!-- in a real conformance statement, it's unlikely that a single conformance statement would declare conformance for REST, messaging, and documents, though it is legal. This example does so in order to show all the parts of a conformance statement --> <rest> <!-- this is a server conformance statement. Note that servers are required to provide one of these. It can easily be edited by hand - copy this, replace the metadata above, delete the messaging and document stuff below, and then replace the details appropriately. --> <mode>server</mode> <!-- zero or more of these - declaration of support for a resource --> <resource> <type>Person</type> <!-- let's assume that HL7 has stood up a profile registry at http://fhir.hl7.org/fhir - it's likely to have a registry, though this is not decided, nor is a URL decided. This application simply uses a profile registered directly with HL7. For the simplest case of a FHIR REST Server, just delete this profile reference. Profile references do not need to be a UUID, though a profile registry could insist that they are --> <profile>http://fhir.hl7.org/base/profile/@7896271d-57f6-4231-89dc-dcc91eab2416</profile> <operation> <code>read</code> </operation> <operation> <code>vread</code> </operation> <operation> <code>update</code> </operation> <operation> <code>history</code> </operation> <operation> <code>create</code> </operation> <operation> <code>updates</code> </operation> <search> <!-- this list is incomplete - there's more parameters than name, but this suffices for an example --> <param> <name>name</name> <documentation>Search for a person by name (any part of their name)</documentation> </param> </search> </resource> </rest> <!-- a messaging conformance statemnt. Applications are not required to make a conformance statement with regard to messaging, though there is active argument that they should. --> <messaging> <!-- how to tell whether this llp is a server or a client? --> <event> <code>admin-notify</code> <mode>receiver</mode> <!-- this a a receiver - i.e. answers. Not necessariy a server --> <focus>Person</focus> <!-- specify a profile for the request person. Very often there's no point profiling the response, it's not interesting --> <request>http://fhir.hl7.org/base/profile/@7896271d-57f6-4231-89dc-dcc91eab2416</request> </event> </messaging> <!-- a document conformance statement --> <document> <mode>consumer</mode> <documentation>Basic rules for all documents in the EHR system</documentation> <!-- this is the important element: a reference to a published document profile note that this is a version specific reference. --> <profile>http://fhir.hl7.org/base/profile/@bc054d23-75e1-4dc6-aca5-838b6b1ac81d/history/@b5fdd9fc-b021-4ea1-911a-721a60663796</profile> </document> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <p>The EHR Server supports the following transactions for the resource "Person": read, vread, update, history, search(name,gender), create, and updates.</p> <p>The EHR System supports the following message: admin-notify::Person.</p> <p>The EHR Application has a <a href="http://fhir.hl7.org/base/profile/@bc054d23-75e1-4dc6-aca5-838b6b1ac81d/history/@b5fdd9fc-b021-4ea1-911a-721a60663796">general document profile</a>.</p> </div> </text> </Conformance>
Examples for the DocumentHeader (§2.3) resource.
Example of documentheader
Example of documentheader
<DocumentHeader xmlns="http://hl7.org/fhir"> <id>1cbdfb97-5859-48a4-8301-d54eab818d68</id> <instant>2012-01-04T09:10:14Z</instant> <type> <coding> <code>11488-4</code> <system>http://loinc.org</system> <display>Consultation note</display> </coding> </type> <subject> <type>Patient</type> <id>12.123.451.23.1.23</id> <text>Henry Levin the 7th</text> </subject> <author> <type>Person</type> <id>233123</id> <text>Robert Dolin MD</text> </author> <attester> <mode>legal</mode> <party> <type>Person</type> <id>233123</id> <text>Robert Dolin MD</text> </party> </attester> <custodian> <type>Organization</type> <id>2.16.840.1.113883.19.5</id> <text>Good Health Clinic</text> </custodian> <section> <type> <coding> <code>10164-2</code> <system>http://loinc.org</system> </coding> </type> <content> <!-- we really need a different resource here, but it's not yet defined --> <type>Prescription</type> <id>34124</id> </content> </section> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Consultation note for Henry Levin the 7th</p> </div> </text> </DocumentHeader>
Examples for the LabReport (§3.4) resource.
General Lab Report Example
General Lab Report Example
<LabReport xmlns="http://hl7.org/fhir"> <id>1</id> <!-- first, various administrative/context stuff --> <status>final</status> <!-- all this report is final --> <issued>2011-03-04T11:45:33+11:00</issued> <patient> <type>Patient</type> <id>23453</id> </patient> <laboratory> <type>Organization</type> <id>1832473e-2fe0-452d-abe9-3cdb9879522f</id> <text>Acme Laboratory, Inc</text> </laboratory> <reportId> <system>http://acme.com/lab/reports</system> <id>5234342</id> </reportId> <reportName> <coding> <code>15430-2</code> <system>http://loinc.org</system> <display>FULL BLOOD EXAMINATION</display> </coding> <coding> <code>CBC</code> <system>http://www.nata.asn.au/accreditation</system> <display>MASTER FULL BLOOD COUNT</display> </coding> </reportName> <service> <coding> <code>HM</code> <system>http://hl7.org/fhir/sid/v2-0074</system> </coding> </service> <diagnosticTime>2011-03-04T08:30:00+11:00</diagnosticTime> <!-- now the atomic results --> <resultGroup> <!-- null group, so no name or speciment --> <result> <name> <coding> <code>718-7</code> <system>http://loinc.org</system> <display>Haemoglobin</display> </coding> </name> <valueQuantity> <value>176</value> <units>g/L</units> <code>g/L</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <status>final</status> <referenceRange> <rangeRange> <low> <value>135</value> <units>g/L</units> <code>g/L</code> <system>http://unitsofmeasure.org</system> </low> <high> <value>180</value> <units>g/L</units> <code>g/L</code> <system>http://unitsofmeasure.org</system> </high> </rangeRange> </referenceRange> </result> <result> <name> <coding> <code>789-8</code> <system>http://loinc.org</system> <display>Red Cell Count</display> </coding> </name> <valueQuantity> <value>5.9</value> <units>x10*12/L</units> <code>10*12/L</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <status>final</status> <referenceRange> <rangeRange> <low> <value>4.2</value> <units>x10*12/L</units> <code>10*12/L</code> <system>http://unitsofmeasure.org</system> </low> <high> <value>6.0</value> <units>x10*12/L</units> <code>10*12/L</code> <system>http://unitsofmeasure.org</system> </high> </rangeRange> </referenceRange> </result> <result> <name> <coding> <code>4544-3</code> <system>http://loinc.org</system> <display>Haematocrit</display> </coding> </name> <valueQuantity> <value>55</value> <units>%</units> </valueQuantity> <flag>+</flag> <status>final</status> <referenceRange> <rangeRange> <low> <value>38</value> <units>%</units> </low> <high> <value>52</value> <units>%</units> </high> </rangeRange> </referenceRange> </result> <result> <name> <coding> <code>787-2</code> <system>http://loinc.org</system> <display>Mean Cell Volume</display> </coding> </name> <valueQuantity> <value>99</value> <units>fL</units> <code>fL</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <flag>+</flag> <status>final</status> <referenceRange> <rangeRange> <low> <value>80</value> <units>fL</units> <code>fL</code> <system>http://unitsofmeasure.org</system> </low> <high> <value>98</value> <units>fL</units> <code>fL</code> <system>http://unitsofmeasure.org</system> </high> </rangeRange> </referenceRange> </result> <result> <name> <coding> <code>785-6</code> <system>http://loinc.org</system> <display>Mean Cell Haemoglobin</display> </coding> </name> <valueQuantity> <value>36</value> <units>pg</units> <code>pg</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <flag>+</flag> <status>final</status> <referenceRange> <rangeRange> <low> <value>27</value> <units>pg</units> <code>pg</code> <system>http://unitsofmeasure.org</system> </low> <high> <value>35</value> <units>pg</units> <code>pg</code> <system>http://unitsofmeasure.org</system> </high> </rangeRange> </referenceRange> </result> <result> <name> <coding> <code>777-3</code> <system>http://loinc.org</system> <display>Platelet Count</display> </coding> </name> <valueQuantity> <value>444</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <status>final</status> <referenceRange> <rangeRange> <low> <value>150</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </low> <high> <value>450</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </high> </rangeRange> </referenceRange> </result> <result> <name> <coding> <code>6690-2</code> <system>http://loinc.org</system> <display>White Cell Count</display> </coding> </name> <valueQuantity> <value>4.6</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <status>final</status> <referenceRange> <rangeRange> <low> <value>4.0</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </low> <high> <value>11.0</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </high> </rangeRange> </referenceRange> </result> <result> <name> <coding> <code>770-8</code> <system>http://loinc.org</system> <display>Neutrophils</display> </coding> </name> <valueQuantity> <value>20</value> <units>%</units> <code>%</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <status>final</status> </result> <result> <name> <coding> <code>751-8</code> <system>http://loinc.org</system> <display>Neutrophils</display> </coding> </name> <valueQuantity> <value>0.9</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <flag>---</flag> <status>final</status> <referenceRange> <rangeRange> <low> <value>2.0</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </low> <high> <value>7.5</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </high> </rangeRange> </referenceRange> </result> <result> <name> <coding> <code>736-9</code> <system>http://loinc.org</system> <display>Lymphocytes</display> </coding> </name> <valueQuantity> <value>20</value> <units>%</units> <code>%</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <status>final</status> </result> <result> <name> <coding> <code>731-0</code> <system>http://loinc.org</system> <display>Lymphocytes</display> </coding> </name> <valueQuantity> <value>0.9</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <flag>-</flag> <status>final</status> <referenceRange> <rangeRange> <low> <value>1.1</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </low> <high> <value>4.0</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </high> </rangeRange> </referenceRange> </result> <result> <name> <coding> <code>5905-5</code> <system>http://loinc.org</system> <display>Monocytes</display> </coding> </name> <valueQuantity> <value>20</value> <units>%</units> <code>%</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <status>final</status> </result> <result> <name> <coding> <code>742-7</code> <system>http://loinc.org</system> <display>Monocytes</display> </coding> </name> <valueQuantity> <value>0.9</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <status>final</status> <referenceRange> <rangeRange> <low> <value>0.2</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </low> <high> <value>1.0</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </high> </rangeRange> </referenceRange> </result> <result> <name> <coding> <code>713-8</code> <system>http://loinc.org</system> <display>Eosinophils</display> </coding> </name> <valueQuantity> <value>20</value> <units>%</units> <code>%</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <status>final</status> </result> <result> <name> <coding> <code>711-2</code> <system>http://loinc.org</system> <display>Eosinophils</display> </coding> </name> <valueQuantity> <value>0.92</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <flag>++</flag> <status>final</status> <referenceRange> <rangeRange> <low> <value>0.04</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </low> <high> <value>0.40</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </high> </rangeRange> </referenceRange> </result> <result> <name> <coding> <code>706-2</code> <system>http://loinc.org</system> <display>Basophils</display> </coding> </name> <valueQuantity> <value>20</value> <units>%</units> <code>%</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <status>final</status> </result> <result> <name> <coding> <code>704-7</code> <system>http://loinc.org</system> <display>Basophils</display> </coding> </name> <valueQuantity> <value>0.92</value> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </valueQuantity> <status>final</status> <referenceRange> <rangeQuantity> <value>0.21</value> <range><</range> <units>x10*9/L</units> <code>10*9/L</code> <system>http://unitsofmeasure.org</system> </rangeQuantity> </referenceRange> </result> </resultGroup> <representation> <mimeType>application/pdf</mimeType> <data>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PSdodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvJz48cGRmOlByb2R1Y2VyPkdQTCBHaG9zdHNjcmlwdCA5LjA0PC9wZGY6UHJvZHVjZXI+CjxwZGY6S2V5d29yZHM+KCk8L3BkZjpLZXl3b3Jkcz4KPC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSdlOTA4ODRhMy0zYzlhLTExZTEtMDAwMC02NDI2MDMzYWE1MCYjODsnIHhtbG5zOnhtcD0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyc+PHhtcDpNb2RpZnlEYXRlPjIwMTItMDEtMDlUMDg6MjU6NTQrMTE6MDA8L3htcDpNb2RpZnlEYXRlPgo8eG1wOkNyZWF0ZURhdGU+MjAxMi0wMS0wOVQwODoyNTo1NCsxMTowMDwveG1wOkNyZWF0ZURhdGU+Cjx4bXA6Q3JlYXRvclRvb2w+UERGQ3JlYXRvciBWZXJzaW9uIDEuMi4zPC94bXA6Q3JlYXRvclRvb2w+PC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSdlOTA4ODRhMy0zYzlhLTExZTEtMDAwMC02NDI2MDMzYWE1MCYjODsnIHhtbG5zOnhhcE1NPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vJyB4YXBNTTpEb2N1bWVudElEPSd1dWlkOmU5MDg4NGEzLTNjOWEtMTFlMS0wMDAwLTY0MjYwMzNhYTUwJiMxMzg7pyYjMTU3O+7SYyYjMzE7JiMxNjsnLz4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9J2U5MDg4NGEzLTNjOWEtMTFlMS0wMDAwLTY0MjYwMzNhYTUwJiM4OycgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJyBkYzpmb3JtYXQ9J2FwcGxpY2F0aW9uL3BkZic+PGRjOnRpdGxlPjxyZGY6QWx0PjxyZGY6bGkgeG1sOmxhbmc9J3gtZGVmYXVsdCc+Q0JDIFJlcG9ydCBmb3IgV2lsZS4gRS4gQ09ZT1RFIChNUk46IDIzNDUzKSBpc3N1ZWQgMy1NYXIgMjAxMSAxMTo0NTwvcmRmOmxpPjwvcmRmOkFsdD48L2RjOnRpdGxlPjxkYzpjcmVhdG9yPjxyZGY6U2VxPjxyZGY6bGk+R3JhaGFtZTwvcmRmOmxpPjwvcmRmOlNlcT48L2RjOmNyZWF0b3I+PGRjOmRlc2NyaXB0aW9uPjxyZGY6U2VxPjxyZGY6bGk+KCk8L3JkZjpsaT48L3JkZjpTZXE+PC9kYzpkZXNjcmlwdGlvbj48L3JkZjpEZXNjcmlwdGlvbj4KPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSd3Jz8+CmVuZHN0cmVhbQplbmRvYmoKMiAwIG9iago8PC9Qcm9kdWNlcihHUEwgR2hvc3RzY3JpcHQgOS4wNCkKL0NyZWF0aW9uRGF0ZShEOjIwMTIwMTA5MDgyNTU0KzExJzAwJykKL01vZERhdGUoRDoyMDEyMDEwOTA4MjU1NCsxMScwMCcpCi9UaXRsZShcMzc2XDM3N1wwMDBDXDAwMEJcMDAwQ1wwMDAgXDAwMFJcMDAwZVwwMDBwXDAwMG9cMDAwclwwMDB0XDAwMCBcMDAwZlwwMDBvXDAwMHJcMDAwIFwwMDBXXDAwMGlcMDAwbFwwMDBlXDAwMC5cMDAwIFwwMDBFXDAwMC5cMDAwIFwwMDBDXDAwME9cMDAwWVwwMDBPXDAwMFRcMDAwRVwwMDAgXDAwMFwoXDAwME1cMDAwUlwwMDBOXDAwMDpcMDAwIFwwMDAyXDAwMDNcMDAwNFwwMDA1XDAwMDNcMDAwXClcMDAwIFwwMDBpXDAwMHNcMDAwc1wwMDB1XDAwMGVcMDAwZFwwMDAgXDAwMDNcMDAwLVwwMDBNXDAwMGFcMDAwclwwMDAgXDAwMDJcMDAwMFwwMDAxXDAwMDFcMDAwIFwwMDAxXDAwMDFcMDAwOlwwMDA0XDAwMDUpCi9DcmVhdG9yKFwzNzZcMzc3XDAwMFBcMDAwRFwwMDBGXDAwMENcMDAwclwwMDBlXDAwMGFcMDAwdFwwMDBvXDAwMHJcMDAwIFwwMDBWXDAwMGVcMDAwclwwMDBzXDAwMGlcMDAwb1wwMDBuXDAwMCBcMDAwMVwwMDAuXDAwMDJcMDAwLlwwMDAzKQovQXV0aG9yKFwzNzZcMzc3XDAwMEdcMDAwclwwMDBhXDAwMGhcMDAwYVwwMDBtXDAwMGUpCi9LZXl3b3JkcygpCi9TdWJqZWN0KCk+PmVuZG9iagp4cmVmCjAgMjEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAyMTM3IDAwMDAwIG4gCjAwMDAwNjg3OTMgMDAwMDAgbiAKMDAwMDAwMjA3OCAwMDAwMCBuIAowMDAwMDAxOTM2IDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwMTkxNiAwMDAwMCBuIAowMDAwMDAyNjU2IDAwMDAwIG4gCjAwMDAwMDQ2ODEgMDAwMDAgbiAKMDAwMDAwMzQ3OSAwMDAwMCBuIAowMDAwMDIxNTc3IDAwMDAwIG4gCjAwMDAwMDQzMjkgMDAwMDAgbiAKMDAwMDA0MTMwNyAwMDAwMCBuIAowMDAwMDAyMjAyIDAwMDAwIG4gCjAwMDAwMDQ5MDUgMDAwMDAgbiAKMDAwMDAyMTc5MyAwMDAwMCBuIAowMDAwMDQxNTI5IDAwMDAwIG4gCjAwMDAwMDIyNTIgMDAwMDAgbiAKMDAwMDAwMjk0OCAwMDAwMCBuIAowMDAwMDAzODMxIDAwMDAwIG4gCjAwMDAwNjcwODggMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAyMSAvUm9vdCAxIDAgUiAvSW5mbyAyIDAgUgovSUQgWzw4RDdGNzc5QTAwQzcwOTc5NTg3MDQyRjA5MkJBQjhDNj48OEQ3Rjc3OUEwMEM3MDk3OTU4NzA0MkYwOTJCQUI4QzY+XQo+PgpzdGFydHhyZWYKNjk0ODUKJSVFT0YK</data> <title>HTML Report</title> </representation> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <h3>CBC Report for Wile. E. COYOTE (MRN: 23453) issued 3-Mar 2011 11:45</h3> <!-- you could use a table here, but laboratories are still back in the dark ages using fixed text tables... --> <pre> Test Units Value Reference Range Haemoglobin g/L 176 135 - 180 Red Cell Count x10*12/L 5.9 4.2 - 6.0 Haematocrit 0.55+ 0.38 - 0.52 Mean Cell Volume fL 99+ 80 - 98 Mean Cell Haemoglobin pg 36+ 27 - 35 Platelet Count x10*9/L 444 150 - 450 White Cell Count x10*9/L 4.6 4.0 - 11.0 Neutrophils % 20 Neutrophils x10*9/L 0.9--- 2.0 - 7.5 Lymphocytes % 20 Lymphocytes x10*9/L 0.9- 1.1 - 4.0 Monocytes % 20 Monocytes x10*9/L 0.9 0.2 - 1.0 Eosinophils % 20 Eosinophils x10*9/L 0.92++ 0.04 - 0.40 Basophils % 20 Basophils x10*9/L 0.92+++ <0.21 </pre> <p>Acme Laboratory, Inc signed: Dr Pete Pathologist</p> </div> </text> </LabReport>
Examples for the MessageHeader (§2.2) resource.
Example of messageheader
Example of messageheader
<MessageHeader xmlns="http://hl7.org/fhir"> <id>1cbdfb97-5859-48a4-8301-d54eab818d68</id> <instant>2012-01-04T09:10:14Z</instant> <event>admin-update</event> <response> <id>5015fe84-8e76-4526-89d8-44b322e8d4fb</id> <code>ok</code> </response> <source> <name>Acme Central Patient Registry</name> <software>FooBar Patient Manager</software> <version>3.1.45.AABB</version> <contact> <system>phone</system> <value>+1 (555) 123 4567</value> </contact> <endpoint>llp:10.11.12.13:5432</endpoint> </source> <destination> <name>Acme Message Gateway</name> <!-- this is to indicate to the Acme Message Gateway that this particular message is intended for Person 34 - usually it would make sense for the resource for Person 34 to be included in the bundle of the message as well, in case the Acme Message Gateway doesn't know who person 34 is. Of course, it doesn't make sense to send a person update message to a particular person, but it might very well make sense to do this with targetted clinical content --> <target> <type>Person</type> <id>34</id> </target> <endpoint>llp:10.11.12.14:5432</endpoint> </destination> <author> <type>Person</type> <id>3455bc23</id> </author> <!-- Here's the payload, the resource that this admin-update concerns --> <data> <type>Person</type> <id>342356</id> </data> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Update Person resource for Peter James CHALMERS ("Jim"), MRN: 12345 (Acme Healthcare)</p> </div> </text> </MessageHeader>
Examples for the Organization (§3.5) resource.
Example of organization
Example of organization
<Organization xmlns="http://hl7.org/fhir"> <id>34234</id> <!-- Clinical Team "Gastroenterology" at Acme Hospital --> <identifier> <identifier> <system>http://www.acme.org.au/units</system> <id>Gastro</id> </identifier> <!----> </identifier> <name> <value>Gastroenterology</value> </name> <contact> <system>phone</system> <value>+1 555 234 3523</value> <use>mobile</use> </contact> <contact> <system>email</system> <value>gastro@acme.org</value> <use>work</use> </contact> <relatedOrganization> <code> <coding> <code>TERR</code> <system>oid:2.16.840.1.113883.5.110</system> </coding> </code> <name>Acme Hospital</name> </relatedOrganization> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Gastroenterology @ Acme Hospital. ph: +1 555 234 3523, email: <a href="mailto:gastro@acme.org">gastro@acme.org</a></p> </div> </text> </Organization> Acme Healthcare
Examples for the Patient (§3.6) resource.
General Person Example
General Person Example
<Patient xmlns="http://hl7.org/fhir"> <id>1.2.36.146595217.4.19.1</id> <link> <type>Patient</type> <id>25bd34</id> </link> <active>true</active> <subject> <type>Person</type> <id>35623</id> <text>Donald DUCK, Male, 3-April 1951</text> </subject> <provider> <type>Organization</type> <id>3</id> <text>ACME Healthcare, Inc</text> </provider> <identifier> <type> <code>MR</code> <system>http://hl7.org/fhir/sid/v2-0203</system> </type> <identifier> <system>oid:0.1.2.3.4.5.6.7</system> <id>123456</id> </identifier> </identifier> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Patient Donald DUCK @ Acme Healthcare, Inc. MR = 123456</p> </div> </text> </Patient>
Examples for the Person (§3.7) resource.
General Person Example
General Person Example
<Person xmlns="http://hl7.org/fhir"> <id>34234</id> <!-- MRN assigned by ACME healthcare on 6-May 2001 --> <identifier> <type> <code>MR</code> <system>http://hl7.org/fhir/sid/v2-0203</system> </type> <identifier> <system>oid:1.2.36.146.595.217.0.1</system> <id>12345</id> </identifier> <period> <start>2001-05-06</start> </period> <!-- commented pending decision on dataAbsentReason on assigner--> </identifier> <!-- Peter James Chalmers, but called "Jim" --> <name> <use>official</use> <part> <type>given</type> <value>Peter</value> </part> <part> <type>given</type> <value>James</value> </part> <part> <type>family</type> <value>Chalmers</value> </part> </name> <name> <use>usual</use> <part> <type>given</type> <value>Jim</value> </part> </name> <address> <use>home</use> <part> <type>line</type> <value>534 Erewhon St</value> </part> <part> <type>city</type> <value>PleasantVille</value> </part> <part> <type>state</type> <value>Vic</value> </part> <part> <type>zip</type> <value>3999</value> </part> </address> <contact dataAbsentReason="unknown"> <use>home</use> </contact> <contact> <system>phone</system> <value>(03) 5555 6473</value> <use>work</use> </contact> <dob>1974-12-25</dob> <race> <coding id="a25"> <code>EUR</code> <system>urn:hl7.org::v2/0200</system> <display>European</display> </coding> <primary>a25</primary> </race> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <table> <tbody> <tr> <td>Name</td> <td>Peter James <b>Chalmers</b> ("Jim")</td> </tr> <tr> <td>Address</td> <td>534 Erewhon, Pleasantville, Vic, 3999</td> </tr> <tr> <td>Contacts</td> <td>Home: unknown. Work: (03) 5555 6473</td> </tr> <tr> <td>Id</td> <td>MRN: 12345 (Acme Healthcare)</td> </tr> </tbody> </table> </div> </text> </Person> Acme Healthcare
Examples for the Prescription (§3.8) resource.
Example of prescription
Example of prescription
<Prescription xmlns="http://hl7.org/fhir"> <id>1.2.36.146595217.4.19.1.3141</id> <identifier> <type> <code>MR</code> <system>http://hl7.org/fhir/sid/v2-0203</system> </type> <identifier> <system>oid:0.1.2.3.4.5.6.7</system> <id>123456</id> </identifier> </identifier> <status>active</status> <patient> <type>Patient</type> <id>23453</id> </patient> <prescriber> <type>Agent</type> <id>567</id> </prescriber> <prescribed>2011-03-04T11:45:33+01:00</prescribed> <dispense> <repeats>2</repeats> <quantity> <value>50</value> <units>ml</units> </quantity> <dispenser> <type>Organization</type> <id>567111</id> </dispenser> </dispense> <medicine> <identification> <text>Penicillin VK oral suspension, 125mg/5ml</text> </identification> <activeIngredient> <identification> <coding> <code>XXXXX</code> <system>urn:hl7.org:sid/atc</system> <display>Penicillin</display> </coding> </identification> <quantityRatio> <numerator> <value>125</value> <units>mg</units> <code>mg</code> <system>http://unitsofmeasure.org</system> </numerator> <denominator> <value>5</value> <units>ml</units> <code>ml</code> <system>http://unitsofmeasure.org</system> </denominator> </quantityRatio> </activeIngredient> <inactiveIngredient> <identification> <coding> <code>YYYYY</code> <system>urn:hl7.org:sid/atc</system> <display>Water</display> </coding> </identification> <quantityCode>sufficient</quantityCode> </inactiveIngredient> </medicine> <administrationRequest> <description>250 mg po tid x 10 days</description> <totalPeriodicDosis> <numerator> <value>750</value> <units>mg</units> <code>mg</code> <system>http://unitsofmeasure.org</system> </numerator> <denominator> <value>1</value> <units>day</units> <code>d</code> <system>http://unitsofmeasure.org</system> </denominator> </totalPeriodicDosis> <duration> <value>10</value> <units>days</units> <code>d</code> <system>http://unitsofmeasure.org</system> </duration> <dosageInstruction> <route> <coding> <code>363743006</code> <system>http://snomed.info</system> <display>oral administration of treatment</display> </coding> </route> <doseQuantity> <value>250</value> <units>mg</units> <code>mg</code> <system>http://unitsofmeasure.org</system> </doseQuantity> <schedule> <repeat> <frequency>3</frequency> <duration> <value>1</value> <units>day</units> <code>d</code> <system>http://unitsofmeasure.org</system> </duration> </repeat> </schedule> </dosageInstruction> </administrationRequest> <reason> <coding> <code>G44.1</code> <system>http://hl7.org/fhir/sid/icd-10</system> </coding> <text>general headache</text> </reason> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Penicillin VK oral suspension, 125mg/5ml, 250 mg po tid x 10 days</p> </div> </text> </Prescription>
Examples for the Profile (§1.6) resource.
General Profile Example
General Profile Example
<Profile xmlns="http://hl7.org/fhir"> <id>15046b9c-2da0-4b80-82ef-c6af6fcfd2bf</id> <name>Lipid Profile</name> <author> <name>Grahame Grieve</name> <reference>grahame@healthintersections.com.au</reference> </author> <description>Describes how the lab report is used for a standard Lipid Profile - Cholesterol, Triglyceride, and Cholesterol fractions. Uses LOINC codes</description> <status> <code>testing</code> <date>2012-05-12</date> <comment>Sample, never intended for real use</comment> </status> <resource> <type>Resource</type> <name>Lipids</name> <element> <path>LabReport</path> <name>Lipids</name> <definition> <short>Lipid Lab Report</short> <formal>The findings and interpretation of a general lipd lab profile</formal> <comments>Not to be used for reporting on non-pathology test results e.g. diagnostic imaging, ECG or respiratory function tests. Not to be used to represent an entire cumulative report. This Pathology test result archetype represents only one of the result sets that is usually viewed as a vertical in a cumulative test report. A cumulative report is a view that is constructed from the results represented by multiple OBSERVATION archetypes. This archetype is suitable for representation of general pathology test results, but not intended to cover full synoptic reports. For these, additional resources are required to represent the data properly</comments> <min>1</min> <max>1</max> <type> <code>Resource</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.id</path> <definition> <short>Master Resource Id, always first in all resources</short> <formal>Master Resource Id, always first in all resources</formal> <min>1</min> <max>1</max> <type> <code>id</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.status</path> <definition> <short>registered|interim|final|amended|cancelled|withdrawn</short> <formal>The status of the pathology test result as a whole</formal> <min>1</min> <max>1</max> <type> <code>code</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> <binding>LabReportStatus</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.issued</path> <definition> <short>date issed for current status</short> <formal>The date and/or time that the result was issued from the source for the recorded Test result status</formal> <comments>May be different from LabReport.updated, because that is the status of this record, not the report the record is about</comments> <min>1</min> <max>1</max> <type> <code>instant</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.patient</path> <definition> <short>The patient the report is about</short> <formal>The patient about who the report is about</formal> <min>1</min> <max>1</max> <type> <code>Resource(Patient)</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.admission</path> <definition> <short>Admission Context</short> <formal>The admission that this diagnostic investigation is associated with</formal> <min>0</min> <max>1</max> <type> <code>Resource(Admission)</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.laboratory</path> <definition> <short>Responsible Laboratory</short> <formal>The laboratory service that issued the report</formal> <comments>This is not necessarily the source of the atomic reports - it's the lab that takes responsibility for the clinical report</comments> <min>1</min> <max>1</max> <type> <code>Resource(Organization)</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.reportId</path> <definition> <short>Id for external references to this report</short> <formal>The local ID assigned to the report by the order filler, usually by the Laboratory Information System (LIS).</formal> <min>0</min> <max>1</max> <type> <code>Identifier</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.requestDetail</path> <definition> <short>What was requested</short> <formal>Details concerning a single pathology test requested.</formal> <comments>Note: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single Pathology test result resource</comments> <min>0</min> <max>*</max> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.requestDetail.requestOrderId</path> <definition> <short>Id assigned by requester</short> <formal>The local ID assigned to the order by the order requester.</formal> <comments>Equivalent to the Placer Order Identifier</comments> <min>0</min> <max>1</max> <type> <code>Identifier</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.requestDetail.receiverOrderId</path> <definition> <short>Receiver's Id for the request</short> <formal>The local ID assigned to the test order by the order filler, usually by the Laboratory Information System (LIS).</formal> <comments>Usually equivalent to the DICOM Accession Number and the Filler Order Identifier.</comments> <min>0</min> <max>1</max> <type> <code>Identifier</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.requestDetail.requestTest</path> <definition> <short>Test Requested</short> <formal>Identification of pathology test requested,</formal> <comments>Useful where the test requested differs from the test actually performed.</comments> <min>0</min> <max>*</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> <binding>LabRequests</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.requestDetail.requester</path> <definition> <short>Responsible for request</short> <formal>Details of the clinician or organisation requesting the laboratory test.</formal> <min>0</min> <max>1</max> <type> <code>Resource(Agent|Organization)</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.requestDetail.clinicalInfo</path> <definition> <short>Clinical information provided</short> <formal>Details of the clinical information provided to the laboratory along with the original request</formal> <min>0</min> <max>1</max> <type> <code>Resource(Any)</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.reportName</path> <definition> <short>Loinc Code for Lipid Report with LDL</short> <formal>Loinc Code for Lipid Report with LDL</formal> <comments>Loinc code includes "direct" LDL - does this mean LDL derived by measuring VLDL by ultracentrifugation? This panel includes both measured and calculated LDL</comments> <min>1</min> <max>1</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> <binding>LabReportNames</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.service</path> <definition> <short>Biochemistry, Haematology etc</short> <formal>The diagnostic service that performs the examination e.g. biochemistry, haematology.</formal> <min>0</min> <max>1</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> <binding>LabServices</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.diagnosticTime</path> <definition> <short>Effective time of diagnostic report</short> <formal>The diagnostically relevant time for this report</formal> <comments>The diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship is not always automatic</comments> <min>1</min> <max>1</max> <type> <code>dateTime</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.specimen</path> <definition> <short>Specimen (incl. time of collection)</short> <formal>Details about the specimen if all individual test results are derived from the same specimen</formal> <comments>If the specimen is sufficiently specified with a code in the Test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per 'Result group'</comments> <min>0</min> <max>*</max> <type> <code>Resource(Specimen)</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup</path> <definition> <short>All the results in one group</short> <formal>All the lipid panel results</formal> <comments>Many (most) lab reports don't really have a meaningful group. In these cases, just create a single group with no specimen or name</comments> <min>1</min> <max>1</max> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.name</path> <definition> <short>No name needed for the result group</short> <formal>No name needed for the result group</formal> <comments>For example, the antibody code for a goup of antibody related test, or the organism code for a group of isolate/sensitivities. Leave blank if there is no particular meaning associated with the group</comments> <min>0</min> <max>0</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> <binding>LabResultGroupNames</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.specimen</path> <definition> <short>Specimen details</short> <formal>Details about the individual specimen to which these Result group test results refer, where testing of multiple specimens is required.</formal> <min>0</min> <max>1</max> <type> <code>Resource(Specimen)</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result</path> <name>Cholesterol Group</name> <definition> <short>Cholesterol Result</short> <formal>Group of elements for Cholesterol result</formal> <min>1</min> <max>1</max> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.name</path> <definition> <short>Cholesterol</short> <formal>Cholesterol</formal> <comments>results are fundamentally a name - value pair with additional clarifying information</comments> <min>1</min> <max>1</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> <binding>LabResultNames</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.value[x]</path> <definition> <short>Cholesterol value</short> <formal>Cholesterol value. If a result is not available, use the comments field</formal> <min>0</min> <max>1</max> <type> <code>Quantity</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.flag</path> <definition> <short>+ | ++ | +++ | - | -- | --- </short> <formal>+ | ++ | +++ | - | -- | --- </formal> <min>0</min> <max>1</max> <type> <code>code</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> <binding>LabResultFlag</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.status</path> <definition> <short>Registered|Interim|Final|Amended|Cancelled|Withdrawn</short> <formal>The status of the result value</formal> <min>1</min> <max>1</max> <type> <code>code</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> <binding>LabReportStatus</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.comments</path> <definition> <short>Comments about result</short> <formal>May include statements about significant, unexpected or unreliable. values, or information about the source of the value where this may be relevant to the interpretation of the result.</formal> <min>0</min> <max>1</max> <type> <code>string</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange</path> <definition> <short>Guide for interpretation</short> <formal>Guide for interpretation</formal> <comments>Most results only have one reference range. Some non-numerical results don't have a reference range</comments> <min>1</min> <max>1</max> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange.meaning</path> <definition> <short>Range is a recommended range</short> <formal>Range is a recommended range</formal> <comments>yeah, so I suppose it should be coded, right? But coded how? No publically available terminologies include an appropriate code…</comments> <min>0</min> <max>0</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> <binding>LabReferenceRanges</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange.range[x]</path> <definition> <short>Reference</short> <formal><4.5 mmol/L</formal> <comments>Per Australian NHF Recommendations</comments> <min>1</min> <max>1</max> <type> <code>Quantity</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result</path> <name>Triglyceride Group</name> <definition> <short>Triglyceride Result</short> <formal>Group of elements for Triglyceride result</formal> <min>1</min> <max>1</max> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.name</path> <definition> <short>Triglyceride</short> <formal>Triglyceride</formal> <comments>results are fundamentally a name - value pair with additional clarifying information</comments> <min>1</min> <max>1</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> <binding>LabResultNames</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.value[x]</path> <definition> <short>Triglyceride value</short> <formal>Triglyceride value. If a result is not available, use the comments field</formal> <min>0</min> <max>1</max> <type> <code>Quantity</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.flag</path> <definition> <short>+ | ++ | +++ | - | -- | --- </short> <formal>+ | ++ | +++ | - | -- | --- </formal> <min>0</min> <max>1</max> <type> <code>code</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> <binding>LabResultFlag</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.comments</path> <definition> <short>Comments about result</short> <formal>Comments about result</formal> <min>0</min> <max>1</max> <type> <code>string</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange</path> <definition> <short>Guide for interpretation</short> <formal>Guide for interpretation</formal> <comments>Most results only have one reference range. Some non-numerical results don't have a reference range</comments> <min>1</min> <max>1</max> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange.meaning</path> <definition> <short>Range is a recommended range</short> <formal>Range is a recommended range</formal> <comments>see note above</comments> <min>0</min> <max>0</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> <binding>LabReferenceRanges</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange.range[x]</path> <definition> <short>Reference</short> <formal><2.0 mmol/L</formal> <comments>Per Australian NHF Recommendations</comments> <min>1</min> <max>1</max> <type> <code>Quantity</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result</path> <name>HDL Cholesteral Group</name> <definition> <short>HDL Cholesterol Result</short> <formal>Group of elements for HDL Cholesterol result</formal> <min>1</min> <max>1</max> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.name</path> <definition> <short>HDL Cholesterol</short> <formal>HDL Cholesterol</formal> <comments>results are fundamentally a name - value pair with additional clarifying information</comments> <min>1</min> <max>1</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> <binding>LabResultNames</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.value[x]</path> <definition> <short>HDL Cholesterol value</short> <formal>HDL Cholesterol value. If a result is not available, use the comments field</formal> <min>0</min> <max>1</max> <type> <code>Quantity</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.flag</path> <definition> <short>+ | ++ | +++ | - | -- | --- </short> <formal>+ | ++ | +++ | - | -- | --- </formal> <min>0</min> <max>1</max> <type> <code>code</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> <binding>LabResultFlag</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.comments</path> <definition> <short>Comments about result</short> <formal>Comments about result</formal> <min>0</min> <max>1</max> <type> <code>string</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange</path> <definition> <short>Guide for interpretation</short> <formal>Guide for interpretation</formal> <comments>Most results only have one reference range. Some non-numerical results don't have a reference range</comments> <min>1</min> <max>1</max> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange.meaning</path> <definition> <short>Range is a recommended range</short> <formal>Range is a recommended range</formal> <comments>See note above</comments> <min>0</min> <max>0</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> <binding>LabReferenceRanges</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange.range[x]</path> <definition> <short>Reference</short> <formal>>1.5 mmol/L</formal> <comments>Per Australian NHF Recommendations</comments> <min>1</min> <max>1</max> <type> <code>Quantity</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result</path> <name>LDL Cholesteral Group</name> <definition> <short>LDL Cholesterol result, if reported</short> <formal>LDL Cholesterol result, if reported</formal> <min>0</min> <max>1</max> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.name</path> <definition> <short>LDL Cholesterol. LOINC code defines measured or calc</short> <formal>Group of elements for LDL Cholesterol. Loinc code defines whether LDL is measured or calculated</formal> <comments>results are fundamentally a name - value pair with additional clarifying information</comments> <min>1</min> <max>1</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> <binding>Loinc 35198-1 | Loinc 13457-7</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.value[x]</path> <definition> <short>LDL Cholesterol value</short> <formal>LDL Cholesterol value. If a result is not available, use the comments field</formal> <min>0</min> <max>1</max> <type> <code>Quantity</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.flag</path> <definition> <short>+ | ++ | +++ | - | -- | --- </short> <formal>+ | ++ | +++ | - | -- | --- </formal> <min>0</min> <max>1</max> <type> <code>code</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> <binding>LabResultFlag</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.comments</path> <definition> <short>Comments about result</short> <formal>Comments about result</formal> <min>0</min> <max>1</max> <type> <code>string</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange</path> <definition> <short>Guide for interpretation</short> <formal>Guide for interpretation</formal> <comments>Most results only have one reference range. Some non-numerical results don't have a reference range</comments> <min>1</min> <max>1</max> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange.meaning</path> <definition> <short>Range is a recommended range</short> <formal>Range is a recommended range</formal> <comments>See Note above</comments> <min>0</min> <max>0</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> <binding>LabReferenceRanges</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.resultGroup.result.referenceRange.range[x]</path> <definition> <short>Reference</short> <formal><3.0 mmol/L</formal> <comments>Per Australian NHF Recommendations</comments> <min>1</min> <max>1</max> <type> <code>Quantity</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.conclusion</path> <definition> <short>Clinical Interpretation of Lipid Panel</short> <formal>May include diagnosis or suggestions for follow up testing</formal> <comments>common reports don't have a conclusion, but some do</comments> <min>0</min> <max>1</max> <type> <code>Narrative</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>true</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.codedDiagnosis</path> <definition> <short>Codes for the conclusion</short> <formal>Codes for the conclusion</formal> <min>0</min> <max>0</max> <type> <code>CodeableConcept</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> <binding>LabDiagnosisCodes</binding> </definition> <closed>false</closed> </element> <element> <path>LabReport.representation</path> <definition> <short>Entire Report as issued</short> <formal>Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they must be semantically equivalent.</formal> <comments>Possible formats: text/html, text/plain, text/rtf, application/msword, application/pdf, application/rtf, application/vnd.oasis.opendocument.text, application/vnd.openxmlformats-officedocument.wordprocessingml.document</comments> <min>0</min> <max>*</max> <type> <code>Attachment</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.extension</path> <definition> <short>See Extensions</short> <formal>See Extensions</formal> <min>0</min> <max>*</max> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> <element> <path>LabReport.text</path> <definition> <short>Text summary of report, for human interpretation</short> <formal>Text summary of report, for human interpretation</formal> <min>1</min> <max>1</max> <type> <code>Narrative</code> </type> <dataAbsentReason>false</dataAbsentReason> <mustSupport>false</mustSupport> <mustUnderstand>false</mustUnderstand> </definition> <closed>false</closed> </element> </resource> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <pre> <<a class="dict" href="#LabReport" title="The findings and interpretation of a general lipd lab profile"> <b>LabReport</b> </a> xmlns="http://hl7.org/fhir"> <i class="inherited"><<a class="dict" href="#LabReport.id" title="Master Resource Id, always first in all resources"> <b>id</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>1..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#id">id</a> </span> <span style="color: navy">Master Resource Id, always first in all resources</span> <span style="color: Gray"> --></span></id></i> <i class="inherited"><<a class="dict" href="#LabReport.status" title="The status of the pathology test result as a whole"> <b>status</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>1..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#code">code</a> </span> <span style="color: navy">registered|interim|final|amended|cancelled|withdrawn</span> <span style="color: Gray"> --></span></status></i> <i class="inherited"><<a class="dict" href="#LabReport.issued" title="The date and/or time that the result was issued from the source for the recorded ‘Test result status"> <b>issued</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>1..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#instant">instant</a> </span> <span style="color: navy">date issed for current status</span> <span style="color: Gray"> --></span></issued></i> <i class="inherited"><<a class="dict" href="#LabReport.patient" title="The patient about who the report is about"> <b>patient</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>1..1</b> </span> <span style="color: darkgreen"> <a href="xml.htm#Resource">Resource</a>(<a href="Patient.htm#Patient">Patient</a>)</span> <span style="color: navy">The patient the report is about</span> <span style="color: Gray"> --></span></patient></i> <i class="inherited"><<a class="dict" href="#LabReport.admission" title="The admission that this diagnostic investigation is associated with"> <b>admission</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="xml.htm#Resource">Resource</a>(<a href="Admission.htm#Admission">Admission</a>)</span> <span style="color: navy">Admission Context</span> <span style="color: Gray"> --></span></admission></i> <i class="inherited"><<a class="dict" href="#LabReport.laboratory" title="The laboratory service that issued the report"> <b>laboratory</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>1..1</b> </span> <span style="color: darkgreen"> <a href="xml.htm#Resource">Resource</a>(<a href="Organization.htm#Organization">Organization</a>)</span> <span style="color: navy">Responsible Laboratory</span> <span style="color: Gray"> --></span></laboratory></i> <i class="inherited"><<a class="dict" href="#LabReport.reportId" title="The local ID assigned to the report by the order filler, usually by the Laboratory Information System (LIS)."> <b>reportId</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#Identifier">Identifier</a> </span> <span style="color: navy">Id for external references to this report</span> <span style="color: Gray"> --></span></reportId></i> <i class="inherited"><<a class="dict" href="#LabReport.requestDetail" title="Details concerning a single pathology test requested."> <b>requestDetail</b> </a>> <span style="color: Gray"><!-- <span style="color: brown"> <b>0..*</b> </span> What was requested --></span> <i class="inherited"><<a class="dict" href="#LabReport.requestDetail.requestOrderId" title="The local ID assigned to the order by the order requester."> <b>requestOrderId</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#Identifier">Identifier</a> </span> <span style="color: navy">Id assigned by requester</span> <span style="color: Gray"> --></span></requestOrderId></i> <i class="inherited"><<a class="dict" href="#LabReport.requestDetail.receiverOrderId" title="The local ID assigned to the test order by the order filler, usually by the Laboratory Information System (LIS)."> <b>receiverOrderId</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#Identifier">Identifier</a> </span> <span style="color: navy">Receiver's Id for the request</span> <span style="color: Gray"> --></span></receiverOrderId></i> <i class="inherited"><<a class="dict" href="#LabReport.requestDetail.requestTest" title="Identification of pathology test requested,"> <b>requestTest</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..*</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#CodeableConcept">CodeableConcept</a> </span> <span style="color: navy">Test Requested</span> <span style="color: Gray"> --></span></requestTest></i> <i class="inherited"><<a class="dict" href="#LabReport.requestDetail.requester" title="Details of the clinician or organisation requesting the laboratory test."> <b>requester</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="xml.htm#Resource">Resource</a>(<a href="Agent.htm#Agent">Agent</a>|<a href="Organization.htm#Organization">Organization</a>)</span> <span style="color: navy">Responsible for request</span> <span style="color: Gray"> --></span></requester></i> <i class="inherited"><<a class="dict" href="#LabReport.requestDetail.clinicalInfo" title="Details of the clinical information provided to the laboratory along with the original request"> <b>clinicalInfo</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="xml.htm#Resource">Resource</a>(<a href="Any.htm#Any">Any</a>)</span> <span style="color: navy">Clinical information provided</span> <span style="color: Gray"> --></span></clinicalInfo></i> </requestDetail></i> <<a class="dict" href="#LabReport.reportName" title="Loinc Code for Lipid Report with LDL (this element must be supported or understood)"> <span style="text-decoration: underline">reportName</span> </a>> <coding> <code>57698-3</code> <system>http://loinc.org</system> <display>Lipid panel with direct LDL</display> </coding> <reportName/> <i class="inherited"><<a class="dict" href="#LabReport.service" title="The diagnostic service that performs the examination e.g. biochemistry, haematology."> <b>service</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#CodeableConcept">CodeableConcept</a> </span> <span style="color: navy">Biochemistry, Haematology etc</span> <span style="color: Gray"> --></span></service></i> <i class="inherited"><<a class="dict" href="#LabReport.diagnosticTime" title="The diagnostically relevant time for this report"> <b>diagnosticTime</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>1..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#dateTime">dateTime</a> </span> <span style="color: navy">Effective time of diagnostic report</span> <span style="color: Gray"> --></span></diagnosticTime></i> <i class="inherited"><<a class="dict" href="#LabReport.specimen" title="Details about the specimen if all individual test results are derived from the same specimen"> <b>specimen</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..*</b> </span> <span style="color: darkgreen"> <a href="xml.htm#Resource">Resource</a>(<a href="Specimen.htm#Specimen">Specimen</a>)</span> <span style="color: navy">Specimen (incl. time of collection)</span> <span style="color: Gray"> --></span></specimen></i> <<a class="dict" href="#LabReport.resultGroup" title="All the lipid panel results (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>resultGroup</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>> <span style="color: Gray"><!-- All the results in one group --></span> <<a class="dict" href="#LabReport.resultGroup.name" title="No name needed for the result group (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>name</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..0</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#CodeableConcept">CodeableConcept</a> </span> <span style="color: navy">No name needed for the result group</span> <span style="color: Gray"> --></span></name> <i class="inherited"><<a class="dict" href="#LabReport.resultGroup.specimen" title="Details about the individual specimen to which these ‘Result group’ test results refer, where testing of multiple specimens is required."> <b>specimen</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="xml.htm#Resource">Resource</a>(<a href="Specimen.htm#Specimen">Specimen</a>)</span> <span style="color: navy">Specimen details</span> <span style="color: Gray"> --></span></specimen></i> <<a class="dict" href="#LabReport.resultGroup.result" title="Group of elements for Cholesterol result (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>result</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>> <span style="color: Gray"><!--</span> <span style="color: blue">"Cholesterol Group"</span> <span style="color: Gray"> --></span> <span style="color: Gray"><!-- Cholesterol Result --></span> <<a class="dict" href="#LabReport.resultGroup.result.name" title="Cholesterol (this element must be supported or understood)"> <span style="text-decoration: underline">name</span> </a>> <coding> <code>35200-5</code> <system>http://loinc.org</system> <display>Cholesterol</display> </coding> <name/> <<a class="dict" href="#LabReport.resultGroup.result.valueQuantity" title="Cholesterol value. If a result is not available, use the comments field (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>valueQuantity</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#Quantity">Quantity</a> </span> <span style="color: navy">Cholesterol value</span> <span style="color: Gray"> --></span></valueQuantity> <<a class="dict" href="#LabReport.resultGroup.result.flag" title="+ | ++ | +++ | - | -- | --- (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>flag</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#code">code</a> </span> <span style="color: navy">+ | ++ | +++ | - | -- | --- </span> <span style="color: Gray"> --></span></flag> <i class="inherited"><<a class="dict" href="#LabReport.resultGroup.result.status" title="The status of the result value"> <b>status</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>1..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#code">code</a> </span> <span style="color: navy">Registered|Interim|Final|Amended|Cancelled|Withdrawn</span> <span style="color: Gray"> --></span></status></i> <<a class="dict" href="#LabReport.resultGroup.result.comments" title="May include statements about significant, unexpected or unreliable. values, or information about the source of the value where this may be relevant to the interpretation of the result. (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>comments</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#string">string</a> </span> <span style="color: navy">Comments about result</span> <span style="color: Gray"> --></span></comments> <<a class="dict" href="#LabReport.resultGroup.result.referenceRange" title="Guide for interpretation (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>referenceRange</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>> <span style="color: Gray"><!-- Guide for interpretation --></span> <<a class="dict" href="#LabReport.resultGroup.result.referenceRange.meaning" title="Range is a recommended range"> <b>meaning</b> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..0</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#CodeableConcept">CodeableConcept</a> </span> <span style="color: navy">Range is a recommended range</span> <span style="color: Gray"> --></span></meaning> <<a class="dict" href="#LabReport.resultGroup.result.referenceRange.rangeQuantity" title="<4.5 mmol/L">rangeQuantity</a>> <value>4.5</value> <status>&lt;</status> <units>mmol/L</units> <code>mmol/L</code> <system>http://unitsofmeasure.org</system> <rangeQuantity/> </referenceRange> </result> <<a class="dict" href="#LabReport.resultGroup.result" title="Group of elements for Triglyceride result (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>result</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>> <span style="color: Gray"><!--</span> <span style="color: blue">"Triglyceride Group"</span> <span style="color: Gray"> --></span> <span style="color: Gray"><!-- Triglyceride Result --></span> <<a class="dict" href="#LabReport.resultGroup.result.name" title="Triglyceride (this element must be supported or understood)"> <span style="text-decoration: underline">name</span> </a>> <coding> <code>35217-9</code> <system>http://loinc.org</system> <display>Triglyceride</display> </coding> <name/> <<a class="dict" href="#LabReport.resultGroup.result.valueQuantity" title="Triglyceride value. If a result is not available, use the comments field (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>valueQuantity</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#Quantity">Quantity</a> </span> <span style="color: navy">Triglyceride value</span> <span style="color: Gray"> --></span></valueQuantity> <<a class="dict" href="#LabReport.resultGroup.result.flag" title="+ | ++ | +++ | - | -- | --- (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>flag</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#code">code</a> </span> <span style="color: navy">+ | ++ | +++ | - | -- | --- </span> <span style="color: Gray"> --></span></flag> <<a class="dict" href="#LabReport.resultGroup.result.comments" title="Comments about result (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>comments</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#string">string</a> </span> <span style="color: navy">Comments about result</span> <span style="color: Gray"> --></span></comments> <<a class="dict" href="#LabReport.resultGroup.result.referenceRange" title="Guide for interpretation (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>referenceRange</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>> <span style="color: Gray"><!-- Guide for interpretation --></span> <<a class="dict" href="#LabReport.resultGroup.result.referenceRange.meaning" title="Range is a recommended range"> <b>meaning</b> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..0</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#CodeableConcept">CodeableConcept</a> </span> <span style="color: navy">Range is a recommended range</span> <span style="color: Gray"> --></span></meaning> <<a class="dict" href="#LabReport.resultGroup.result.referenceRange.rangeQuantity" title="<2.0 mmol/L">rangeQuantity</a>> <value>2.0</value> <status>&lt;</status> <units>mmol/L</units> <code>mmol/L</code> <system>http://unitsofmeasure.org</system> <rangeQuantity/> </referenceRange> </result> <<a class="dict" href="#LabReport.resultGroup.result" title="Group of elements for HDL Cholesterol result (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>result</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>> <span style="color: Gray"><!--</span> <span style="color: blue">"HDL Cholesteral Group"</span> <span style="color: Gray"> --></span> <span style="color: Gray"><!-- HDL Cholesterol Result --></span> <<a class="dict" href="#LabReport.resultGroup.result.name" title="HDL Cholesterol (this element must be supported or understood)"> <span style="text-decoration: underline">name</span> </a>> <coding> <code>2085-9</code> <system>http://loinc.org</system> <display>Cholesterol.in HDL</display> </coding> <name/> <<a class="dict" href="#LabReport.resultGroup.result.valueQuantity" title="HDL Cholesterol value. If a result is not available, use the comments field (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>valueQuantity</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#Quantity">Quantity</a> </span> <span style="color: navy">HDL Cholesterol value</span> <span style="color: Gray"> --></span></valueQuantity> <<a class="dict" href="#LabReport.resultGroup.result.flag" title="+ | ++ | +++ | - | -- | --- (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>flag</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#code">code</a> </span> <span style="color: navy">+ | ++ | +++ | - | -- | --- </span> <span style="color: Gray"> --></span></flag> <<a class="dict" href="#LabReport.resultGroup.result.comments" title="Comments about result (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>comments</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#string">string</a> </span> <span style="color: navy">Comments about result</span> <span style="color: Gray"> --></span></comments> <<a class="dict" href="#LabReport.resultGroup.result.referenceRange" title="Guide for interpretation (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>referenceRange</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>> <span style="color: Gray"><!-- Guide for interpretation --></span> <<a class="dict" href="#LabReport.resultGroup.result.referenceRange.meaning" title="Range is a recommended range"> <b>meaning</b> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..0</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#CodeableConcept">CodeableConcept</a> </span> <span style="color: navy">Range is a recommended range</span> <span style="color: Gray"> --></span></meaning> <<a href="#LabReport.resultGroup.result.referenceRange.rangeQuantity" title="">1.5 mmol/L" class="dict">rangeQuantity</a>> <value>1.5</value> <status>></status> <units>mmol/L</units> <code>mmol/L</code> <system>http://unitsofmeasure.org</system> <rangeQuantity/> </referenceRange> </result> <<a class="dict" href="#LabReport.resultGroup.result" title="LDL Cholesterol result, if reported (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>result</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>> <span style="color: Gray"><!--</span> <span style="color: blue">"LDL Cholesteral Group"</span> <span style="color: Gray"> --></span> <span style="color: Gray"><!-- LDL Cholesterol result, if reported --></span> <<a class="dict" href="#LabReport.resultGroup.result.name" title="Group of elements for LDL Cholesterol. Loinc code defines whether LDL is measured or calculated (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>name</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>1..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#CodeableConcept">CodeableConcept</a> </span> <span style="color: navy">LDL Cholesterol. LOINC code defines measured or calc</span> <span style="color: Gray"> --></span></name> <<a class="dict" href="#LabReport.resultGroup.result.valueQuantity" title="LDL Cholesterol value. If a result is not available, use the comments field (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>valueQuantity</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#Quantity">Quantity</a> </span> <span style="color: navy">LDL Cholesterol value</span> <span style="color: Gray"> --></span></valueQuantity> <<a class="dict" href="#LabReport.resultGroup.result.flag" title="+ | ++ | +++ | - | -- | --- (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>flag</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#code">code</a> </span> <span style="color: navy">+ | ++ | +++ | - | -- | --- </span> <span style="color: Gray"> --></span></flag> <<a class="dict" href="#LabReport.resultGroup.result.comments" title="Comments about result (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>comments</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#string">string</a> </span> <span style="color: navy">Comments about result</span> <span style="color: Gray"> --></span></comments> <<a class="dict" href="#LabReport.resultGroup.result.referenceRange" title="Guide for interpretation (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>referenceRange</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>> <span style="color: Gray"><!-- Guide for interpretation --></span> <<a class="dict" href="#LabReport.resultGroup.result.referenceRange.meaning" title="Range is a recommended range"> <b>meaning</b> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..0</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#CodeableConcept">CodeableConcept</a> </span> <span style="color: navy">Range is a recommended range</span> <span style="color: Gray"> --></span></meaning> <<a class="dict" href="#LabReport.resultGroup.result.referenceRange.rangeQuantity" title="<3.0 mmol/L">rangeQuantity</a>> <value>3.0</value> <status>&lt;</status> <units>mmol/L</units> <code>mmol/L</code> <system>http://unitsofmeasure.org</system> <rangeQuantity/> </referenceRange> </result> </resultGroup> <<a class="dict" href="#LabReport.conclusion" title="May include diagnosis or suggestions for follow up testing (this element must be supported or understood)"> <span style="text-decoration: underline"> <b>conclusion</b> </span> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..1</b> </span> <span style="color: darkgreen"> <a href="Narrative.htm#Narrative">Narrative</a> </span> <span style="color: navy">Clinical Interpretation of Lipid Panel</span> <span style="color: Gray"> --></span></conclusion> <<a class="dict" href="#LabReport.codedDiagnosis" title="Codes for the conclusion"> <b>codedDiagnosis</b> </a> <span style="color: red" title="dataAbsentReason attribute is allowed">d?</span>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..0</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#CodeableConcept">CodeableConcept</a> </span> <span style="color: navy">Codes for the conclusion</span> <span style="color: Gray"> --></span></codedDiagnosis> <i class="inherited"><<a class="dict" href="#LabReport.representation" title="Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they must be semantically equivalent."> <b>representation</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>0..*</b> </span> <span style="color: darkgreen"> <a href="datatypes.htm#Attachment">Attachment</a> </span> <span style="color: navy">Entire Report as issued</span> <span style="color: Gray"> --></span></representation></i> <i class="inherited"><<a class="dict" href="#LabReport.extension" title="See Extensions"> <b>extension</b> </a>><span style="color: Gray"><!--</span> <a href="extensibility.htm"> <span style="color: navy">See Extensions</span> </a> <span style="color: Gray"> --></span></extension></i> <i class="inherited"><<a class="dict" href="#LabReport.text" title="Text summary of report, for human interpretation"> <b>text</b> </a>><span style="color: Gray"><!--</span> <span style="color: brown"> <b>1..1</b> </span> <span style="color: darkgreen"> <a href="Narrative.htm#Narrative">Narrative</a> </span> <span style="color: navy">Text summary of report, for human interpretation</span> <span style="color: Gray"> --></span></text></i> </LabReport> </pre> </div> </text> </Profile>
Examples for the ValueSet (§2.6) resource.
Example of valueset
Example of valueset
<ValueSet xmlns="http://hl7.org/fhir"> <!-- set of loinc codes for cholesterol for LONC 2.36 --> <id>5830aab7-b0c4-461f-9521-344000d51191</id> <name>Loinc Codes for Cholesterol</name> <author> <name>FHIR project team (example)</name> <reference>http://hl7.org/fhir</reference> </author> <description>This is an example value set that includes all the LOINC codes for serum cholesterol from v2.36</description> <status>testing</status> <date>2012-06-13</date> <!-- this example, we elected to use a UUID. We could have used an OID, or a URI - depends on how it will be used. --> <identifier>256a5231-a2bb-49bd-9fea-f349d428b70d</identifier> <!-- for version, we are going to simply use the day of publication. This is also arbitrary - whatever is here is what people use to refer to the version. Could also be a UUID too --> <version>20120613</version> <!-- we claim that this value set is a constraint on this other value set this actual URL is a reference to a fictitious value set definition on a fictitious FHIR value set registry. We claim here, simply for illustrative purposes, that the value set referred to here is all LOINC codes for serum tests, and that this value set is therefor a constraint on that one --> <restricts>http://hl7.org/svc/fhir/valueset/@03acace4-5206-4c8f-a8b4-df27a4c18b09</restricts> <!-- given that this value set is small, it doesn't make sense to import another one - what would it say? But if that made sense, we'd do it like this:http://hl7.org/svc/fhir/valueset/@f0f65621-ae8c-4c57-9f96-5326c2acefe3 --> <!-- you could have multiple includes, if you wanted to include codes from more than one code system, or include codes with different modes. we don't, in this case --> <include> <system>http://loinc.org</system> <version>2.36</version> <!-- for LOINC, we simply include the listed codes - no subsumption in LOINC --> <mode>code</mode> <!-- these were selected by hand --> <code>14647-2</code> <code>2093-3</code> <code>35200-5</code> <code>9342-7</code> </include> <text> <status>generated</status> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Value set "Loinc Codes for Cholesterol": This is an example value set that includes all the LOINC codes for serum cholesterol from v2.36. Developed by: FHIR project team (example)</p> <p>Published for testing on 13-June 2012</p> <p>This is a restriction on <a href="http://hl7.org/svc/fhir/valueset/@03acace4-5206-4c8f-a8b4-df27a4c18b09?format=text/html"> the value set "all serum test codes"</a>, and contains the following LOINC codes:</p> <ul> <li>14647-2</li> <li>2093-3</li> <li>35200-5</li> <li>9342-7</li> </ul> </div> </text> </ValueSet>
This table contains a list of all the binding names that are bound directly to their own codes. Each implicitly represents a code system with the full URI http://hl7.org/fhir/sid/[system] and where each individual code has the uri http://hl7.org/fhir/sid/[system]/[ccde].
AddressPartType http://hl7.org/fhir/sid/address-part-type | Required codes:
| |||||||||||||||||||||||||||||||||
AddressUse http://hl7.org/fhir/sid/address-use | Required codes:
| |||||||||||||||||||||||||||||||||
BindingConformance http://hl7.org/fhir/sid/binding-conformance | Required codes:
| |||||||||||||||||||||||||||||||||
BindingType http://hl7.org/fhir/sid/binding-type | Required codes:
| |||||||||||||||||||||||||||||||||
BooleanYesNo http://hl7.org/fhir/sid/boolean-yes-no | Required codes:
| |||||||||||||||||||||||||||||||||
CodeSelectionMode http://hl7.org/fhir/sid/code-selection-mode | Required codes:
| |||||||||||||||||||||||||||||||||
ConformanceEventMode http://hl7.org/fhir/sid/message-conformance-event-mode | Required codes:
| |||||||||||||||||||||||||||||||||
ConstraintSeverity http://hl7.org/fhir/sid/constraint-severity | Required codes:
| |||||||||||||||||||||||||||||||||
ContactSystem http://hl7.org/fhir/sid/contact-system | Required codes:
| |||||||||||||||||||||||||||||||||
ContactUse http://hl7.org/fhir/sid/contact-use | Required codes:
| |||||||||||||||||||||||||||||||||
DataAbsentReason http://hl7.org/fhir/sid/data-absent-reason | Required codes:
| |||||||||||||||||||||||||||||||||
DocumentAuthenticationMode http://hl7.org/fhir/sid/document-authentication-mode | Required codes:
| |||||||||||||||||||||||||||||||||
DocumentMode http://hl7.org/fhir/sid/document-mode | Required codes:
| |||||||||||||||||||||||||||||||||
EntityNamePartQualifier http://hl7.org/fhir/sid/name-part-qualifier | Required codes:
| |||||||||||||||||||||||||||||||||
EventTiming http://hl7.org/fhir/sid/event-timing | Required codes:
| |||||||||||||||||||||||||||||||||
ExtensionContext http://hl7.org/fhir/sid/extension-context | Required codes:
| |||||||||||||||||||||||||||||||||
FilterOperator http://hl7.org/fhir/sid/filter-operator | Required codes:
| |||||||||||||||||||||||||||||||||
IdentifierType http://hl7.org/fhir/sid/identifier-type | Preferred codes:
| |||||||||||||||||||||||||||||||||
LabReportStatus http://hl7.org/fhir/sid/lab-report-status | Required codes:
| |||||||||||||||||||||||||||||||||
LabResultFlag http://hl7.org/fhir/sid/lab-result-flag | Required codes:
| |||||||||||||||||||||||||||||||||
LanguageUse http://hl7.org/fhir/sid/language-use | Required codes:
| |||||||||||||||||||||||||||||||||
MessageTransport http://hl7.org/fhir/sid/message-transport | Required codes:
| |||||||||||||||||||||||||||||||||
NamePartType http://hl7.org/fhir/sid/name-part-type | Required codes:
| |||||||||||||||||||||||||||||||||
NameUse http://hl7.org/fhir/sid/name-use | Required codes:
| |||||||||||||||||||||||||||||||||
NarrativeMapSource http://hl7.org/fhir/sid/narrative-map-source | Required codes:
| |||||||||||||||||||||||||||||||||
NarrativeStatus http://hl7.org/fhir/sid/narrative-status | Required codes:
| |||||||||||||||||||||||||||||||||
PrescriptionStatus http://hl7.org/fhir/sid/prescription-status | Required codes:
| |||||||||||||||||||||||||||||||||
QuantityRange http://hl7.org/fhir/sid/quantity-range | Required codes:
| |||||||||||||||||||||||||||||||||
ResourceProfileStatus http://hl7.org/fhir/sid/resource-profile-status | Required codes:
| |||||||||||||||||||||||||||||||||
ResponseCode http://hl7.org/fhir/sid/response-code | Required codes:
| |||||||||||||||||||||||||||||||||
RestfulConformanceMode http://hl7.org/fhir/sid/restful-conformance-mode | Required codes:
| |||||||||||||||||||||||||||||||||
RestfulOperation http://hl7.org/fhir/sid/restful-operation | Required codes:
| |||||||||||||||||||||||||||||||||
ValueSetStatus http://hl7.org/fhir/sid/valueset-status | Required codes:
|
This table contains a list of all the binding names that reference value sets or simply provide definitions.
Accreditation | Definition: Accreditations an organization may be granted |
AdministrationInstruction | Preferred codes: Value Set NHG Table 25b |
AdministrationPrecondition | Preferred codes: Value Set NHG Table 25b |
AdministrationRoute | Preferred codes: Value Set G-Standaard subtable 0007 |
AdministrativeGender | Definition: The gender of a person used for administrative purposes |
AgentRole | Definition: The role a person plays representing an organization |
AnimalGender | Definition: The gender of an animal |
AnimalRelationship | Definition: The relationship of an animal to another entity (person, corporation, or other animal) |
AnimalSpecies | Definition: The species of an animal |
AnimalStrain | Definition: The strain of an animal |
AssessmentScaleMeasure | Suggested codes: Value Set Loinc Observables |
AssessmentScaleType | Suggested codes: Value Set Loinc Observables that identify scales |
DataType http://hl7.org/fhir/sid/DataType | Any defined data Type name (§1.3) (including Resource (§1.2.6)) |
DocumentSectionType | Preferred codes: Value Set LOINC Section Types |
DocumentType | Preferred codes: Value Set LOINC Document Types |
EventReason | Definition: The reason for an event occurring |
Industry | Preferred codes: Value Set HL7 v3 OrganizationIndustryClass value set |
LabDiagnosisCodes | Suggested codes: Value Set SNOMED-CT Diagnoses |
LabReferenceRanges | Definition: Code for the meaning of a reference range |
LabReportNames | Preferred codes: Value Set LOINC Panel Names |
LabRequests | Definition: codes for requestable tests |
LabResultGroupNames | Preferred codes: Value Set LOINC Panel Names |
LabResultNames | Preferred codes: Value Set LOINC Result names |
LabServices | Preferred codes: Value Set HL7 v2 table 0074 |
Language | See http://www.sil.org/iso639-3/codes.asp |
MediaType | See http://www.rfc-editor.org/bcp/bcp13.txt |
MedicationKind | Preferred codes: Value Set G-Standaard (Netherlands), AMT (Australie) |
MessageEvent http://hl7.org/fhir/sid/MessageEvent | See the Event List (§2.2.5)in the messaging framework |
OrganisationType | Suggested codes: Value Set SNOMED-CT Organisation codes and the HL7 v3 Entity Code table |
OrganizationRelationship | Definition: The relationship an organization has to the subject, including sub and super organizations, and other kind of relationships such as partner organisations |
PaperRecordLocation | Definition: A physical location for a record. (Usually site specific) |
PatientConfidentiality | Definition: The confidentiality of the records associated with this patient |
PatientDiet | Definition: casual dietary restrictions associated with this patient |
PersonRelationship | Definition: The relationship a person has to the subject, including familial, marital, financial, legal, and casual relationships |
PrescriptionReason | Preferred codes: Value Set ICD-10 or ICPC-1 |
Qualifications | Definition: Formal qualifications, accreditations, and Certifications acquired by a person |
Race | Preferred codes: Value Set HL7 v2 table 0200 |
Religion | Definition: The denomination to which a person professes affiliation |
ResourceType http://hl7.org/fhir/sid/ResourceType | See the list of defined Resource Types (§1.4.5) |
This page provides the formal definitions for the data types
The formal definitions for the Agent (§3.1) resource.
The formal definitions for the Animal (§3.2) resource.
The formal definitions for the AssessmentScale (§3.3) resource.
The formal definitions for the Conformance (§2.7) resource.
The formal definitions for the DocumentHeader (§2.3) resource.
The formal definitions for the LabReport (§3.4) resource.
The formal definitions for the MessageHeader (§2.2) resource.
The formal definitions for the Organization (§3.5) resource.
The formal definitions for the Patient (§3.6) resource.
The formal definitions for the Person (§3.7) resource.
The formal definitions for the Prescription (§3.8) resource.
The formal definitions for the Profile (§1.6) resource.
The formal definitions for the ValueSet (§2.6) resource.
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.05 generated on Sun, Sep 9, 2012 03:28+1000. License