# enterprise-cmcs/t-msis-analytic-file-generation-python architecture

> Architecture diagram of the GitHub repository enterprise-cmcs/t-msis-analytic-file-generation-python, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/enterprise-cmcs/t-msis-analytic-file-generation-python
- Repository: https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python

## Overview

This is a PySpark/Databricks library for generating CMS T-MSIS Analytic Files from T-MSIS data. Its user-facing workflow is to run a selected file type, independently or in parallel, and produce the corresponding analytic file; annual demographic/eligibility and provider files, claims files, and supplemental file types are distinct product stages. The tree and README establish these capabilities, but sampled source is partial, so the graph keeps most cross-module wiring at the documented entry-point level rather than inferring a detailed pipeline.

Main entry points: [`taf/TAF.py`](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF.py) (TAF framework), [`taf/TAF_Closure.py`](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF_Closure.py) (Claims closure), [`taf/TAF_Runner.py`](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF_Runner.py) (TAF runner), [`taf/DE/DE.py`](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/DE/DE.py) (Demographics / eligibility)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_orchestration["Execution"]
  node_taf_runner["TAF runner<br/>[TAF_Runner.py]"]
  node_taf_core["TAF framework<br/>[TAF.py]"]
end

subgraph group_annual["Annual files"]
  node_de["Demographics / eligibility<br/>[DE.py]"]
  node_apr["Annual providers<br/>[APR.py]"]
  node_prv["Provider file<br/>[PRV.py]"]
end

subgraph group_claims["Claims files"]
  node_ip["Inpatient claims<br/>[IP.py]"]
  node_lt["Long-term claims<br/>[LT.py]"]
  node_ot["Other claims<br/>[OT.py]"]
  node_rx["Pharmacy claims<br/>[RX.py]"]
end

subgraph group_supplemental["Other files"]
  node_apl["Applicant file<br/>[APL.py]"]
  node_bsf["Beneficiary summary<br/>[BSF_Runner.py]"]
  node_ftx["Financial transactions<br/>[FTX_Runner.py]"]
  node_mcp["Managed care plans<br/>[MCP.py]"]
  node_up["Unpaid claims<br/>[UP.py]"]
end

subgraph group_shared["Shared logic"]
  node_claims_logic["Claims grouping<br/>[TAF_Grouper.py]"]
  node_claims_closure["Claims closure<br/>[TAF_Closure.py]"]
  node_metadata["TAF metadata<br/>[TAF_Metadata.py]"]
end

node_databricks_user(("Notebook user"))
node_taf_output["Generated TAF files"]

node_databricks_user -->|"selects file type"| node_taf_runner
node_taf_runner -->|"dispatches"| node_taf_core
node_taf_core -->|"creates"| node_de
node_taf_core -->|"creates"| node_apr
node_taf_core -->|"creates"| node_prv
node_taf_core -->|"creates"| node_ip
node_taf_core -->|"creates"| node_lt
node_taf_core -->|"creates"| node_ot
node_taf_core -->|"creates"| node_rx
node_taf_core -->|"creates"| node_apl
node_taf_core -->|"creates"| node_bsf
node_taf_core -->|"creates"| node_ftx
node_taf_core -->|"creates"| node_mcp
node_taf_core -->|"creates"| node_up
node_apr -->|"produces"| node_taf_output
node_de -->|"produces"| node_taf_output
node_taf_runner -->|"runs selected generation"| node_taf_output
node_claims_logic -->|"supports"| node_taf_core
node_claims_closure -->|"cleans claim fields"| node_ip
node_claims_closure -->|"cleans claim fields"| node_lt
node_claims_closure -->|"cleans claim fields"| node_ot
node_claims_closure -->|"cleans claim fields"| node_rx
node_metadata -->|"provides metadata"| node_taf_core

click node_taf_runner "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF_Runner.py"
click node_taf_core "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF.py"
click node_de "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/DE/DE.py"
click node_apr "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/APR/APR.py"
click node_prv "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/PRV/PRV.py"
click node_ip "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/IP/IP.py"
click node_lt "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/LT/LT.py"
click node_ot "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/OT/OT.py"
click node_rx "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/RX/RX.py"
click node_apl "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/APL/APL.py"
click node_bsf "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/BSF/BSF_Runner.py"
click node_ftx "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/FTX/FTX_Runner.py"
click node_mcp "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/MCP/MCP.py"
click node_up "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/UP/UP.py"
click node_claims_logic "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF_Grouper.py"
click node_claims_closure "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF_Closure.py"
click node_metadata "https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF_Metadata.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_taf_runner,node_taf_core,node_databricks_user toneBlue
class node_de,node_apr,node_prv toneAmber
class node_ip,node_lt,node_ot,node_rx toneMint
class node_apl,node_bsf,node_ftx,node_mcp,node_up toneRose
class node_claims_logic,node_claims_closure,node_metadata,node_taf_output toneIndigo
```

## Components

### Execution

- [TAF runner](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF_Runner.py): `taf/TAF_Runner.py`
- [TAF framework](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF.py): `taf/TAF.py`

### Annual files

- [Demographics / eligibility](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/DE/DE.py): `taf/DE/DE.py`
- [Annual providers](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/APR/APR.py): `taf/APR/APR.py`
- [Provider file](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/PRV/PRV.py): `taf/PRV/PRV.py`

### Claims files

- [Inpatient claims](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/IP/IP.py): `taf/IP/IP.py`
- [Long-term claims](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/LT/LT.py): `taf/LT/LT.py`
- [Other claims](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/OT/OT.py): `taf/OT/OT.py`
- [Pharmacy claims](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/RX/RX.py): `taf/RX/RX.py`

### Other files

- [Applicant file](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/APL/APL.py): `taf/APL/APL.py`
- [Beneficiary summary](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/BSF/BSF_Runner.py): `taf/BSF/BSF_Runner.py`
- [Financial transactions](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/FTX/FTX_Runner.py): `taf/FTX/FTX_Runner.py`
- [Managed care plans](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/MCP/MCP.py): `taf/MCP/MCP.py`
- [Unpaid claims](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/UP/UP.py): `taf/UP/UP.py`

### Shared logic

- [Claims grouping](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF_Grouper.py): `taf/TAF_Grouper.py`
- [Claims closure](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF_Closure.py): `taf/TAF_Closure.py`
- [TAF metadata](https://github.com/enterprise-cmcs/t-msis-analytic-file-generation-python/blob/main/taf/TAF_Metadata.py): `taf/TAF_Metadata.py`

### Other components

- **Notebook user**
- **Generated TAF files**

## Connections

- Notebook user → TAF runner: selects file type
- TAF runner → TAF framework: dispatches
- TAF framework → Demographics / eligibility: creates
- TAF framework → Annual providers: creates
- TAF framework → Provider file: creates
- TAF framework → Inpatient claims: creates
- TAF framework → Long-term claims: creates
- TAF framework → Other claims: creates
- TAF framework → Pharmacy claims: creates
- TAF framework → Applicant file: creates
- TAF framework → Beneficiary summary: creates
- TAF framework → Financial transactions: creates
- TAF framework → Managed care plans: creates
- TAF framework → Unpaid claims: creates
- Annual providers → Generated TAF files: produces
- Demographics / eligibility → Generated TAF files: produces
- TAF runner → Generated TAF files: runs selected generation
- Claims grouping → TAF framework: supports
- Claims closure → Inpatient claims: cleans claim fields
- Claims closure → Long-term claims: cleans claim fields
- Claims closure → Other claims: cleans claim fields
- Claims closure → Pharmacy claims: cleans claim fields
- TAF metadata → TAF framework: provides metadata
