This page is part of the FHIR Specification (v3.5.0: R4 Ballot #2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
FHIR Infrastructure Work Group | Maturity Level: N/A | Ballot Status: Informative |
Specification Downloads | |
FHIR Definitions | All the value sets, profiles, etc. defined as part of the FHIR specification, and the included implementation guides: These is the master set of definitions that should be the first choice whenever generating any implementation artifacts. All the other forms below include only subsets of the information available in these definition files, and 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. |
XML |
|
JSON |
|
RDF |
|
FHIR Specification | The whole specification so that you can host your own local copy (does not include the downloads) |
Implementation Tools | |
Validator | The official FHIR validator - a Java jar file that can be used to validate resources. See Validation Tools for further information, or Using the FHIR Validator for parameter documentation |
IG Publisher | The Implementation Guide Publishing Tool (see IG Publishing documentation ) |
NPM Package | The NPM Package used by many of the FHIR tools (particularly the IG publisher and the validator). This contains all the conformance & example resources, and various publishing support files. Note that the tools usually find this package directly, and there's no need to download it |
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. |
Test Cases | A Collection of Test Cases. These are XML or JSON files that provide test cases for the various FHIR reference implementations to ensure correct functioning |
Code Generation Support | Value Set expansions for the value sets used in schema generation (XML or JSON) + a list of all backbone elements. Note that names relevant for code generation, including resource names, element & slice names, codes etc may collide with reserved words in the relevant target language, and code generators will need to handle this |
Reference Implementations | |
There are many open source reference implementations available to help implementers. Here are a list of the more common implementations used by implementers: | |
Java | HAPI-FHIR : Object Models, Parsers, Client + Server Framework, FHIR Validator, & Utilities. The specification is built with this Java code |
C# | HL7.FHIR : Object models, Parsers/Serializers, Utilities, and a Client. Source code on GitHub at http://github.com/ewoutkramer/fhir-net-api |
Pascal | FhirServer : Object models, Parsers/Serializers, Validator, Utilities, Client, and the FHIR Reference server. Requires Delphi (Unicode versions) |
XML | XML Tools: Document Rendering Stylesheet, supplementary implementation schemas and transforms |
Javascript | FHIR.js : Javascript Client and Utilities |
Swift | Swift-FHIR : Object Model, Client and Utilities |
Implementation Note: These reference implementations are provided for implementer interest and assistance. While they may be used (and are) in production systems, HL7 and their various contributors accept no liability for their use. Note that these reference implementations are provided to assist to implementers to adopt the specification, and some 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.
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.