This page is part of the FHIR Specification (v1.0.2: DSTU 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2


FHIR Infrastructure Work GroupMaturity Level: N/ABallot Status: DSTU 2
Formal Definitions
Schema The FHIR XML schemas come in 2 forms: Note: the schemas & schematrons do not contain all of the rules about what makes resources valid. Implementers will still need to be familiar with the content of the specification and with any profiles that apply to the resources in order to make a conformant implementation.
FHIR Definitions All the value sets, profiles, etc.defined as part of the FHIR specification, and the included implementation guides. The definitions come in 4 different forms - XML or JSON, and with and without text definitions: Note that the forms without definitions are included to be used with tools that don't use the text definitions (e.g. validation tooling) - they are smaller and load faster
Examples All the resource examples as a zip file. These can be used to initialise testing repositories, etc
RDF A set of RDF definitions for FHIR and related specifications in 2 formats:
Specification Downloads
FHIR Specification The whole specification so that you can host your own local copy (does not include the downloads)
Implementation Tools

The official FHIR validator - a Java jar file that can be used to validate resources. See Validation Tools for further information. Note that the validator needs a Definition Pack (see above).

Note that on 15-May 2016 a patched validator was released to fix susceptibility to the XML External Entities attack.

Translation File Translations of common FHIR names and messages into multiple languages (see wiki for instructions on how to add to this)
Icon Pack The FHIR Icon at various resolutions. The FHIR icon is an HL7 trademark, and written permission is required to make use of this icon. See the FHIR Trademark policy and the application forms for event or product use.
Reference Implementations
These reference implementations are provided for implementer interest and assistance. They may be used in production instances, although HL7 and the contributors accept no liability for their use. These implementations are provided under a standard OSI-approved license (mostly BSD-3-Clause).

Note that these reference implementations are provided to assist to implementers to adopt the specification, and are maintained by the FHIR project team, but are not part of the specification, and implementations are not required to conform to these, nor are they subject to the formal standards process.


Resource Definitions, XML & Json parsers, & various utilities. A Java client can be found at https://github.com/cnanjo/FhirJavaReferenceClient . HAPI also publishes a java reference implementation at http://jamesagnew.github.io/hapi-fhir/


Resource Definitions and XML & JSON parsers. Delphi 5+. Depends on IndySoap (http://sourceforge.net/projects/indysoap/ ). For a full server see http://github.com/grahamegrieve/fhirserver


Object models, Parsers/Serialisers, Validators, and a Client. The source code for that compiled .NET library can be found on GitHub at http://github.com/ewoutkramer/fhir-net-api

XML Tools

Document Rendering Stylesheet, supplementary implementation schemas


Generates Mongoose models for FHIR resources

Other reference implementations not distributed with the specification:

Note that the reference implementations are generally limited to code for representing the resource contents in their native form and parsing and serializing them as XML and JSON. Some of the implementations provide support for building, using and reasoning with resource definitions. A few implementations include a client that conforms to the RESTful API.

Full blown open source implementations for FHIR, some of which use these reference implementations, are listed on the HL7 wiki .

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.