# calisatgi/sla-reporting-tool architecture

> Architecture diagram of the GitHub repository calisatgi/sla-reporting-tool, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/calisatgi/sla-reporting-tool
- Repository: https://github.com/calisatgi/sla-reporting-tool

## Overview

This repository is a monthly SLA reporting consolidator: an operator runs a Python script that uses billing workbooks, fulfillment PDFs, and report templates to populate client SLA reports in an output directory. The documented-by-filesystem report families include Advantasure/regional reports and a distinct BCBSM MA report; the script also handles template preparation and comparison-oriented validation. The README is empty, and only excerpts of the consolidator were sampled, so the graph focuses on evidenced inputs and processing and omits uncertain internal wiring.

Main entry points: [`run_consolidator.py`](https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py) (Consolidator runner), [`output_reports`](https://github.com/calisatgi/sla-reporting-tool/tree/main/output_reports) (Generated reports), [`docs/SLA Material - Kit/SLA Material - Kit`](https://github.com/calisatgi/sla-reporting-tool/tree/main/docs/SLA%20Material%20-%20Kit/SLA%20Material%20-%20Kit) (Billing and SLA materials), [`May 2026`](https://github.com/calisatgi/sla-reporting-tool/tree/main/May%202026) (Monthly materials)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_inputs["Reporting inputs"]
  node_templates["Report templates"]
  node_materials["Billing and SLA materials"]
  node_monthly_materials["Monthly materials"]
end

subgraph group_processing["Consolidation"]
  node_runner["Consolidator runner"]
  node_template_prep["Template preparation"]
  node_source_matching["Source matching"]
  node_material_parsing["Workbook and PDF parsing"]
  node_regional_reports["Regional SLA reports"]
  node_bcbs_reports["BCBSM MA report"]
end

subgraph group_results["Report outputs"]
  node_output_reports["Generated reports"]
end

node_operator(("Operator"))

node_operator -->|"runs"| node_runner
node_runner -->|"invokes"| node_template_prep
node_runner -->|"invokes"| node_source_matching
node_runner -->|"invokes"| node_regional_reports
node_runner -->|"invokes"| node_bcbs_reports
node_template_prep -->|"copies templates"| node_templates
node_template_prep -->|"prepares copies"| node_output_reports
node_source_matching -->|"matches inputs"| node_materials
node_source_matching -->|"matches inputs"| node_monthly_materials
node_regional_reports -->|"uses parsers"| node_material_parsing
node_bcbs_reports -->|"uses parsers"| node_material_parsing
node_regional_reports -->|"writes reports"| node_output_reports
node_bcbs_reports -->|"writes report"| node_output_reports
node_material_parsing -->|"reads workbooks and PDFs"| node_materials
node_material_parsing -->|"reads workbooks and PDFs"| node_monthly_materials

click node_runner "https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py"
click node_templates "https://github.com/calisatgi/sla-reporting-tool/tree/main/docs/SLA%20Reports%20-%20Kit/SLA%20Reports%20-%20Kit"
click node_materials "https://github.com/calisatgi/sla-reporting-tool/tree/main/docs/SLA%20Material%20-%20Kit/SLA%20Material%20-%20Kit"
click node_monthly_materials "https://github.com/calisatgi/sla-reporting-tool/tree/main/May%202026"
click node_template_prep "https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py"
click node_source_matching "https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py"
click node_material_parsing "https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py"
click node_regional_reports "https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py"
click node_bcbs_reports "https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py"
click node_output_reports "https://github.com/calisatgi/sla-reporting-tool/tree/main/output_reports"

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_templates,node_materials,node_monthly_materials toneBlue
class node_runner,node_template_prep,node_source_matching,node_material_parsing,node_regional_reports,node_bcbs_reports toneAmber
class node_output_reports toneMint
class node_operator toneIndigo
```

## Components

### Reporting inputs

- [Report templates](https://github.com/calisatgi/sla-reporting-tool/tree/main/docs/SLA%20Reports%20-%20Kit/SLA%20Reports%20-%20Kit): `docs/SLA Reports - Kit/SLA Reports - Kit`
- [Billing and SLA materials](https://github.com/calisatgi/sla-reporting-tool/tree/main/docs/SLA%20Material%20-%20Kit/SLA%20Material%20-%20Kit): `docs/SLA Material - Kit/SLA Material - Kit`
- [Monthly materials](https://github.com/calisatgi/sla-reporting-tool/tree/main/May%202026): `May 2026`

### Consolidation

- [Consolidator runner](https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py): `run_consolidator.py`
- [Template preparation](https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py): `run_consolidator.py`
- [Source matching](https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py): `run_consolidator.py`
- [Workbook and PDF parsing](https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py): `run_consolidator.py`
- [Regional SLA reports](https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py): `run_consolidator.py`
- [BCBSM MA report](https://github.com/calisatgi/sla-reporting-tool/blob/main/run_consolidator.py): `run_consolidator.py`

### Report outputs

- [Generated reports](https://github.com/calisatgi/sla-reporting-tool/tree/main/output_reports): `output_reports`

### Other components

- **Operator**

## Connections

- Operator → Consolidator runner: runs
- Consolidator runner → Template preparation: invokes
- Consolidator runner → Source matching: invokes
- Consolidator runner → Regional SLA reports: invokes
- Consolidator runner → BCBSM MA report: invokes
- Template preparation → Report templates: copies templates
- Template preparation → Generated reports: prepares copies
- Source matching → Billing and SLA materials: matches inputs
- Source matching → Monthly materials: matches inputs
- Regional SLA reports → Workbook and PDF parsing: uses parsers
- BCBSM MA report → Workbook and PDF parsing: uses parsers
- Regional SLA reports → Generated reports: writes reports
- BCBSM MA report → Generated reports: writes report
- Workbook and PDF parsing → Billing and SLA materials: reads workbooks and PDFs
- Workbook and PDF parsing → Monthly materials: reads workbooks and PDFs
