# ebenco36/amr_cascade_platfrom architecture

> Architecture diagram of the GitHub repository ebenco36/amr_cascade_platfrom, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ebenco36/amr_cascade_platfrom
- Repository: https://github.com/ebenco36/amr_cascade_platfrom

## Overview

AMR Cascade Platform is a research-analysis framework for denominator-aware analysis of antimicrobial susceptibility testing observations. Its main workflow ingests and harmonizes site data, builds eligible episode–drug opportunities, estimates and validates directional cascade patterns, then exports analyses and publication outputs. The README also documents supplementary prediction, prevalence-shift analysis, temporal and sensitivity analyses, and an ESKAPE extension. Edges use README statements for documented workflow relationships; sampled source shows ingestion and storage behavior, while several downstream implementations were not sampled.

Main entry points: [`src/amr_cascade_platform/reporting/workflows/report_export_workflow.py`](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/reporting/workflows/report_export_workflow.py) (Report generation), [`src/amr_cascade_platform/data/gold/gold_build_manager.py`](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/data/gold/gold_build_manager.py) (Gold datasets), [`src/amr_cascade_platform/cascade/workflows/cascade_analysis_workflow.py`](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cascade/workflows/cascade_analysis_workflow.py) (Cascade analysis), [`src/amr_cascade_platform/cli/main.py`](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cli/main.py) (Command interface)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Data preparation"]
  node_ingestion["Raw ingestion"]
  node_cleaning["Silver cleaning"]
  node_harmonization["Site harmonization"]
  node_gold["Gold datasets"]
  node_eligibility["Eligibility rules"]
  node_features["Feature building"]
end

subgraph group_analysis["Cascade analysis"]
  node_cascade["Cascade analysis"]
  node_validation["Pattern validation"]
  node_sensitivity["Sensitivity analysis"]
  node_eskape["ESKAPE extension"]
end

subgraph group_models["Prediction and surveillance"]
  node_modeling["Supplementary prediction"]
  node_prevalence["Prevalence shifts"]
end

subgraph group_outputs["Reporting and exports"]
  node_reporting["Report generation"]
  node_figures["Figure exports<br/>[figure_manager.py]"]
  node_audit["Scientific audit"]
end

subgraph group_platform["Runtime foundation"]
  node_cli["Command interface<br/>[main.py]"]
  node_config["Configuration<br/>[config_loader.py]"]
  node_paths["Path management<br/>[path_manager.py]"]
  node_storage[("Dataset storage<br/>[dataset_store.py]")]
end

node_operator(("Researcher"))

node_operator -->|"runs commands"| node_cli
node_cli -->|"loads settings"| node_config
node_cli -->|"dispatches ingestion"| node_ingestion
node_ingestion -->|"writes datasets"| node_storage
node_ingestion -->|"precedes"| node_cleaning
node_cleaning -->|"precedes"| node_harmonization
node_harmonization -->|"builds from harmonized data"| node_gold
node_gold -->|"applies eligibility"| node_eligibility
node_gold -->|"supplies opportunities"| node_cascade
node_gold -->|"supports feature building"| node_features
node_cascade -->|"validates patterns"| node_validation
node_cascade -->|"tests sensitivity"| node_sensitivity
node_cascade -->|"extends analysis"| node_eskape
node_features -->|"supplies prediction inputs"| node_modeling
node_gold -->|"supports shift analysis"| node_prevalence
node_cascade -->|"provides analysis outputs"| node_reporting
node_modeling -->|"provides model outputs"| node_reporting
node_prevalence -->|"provides analysis outputs"| node_reporting
node_reporting -->|"exports figures"| node_figures
node_reporting -->|"supports readiness audit"| node_audit
node_cli -->|"dispatches training"| node_modeling
node_cli -->|"dispatches reporting"| node_reporting

click node_cli "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cli/main.py"
click node_config "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/core/config/config_loader.py"
click node_paths "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/core/paths/path_manager.py"
click node_storage "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/infrastructure/storage/dataset_store.py"
click node_ingestion "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/data/ingestion/raw_ingestion_manager.py"
click node_cleaning "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/data/cleaning/site_cleaning_manager.py"
click node_harmonization "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/data/harmonization/harmonization_manager.py"
click node_gold "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/data/gold/gold_build_manager.py"
click node_eligibility "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/domain/services/eligibility_service.py"
click node_features "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/features/workflows/feature_build_workflow.py"
click node_cascade "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cascade/workflows/cascade_analysis_workflow.py"
click node_validation "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cascade/analyzers/cascade_validation_analyzer.py"
click node_sensitivity "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cascade/workflows/implied_sensitivity_workflow.py"
click node_eskape "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cascade/workflows/eskape_family_validation.py"
click node_modeling "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/modeling/workflows/modeling_workflow.py"
click node_prevalence "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/surveillance/workflows/prevalence_shift_workflow.py"
click node_reporting "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/reporting/workflows/report_export_workflow.py"
click node_figures "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/visualization/report/figure_manager.py"
click node_audit "https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/reporting/workflows/scientific_audit_workflow.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_ingestion,node_cleaning,node_harmonization,node_gold,node_eligibility,node_features toneBlue
class node_cascade,node_validation,node_sensitivity,node_eskape toneAmber
class node_modeling,node_prevalence toneMint
class node_reporting,node_figures,node_audit toneRose
class node_cli,node_config,node_paths,node_storage,node_operator toneIndigo
```

## Components

### Data preparation

- [Raw ingestion](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/data/ingestion/raw_ingestion_manager.py): `src/amr_cascade_platform/data/ingestion/raw_ingestion_manager.py`
- [Silver cleaning](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/data/cleaning/site_cleaning_manager.py): `src/amr_cascade_platform/data/cleaning/site_cleaning_manager.py`
- [Site harmonization](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/data/harmonization/harmonization_manager.py): `src/amr_cascade_platform/data/harmonization/harmonization_manager.py`
- [Gold datasets](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/data/gold/gold_build_manager.py): `src/amr_cascade_platform/data/gold/gold_build_manager.py`
- [Eligibility rules](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/domain/services/eligibility_service.py): `src/amr_cascade_platform/domain/services/eligibility_service.py`
- [Feature building](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/features/workflows/feature_build_workflow.py): `src/amr_cascade_platform/features/workflows/feature_build_workflow.py`

### Cascade analysis

- [Cascade analysis](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cascade/workflows/cascade_analysis_workflow.py): `src/amr_cascade_platform/cascade/workflows/cascade_analysis_workflow.py`
- [Pattern validation](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cascade/analyzers/cascade_validation_analyzer.py): `src/amr_cascade_platform/cascade/analyzers/cascade_validation_analyzer.py`
- [Sensitivity analysis](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cascade/workflows/implied_sensitivity_workflow.py): `src/amr_cascade_platform/cascade/workflows/implied_sensitivity_workflow.py`
- [ESKAPE extension](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cascade/workflows/eskape_family_validation.py): `src/amr_cascade_platform/cascade/workflows/eskape_family_validation.py`

### Prediction and surveillance

- [Supplementary prediction](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/modeling/workflows/modeling_workflow.py): `src/amr_cascade_platform/modeling/workflows/modeling_workflow.py`
- [Prevalence shifts](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/surveillance/workflows/prevalence_shift_workflow.py): `src/amr_cascade_platform/surveillance/workflows/prevalence_shift_workflow.py`

### Reporting and exports

- [Report generation](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/reporting/workflows/report_export_workflow.py): `src/amr_cascade_platform/reporting/workflows/report_export_workflow.py`
- [Figure exports](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/visualization/report/figure_manager.py): `src/amr_cascade_platform/visualization/report/figure_manager.py`
- [Scientific audit](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/reporting/workflows/scientific_audit_workflow.py): `src/amr_cascade_platform/reporting/workflows/scientific_audit_workflow.py`

### Runtime foundation

- [Command interface](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/cli/main.py): `src/amr_cascade_platform/cli/main.py`
- [Configuration](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/core/config/config_loader.py): `src/amr_cascade_platform/core/config/config_loader.py`
- [Path management](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/core/paths/path_manager.py): `src/amr_cascade_platform/core/paths/path_manager.py`
- [Dataset storage](https://github.com/ebenco36/amr_cascade_platfrom/blob/main/src/amr_cascade_platform/infrastructure/storage/dataset_store.py): `src/amr_cascade_platform/infrastructure/storage/dataset_store.py`

### Other components

- **Researcher**

## Connections

- Researcher → Command interface: runs commands (evidence: `src/amr_cascade_platform/cli/main.py`)
- Command interface → Configuration: loads settings (evidence: `src/amr_cascade_platform/cli/main.py`)
- Command interface → Raw ingestion: dispatches ingestion
- Raw ingestion → Dataset storage: writes datasets
- Raw ingestion → Silver cleaning: precedes (evidence: `README.md`)
- Silver cleaning → Site harmonization: precedes (evidence: `README.md`)
- Site harmonization → Gold datasets: builds from harmonized data (evidence: `src/amr_cascade_platform/data/gold/gold_build_manager.py`)
- Gold datasets → Eligibility rules: applies eligibility (evidence: `src/amr_cascade_platform/data/gold/gold_build_manager.py`)
- Gold datasets → Cascade analysis: supplies opportunities (evidence: `README.md`)
- Gold datasets → Feature building: supports feature building (evidence: `README.md`)
- Cascade analysis → Pattern validation: validates patterns (evidence: `README.md`)
- Cascade analysis → Sensitivity analysis: tests sensitivity (evidence: `README.md`)
- Cascade analysis → ESKAPE extension: extends analysis (evidence: `README.md`)
- Feature building → Supplementary prediction: supplies prediction inputs (evidence: `README.md`)
- Gold datasets → Prevalence shifts: supports shift analysis (evidence: `README.md`)
- Cascade analysis → Report generation: provides analysis outputs (evidence: `README.md`)
- Supplementary prediction → Report generation: provides model outputs (evidence: `README.md`)
- Prevalence shifts → Report generation: provides analysis outputs (evidence: `README.md`)
- Report generation → Figure exports: exports figures (evidence: `src/amr_cascade_platform/visualization/report/figure_manager.py`)
- Report generation → Scientific audit: supports readiness audit (evidence: `README.md`)
- Command interface → Supplementary prediction: dispatches training (evidence: `src/amr_cascade_platform/cli/main.py`)
- Command interface → Report generation: dispatches reporting (evidence: `src/amr_cascade_platform/cli/main.py`)
