# shivatejabadugu/healthcare-claims-analytics architecture

> Architecture diagram of the GitHub repository shivatejabadugu/healthcare-claims-analytics, 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/shivatejabadugu/healthcare-claims-analytics
- Repository: https://github.com/shivatejabadugu/healthcare-claims-analytics

## Overview

Healthcare Claims Analytics is a local dbt/DuckDB warehouse that turns payer eligibility, roster, medical-claim, and pharmacy-claim files into validated, versioned, dimensional data and plan-facing metrics. The workflow runs from synthetic data generation through staging, intermediate cleanup, core dimensions and facts, then analytics marts; rejected records form a data-quality branch. The README documents these layer relationships and major marts, but most SQL was not sampled, so the graph uses documented layer-level links rather than asserting unverified model-level calls.

Main entry points: [`models/marts/core/fct_claim_lines.sql`](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/core/fct_claim_lines.sql) (Medical claim fact), [`models/staging`](https://github.com/shivatejabadugu/healthcare-claims-analytics/tree/main/models/staging) (Typed staging), [`models/intermediate/int_medical_claim_lines__validated.sql`](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/intermediate/int_medical_claim_lines__validated.sql) (Validated claims), [`models/intermediate/int_medical_claims__final_version.sql`](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/intermediate/int_medical_claims__final_version.sql) (Final claim versions)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ingest["Data generation"]
  node_generator["Synthetic data generator<br/>[generate.py]"]
  node_landing["Payer landing files"]
end

subgraph group_transform["Claims transformation"]
  node_staging["Typed staging"]
  node_eligibility["Eligibility spans"]
  node_validated["Validated claims"]
  node_final_claims["Final claim versions"]
  node_member_months["Member months"]
end

subgraph group_warehouse["Core warehouse"]
  node_dimensions["Member and provider dimensions<br/>[dim_member.sql]"]
  node_claim_fact[("Medical claim fact")]
  node_inpatient_fact[("Inpatient stays")]
  node_pharmacy_fact[("Pharmacy claims fact")]
end

subgraph group_analytics["Analytics and quality"]
  node_pmpm[("PMPM mart<br/>[mart_pmpm.sql]")]
  node_readmissions[("Readmissions marts")]
  node_adherence[("Medication adherence")]
  node_member_analytics[("Member analytics")]
  node_scorecard[("Plan quality scorecard")]
  node_data_quality[("Rejected-record reporting")]
  node_analyses["Ad hoc analyses"]
end

node_generator -->|"writes extracts"| node_landing
node_landing -->|"loads and types"| node_staging
node_staging -->|"cleans spans"| node_eligibility
node_staging -->|"validates claims"| node_validated
node_validated -->|"resolves versions"| node_final_claims
node_eligibility -->|"derives months"| node_member_months
node_final_claims -->|"loads fact"| node_claim_fact
node_staging -->|"models dimensions"| node_dimensions
node_claim_fact -->|"merges stays"| node_inpatient_fact
node_final_claims -->|"models fills"| node_pharmacy_fact
node_claim_fact -->|"feeds metrics"| node_pmpm
node_member_months -->|"feeds metrics"| node_pmpm
node_inpatient_fact -->|"feeds stays"| node_readmissions
node_pharmacy_fact -->|"feeds fills"| node_adherence
node_dimensions -->|"feeds profiles"| node_member_analytics
node_claim_fact -->|"feeds costs"| node_member_analytics
node_pmpm -.->|"summarizes measures"| node_scorecard
node_readmissions -.->|"summarizes measures"| node_scorecard
node_adherence -.->|"summarizes measures"| node_scorecard
node_validated -->|"routes rejects"| node_data_quality
node_claim_fact -.->|"supports analysis"| node_analyses

click node_generator "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/generator/generate.py"
click node_staging "https://github.com/shivatejabadugu/healthcare-claims-analytics/tree/main/models/staging"
click node_eligibility "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/intermediate/int_eligibility__merged_spans.sql"
click node_validated "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/intermediate/int_medical_claim_lines__validated.sql"
click node_final_claims "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/intermediate/int_medical_claims__final_version.sql"
click node_member_months "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/intermediate/int_member_months.sql"
click node_dimensions "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/core/dim_member.sql"
click node_claim_fact "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/core/fct_claim_lines.sql"
click node_inpatient_fact "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/core/fct_inpatient_stays.sql"
click node_pharmacy_fact "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/core/fct_pharmacy_claims.sql"
click node_pmpm "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/analytics/mart_pmpm.sql"
click node_readmissions "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/analytics/mart_readmissions.sql"
click node_adherence "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/analytics/mart_medication_adherence.sql"
click node_member_analytics "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/analytics/mart_member_profile.sql"
click node_scorecard "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/analytics/mart_plan_quality_scorecard.sql"
click node_data_quality "https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/data_quality/dq_rejected_records.sql"
click node_analyses "https://github.com/shivatejabadugu/healthcare-claims-analytics/tree/main/analyses"

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_generator,node_landing toneBlue
class node_staging,node_eligibility,node_validated,node_final_claims,node_member_months toneAmber
class node_dimensions,node_claim_fact,node_inpatient_fact,node_pharmacy_fact toneMint
class node_pmpm,node_readmissions,node_adherence,node_member_analytics,node_scorecard,node_data_quality,node_analyses toneRose
```

## Components

### Data generation

- [Synthetic data generator](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/generator/generate.py): `generator/generate.py`
- **Payer landing files**

### Claims transformation

- [Typed staging](https://github.com/shivatejabadugu/healthcare-claims-analytics/tree/main/models/staging): `models/staging`
- [Eligibility spans](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/intermediate/int_eligibility__merged_spans.sql): `models/intermediate/int_eligibility__merged_spans.sql`
- [Validated claims](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/intermediate/int_medical_claim_lines__validated.sql): `models/intermediate/int_medical_claim_lines__validated.sql`
- [Final claim versions](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/intermediate/int_medical_claims__final_version.sql): `models/intermediate/int_medical_claims__final_version.sql`
- [Member months](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/intermediate/int_member_months.sql): `models/intermediate/int_member_months.sql`

### Core warehouse

- [Member and provider dimensions](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/core/dim_member.sql): `models/marts/core/dim_member.sql`
- [Medical claim fact](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/core/fct_claim_lines.sql): `models/marts/core/fct_claim_lines.sql`
- [Inpatient stays](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/core/fct_inpatient_stays.sql): `models/marts/core/fct_inpatient_stays.sql`
- [Pharmacy claims fact](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/core/fct_pharmacy_claims.sql): `models/marts/core/fct_pharmacy_claims.sql`

### Analytics and quality

- [PMPM mart](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/analytics/mart_pmpm.sql): `models/marts/analytics/mart_pmpm.sql`
- [Readmissions marts](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/analytics/mart_readmissions.sql): `models/marts/analytics/mart_readmissions.sql`
- [Medication adherence](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/analytics/mart_medication_adherence.sql): `models/marts/analytics/mart_medication_adherence.sql`
- [Member analytics](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/analytics/mart_member_profile.sql): `models/marts/analytics/mart_member_profile.sql`
- [Plan quality scorecard](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/analytics/mart_plan_quality_scorecard.sql): `models/marts/analytics/mart_plan_quality_scorecard.sql`
- [Rejected-record reporting](https://github.com/shivatejabadugu/healthcare-claims-analytics/blob/main/models/marts/data_quality/dq_rejected_records.sql): `models/marts/data_quality/dq_rejected_records.sql`
- [Ad hoc analyses](https://github.com/shivatejabadugu/healthcare-claims-analytics/tree/main/analyses): `analyses`

## Connections

- Synthetic data generator → Payer landing files: writes extracts (evidence: `README.md`)
- Payer landing files → Typed staging: loads and types (evidence: `README.md`)
- Typed staging → Eligibility spans: cleans spans (evidence: `README.md`)
- Typed staging → Validated claims: validates claims (evidence: `README.md`)
- Validated claims → Final claim versions: resolves versions (evidence: `README.md`)
- Eligibility spans → Member months: derives months (evidence: `README.md`)
- Final claim versions → Medical claim fact: loads fact (evidence: `README.md`)
- Typed staging → Member and provider dimensions: models dimensions (evidence: `README.md`)
- Medical claim fact → Inpatient stays: merges stays (evidence: `README.md`)
- Final claim versions → Pharmacy claims fact: models fills (evidence: `README.md`)
- Medical claim fact → PMPM mart: feeds metrics (evidence: `README.md`)
- Member months → PMPM mart: feeds metrics (evidence: `README.md`)
- Inpatient stays → Readmissions marts: feeds stays (evidence: `README.md`)
- Pharmacy claims fact → Medication adherence: feeds fills (evidence: `README.md`)
- Member and provider dimensions → Member analytics: feeds profiles (evidence: `README.md`)
- Medical claim fact → Member analytics: feeds costs (evidence: `README.md`)
- PMPM mart → Plan quality scorecard: summarizes measures
- Readmissions marts → Plan quality scorecard: summarizes measures
- Medication adherence → Plan quality scorecard: summarizes measures
- Validated claims → Rejected-record reporting: routes rejects (evidence: `README.md`)
- Medical claim fact → Ad hoc analyses: supports analysis
