This library builds and publishes the FHIR specification, based on the contained spreadsheet data in the project.
CI Status (master) | CI Status (R4B) |
---|---|
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:
- Jira - Propose a change - use this rather than making a PR directly, since all changes must be approved using the Jira workflow
- FHIR chat
- Stack Overflow questions
- Published FHIR Specification or Current Build of the specficiation
- Be sure you have at least 16 GB of RAM
- Run
./gradlew publish
from the command line - Wait for it to finish (~20 minutes)
See also: Getting Started and FHIR Build Process
We provide executable script files for Windows (publish.bat) and for a Bash shell for mac/linux/windows (publish.sh).
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"
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.
This project is maintained by Grahame Grieve and Mark Iantorno on behalf of the FHIR community.