Expand description
Core FHIR model abstractions and ModelProvider trait
This crate provides the foundational types and traits for FHIR model integration with FHIRPath engines. It serves as an intermediate dependency to break circular dependencies between FHIRPath implementations and FHIR schema libraries.
§Architecture
The crate is designed around the ModelProvider trait, which abstracts access
to FHIR model information including:
- Type reflection and metadata
- Structure definitions and conformance validation
- Constraint definitions and evaluation
- Reference resolution capabilities
§Example
use octofhir_fhir_model::{TypeInfo, EmptyModelProvider, ModelProvider};
// Create type info for a FHIR type
let type_info = TypeInfo::system_type("Patient".to_string(), true);
println!("Patient type: {:?}", type_info);
// Use empty model provider for testing
let provider = EmptyModelProvider::default();
println!("Provider: {:?}", provider);Re-exports§
pub use error::ModelError;pub use error::Result;pub use evaluation::EvaluationResult;pub use evaluation::IntoEvaluationResult;pub use evaluation::TypeInfoResult;pub use evaluation::convert_value_to_evaluation_result;pub use evaluator::CompiledExpression;pub use evaluator::ErrorSeverity;pub use evaluator::FhirPathConstraint;pub use evaluator::FhirPathEvaluator;pub use evaluator::FhirPathEvaluatorFactory;pub use evaluator::ValidationError;pub use evaluator::ValidationProvider;pub use evaluator::ValidationResult;pub use evaluator::ValidationWarning;pub use evaluator::Variables;pub use fhir_traits::BackboneElement;pub use fhir_traits::ChoiceElement;pub use fhir_traits::FhirPrimitive;pub use fhir_traits::FhirReference;pub use fhir_traits::FhirResourceMetadata;pub use fhir_traits::ToFhirJson;pub use provider::ElementInfo;pub use provider::EmptyModelProvider;pub use provider::FhirVersion;pub use provider::LiteModelProvider;pub use provider::ModelProvider;pub use provider::TypeInfo;pub use terminology::ConnectionStatus;pub use terminology::EquivalenceLevel;pub use terminology::ExpansionParameter;pub use terminology::ExpansionParameters;pub use terminology::NoOpTerminologyProvider;pub use terminology::TerminologyProvider;pub use terminology::TranslationResult;pub use terminology::TranslationTarget;pub use terminology::ValueSetConcept;pub use terminology::ValueSetExpansion;
Modules§
- error
- Error types for FHIR model operations
- evaluation
- FHIRPath evaluation support types and traits
- evaluator
- FHIRPath evaluator trait for dependency injection
- fhir_
traits - FHIR-specific traits for enhanced FHIRPath support
- provider
- ModelProvider trait for FHIR model access
- terminology
- Simple terminology service abstractions for FHIR validation
Constants§
- CRATE_
NAME - Crate name
- VERSION
- Version information for this crate