aether

module
v0.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2026 License: Apache-2.0

README

Aether Logo

Aether

A command-line tool for processing FHIR healthcare data through configurable pipeline steps.

License Go Version Documentation codecov OpenSSF Scorecard OpenSSF Best Practices

Aether is a Go command-line tool that orchestrates a configurable FHIR data pipeline for the Medizininformatik-Initiative (MII). It chains steps such as TORCH/CRTDL import, DIMP pseudonymization, bundle splitting, flattening to CSV, and send — with wait checkpoints for manual inspection and zstd compression between stages. Aether is built for data stewards and integration engineers who move MII FHIR data between research and clinical systems.

What Does Aether Do?

Aether helps you:

  1. Extract patient data from a TORCH server using CRTDL query files
  2. Pseudonymize the data using a DIMP service to protect patient privacy
  3. Flatten FHIR data to CSV using SQL-on-FHIR ViewDefinitions
  4. Send processed data to FHIR servers or DSF transfer systems

Installation

For Linux and macOS:

curl -sSfL https://raw.githubusercontent.com/medizininformatik-initiative/aether/main/install.sh | sh
sudo mv aether /usr/local/bin/

For manual installation or Windows, download the latest release.

Verify installation:

aether --help

Configuration

Create an aether.yaml file (any path is fine — pass it as the first positional arg):

services:
  torch:
    base_url: "https://your-torch-server.org"
    username: "your-username"
    password: "your-password"

  dimp:
    url: "http://your-dimp-server:32861"  # server root; /fhir appended by client

pipeline:
  enabled_steps:
    - torch
    - dimp

jobs_dir: "./jobs"

Usage

Every subcommand takes the path to your aether.yaml as the first positional argument.

Run a Pipeline
aether pipeline start aether.yaml your-crtdl.json
Check Status
aether job list aether.yaml
aether pipeline status aether.yaml <job-id>
Resume a Pipeline
aether pipeline continue aether.yaml <job-id>

More Information

License

Apache License 2.0 - see LICENSE

Directories

Path Synopsis
cmd
aether command
internal
lib
services
Package services provides business logic for the aether DIMP pipeline
Package services provides business logic for the aether DIMP pipeline
services/servicestest
Package servicestest holds hand-written test doubles for the service-client seams defined in package services (Extractor, Flattener, ...).
Package servicestest holds hand-written test doubles for the service-client seams defined in package services (Extractor, Flattener, ...).
ui
tests
unit/testutil
Package testutil provides shared mock implementations for testing error paths in compression, file processing, and I/O operations.
Package testutil provides shared mock implementations for testing error paths in compression, file processing, and I/O operations.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL