fhir-sdk 0.4.0

FHIR Software Development Kit. Library for interfacing with FHIR.
docs.rs failed to build fhir-sdk-0.4.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: fhir-sdk-0.15.1

FHIR SDK

crates.io page docs.rs page license: MIT

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
    • Create, Read, Update, Delete
    • Search
    • Paging
    • Batch operations / Transactions
    • Patch
  • FHIRpath implementation
  • Resource validation using FHIRpath and regular expressions
  • GraphQL client

Not Planned

  • XML

Known Problems

  • Due to the big number of big types, the compile time and its memory usage is really high. The auto-generated builders also 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.