Expand description
octofhir-fhirschema - FHIR Schema validation and conversion library.
This crate provides:
- FHIR Schema validation with FHIRPath constraint support
- StructureDefinition to FhirSchema conversion
- Model and validation providers for FHIR operations
§Quick Start
ⓘ
use octofhir_fhirschema::{ValidationProviderBuilder, FhirVersion};
// Create a validation provider
let provider = ValidationProviderBuilder::new(FhirVersion::R4)
.with_embedded_schemas()
.build()?;
// Validate a resource
let result = provider.validate(&resource, "Patient").await?;§Module Organization
types- Core type definitions (FhirSchema, ValidationError, etc.)provider- Schema and validation providersvalidation- Validation engine and error codesembedded- Pre-compiled schemas for different FHIR versionsconverter- StructureDefinition to FhirSchema conversion
Re-exports§
pub use converter::translate;pub use embedded::FhirVersion;pub use embedded::SchemaInfo;pub use embedded::create_validation_context;pub use embedded::get_schema;pub use embedded::get_schema_info;pub use embedded::get_schema_names;pub use embedded::get_schemas;pub use embedded::has_schema;pub use embedded::list_primitives;pub use embedded::list_resources;pub use error::FhirSchemaError;pub use error::Result;pub use types::FhirSchema;pub use types::FhirSchemaElement;pub use types::StructureDefinition;pub use types::ValidationContext;pub use types::ValidationError;pub use types::ValidationResult;pub use validation::FhirSchemaErrorCode;pub use validation::FhirValidator;pub use validation::InMemorySchemaProvider;pub use validation::QrStrictness;pub use validation::QuestionnaireProvider;pub use validation::SchemaProvider;pub use provider::DynamicSchemaProvider;pub use provider::EmbeddedSchemaProvider;pub use provider::FhirSchemaModelProvider;pub use provider::FhirSchemaValidationProvider;pub use provider::ValidationProviderBuilder;pub use provider::create_validation_provider_from_dynamic;pub use provider::create_validation_provider_from_embedded;pub use provider::create_validation_provider_with_fhirpath;pub use terminology::BindingStrength;pub use terminology::CacheConfig;pub use terminology::CacheStats;pub use terminology::CachedTerminologyService;pub use terminology::CodeValidationResult;pub use terminology::InMemoryTerminologyService;pub use terminology::TerminologyError;pub use terminology::TerminologyErrorCode;pub use terminology::TerminologyProviderAdapter;pub use terminology::TerminologyResult;pub use terminology::TerminologyService;pub use reference::BundleContext;pub use reference::ContainedContext;pub use reference::NoOpReferenceResolver;pub use reference::ReferenceError;pub use reference::ReferenceErrorCode;pub use reference::ReferenceResolutionResult;pub use reference::ReferenceResolver;pub use reference::ReferenceResult;
Modules§
- action_
calculator - choice_
handler - converter
- element_
transformer - embedded
- error
- path_
parser - provider
- Provider implementations for schema and validation services.
- reference
- Reference resolution services for FHIR reference validation.
- stack_
processor - terminology
- Terminology validation services for FHIR binding validation.
- types
- Core type definitions for octofhir-fhirschema.
- validation
- FHIR Schema Validation Engine
Structs§
- Cached
Terminology Provider - Cached wrapper around any TerminologyProvider
- Default
Terminology Provider - Default ready-to-use terminology provider with HTTP client and caching
- Element
Info - Element information for completion suggestions
- Terminology
Cache Config - Cache configuration for terminology operations
- Terminology
Cache Stats - Cache statistics for terminology provider
- Type
Info - Type information structure for FHIR elements
Enums§
- Model
Error - Error types for FHIR model operations
- Model
Fhir Version - FHIR version enumeration
Traits§
- Model
Provider - Core trait for accessing FHIR model information
- Terminology
Provider - Simple terminology service provider
Type Aliases§
- Model
Result - Result type for FHIR model operations