Skip to main content

Module sof_runner

Module sof_runner 

Source
Expand description

SQL-on-FHIR runner abstraction.

This module defines the SofRunner trait, implemented per-backend. Two strategies exist:

  • In-DB runners compile a [ViewDefinition] to a native query executed inside the storage backend, skipping FHIRPath evaluation entirely: SQLite and PostgreSQL compile to SQL, MongoDB compiles to an aggregation pipeline.
  • In-process runners stream the resources out of a backend that has no query engine (S3 object storage, and S3-primary composites) and evaluate the view with the helios-sof FHIRPath engine (InProcessSofRunner).

If the configured backend provides no runner at all, the $viewdefinition-run handler returns 501 Not Implemented. Inline resource: parameters are materialised into a transient in-memory SQLite backend so they reuse the same in-DB pipeline.

The handler layer streams the result rows directly into the HTTP response.

Structs§

ViewFilters
Filters that narrow which resources are processed by a view run.

Enums§

SofError
Errors that can occur during SQL-on-FHIR view execution.

Traits§

SofRunner
Abstraction over in-process and in-DB SQL-on-FHIR execution strategies.

Type Aliases§

RowStream
A pinned, heap-allocated, Send + 'static stream of view rows.
ViewRow
A single output row from a view run.