helios-sof 0.1.23

This crate provides a complete implementation of the SQL-on-FHIR specification for Rust, enabling the transformation of FHIR resources into tabular data using declarative ViewDefinitions. It supports all major FHIR versions (R4, R4B, R5, R6) through a version-agnostic abstraction layer.
[package]
name = "helios-sof"
version.workspace = true
edition.workspace = true
description = "This crate provides a complete implementation of the SQL-on-FHIR specification for Rust, enabling the transformation of FHIR resources into tabular data using declarative ViewDefinitions. It supports all major FHIR versions (R4, R4B, R5, R6) through a version-agnostic abstraction layer."
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage = "https://github.com/HeliosSoftware/hfs/tree/main/crates/sof"
readme = "README.md"

[[bin]]
name = "sof-server"
path = "src/server.rs"

[[bin]]
name = "sof-cli"
path = "src/cli.rs"

[features]
default = ["R4"]
R4 = ["helios-fhir/R4", "helios-fhirpath/R4"]
R4B = ["helios-fhir/R4B", "helios-fhirpath/R4B"]
R5 = ["helios-fhir/R5", "helios-fhirpath/R5"]
R6 = ["helios-fhir/R6", "helios-fhirpath/R6"]

[dependencies]
clap = { version = "4.0", features = ["derive", "env"] }
tokio = { version = "1.0", features = ["full"] }
helios-fhir = { path = "../fhir", version = "0.1.23" }
helios-fhirpath = { path = "../fhirpath", version = "0.1.23" }
helios-fhirpath-support = { path = "../fhirpath-support", version = "0.1.23" }
serde = { workspace = true }
serde_json = { workspace = true }
csv = "1.3"
thiserror = "1.0"
anyhow = "1.0"
axum = { version = "0.8", features = ["json", "query"] }
tower = { version = "0.5", features = ["full"] }
tower-http = { version = "0.6", features = ["cors", "trace", "timeout"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
http = "1.0"
mime = "0.3"
chrono = { workspace = true, features = ["serde"] }
reqwest = { version = "0.12", features = ["json"] }
url = "2.5"
async-trait = "0.1"
object_store = { version = "0.11", features = ["aws", "gcp", "azure"] }
rayon = "1.8"
arc-swap = "1.6"
parking_lot = "0.12"
arrow = "54.0"
parquet = "54.0"
zip = "2.2"
futures = "0.3"
tokio-stream = "0.1"
bytes = "1.5"

[dev-dependencies]
axum-test = "18.0"
tempfile = "3.8"
criterion = { version = "0.5", features = ["html_reports"] }

[[bench]]
name = "parallel_processing_bench"
harness = false

[package.metadata.docs.rs]
features = ["R4", "R4B", "R5", "R6"]
rustdoc-args = ["--cfg", "docsrs"]