Skip to main content

Module traits

Module traits 

Source
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:

§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§

BundleTrait
Trait for abstracting Bundle across FHIR versions.
ResourceTrait
Trait for abstracting Resource across FHIR versions.
ViewDefinitionColumnTrait
Trait for abstracting ViewDefinitionColumn across FHIR versions.
ViewDefinitionConstantTrait
Trait for abstracting ViewDefinitionConstant across FHIR versions.
ViewDefinitionSelectTrait
Trait for abstracting ViewDefinitionSelect across FHIR versions.
ViewDefinitionTrait
Trait for abstracting ViewDefinition across FHIR versions.
ViewDefinitionWhereTrait
Trait for abstracting ViewDefinitionWhere across FHIR versions.