pub trait BundleTrait {
type Resource: ResourceTrait;
// Required method
fn entries(&self) -> Vec<&Self::Resource>;
}Expand description
Trait for abstracting Bundle across FHIR versions.
This trait provides version-agnostic access to Bundle contents, specifically the collection of resources contained within bundle entries. Bundles serve as the input data source for ViewDefinition processing.
§Bundle Structure
FHIR Bundles contain:
- Bundle metadata (type, id, etc.)
- Array of bundle entries
- Each entry optionally contains a resource
This trait focuses on extracting the resources for processing, filtering out entries that don’t contain resources.
§Associated Types
Resource: The resource type for this FHIR version
§Examples
use helios_sof::traits::{BundleTrait, ResourceTrait};
fn analyze_bundle<B: BundleTrait>(bundle: &B)
where
B::Resource: ResourceTrait
{
let resources = bundle.entries();
println!("Bundle contains {} resources", resources.len());
for resource in resources {
println!("- {} resource", resource.resource_name());
}
}Required Associated Types§
Sourcetype Resource: ResourceTrait
type Resource: ResourceTrait
The resource type for this FHIR version