Skip to main content

Crate octofhir_fhirpath_model

Crate octofhir_fhirpath_model 

Source
Expand description

Value types and FHIR model support for FHIRPath implementation

This crate provides the value types, FHIR resource handling, and model provider abstractions used throughout the FHIRPath implementation.

§Performance Enhancement

The FhirSchemaModelProvider now uses a precomputed type registry by default for fast type operations. All default constructors (new(), r4(), r5(), etc.) automatically build and use the PrecomputedTypeRegistry for optimal performance in type reflection operations like type(), is(), and as() functions.

Re-exports§

pub use cache::Cache;
pub use cache::CacheConfig;
pub use cache::CacheStats;
pub use choice_type_mapper::ChoiceTypeMapper;
pub use choice_type_mapper::ChoiceVariant;
pub use choice_type_mapper::SharedChoiceTypeMapper;
pub use fhirschema_provider::FhirSchemaModelProvider;
pub use polymorphic_resolver::PolymorphicPathResolver;
pub use polymorphic_resolver::PolymorphicResolverFactory;
pub use polymorphic_resolver::ResolvedPath;
pub use json_value::JsonValue;
pub use mock_provider::MockModelProvider;
pub use precomputed_registry::ChoiceTypeInfo;
pub use precomputed_registry::FhirTypeInfo;
pub use precomputed_registry::PrecomputedTypeRegistry;
pub use precomputed_registry::PrimitiveTypeKind;
pub use precomputed_registry::PropertyInfo;
pub use precomputed_registry::RegistryStatistics;
pub use precomputed_registry::SystemTypeInfo;
pub use provider::ModelProvider;
pub use quantity::Quantity;
pub use smart_collection::SmartCollection;
pub use smart_collection::SmartCollectionBuilder;
pub use temporal::PrecisionDate;
pub use temporal::PrecisionDateTime;
pub use temporal::PrecisionTime;
pub use temporal::TemporalPrecision;
pub use type_object::FhirPathTypeObject;
pub use type_object::TypeObjectMetadata;
pub use type_object::ValueTypeAnalyzer;
pub use value::Collection;
pub use value::FhirPathValue;
pub use string_intern::InternerStats;
pub use string_intern::global_interner_stats;
pub use octofhir_fhir_model as fhir_model;

Modules§

boxing
Runtime value boxing implementation
cache
Simplified cache implementation using LRU eviction strategy
choice_type_mapper
Choice Type Mapping System for FHIR Polymorphic Properties
coercion_utils
Type coercion utilities for FHIRPath values
error
Error types for the model crate
fhirschema_provider
FHIRSchema-based model provider implementation
json_value
Primary JSON value implementation using serde_json
legacy_cache
Caching infrastructure for model provider
mock_provider
Mock model provider for testing
mock_type_definitions
Basic FHIR type definitions for testing with MockModelProvider
polymorphic_factory
Factory utilities for creating PolymorphicPathResolver instances
polymorphic_resolver
Polymorphic Path Resolution Engine for FHIR Choice Types
precomputed_registry
Pre-computed type registry for high-performance FHIR type operations
profile_resolver
Profile resolution and constraint handling system
provider
Model provider trait for FHIR type information
quantity
Quantity type implementation with UCUM support
resource
FHIR resource wrapper types using sonic-rs exclusively
smart_collection
string_intern
String interning for FHIRPath values
temporal
Precision-aware temporal types for FHIRPath
type_analyzer
Value type analysis utilities for FHIRPath type reflection
type_coercion
Type coercion and conversion utilities for FHIRPath
type_object
FHIRPath type object implementation with namespace and name properties
types
Type system definitions for FHIRPath
value
Core value types for FHIRPath expressions

Enums§

FhirPathError
Comprehensive error type for FHIRPath operations

Type Aliases§

Result
Result type alias for FHIRPath operations