Skip to content

HL7/fhir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

257befe · Mar 28, 2025
Mar 8, 2021
Mar 23, 2022
Mar 7, 2022
Mar 19, 2025
Sep 29, 2024
Jan 29, 2021
Jul 3, 2017
Jan 29, 2024
Mar 28, 2025
Apr 25, 2019
Mar 20, 2025
Nov 10, 2021
Jan 29, 2021
Jun 13, 2024
Sep 13, 2018
Nov 1, 2024
May 23, 2018
May 28, 2021
Feb 27, 2017
Sep 14, 2014
Mar 23, 2022
Apr 27, 2020
Sep 1, 2022
Feb 27, 2025
Mar 26, 2024
Jan 20, 2020
Aug 1, 2022
Mar 26, 2024
Oct 20, 2016
Mar 26, 2025
May 25, 2023
Jan 29, 2021
Dec 11, 2021
Jan 15, 2019
Oct 2, 2023
Jul 13, 2021
Feb 4, 2021
Mar 18, 2025
Mar 26, 2024
Aug 1, 2022
May 12, 2023
Feb 17, 2025
Jan 29, 2021
Mar 23, 2023
Feb 19, 2025
Oct 29, 2018

Repository files navigation

The FHIR Specification Publisher

This library builds and publishes the FHIR specification, based on the contained spreadsheet data in the project.

CI Status (master) CI Status (R4B)
Build Status Build Status

Important Links

This is the source for the FHIR specification itself. Only the editors of the specification (a small group) need to build this. If that's not you, one of these links should get you going:

Publishing Locally

  1. Be sure you have at least 16 GB of RAM
  2. Run ./gradlew publish from the command line
  3. Wait for it to finish (~20 minutes)

See also: Getting Started and FHIR Build Process

If running commands on the terminal is a frightening prospect for you...

We provide executable script files for Windows (publish.bat) and for a Bash shell for mac/linux/windows (publish.sh).

Command line parameters

There are multiple options available for publishing:

  • --offline: use this arg if you are offline and cannot fetch dependencies (doesn't work at the moment, and may never)

  • -nogen: don't generate the spec, just run the validation. (to use this, manually fix things in the publication directory, and then migrate the changes back to source when done. this is a hack)

  • -noarchive: don't generate the archive. Don't use this if you're a core editor

  • -web: produce the HL7 ready publication form for final upload (only core editors)

  • -diff: the executable program to use if platform round-tripping doesn't produce identical content (default: c:\program files (x86)\WinMerge\WinMergeU.exe)

  • -name: the "name" to go in the title bar of each of the specification

To add any of these options to the publish task, run the command as ./gradlew publish --args"<YOUR ARGS HERE>"

For example, if you wanted to publish without generating the spec, just running the validation, you would run the command ./gradlew publish --args="-nogen"

Publishing Globally

Each time a pull request is opened, the pull request pipeline runs. If the pipeline successfully publishes, it uploads the build as a separate branch on build.fhir.org/branches, where it can be reviewed to ensure accuracy.

Once merged to master, the master branch pipeline runs. If successful, the published specification is uploaded to the main build.fhir.org webpage.

The only exception to the above is the build for R4B. The R4B pipline detects changes to the R4B branch in github, and publishes any changes from that branch to build.fhir.org/R4B.

Maintenance

This project is maintained by Grahame Grieve and Mark Iantorno on behalf of the FHIR community.