FHIR SDK
This is a FHIR library in its early stages. The models are generated from the FHIR StructureDefinitions (see https://www.hl7.org/fhir/downloads.html). It aims to be:
- fully compliant
- as safe as possibe
- as easy to use as possible
- fully featured
Features
- Generation of FHIR codes, types and resources
- Serialization and deserialization to and from JSON
- Linked code-fields to respective enums
- Builders for types and resources
- Allow to convert code enums to Coding and CodeableConcept
- Implementation of base traits
- (Base)Resource
- NamedResource
- DomainResource
- IdentifiableResource
- REST client implementation
- Search parameters
- FHIRpath implementation
- Resource validation using FHIRpath
- GraphQL client
- XML
Known Problems
- Due to the big number of big types, the auto-generated builders take a long time during the build time.
- The builder cannot use
setter(strip_option), because it disables dynamic setting of optional fields. Vec<Option<T>>is annoying, but sadly is required to allow[null, {...}, null]for extensions..
Lints
This projects uses a bunch of clippy lints for higher code quality and style.
Install cargo-lints using cargo install --git https://github.com/FlixCoder/cargo-lints. The lints are defined in lints.toml and can be checked by running cargo lints clippy --all-targets --workspace.
License
Licensed under the MIT license. All contributors agree to license under this license.