A set of libraries to work with the HL7 FHIR standard in TypeScript.
Generally, this project aims to improve the Developer Experience of working with FHIR in TypeScript and JavaScript.
- A generic FHIR SDK that operates at runtime
- Separation of concerns
- Repeated ‘boiler-plate’ code
- Basic (non-terminology) validation
- Utility functions
- Take care of the "tricky spots"
Please note that we have not yet achieved a '1.0' milestone.
Overall, this project is organized as a monorepo with a two-level folder structure:
- core contains the FHIR Core Packages, named by the FHIR publication version identifier.
- examples contains example projects in different combinations of platforms, named as a hyphenated set of
[platform]-[fhir version]-[label]
This project uses fhir-codegen to generate code files.
The 'language' export used is TypeScriptSDK
. Today, the code-gen repo contains the 'languageInput' files used to modify and supplement automatic code generation. Once the generation is stable, those files will be moved here.
- Modules are built using the TypeScript Compiler.
- Tests are written in Jest
- This project uses rush and pnpm to manage builds and dependencies.
# Pull the latest changes from Git
$ git pull
# Install NPM packages as needed
$ rush update
# Do a clean rebuild of everything
$ rush rebuild
# Rebuild just core projects
$ rush rebuild --only tag:core
# Work on one project
$ cd ./core/r4
# There is a "test" script in the package.json, to see
# available commands, type "rushx" by itself.
$ rushx test
The fhir-typescript logo is based on a fire emoji from Vincent Le Moign and licensed under Creative Commons Attribution 4.0 International. The original source can be found here
FHIR® is the registered trademark of HL7 and is used with the permission of HL7.