Welcome to this tutorial about FHIR packages

These webpages provide information and exercises to learn about FHIR NPM packages.

FHIR packages are the solution to versioning FHIR resources as a coherent group. Stop hunting down matching individually versioned resources and build on stable releases of the FHIR projects you are building on. Similarly: Provide your customers with stable releases to build on. Allow them to upgrade to a new release when they are ready, while you have the freedom to continue developing your profiles.

FHIR defines NPM based packages as a solution for proper version management of conformance resources. The FHIR NPM specification, managed by the working group 'FHIR Infrastructure', describes the specifics of FHIR NPM packages. These exercises are based on those specifications.

Introduction to the exercise content

The exercises are based on FHIR R4 projects and packages of the imaginary organization named ACME.

Firstly, ACME has one base project that contains resources/profiles which are derived from US Core profiles. These base profiles are intended to be used as a common layer for the entire ACME organization.

Next, ACME also has a product project. This project contains profiles that are derived from the base profiles with the intent to be used for products of ACME. These profiles are more specific and closed modelled than the base profiles because they are aligned with the required data model.

Finaly, these projects publish packages named acme.base.r4 and acme.product.r4. The acme.base.r4 package (and related project) depends on FHIR R4 and US Core. The acme.product.r4 package depends on acme.base.r4. It inherits all the depedencies of acme.base.r4.