helios-sof 0.1.37

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.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "helios-sof"
version = "0.1.37"
authors = ["Helios Software"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
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."
homepage = "https://github.com/HeliosSoftware/hfs/tree/main/crates/sof"
readme = "README.md"
keywords = [
    "helios-software",
    "hl7",
    "fhir",
    "helios-fhir-server",
    "sql-on-fhir",
]
license = "MIT"
repository = "https://github.com/HeliosSoftware/hfs"
resolver = "2"

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

[features]
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",
]
default = ["R4"]

[lib]
name = "helios_sof"
path = "src/lib.rs"

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

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

[[test]]
name = "debug_boolean_test"
path = "tests/debug_boolean_test.rs"

[[test]]
name = "debug_column_ordering"
path = "tests/debug_column_ordering.rs"

[[test]]
name = "debug_datetime_instant_constants"
path = "tests/debug_datetime_instant_constants.rs"

[[test]]
name = "debug_datetime_type_info"
path = "tests/debug_datetime_type_info.rs"

[[test]]
name = "debug_enum_conversion"
path = "tests/debug_enum_conversion.rs"

[[test]]
name = "debug_evaluation_result_conversion"
path = "tests/debug_evaluation_result_conversion.rs"

[[test]]
name = "debug_extension_function"
path = "tests/debug_extension_function.rs"

[[test]]
name = "debug_extension_macro_fix"
path = "tests/debug_extension_macro_fix.rs"

[[test]]
name = "debug_extension_simple"
path = "tests/debug_extension_simple.rs"

[[test]]
name = "debug_fhir_resource_structure"
path = "tests/debug_fhir_resource_structure.rs"

[[test]]
name = "debug_foreach_combinations"
path = "tests/debug_foreach_combinations.rs"

[[test]]
name = "debug_inequality"
path = "tests/debug_inequality.rs"

[[test]]
name = "debug_instant_constant"
path = "tests/debug_instant_constant.rs"

[[test]]
name = "debug_instant_type_info"
path = "tests/debug_instant_type_info.rs"

[[test]]
name = "debug_raw_resource"
path = "tests/debug_raw_resource.rs"

[[test]]
name = "debug_reference_key_types"
path = "tests/debug_reference_key_types.rs"

[[test]]
name = "extension_debug_test"
path = "tests/extension_debug_test.rs"

[[test]]
name = "foreach_test"
path = "tests/foreach_test.rs"

[[test]]
name = "multiselect_test"
path = "tests/multiselect_test.rs"

[[test]]
name = "run_foreach_tests"
path = "tests/run_foreach_tests.rs"

[[test]]
name = "server_tests"
path = "tests/server_tests.rs"

[[test]]
name = "sql_on_fhir_tests"
path = "tests/sql_on_fhir_tests.rs"

[[test]]
name = "test_base64_binary_constant"
path = "tests/test_base64_binary_constant.rs"

[[test]]
name = "test_boolean_constant_debug"
path = "tests/test_boolean_constant_debug.rs"

[[test]]
name = "test_boolean_constant_debug2"
path = "tests/test_boolean_constant_debug2.rs"

[[test]]
name = "test_boolean_constant_debug3"
path = "tests/test_boolean_constant_debug3.rs"

[[test]]
name = "test_boolean_validation"
path = "tests/test_boolean_validation.rs"

[[test]]
name = "test_chunked_processing"
path = "tests/test_chunked_processing.rs"

[[test]]
name = "test_cli_file_source"
path = "tests/test_cli_file_source.rs"

[[test]]
name = "test_csv_quote_handling"
path = "tests/test_csv_quote_handling.rs"

[[test]]
name = "test_extension_fix_verification"
path = "tests/test_extension_fix_verification.rs"

[[test]]
name = "test_extension_value_access"
path = "tests/test_extension_value_access.rs"

[[test]]
name = "test_format_parameter_body"
path = "tests/test_format_parameter_body.rs"

[[test]]
name = "test_header_parameter_body"
path = "tests/test_header_parameter_body.rs"

[[test]]
name = "test_limit_parameter_body"
path = "tests/test_limit_parameter_body.rs"

[[test]]
name = "test_ndjson_input"
path = "tests/test_ndjson_input.rs"

[[test]]
name = "test_parallel_working"
path = "tests/test_parallel_working.rs"

[[test]]
name = "test_parameter_validation"
path = "tests/test_parameter_validation.rs"

[[test]]
name = "test_parquet_export"
path = "tests/test_parquet_export.rs"

[[test]]
name = "test_parquet_large_dataset"
path = "tests/test_parquet_large_dataset.rs"

[[test]]
name = "test_parquet_server_options"
path = "tests/test_parquet_server_options.rs"

[[test]]
name = "test_patient_reference_formats"
path = "tests/test_patient_reference_formats.rs"

[[test]]
name = "test_query_parameter_combinations"
path = "tests/test_query_parameter_combinations.rs"

[[test]]
name = "test_run_operation_parameters"
path = "tests/test_run_operation_parameters.rs"

[[test]]
name = "test_runner_integration"
path = "tests/test_runner_integration.rs"

[[test]]
name = "test_shortened_format_names"
path = "tests/test_shortened_format_names.rs"

[[test]]
name = "test_where_clause_validation"
path = "tests/test_where_clause_validation.rs"

[[test]]
name = "test_x_ndjson_support"
path = "tests/test_x_ndjson_support.rs"

[[bench]]
name = "parallel_processing_bench"
path = "benches/parallel_processing_bench.rs"
harness = false

[dependencies.anyhow]
version = "1.0"

[dependencies.arc-swap]
version = "1.6"

[dependencies.arrow]
version = "54.0"

[dependencies.async-trait]
version = "0.1"

[dependencies.axum]
version = "0.8"
features = [
    "json",
    "query",
]

[dependencies.bytes]
version = "1.5"

[dependencies.chrono]
version = "0.4"
features = [
    "serde",
    "serde",
]

[dependencies.clap]
version = "4.0"
features = [
    "derive",
    "env",
]

[dependencies.csv]
version = "1.3"

[dependencies.futures]
version = "0.3"

[dependencies.helios-fhir]
version = "0.1.37"

[dependencies.helios-fhirpath]
version = "0.1.37"

[dependencies.helios-fhirpath-support]
version = "0.1.37"

[dependencies.http]
version = "1.0"

[dependencies.mime]
version = "0.3"

[dependencies.object_store]
version = "0.11"
features = [
    "aws",
    "gcp",
    "azure",
]

[dependencies.parking_lot]
version = "0.12"

[dependencies.parquet]
version = "54.0"

[dependencies.rayon]
version = "1.8"

[dependencies.reqwest]
version = "0.12"
features = ["json"]

[dependencies.serde]
version = "=1.0.220"
features = ["derive"]

[dependencies.serde_json]
version = "=1.0.143"

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1.0"
features = ["full"]

[dependencies.tokio-stream]
version = "0.1"

[dependencies.tower]
version = "0.5"
features = ["full"]

[dependencies.tower-http]
version = "0.6"
features = [
    "cors",
    "trace",
    "timeout",
]

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[dependencies.url]
version = "2.5"

[dependencies.zip]
version = "2.2"

[dev-dependencies.axum-test]
version = "18.0"

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[dev-dependencies.tempfile]
version = "3.8"