Expand description
Semantic diff of FHIR packages and profiles.
Each package’s StructureDefinitions are converted to FHIR Schema
(octofhir-fhirschema) and every profile is merged
over its base chain into an effective element tree; two versions of a profile are compared
on those trees and every change is classified as breaking, warning or info
(diff::RULES). Packages come from a folder or from the package registry through
octofhir-canonical-manager.
Re-exports§
pub use diff::Change;pub use diff::Filter;pub use diff::ProfileDiff;pub use diff::Report;pub use diff::Severity;pub use diff::Status;pub use diff::diff;pub use model::Node;pub use model::Pool;pub use model::Profile;pub use package::Definition;pub use package::Loaded;pub use package::Package;pub use package::load;
Modules§
- diff
- Changes between two versions of a package, profile by profile and element by element, each classified by what it does to existing data and implementations.
- model
- The effective element tree of a profile: its FHIR Schema merged over every schema it is based on, down to the core type. Two versions of a profile are compared on these trees, so a change inherited from a base profile counts as much as one the profile makes itself.
- package
- FHIR packages as the diff reads them: a folder (an unpacked package, or its
packagesubfolder) orname@version, installed from the package registry into the local package store when it is not there yet. - report
- The report in Markdown (for people), JSON (for tools) and SARIF 2.1.0 (for code scanning in CI).