Expand description
§Version-Agnostic FHIR Abstraction Traits
This module provides trait abstractions that enable the SOF crate to work with ViewDefinitions and Bundles across multiple FHIR versions without duplicating transformation logic. Each FHIR version implements these traits to provide uniform access to their specific data structures.
§Architecture
The trait system follows a hierarchical pattern:
- Top-level container traits (
ViewDefinitionTrait,BundleTrait) - Component traits (
ViewDefinitionSelectTrait,ViewDefinitionColumnTrait, etc.) - Version-specific implementations for R4, R4B, R5, and R6
§Design Benefits
- Version Independence: Core processing logic works with any FHIR version
- Type Safety: Compile-time verification of trait implementations
- Extensibility: Easy addition of new FHIR versions or features
- Code Reuse: Single implementation handles all supported versions
Traits§
- Bundle
Trait - Trait for abstracting Bundle across FHIR versions.
- Resource
Trait - Trait for abstracting Resource across FHIR versions.
- View
Definition Column Trait - Trait for abstracting ViewDefinitionColumn across FHIR versions.
- View
Definition Constant Trait - Trait for abstracting ViewDefinitionConstant across FHIR versions.
- View
Definition Select Trait - Trait for abstracting ViewDefinitionSelect across FHIR versions.
- View
Definition Trait - Trait for abstracting ViewDefinition across FHIR versions.
- View
Definition Where Trait - Trait for abstracting ViewDefinitionWhere across FHIR versions.