Skip to main content

Crate octofhir_fhirschema

Crate octofhir_fhirschema 

Source
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 providers
  • validation - Validation engine and error codes
  • embedded - Pre-compiled schemas for different FHIR versions
  • converter - 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§

CachedTerminologyProvider
Cached wrapper around any TerminologyProvider
DefaultTerminologyProvider
Default ready-to-use terminology provider with HTTP client and caching
ElementInfo
Element information for completion suggestions
TerminologyCacheConfig
Cache configuration for terminology operations
TerminologyCacheStats
Cache statistics for terminology provider
TypeInfo
Type information structure for FHIR elements

Enums§

ModelError
Error types for FHIR model operations
ModelFhirVersion
FHIR version enumeration

Traits§

ModelProvider
Core trait for accessing FHIR model information
TerminologyProvider
Simple terminology service provider

Type Aliases§

ModelResult
Result type for FHIR model operations