implement P6 bibliography: col tags, bib sync, generate models, lineage (fix #22, fix #23, fix #24, fix #25)
- dev/scripts/seed_col_tags.py: seed 138 col: tags for core, input_layer,
and cclf schemas from CMS data dictionaries and Tuva documentation
- src/cli/bib.py: wire sync (apply col: tags as DuckDB column comments),
tag (list/search tags), query (search items) commands
- src/cli/generate.py: wire models command with --sync/--no-sync flag
to apply column comments before regenerating enriched Pydantic models
- src/aco/lake/lineage.py: build table-level DAG from pipeline Exprs,
column-level lineage from Field metadata, export as DOT/Mermaid
- src/api/routes/lineage.py: GET /lineage, /lineage/{table},
/lineage/export/mermaid, /lineage/export/dot endpoints
- fix import sorting in generated table models (ruff I001)
This commit is contained in:
BIN
data/bib.sqlite
Normal file
BIN
data/bib.sqlite
Normal file
Binary file not shown.
275
dev/scripts/seed_col_tags.py
Normal file
275
dev/scripts/seed_col_tags.py
Normal file
@@ -0,0 +1,275 @@
|
|||||||
|
"""Seed col: tags for core, input_layer, and cclf schemas.
|
||||||
|
|
||||||
|
Creates a bib store item for column documentation, then attaches
|
||||||
|
col:schema.table.column=description tags for high-value tables.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
uv run python dev/scripts/seed_col_tags.py [--dry-run]
|
||||||
|
"""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from bib import connect
|
||||||
|
from bib.item import Source
|
||||||
|
from bib.tag import Tag
|
||||||
|
|
||||||
|
# ── Known column descriptions from CMS data dictionaries ──────────
|
||||||
|
|
||||||
|
# CCLF field descriptions (from CCLF Information Packet)
|
||||||
|
CCLF_DESCRIPTIONS: dict[str, dict[str, str]] = {
|
||||||
|
"cclf.cclf1": {
|
||||||
|
"cur_clm_uniq_id": "Current claim unique identifier",
|
||||||
|
"clm_line_num": "Claim line number",
|
||||||
|
"bene_mbi_id": "Beneficiary Medicare Beneficiary Identifier",
|
||||||
|
"bene_hic_num": "Beneficiary Health Insurance Claim number",
|
||||||
|
"clm_type_cd": "Claim type code",
|
||||||
|
"clm_from_dt": "Claim service from date",
|
||||||
|
"clm_thru_dt": "Claim service through date",
|
||||||
|
"clm_bill_fac_type_cd": "Claim bill facility type code",
|
||||||
|
"clm_bill_clsfctn_cd": "Claim bill classification code",
|
||||||
|
"prvdr_oscar_num": "Provider OSCAR number",
|
||||||
|
"clm_fed_type_srvc_cd": "Federal type of service code",
|
||||||
|
"clm_pos_cd": "Claim place of service code",
|
||||||
|
"clm_line_from_dt": "Claim line service from date",
|
||||||
|
"clm_line_thru_dt": "Claim line service through date",
|
||||||
|
"clm_line_hcpcs_cd": "Claim line HCPCS code",
|
||||||
|
"clm_line_srvc_unit_qty": "Claim line service unit quantity",
|
||||||
|
"clm_line_cvrd_pd_amt": "Claim line covered paid amount",
|
||||||
|
"hcpcs_1_mdfr_cd": "First HCPCS modifier code",
|
||||||
|
"hcpcs_2_mdfr_cd": "Second HCPCS modifier code",
|
||||||
|
"clm_line_dgns_cd": "Claim line diagnosis code",
|
||||||
|
"clm_tot_chrg_amt": "Total charge amount for the claim",
|
||||||
|
},
|
||||||
|
"cclf.cclf2": {
|
||||||
|
"cur_clm_uniq_id": "Current claim unique identifier",
|
||||||
|
"clm_line_num": "Claim line number",
|
||||||
|
"bene_mbi_id": "Beneficiary Medicare Beneficiary Identifier",
|
||||||
|
"clm_dgns_1_cd": "Claim diagnosis code 1",
|
||||||
|
"clm_dgns_2_cd": "Claim diagnosis code 2",
|
||||||
|
"clm_dgns_3_cd": "Claim diagnosis code 3",
|
||||||
|
"clm_dgns_4_cd": "Claim diagnosis code 4",
|
||||||
|
"clm_dgns_5_cd": "Claim diagnosis code 5",
|
||||||
|
},
|
||||||
|
"cclf.cclf5": {
|
||||||
|
"cur_clm_uniq_id": "Current claim unique identifier",
|
||||||
|
"clm_line_num": "Claim line number",
|
||||||
|
"bene_mbi_id": "Beneficiary Medicare Beneficiary Identifier",
|
||||||
|
"clm_from_dt": "Claim service from date",
|
||||||
|
"clm_thru_dt": "Claim service through date",
|
||||||
|
"clm_line_hcpcs_cd": "Claim line HCPCS code",
|
||||||
|
"clm_pos_cd": "Place of service code",
|
||||||
|
"clm_line_srvc_unit_qty": "Claim line service unit quantity",
|
||||||
|
"clm_prmry_pyr_cd": "Primary payer code",
|
||||||
|
"payto_prvdr_npi_num": "Pay-to provider NPI",
|
||||||
|
"ordrg_prvdr_npi_num": "Ordering provider NPI",
|
||||||
|
},
|
||||||
|
"cclf.cclf8": {
|
||||||
|
"bene_mbi_id": "Beneficiary Medicare Beneficiary Identifier",
|
||||||
|
"bene_hic_num": "Beneficiary Health Insurance Claim number",
|
||||||
|
"bene_fips_state_cd": "Beneficiary FIPS state code",
|
||||||
|
"bene_fips_cnty_cd": "Beneficiary FIPS county code",
|
||||||
|
"bene_zip_cd": "Beneficiary ZIP code",
|
||||||
|
"bene_dob": "Beneficiary date of birth",
|
||||||
|
"bene_sex_cd": "Beneficiary sex code",
|
||||||
|
"bene_race_cd": "Beneficiary race code",
|
||||||
|
"bene_mdcr_stus_cd": "Beneficiary Medicare status code",
|
||||||
|
"bene_dual_stus_cd": "Beneficiary dual eligibility status code",
|
||||||
|
"bene_death_dt": "Beneficiary date of death",
|
||||||
|
"bene_entlmt_rsn_curr": "Current entitlement reason code",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
# Core model descriptions (from Tuva data model)
|
||||||
|
CORE_DESCRIPTIONS: dict[str, dict[str, str]] = {
|
||||||
|
"core.patient": {
|
||||||
|
"patient_id": "Unique patient identifier",
|
||||||
|
"sex": "Patient biological sex",
|
||||||
|
"birth_date": "Patient date of birth",
|
||||||
|
"death_date": "Patient date of death",
|
||||||
|
"death_flag": "Whether patient is deceased",
|
||||||
|
"race": "Patient race",
|
||||||
|
"zip_code": "Patient ZIP code",
|
||||||
|
"state": "Patient state of residence",
|
||||||
|
"county": "Patient county of residence",
|
||||||
|
"latitude": "Patient geocoded latitude",
|
||||||
|
"longitude": "Patient geocoded longitude",
|
||||||
|
},
|
||||||
|
"core.encounter": {
|
||||||
|
"encounter_id": "Unique encounter identifier",
|
||||||
|
"patient_id": "Patient associated with encounter",
|
||||||
|
"encounter_type": "Type of encounter (acute inpatient, outpatient, etc.)",
|
||||||
|
"encounter_start_date": "Encounter admission or start date",
|
||||||
|
"encounter_end_date": "Encounter discharge or end date",
|
||||||
|
"admit_source_code": "Source of admission code",
|
||||||
|
"admit_type_code": "Type of admission code",
|
||||||
|
"discharge_disposition_code": "Discharge disposition code",
|
||||||
|
"ms_drg_code": "Medicare Severity DRG code",
|
||||||
|
"apr_drg_code": "All-Patient Refined DRG code",
|
||||||
|
"facility_id": "Facility where encounter occurred",
|
||||||
|
"attending_provider_id": "Attending provider identifier",
|
||||||
|
"paid_amount": "Total paid amount for encounter",
|
||||||
|
"charge_amount": "Total charge amount for encounter",
|
||||||
|
},
|
||||||
|
"core.medical_claim": {
|
||||||
|
"claim_id": "Unique claim identifier",
|
||||||
|
"claim_line_number": "Line number within the claim",
|
||||||
|
"patient_id": "Patient associated with the claim",
|
||||||
|
"claim_type": "Type of claim (institutional, professional)",
|
||||||
|
"claim_start_date": "Claim service start date",
|
||||||
|
"claim_end_date": "Claim service end date",
|
||||||
|
"place_of_service_code": "Place of service code",
|
||||||
|
"hcpcs_code": "HCPCS/CPT procedure code",
|
||||||
|
"revenue_center_code": "Revenue center code",
|
||||||
|
"diagnosis_code_1": "Primary diagnosis code (ICD-10)",
|
||||||
|
"paid_amount": "Amount paid for claim line",
|
||||||
|
"charge_amount": "Amount charged for claim line",
|
||||||
|
"billing_npi": "Billing provider NPI",
|
||||||
|
"rendering_npi": "Rendering provider NPI",
|
||||||
|
"facility_npi": "Facility NPI",
|
||||||
|
},
|
||||||
|
"core.condition": {
|
||||||
|
"condition_id": "Unique condition identifier",
|
||||||
|
"patient_id": "Patient with the condition",
|
||||||
|
"condition_type": "Type of condition record",
|
||||||
|
"code_type": "Code system (icd-10-cm, snomed-ct)",
|
||||||
|
"code": "Condition diagnosis code",
|
||||||
|
"onset_date": "Date condition was first recorded",
|
||||||
|
"resolved_date": "Date condition was resolved",
|
||||||
|
"source_model": "Source system that recorded the condition",
|
||||||
|
},
|
||||||
|
"core.eligibility": {
|
||||||
|
"patient_id": "Patient identifier",
|
||||||
|
"enrollment_start_date": "Enrollment period start date",
|
||||||
|
"enrollment_end_date": "Enrollment period end date",
|
||||||
|
"payer": "Insurance payer name",
|
||||||
|
"payer_type": "Payer category (medicare, medicaid, commercial)",
|
||||||
|
"plan": "Insurance plan name",
|
||||||
|
"dual_status_code": "Dual eligibility status code",
|
||||||
|
"medicare_status_code": "Medicare entitlement status code",
|
||||||
|
"original_reason_entitlement_code": "Original reason for Medicare entitlement",
|
||||||
|
},
|
||||||
|
"core.pharmacy_claim": {
|
||||||
|
"claim_id": "Unique pharmacy claim identifier",
|
||||||
|
"patient_id": "Patient identifier",
|
||||||
|
"dispensing_date": "Date prescription was dispensed",
|
||||||
|
"ndc_code": "National Drug Code",
|
||||||
|
"quantity": "Quantity dispensed",
|
||||||
|
"days_supply": "Number of days supply",
|
||||||
|
"paid_amount": "Amount paid for prescription",
|
||||||
|
"prescribing_provider_npi": "Prescribing provider NPI",
|
||||||
|
"dispensing_provider_npi": "Dispensing pharmacy NPI",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
# Input layer descriptions
|
||||||
|
INPUT_LAYER_DESCRIPTIONS: dict[str, dict[str, str]] = {
|
||||||
|
"input_layer.medical_claim": {
|
||||||
|
"claim_id": "Source claim identifier",
|
||||||
|
"claim_line_number": "Line number within the claim",
|
||||||
|
"patient_id": "Patient identifier from source system",
|
||||||
|
"claim_start_date": "Claim service start date",
|
||||||
|
"claim_end_date": "Claim service end date",
|
||||||
|
"hcpcs_code": "HCPCS/CPT procedure code",
|
||||||
|
"place_of_service_code": "Place of service code",
|
||||||
|
"diagnosis_code_1": "Primary diagnosis code",
|
||||||
|
"paid_amount": "Paid amount from source",
|
||||||
|
},
|
||||||
|
"input_layer.eligibility": {
|
||||||
|
"patient_id": "Patient identifier from source system",
|
||||||
|
"enrollment_start_date": "Coverage start date",
|
||||||
|
"enrollment_end_date": "Coverage end date",
|
||||||
|
"payer": "Payer name from source",
|
||||||
|
"payer_type": "Payer type classification",
|
||||||
|
},
|
||||||
|
"input_layer.pharmacy_claim": {
|
||||||
|
"claim_id": "Source pharmacy claim identifier",
|
||||||
|
"patient_id": "Patient identifier",
|
||||||
|
"dispensing_date": "Date prescription was dispensed",
|
||||||
|
"ndc_code": "National Drug Code from source",
|
||||||
|
"quantity": "Quantity dispensed",
|
||||||
|
"days_supply": "Number of days supply",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def seed_tags(dry_run: bool = False) -> dict[str, int]:
|
||||||
|
"""Seed col: tags into the bib store.
|
||||||
|
|
||||||
|
Returns dict with counts: created, skipped, errors.
|
||||||
|
"""
|
||||||
|
store = connect()
|
||||||
|
|
||||||
|
# Find or create the documentation item to attach tags to
|
||||||
|
items = store.list_items(query="column documentation")
|
||||||
|
if items:
|
||||||
|
item_key = items[0].key
|
||||||
|
else:
|
||||||
|
item = Source(
|
||||||
|
key="",
|
||||||
|
title="Column Documentation Tags",
|
||||||
|
url="",
|
||||||
|
abstract="Container item for col: namespace tags that document table columns.",
|
||||||
|
tags=["module:aco"],
|
||||||
|
)
|
||||||
|
item_key = store.create(item, tags=["module:aco"], collection="")
|
||||||
|
print(f"Created documentation item: {item_key}")
|
||||||
|
|
||||||
|
# Merge all description dicts
|
||||||
|
all_descriptions: dict[str, dict[str, str]] = {}
|
||||||
|
all_descriptions.update(CCLF_DESCRIPTIONS)
|
||||||
|
all_descriptions.update(CORE_DESCRIPTIONS)
|
||||||
|
all_descriptions.update(INPUT_LAYER_DESCRIPTIONS)
|
||||||
|
|
||||||
|
counts = {"created": 0, "skipped": 0, "errors": 0}
|
||||||
|
|
||||||
|
# Get existing col: tags
|
||||||
|
existing_tags = {t["name"] for t in store.list_tags(namespace="col")}
|
||||||
|
|
||||||
|
for table_ref, columns in sorted(all_descriptions.items()):
|
||||||
|
for col_name, description in sorted(columns.items()):
|
||||||
|
tag = Tag.col(f"{table_ref}.{col_name}", description)
|
||||||
|
label = tag.label
|
||||||
|
|
||||||
|
if label in existing_tags:
|
||||||
|
counts["skipped"] += 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
if dry_run:
|
||||||
|
print(f" would add: {label}")
|
||||||
|
counts["created"] += 1
|
||||||
|
continue
|
||||||
|
|
||||||
|
try:
|
||||||
|
store.add_tag(item_key, label)
|
||||||
|
counts["created"] += 1
|
||||||
|
except Exception as e:
|
||||||
|
print(f" ERROR: {label}: {e}", file=sys.stderr)
|
||||||
|
counts["errors"] += 1
|
||||||
|
|
||||||
|
return counts
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> None:
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
description="Seed col: tags for column descriptions"
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--dry-run", action="store_true", help="Report without creating"
|
||||||
|
)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
counts = seed_tags(dry_run=args.dry_run)
|
||||||
|
|
||||||
|
verb = "Would create" if args.dry_run else "Created"
|
||||||
|
print(
|
||||||
|
f"\n{verb} {counts['created']} tags, "
|
||||||
|
f"skipped {counts['skipped']}, "
|
||||||
|
f"errors {counts['errors']}"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
101
src/aco/lake/lineage.py
Normal file
101
src/aco/lake/lineage.py
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
"""Column-level lineage graph from Expr inputs and Field metadata.
|
||||||
|
|
||||||
|
Walks all pipeline Expr objects to build a table-level DAG, then
|
||||||
|
inspects Field metadata (json_schema_extra.source) for column-level
|
||||||
|
lineage.
|
||||||
|
|
||||||
|
Usage::
|
||||||
|
|
||||||
|
from aco.lake.lineage import build_lineage
|
||||||
|
|
||||||
|
graph = build_lineage()
|
||||||
|
graph.table_deps("readmissions.encounter")
|
||||||
|
graph.column_lineage("readmissions.encounter", "readmission_flag")
|
||||||
|
graph.to_mermaid()
|
||||||
|
"""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import inspect
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
|
from aco.pipe.runner import _param_to_table
|
||||||
|
|
||||||
|
|
||||||
|
class LineageGraph:
|
||||||
|
"""Table and column lineage graph."""
|
||||||
|
|
||||||
|
def __init__(self) -> None:
|
||||||
|
self.table_edges: dict[str, list[str]] = {} # output -> [inputs]
|
||||||
|
self.column_sources: dict[str, dict[str, str]] = {} # table -> {col: source}
|
||||||
|
|
||||||
|
def table_deps(self, table_ref: str) -> list[str]:
|
||||||
|
"""Return direct input tables for a given output table."""
|
||||||
|
return self.table_edges.get(table_ref, [])
|
||||||
|
|
||||||
|
def all_tables(self) -> list[str]:
|
||||||
|
"""Return all tables in the lineage graph."""
|
||||||
|
tables = set(self.table_edges.keys())
|
||||||
|
for inputs in self.table_edges.values():
|
||||||
|
tables.update(inputs)
|
||||||
|
return sorted(tables)
|
||||||
|
|
||||||
|
def column_lineage(self, table_ref: str, column: str) -> str | None:
|
||||||
|
"""Return source reference for a column, if annotated."""
|
||||||
|
return self.column_sources.get(table_ref, {}).get(column)
|
||||||
|
|
||||||
|
def to_dot(self) -> str:
|
||||||
|
"""Export lineage as DOT graph."""
|
||||||
|
lines = ["digraph lineage {", " rankdir=LR;"]
|
||||||
|
for output, inputs in sorted(self.table_edges.items()):
|
||||||
|
for inp in inputs:
|
||||||
|
lines.append(f' "{inp}" -> "{output}";')
|
||||||
|
lines.append("}")
|
||||||
|
return "\n".join(lines)
|
||||||
|
|
||||||
|
def to_mermaid(self) -> str:
|
||||||
|
"""Export lineage as Mermaid flowchart."""
|
||||||
|
lines = ["graph LR"]
|
||||||
|
for output, inputs in sorted(self.table_edges.items()):
|
||||||
|
safe_out = output.replace(".", "_")
|
||||||
|
for inp in inputs:
|
||||||
|
safe_in = inp.replace(".", "_")
|
||||||
|
lines.append(f" {safe_in}[{inp}] --> {safe_out}[{output}]")
|
||||||
|
return "\n".join(lines)
|
||||||
|
|
||||||
|
def to_dict(self) -> dict[str, Any]:
|
||||||
|
"""Serialize to JSON-friendly dict."""
|
||||||
|
return {
|
||||||
|
"tables": self.all_tables(),
|
||||||
|
"edges": self.table_edges,
|
||||||
|
"column_sources": self.column_sources,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def build_lineage() -> LineageGraph:
|
||||||
|
"""Build lineage graph from all registered pipelines."""
|
||||||
|
from aco.pipe import registry
|
||||||
|
|
||||||
|
graph = LineageGraph()
|
||||||
|
|
||||||
|
for pipeline in registry.values():
|
||||||
|
for expr in pipeline.exprs:
|
||||||
|
output_name = expr.name
|
||||||
|
fn = expr.fn
|
||||||
|
|
||||||
|
# Table-level: function parameters → input tables
|
||||||
|
sig = inspect.signature(fn)
|
||||||
|
inputs = [_param_to_table(p) for p in sig.parameters]
|
||||||
|
graph.table_edges[output_name] = inputs
|
||||||
|
|
||||||
|
# Column-level: Field metadata with source annotation
|
||||||
|
if hasattr(expr, "output_cls") and expr.output_cls is not None:
|
||||||
|
col_sources: dict[str, str] = {}
|
||||||
|
for field_name, field_info in expr.output_cls.model_fields.items():
|
||||||
|
extra = field_info.json_schema_extra
|
||||||
|
if isinstance(extra, dict) and "source" in extra:
|
||||||
|
col_sources[field_name] = extra["source"]
|
||||||
|
if col_sources:
|
||||||
|
graph.column_sources[output_name] = col_sources
|
||||||
|
|
||||||
|
return graph
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -16,7 +16,7 @@ class AhrqMeasuresIntPqi01Denom(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi01Exclusions(SQLTable):
|
class AhrqMeasuresIntPqi01Exclusions(SQLTable):
|
||||||
@@ -29,7 +29,7 @@ class AhrqMeasuresIntPqi01Exclusions(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_number: int | None = None
|
exclusion_number: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi01Num(SQLTable):
|
class AhrqMeasuresIntPqi01Num(SQLTable):
|
||||||
@@ -42,7 +42,7 @@ class AhrqMeasuresIntPqi01Num(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
year_number: int | None = None
|
year_number: int | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi03Denom(SQLTable):
|
class AhrqMeasuresIntPqi03Denom(SQLTable):
|
||||||
@@ -55,7 +55,7 @@ class AhrqMeasuresIntPqi03Denom(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi03Exclusions(SQLTable):
|
class AhrqMeasuresIntPqi03Exclusions(SQLTable):
|
||||||
@@ -68,7 +68,7 @@ class AhrqMeasuresIntPqi03Exclusions(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_number: int | None = None
|
exclusion_number: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi03Num(SQLTable):
|
class AhrqMeasuresIntPqi03Num(SQLTable):
|
||||||
@@ -81,7 +81,7 @@ class AhrqMeasuresIntPqi03Num(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
year_number: int | None = None
|
year_number: int | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi05Denom(SQLTable):
|
class AhrqMeasuresIntPqi05Denom(SQLTable):
|
||||||
@@ -94,7 +94,7 @@ class AhrqMeasuresIntPqi05Denom(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi05Exclusions(SQLTable):
|
class AhrqMeasuresIntPqi05Exclusions(SQLTable):
|
||||||
@@ -107,7 +107,7 @@ class AhrqMeasuresIntPqi05Exclusions(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_number: int | None = None
|
exclusion_number: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi05Num(SQLTable):
|
class AhrqMeasuresIntPqi05Num(SQLTable):
|
||||||
@@ -120,7 +120,7 @@ class AhrqMeasuresIntPqi05Num(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
year_number: int | None = None
|
year_number: int | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi07Denom(SQLTable):
|
class AhrqMeasuresIntPqi07Denom(SQLTable):
|
||||||
@@ -133,7 +133,7 @@ class AhrqMeasuresIntPqi07Denom(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi07Exclusions(SQLTable):
|
class AhrqMeasuresIntPqi07Exclusions(SQLTable):
|
||||||
@@ -146,7 +146,7 @@ class AhrqMeasuresIntPqi07Exclusions(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_number: int | None = None
|
exclusion_number: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi07Num(SQLTable):
|
class AhrqMeasuresIntPqi07Num(SQLTable):
|
||||||
@@ -159,7 +159,7 @@ class AhrqMeasuresIntPqi07Num(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
year_number: int | None = None
|
year_number: int | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi08Denom(SQLTable):
|
class AhrqMeasuresIntPqi08Denom(SQLTable):
|
||||||
@@ -172,7 +172,7 @@ class AhrqMeasuresIntPqi08Denom(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi08Exclusions(SQLTable):
|
class AhrqMeasuresIntPqi08Exclusions(SQLTable):
|
||||||
@@ -185,7 +185,7 @@ class AhrqMeasuresIntPqi08Exclusions(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_number: int | None = None
|
exclusion_number: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi08Num(SQLTable):
|
class AhrqMeasuresIntPqi08Num(SQLTable):
|
||||||
@@ -198,7 +198,7 @@ class AhrqMeasuresIntPqi08Num(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
year_number: int | None = None
|
year_number: int | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi11Denom(SQLTable):
|
class AhrqMeasuresIntPqi11Denom(SQLTable):
|
||||||
@@ -211,7 +211,7 @@ class AhrqMeasuresIntPqi11Denom(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi11Exclusions(SQLTable):
|
class AhrqMeasuresIntPqi11Exclusions(SQLTable):
|
||||||
@@ -224,7 +224,7 @@ class AhrqMeasuresIntPqi11Exclusions(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_number: int | None = None
|
exclusion_number: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi11Num(SQLTable):
|
class AhrqMeasuresIntPqi11Num(SQLTable):
|
||||||
@@ -237,7 +237,7 @@ class AhrqMeasuresIntPqi11Num(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
year_number: int | None = None
|
year_number: int | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi12Denom(SQLTable):
|
class AhrqMeasuresIntPqi12Denom(SQLTable):
|
||||||
@@ -250,7 +250,7 @@ class AhrqMeasuresIntPqi12Denom(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi12Exclusions(SQLTable):
|
class AhrqMeasuresIntPqi12Exclusions(SQLTable):
|
||||||
@@ -263,7 +263,7 @@ class AhrqMeasuresIntPqi12Exclusions(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_number: int | None = None
|
exclusion_number: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi12Num(SQLTable):
|
class AhrqMeasuresIntPqi12Num(SQLTable):
|
||||||
@@ -276,7 +276,7 @@ class AhrqMeasuresIntPqi12Num(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
year_number: int | None = None
|
year_number: int | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi14Denom(SQLTable):
|
class AhrqMeasuresIntPqi14Denom(SQLTable):
|
||||||
@@ -289,7 +289,7 @@ class AhrqMeasuresIntPqi14Denom(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi14Exclusions(SQLTable):
|
class AhrqMeasuresIntPqi14Exclusions(SQLTable):
|
||||||
@@ -302,7 +302,7 @@ class AhrqMeasuresIntPqi14Exclusions(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_number: int | None = None
|
exclusion_number: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi14Num(SQLTable):
|
class AhrqMeasuresIntPqi14Num(SQLTable):
|
||||||
@@ -315,7 +315,7 @@ class AhrqMeasuresIntPqi14Num(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
year_number: int | None = None
|
year_number: int | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi15Denom(SQLTable):
|
class AhrqMeasuresIntPqi15Denom(SQLTable):
|
||||||
@@ -328,7 +328,7 @@ class AhrqMeasuresIntPqi15Denom(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi15Exclusions(SQLTable):
|
class AhrqMeasuresIntPqi15Exclusions(SQLTable):
|
||||||
@@ -341,7 +341,7 @@ class AhrqMeasuresIntPqi15Exclusions(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_number: int | None = None
|
exclusion_number: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi15Num(SQLTable):
|
class AhrqMeasuresIntPqi15Num(SQLTable):
|
||||||
@@ -354,7 +354,7 @@ class AhrqMeasuresIntPqi15Num(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
year_number: int | None = None
|
year_number: int | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi16Denom(SQLTable):
|
class AhrqMeasuresIntPqi16Denom(SQLTable):
|
||||||
@@ -367,7 +367,7 @@ class AhrqMeasuresIntPqi16Denom(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi16Exclusions(SQLTable):
|
class AhrqMeasuresIntPqi16Exclusions(SQLTable):
|
||||||
@@ -380,7 +380,7 @@ class AhrqMeasuresIntPqi16Exclusions(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_number: int | None = None
|
exclusion_number: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqi16Num(SQLTable):
|
class AhrqMeasuresIntPqi16Num(SQLTable):
|
||||||
@@ -393,7 +393,7 @@ class AhrqMeasuresIntPqi16Num(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
year_number: int | None = None
|
year_number: int | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqiSharedExclusionMissingDates(SQLTable):
|
class AhrqMeasuresIntPqiSharedExclusionMissingDates(SQLTable):
|
||||||
@@ -404,7 +404,7 @@ class AhrqMeasuresIntPqiSharedExclusionMissingDates(SQLTable):
|
|||||||
|
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqiSharedExclusionMissingGender(SQLTable):
|
class AhrqMeasuresIntPqiSharedExclusionMissingGender(SQLTable):
|
||||||
@@ -415,7 +415,7 @@ class AhrqMeasuresIntPqiSharedExclusionMissingGender(SQLTable):
|
|||||||
|
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqiSharedExclusionMissingPrimaryDx(SQLTable):
|
class AhrqMeasuresIntPqiSharedExclusionMissingPrimaryDx(SQLTable):
|
||||||
@@ -426,7 +426,7 @@ class AhrqMeasuresIntPqiSharedExclusionMissingPrimaryDx(SQLTable):
|
|||||||
|
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqiSharedExclusionTransfer(SQLTable):
|
class AhrqMeasuresIntPqiSharedExclusionTransfer(SQLTable):
|
||||||
@@ -437,7 +437,7 @@ class AhrqMeasuresIntPqiSharedExclusionTransfer(SQLTable):
|
|||||||
|
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqiSharedExclusionUngroupableDrg(SQLTable):
|
class AhrqMeasuresIntPqiSharedExclusionUngroupableDrg(SQLTable):
|
||||||
@@ -448,7 +448,7 @@ class AhrqMeasuresIntPqiSharedExclusionUngroupableDrg(SQLTable):
|
|||||||
|
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqiSharedExclusionUnion(SQLTable):
|
class AhrqMeasuresIntPqiSharedExclusionUnion(SQLTable):
|
||||||
@@ -460,7 +460,7 @@ class AhrqMeasuresIntPqiSharedExclusionUnion(SQLTable):
|
|||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresIntPqiSharedExclusionsMissingAge(SQLTable):
|
class AhrqMeasuresIntPqiSharedExclusionsMissingAge(SQLTable):
|
||||||
@@ -471,7 +471,7 @@ class AhrqMeasuresIntPqiSharedExclusionsMissingAge(SQLTable):
|
|||||||
|
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresStgPqiInpatientEncounter(SQLTable):
|
class AhrqMeasuresStgPqiInpatientEncounter(SQLTable):
|
||||||
@@ -539,7 +539,7 @@ class AhrqMeasuresPqiDenomLong(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pqi_number: str | None = None
|
pqi_number: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresPqiExclusionLong(SQLTable):
|
class AhrqMeasuresPqiExclusionLong(SQLTable):
|
||||||
@@ -553,7 +553,7 @@ class AhrqMeasuresPqiExclusionLong(SQLTable):
|
|||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_number: int | None = None
|
exclusion_number: int | None = None
|
||||||
pqi_number: int | None = None
|
pqi_number: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresPqiNumLong(SQLTable):
|
class AhrqMeasuresPqiNumLong(SQLTable):
|
||||||
@@ -567,7 +567,7 @@ class AhrqMeasuresPqiNumLong(SQLTable):
|
|||||||
year_number: int | None = None
|
year_number: int | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pqi_number: str | None = None
|
pqi_number: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresPqiRate(SQLTable):
|
class AhrqMeasuresPqiRate(SQLTable):
|
||||||
@@ -582,7 +582,7 @@ class AhrqMeasuresPqiRate(SQLTable):
|
|||||||
denom_count: int | None = None
|
denom_count: int | None = None
|
||||||
num_count: int | None = None
|
num_count: int | None = None
|
||||||
rate_per_100_thousand: float | None = None
|
rate_per_100_thousand: float | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class AhrqMeasuresPqiSummary(SQLTable):
|
class AhrqMeasuresPqiSummary(SQLTable):
|
||||||
@@ -604,4 +604,4 @@ class AhrqMeasuresPqiSummary(SQLTable):
|
|||||||
encounter_end_date: date | None = None
|
encounter_end_date: date | None = None
|
||||||
length_of_stay: int | None = None
|
length_of_stay: int | None = None
|
||||||
paid_amount: Decimal | None = None
|
paid_amount: Decimal | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ class CcsrDxVerticalPivot(SQLTable):
|
|||||||
ccsr_category_rank: int | None = None
|
ccsr_category_rank: int | None = None
|
||||||
is_ip_default_category: int | None = None
|
is_ip_default_category: int | None = None
|
||||||
is_op_default_category: int | None = None
|
is_op_default_category: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CcsrLongConditionCategory(SQLTable):
|
class CcsrLongConditionCategory(SQLTable):
|
||||||
@@ -94,7 +94,7 @@ class CcsrLongConditionCategory(SQLTable):
|
|||||||
is_op_default_category: int | None = None
|
is_op_default_category: int | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
dxccsr_version: str | None = None
|
dxccsr_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CcsrLongProcedureCategory(SQLTable):
|
class CcsrLongProcedureCategory(SQLTable):
|
||||||
@@ -119,7 +119,7 @@ class CcsrLongProcedureCategory(SQLTable):
|
|||||||
qualifier: str | None = None
|
qualifier: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
prccsr_version: str | None = None
|
prccsr_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CcsrProcedureCategoryMap(SQLTable):
|
class CcsrProcedureCategoryMap(SQLTable):
|
||||||
@@ -139,7 +139,7 @@ class CcsrProcedureCategoryMap(SQLTable):
|
|||||||
approach: str | None = None
|
approach: str | None = None
|
||||||
device: str | None = None
|
device: str | None = None
|
||||||
qualifier: str | None = None
|
qualifier: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CcsrProcedureSummary(SQLTable):
|
class CcsrProcedureSummary(SQLTable):
|
||||||
@@ -155,7 +155,7 @@ class CcsrProcedureSummary(SQLTable):
|
|||||||
n_occurrences_with_approach: int | None = None
|
n_occurrences_with_approach: int | None = None
|
||||||
n_total_occurrences: int | None = None
|
n_total_occurrences: int | None = None
|
||||||
approach_rate: float | None = None
|
approach_rate: float | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CcsrSingularConditionCategory(SQLTable):
|
class CcsrSingularConditionCategory(SQLTable):
|
||||||
@@ -176,4 +176,4 @@ class CcsrSingularConditionCategory(SQLTable):
|
|||||||
body_system: str | None = None
|
body_system: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
dxccsr_version: str | None = None
|
dxccsr_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ class ChronicConditionsIntCmsChronicConditionAll(SQLTable):
|
|||||||
condition_category: str | None = None
|
condition_category: str | None = None
|
||||||
condition: str | None = None
|
condition: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ChronicConditionsIntCmsChronicConditionHivAids(SQLTable):
|
class ChronicConditionsIntCmsChronicConditionHivAids(SQLTable):
|
||||||
@@ -34,7 +34,7 @@ class ChronicConditionsIntCmsChronicConditionHivAids(SQLTable):
|
|||||||
condition_category: str | None = None
|
condition_category: str | None = None
|
||||||
condition: str | None = None
|
condition: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ChronicConditionsIntCmsChronicConditionOud(SQLTable):
|
class ChronicConditionsIntCmsChronicConditionOud(SQLTable):
|
||||||
@@ -50,7 +50,20 @@ class ChronicConditionsIntCmsChronicConditionOud(SQLTable):
|
|||||||
condition_category: str | None = None
|
condition_category: str | None = None
|
||||||
condition: str | None = None
|
condition: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
|
class ChronicConditionsValueSetChronicConditionsHierarchy(SQLTable):
|
||||||
|
"""Schema: chronic_conditions / Table: _value_set_chronic_conditions_hierarchy"""
|
||||||
|
|
||||||
|
__schema__ = "chronic_conditions"
|
||||||
|
__tablename__ = "_value_set_chronic_conditions_hierarchy"
|
||||||
|
|
||||||
|
condition_family: str | None = None
|
||||||
|
condition: str | None = None
|
||||||
|
icd_10_cm_code: str | None = None
|
||||||
|
icd_10_cm_description: str | None = None
|
||||||
|
condition_column_name: str | None = None
|
||||||
|
|
||||||
|
|
||||||
class ChronicConditionsValueSetCmsChronicConditionsHierarchy(SQLTable):
|
class ChronicConditionsValueSetCmsChronicConditionsHierarchy(SQLTable):
|
||||||
@@ -71,17 +84,72 @@ class ChronicConditionsValueSetCmsChronicConditionsHierarchy(SQLTable):
|
|||||||
code: str | None = None
|
code: str | None = None
|
||||||
|
|
||||||
|
|
||||||
class ChronicConditionsValueSetConditionsHierarchy(SQLTable):
|
class ChronicConditionsChronicConditionsLong(SQLTable):
|
||||||
"""Schema: chronic_conditions / Table: _value_set_chronic_conditions_hierarchy (upstream)"""
|
"""Schema: chronic_conditions / Table: chronic_conditions_long"""
|
||||||
|
|
||||||
__schema__ = "chronic_conditions"
|
__schema__ = "chronic_conditions"
|
||||||
__tablename__ = "_value_set_chronic_conditions_hierarchy"
|
__tablename__ = "chronic_conditions_long"
|
||||||
|
|
||||||
condition_family: str | None = None
|
person_id: str | None = None
|
||||||
condition: str | None = None
|
condition: str | None = None
|
||||||
icd_10_cm_code: str | None = None
|
first_diagnosis_date: date | None = None
|
||||||
icd_10_cm_description: str | None = None
|
last_diagnosis_date: date | None = None
|
||||||
condition_column_name: str | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
|
class ChronicConditionsChronicConditionsWide(SQLTable):
|
||||||
|
"""Schema: chronic_conditions / Table: chronic_conditions_wide"""
|
||||||
|
|
||||||
|
__schema__ = "chronic_conditions"
|
||||||
|
__tablename__ = "chronic_conditions_wide"
|
||||||
|
|
||||||
|
person_id: str | None = None
|
||||||
|
obesity: int | None = None
|
||||||
|
osteoarthritis: int | None = None
|
||||||
|
copd: int | None = None
|
||||||
|
anxiety_disorders: int | None = None
|
||||||
|
ckd: int | None = None
|
||||||
|
t2d: int | None = None
|
||||||
|
cll: int | None = None
|
||||||
|
dysplipidemias: int | None = None
|
||||||
|
hypertension: int | None = None
|
||||||
|
atherosclerosis: int | None = None
|
||||||
|
dementia: int | None = None
|
||||||
|
rheumatoid_arthritis: int | None = None
|
||||||
|
celiac: int | None = None
|
||||||
|
hip_fracture: int | None = None
|
||||||
|
immunodeficiencies_and_white_blood_cell_disorders: int | None = None
|
||||||
|
asthma: int | None = None
|
||||||
|
t1d: int | None = None
|
||||||
|
ulcerative_colitis: int | None = None
|
||||||
|
chrohns: int | None = None
|
||||||
|
holicobacter: int | None = None
|
||||||
|
bipolar: int | None = None
|
||||||
|
heart_failure: int | None = None
|
||||||
|
tabacco: int | None = None
|
||||||
|
lyme: int | None = None
|
||||||
|
breast_cancer: int | None = None
|
||||||
|
osteoporosis: int | None = None
|
||||||
|
pulmonary_embolism: int | None = None
|
||||||
|
schizophrenia: int | None = None
|
||||||
|
atrial_fibrillation: int | None = None
|
||||||
|
colorectal_cancer: int | None = None
|
||||||
|
depression: int | None = None
|
||||||
|
deep_vein_thrombosis: int | None = None
|
||||||
|
alzheimer: int | None = None
|
||||||
|
stroke: int | None = None
|
||||||
|
myocardial_infraction: int | None = None
|
||||||
|
opiod_use_disorder: int | None = None
|
||||||
|
lung_cancer: int | None = None
|
||||||
|
herpes: int | None = None
|
||||||
|
rickettsiosis: int | None = None
|
||||||
|
ms: int | None = None
|
||||||
|
alchohol: int | None = None
|
||||||
|
adhd: int | None = None
|
||||||
|
hiv: int | None = None
|
||||||
|
ptsd: int | None = None
|
||||||
|
lupus: int | None = None
|
||||||
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ChronicConditionsCmsChronicConditionsLong(SQLTable):
|
class ChronicConditionsCmsChronicConditionsLong(SQLTable):
|
||||||
@@ -97,7 +165,7 @@ class ChronicConditionsCmsChronicConditionsLong(SQLTable):
|
|||||||
condition_category: str | None = None
|
condition_category: str | None = None
|
||||||
condition: str | None = None
|
condition: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ChronicConditionsCmsChronicConditionsWide(SQLTable):
|
class ChronicConditionsCmsChronicConditionsWide(SQLTable):
|
||||||
@@ -188,72 +256,4 @@ class ChronicConditionsCmsChronicConditionsWide(SQLTable):
|
|||||||
int | None
|
int | None
|
||||||
) = None
|
) = None
|
||||||
viral_hepatitis_general: int | None = None
|
viral_hepatitis_general: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ChronicConditionsLong(SQLTable):
|
|
||||||
"""Schema: chronic_conditions / Table: chronic_conditions_long (upstream)"""
|
|
||||||
|
|
||||||
__schema__ = "chronic_conditions"
|
|
||||||
__tablename__ = "chronic_conditions_long"
|
|
||||||
|
|
||||||
person_id: str | None = None
|
|
||||||
condition: str | None = None
|
|
||||||
first_diagnosis_date: date | None = None
|
|
||||||
last_diagnosis_date: date | None = None
|
|
||||||
pipeline_last_run: datetime | None = None
|
|
||||||
|
|
||||||
|
|
||||||
class ChronicConditionsWide(SQLTable):
|
|
||||||
"""Schema: chronic_conditions / Table: chronic_conditions_wide (upstream)"""
|
|
||||||
|
|
||||||
__schema__ = "chronic_conditions"
|
|
||||||
__tablename__ = "chronic_conditions_wide"
|
|
||||||
|
|
||||||
person_id: str | None = None
|
|
||||||
obesity: int | None = None
|
|
||||||
osteoarthritis: int | None = None
|
|
||||||
copd: int | None = None
|
|
||||||
anxiety_disorders: int | None = None
|
|
||||||
ckd: int | None = None
|
|
||||||
t2d: int | None = None
|
|
||||||
cll: int | None = None
|
|
||||||
dysplipidemias: int | None = None
|
|
||||||
hypertension: int | None = None
|
|
||||||
atherosclerosis: int | None = None
|
|
||||||
dementia: int | None = None
|
|
||||||
rheumatoid_arthritis: int | None = None
|
|
||||||
celiac: int | None = None
|
|
||||||
hip_fracture: int | None = None
|
|
||||||
immunodeficiencies_and_white_blood_cell_disorders: int | None = None
|
|
||||||
asthma: int | None = None
|
|
||||||
t1d: int | None = None
|
|
||||||
ulcerative_colitis: int | None = None
|
|
||||||
chrohns: int | None = None
|
|
||||||
holicobacter: int | None = None
|
|
||||||
bipolar: int | None = None
|
|
||||||
heart_failure: int | None = None
|
|
||||||
tabacco: int | None = None
|
|
||||||
lyme: int | None = None
|
|
||||||
breast_cancer: int | None = None
|
|
||||||
osteoporosis: int | None = None
|
|
||||||
pulmonary_embolism: int | None = None
|
|
||||||
schizophrenia: int | None = None
|
|
||||||
atrial_fibrillation: int | None = None
|
|
||||||
colorectal_cancer: int | None = None
|
|
||||||
depression: int | None = None
|
|
||||||
deep_vein_thrombosis: int | None = None
|
|
||||||
alzheimer: int | None = None
|
|
||||||
stroke: int | None = None
|
|
||||||
myocardial_infraction: int | None = None
|
|
||||||
opiod_use_disorder: int | None = None
|
|
||||||
lung_cancer: int | None = None
|
|
||||||
herpes: int | None = None
|
|
||||||
rickettsiosis: int | None = None
|
|
||||||
ms: int | None = None
|
|
||||||
alchohol: int | None = None
|
|
||||||
adhd: int | None = None
|
|
||||||
hiv: int | None = None
|
|
||||||
ptsd: int | None = None
|
|
||||||
lupus: int | None = None
|
|
||||||
pipeline_last_run: datetime | None = None
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -32,7 +32,7 @@ class CmsHccIntDemographicFactors(SQLTable):
|
|||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccIntDisabledInteractionFactors(SQLTable):
|
class CmsHccIntDisabledInteractionFactors(SQLTable):
|
||||||
@@ -50,7 +50,7 @@ class CmsHccIntDisabledInteractionFactors(SQLTable):
|
|||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccIntDiseaseFactors(SQLTable):
|
class CmsHccIntDiseaseFactors(SQLTable):
|
||||||
@@ -70,7 +70,7 @@ class CmsHccIntDiseaseFactors(SQLTable):
|
|||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccIntDiseaseInteractionFactors(SQLTable):
|
class CmsHccIntDiseaseInteractionFactors(SQLTable):
|
||||||
@@ -90,7 +90,7 @@ class CmsHccIntDiseaseInteractionFactors(SQLTable):
|
|||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccIntEligibleConditions(SQLTable):
|
class CmsHccIntEligibleConditions(SQLTable):
|
||||||
@@ -107,7 +107,7 @@ class CmsHccIntEligibleConditions(SQLTable):
|
|||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccIntEnrollmentInteractionFactors(SQLTable):
|
class CmsHccIntEnrollmentInteractionFactors(SQLTable):
|
||||||
@@ -125,7 +125,7 @@ class CmsHccIntEnrollmentInteractionFactors(SQLTable):
|
|||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccIntHccCountFactors(SQLTable):
|
class CmsHccIntHccCountFactors(SQLTable):
|
||||||
@@ -143,7 +143,7 @@ class CmsHccIntHccCountFactors(SQLTable):
|
|||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccIntHccHierarchy(SQLTable):
|
class CmsHccIntHccHierarchy(SQLTable):
|
||||||
@@ -159,7 +159,7 @@ class CmsHccIntHccHierarchy(SQLTable):
|
|||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
hcc_code: str | None = None
|
hcc_code: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccIntHccMapping(SQLTable):
|
class CmsHccIntHccMapping(SQLTable):
|
||||||
@@ -176,7 +176,7 @@ class CmsHccIntHccMapping(SQLTable):
|
|||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccIntMembers(SQLTable):
|
class CmsHccIntMembers(SQLTable):
|
||||||
@@ -201,7 +201,7 @@ class CmsHccIntMembers(SQLTable):
|
|||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccIntMonthlyCollectionDates(SQLTable):
|
class CmsHccIntMonthlyCollectionDates(SQLTable):
|
||||||
@@ -402,7 +402,7 @@ class CmsHccPatientRiskFactors(SQLTable):
|
|||||||
coefficient: Decimal | None = None
|
coefficient: Decimal | None = None
|
||||||
model_version: str | None = None
|
model_version: str | None = None
|
||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccPatientRiskFactorsMonthly(SQLTable):
|
class CmsHccPatientRiskFactorsMonthly(SQLTable):
|
||||||
@@ -426,7 +426,7 @@ class CmsHccPatientRiskFactorsMonthly(SQLTable):
|
|||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccPatientRiskScores(SQLTable):
|
class CmsHccPatientRiskScores(SQLTable):
|
||||||
@@ -445,7 +445,7 @@ class CmsHccPatientRiskScores(SQLTable):
|
|||||||
payment_risk_score_weighted_by_months: Decimal | None = None
|
payment_risk_score_weighted_by_months: Decimal | None = None
|
||||||
member_months: int | None = None
|
member_months: int | None = None
|
||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccPatientRiskScoresMonthly(SQLTable):
|
class CmsHccPatientRiskScoresMonthly(SQLTable):
|
||||||
@@ -470,7 +470,7 @@ class CmsHccPatientRiskScoresMonthly(SQLTable):
|
|||||||
payment_risk_score: Decimal | None = None
|
payment_risk_score: Decimal | None = None
|
||||||
payment_risk_score_weighted_by_months: Decimal | None = None
|
payment_risk_score_weighted_by_months: Decimal | None = None
|
||||||
member_months: int | None = None
|
member_months: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CmsHccPatientRiskScoresMonthlyByFactorType(SQLTable):
|
class CmsHccPatientRiskScoresMonthlyByFactorType(SQLTable):
|
||||||
@@ -496,4 +496,4 @@ class CmsHccPatientRiskScoresMonthlyByFactorType(SQLTable):
|
|||||||
payment_year: int | None = None
|
payment_year: int | None = None
|
||||||
collection_start_date: date | None = None
|
collection_start_date: date | None = None
|
||||||
collection_end_date: date | None = None
|
collection_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ from __future__ import annotations
|
|||||||
from datetime import date, datetime
|
from datetime import date, datetime
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
|
from pydantic import Field
|
||||||
|
|
||||||
from aco.table.base import SQLTable
|
from aco.table.base import SQLTable
|
||||||
|
|
||||||
|
|
||||||
@@ -33,7 +35,7 @@ class CoreStgClaimsCondition(SQLTable):
|
|||||||
present_on_admit_code: str | None = None
|
present_on_admit_code: str | None = None
|
||||||
present_on_admit_description: str | None = None
|
present_on_admit_description: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
payer: str | None = None
|
payer: str | None = None
|
||||||
|
|
||||||
|
|
||||||
@@ -70,7 +72,7 @@ class CoreStgClaimsEligibility(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_date: datetime | None = None
|
file_date: datetime | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClaimsEncounter(SQLTable):
|
class CoreStgClaimsEncounter(SQLTable):
|
||||||
@@ -123,7 +125,7 @@ class CoreStgClaimsEncounter(SQLTable):
|
|||||||
source_model: str | None = None
|
source_model: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
encounter_source_type: str | None = None
|
encounter_source_type: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClaimsLocation(SQLTable):
|
class CoreStgClaimsLocation(SQLTable):
|
||||||
@@ -144,7 +146,7 @@ class CoreStgClaimsLocation(SQLTable):
|
|||||||
latitude: float | None = None
|
latitude: float | None = None
|
||||||
longitude: float | None = None
|
longitude: float | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClaimsMedicalClaim(SQLTable):
|
class CoreStgClaimsMedicalClaim(SQLTable):
|
||||||
@@ -218,7 +220,7 @@ class CoreStgClaimsMedicalClaim(SQLTable):
|
|||||||
file_date: datetime | None = None
|
file_date: datetime | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClaimsMemberMonths(SQLTable):
|
class CoreStgClaimsMemberMonths(SQLTable):
|
||||||
@@ -234,7 +236,7 @@ class CoreStgClaimsMemberMonths(SQLTable):
|
|||||||
payer: str | None = None
|
payer: str | None = None
|
||||||
plan: str | None = None
|
plan: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
payer_attributed_provider: str | None = None
|
payer_attributed_provider: str | None = None
|
||||||
payer_attributed_provider_practice: str | None = None
|
payer_attributed_provider_practice: str | None = None
|
||||||
payer_attributed_provider_organization: str | None = None
|
payer_attributed_provider_organization: str | None = None
|
||||||
@@ -275,7 +277,7 @@ class CoreStgClaimsPatient(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
age_group: str | None = None
|
age_group: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClaimsPharmacyClaim(SQLTable):
|
class CoreStgClaimsPharmacyClaim(SQLTable):
|
||||||
@@ -315,7 +317,7 @@ class CoreStgClaimsPharmacyClaim(SQLTable):
|
|||||||
file_date: datetime | None = None
|
file_date: datetime | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClaimsPractitioner(SQLTable):
|
class CoreStgClaimsPractitioner(SQLTable):
|
||||||
@@ -332,7 +334,7 @@ class CoreStgClaimsPractitioner(SQLTable):
|
|||||||
specialty: str | None = None
|
specialty: str | None = None
|
||||||
sub_specialty: str | None = None
|
sub_specialty: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClaimsProcedure(SQLTable):
|
class CoreStgClaimsProcedure(SQLTable):
|
||||||
@@ -361,7 +363,7 @@ class CoreStgClaimsProcedure(SQLTable):
|
|||||||
modifier_5: str | None = None
|
modifier_5: str | None = None
|
||||||
practitioner_id: str | None = None
|
practitioner_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClinicalAppointment(SQLTable):
|
class CoreStgClinicalAppointment(SQLTable):
|
||||||
@@ -401,7 +403,7 @@ class CoreStgClinicalAppointment(SQLTable):
|
|||||||
normalized_cancellation_reason_code: str | None = None
|
normalized_cancellation_reason_code: str | None = None
|
||||||
normalized_cancellation_reason_description: str | None = None
|
normalized_cancellation_reason_description: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClinicalCondition(SQLTable):
|
class CoreStgClinicalCondition(SQLTable):
|
||||||
@@ -431,7 +433,7 @@ class CoreStgClinicalCondition(SQLTable):
|
|||||||
present_on_admit_code: str | None = None
|
present_on_admit_code: str | None = None
|
||||||
present_on_admit_description: str | None = None
|
present_on_admit_description: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClinicalEncounter(SQLTable):
|
class CoreStgClinicalEncounter(SQLTable):
|
||||||
@@ -484,7 +486,7 @@ class CoreStgClinicalEncounter(SQLTable):
|
|||||||
source_model: str | None = None
|
source_model: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
encounter_source_type: str | None = None
|
encounter_source_type: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClinicalImmunization(SQLTable):
|
class CoreStgClinicalImmunization(SQLTable):
|
||||||
@@ -514,7 +516,7 @@ class CoreStgClinicalImmunization(SQLTable):
|
|||||||
location_id: str | None = None
|
location_id: str | None = None
|
||||||
practitioner_id: str | None = None
|
practitioner_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClinicalLabResult(SQLTable):
|
class CoreStgClinicalLabResult(SQLTable):
|
||||||
@@ -555,7 +557,7 @@ class CoreStgClinicalLabResult(SQLTable):
|
|||||||
specimen: str | None = None
|
specimen: str | None = None
|
||||||
ordering_practitioner_id: str | None = None
|
ordering_practitioner_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClinicalLocation(SQLTable):
|
class CoreStgClinicalLocation(SQLTable):
|
||||||
@@ -576,7 +578,7 @@ class CoreStgClinicalLocation(SQLTable):
|
|||||||
latitude: float | None = None
|
latitude: float | None = None
|
||||||
longitude: float | None = None
|
longitude: float | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClinicalMedication(SQLTable):
|
class CoreStgClinicalMedication(SQLTable):
|
||||||
@@ -607,7 +609,7 @@ class CoreStgClinicalMedication(SQLTable):
|
|||||||
days_supply: int | None = None
|
days_supply: int | None = None
|
||||||
practitioner_id: str | None = None
|
practitioner_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClinicalObservation(SQLTable):
|
class CoreStgClinicalObservation(SQLTable):
|
||||||
@@ -637,7 +639,7 @@ class CoreStgClinicalObservation(SQLTable):
|
|||||||
normalized_reference_range_low: str | None = None
|
normalized_reference_range_low: str | None = None
|
||||||
normalized_reference_range_high: str | None = None
|
normalized_reference_range_high: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClinicalPatient(SQLTable):
|
class CoreStgClinicalPatient(SQLTable):
|
||||||
@@ -670,7 +672,7 @@ class CoreStgClinicalPatient(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
age_group: str | None = None
|
age_group: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClinicalPractitioner(SQLTable):
|
class CoreStgClinicalPractitioner(SQLTable):
|
||||||
@@ -687,7 +689,7 @@ class CoreStgClinicalPractitioner(SQLTable):
|
|||||||
specialty: str | None = None
|
specialty: str | None = None
|
||||||
sub_specialty: str | None = None
|
sub_specialty: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreStgClinicalProcedure(SQLTable):
|
class CoreStgClinicalProcedure(SQLTable):
|
||||||
@@ -716,7 +718,7 @@ class CoreStgClinicalProcedure(SQLTable):
|
|||||||
modifier_5: str | None = None
|
modifier_5: str | None = None
|
||||||
practitioner_id: str | None = None
|
practitioner_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreAppointment(SQLTable):
|
class CoreAppointment(SQLTable):
|
||||||
@@ -757,7 +759,7 @@ class CoreAppointment(SQLTable):
|
|||||||
normalized_cancellation_reason_description: str | None = None
|
normalized_cancellation_reason_description: str | None = None
|
||||||
mapping_method: str | None = None
|
mapping_method: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreCondition(SQLTable):
|
class CoreCondition(SQLTable):
|
||||||
@@ -766,18 +768,28 @@ class CoreCondition(SQLTable):
|
|||||||
__schema__ = "core"
|
__schema__ = "core"
|
||||||
__tablename__ = "condition"
|
__tablename__ = "condition"
|
||||||
|
|
||||||
condition_id: str | None = None
|
condition_id: str | None = Field(
|
||||||
|
default=None, description="Unique condition identifier"
|
||||||
|
)
|
||||||
payer: str | None = None
|
payer: str | None = None
|
||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
member_id: str | None = None
|
member_id: str | None = None
|
||||||
patient_id: str | None = None
|
patient_id: str | None = Field(
|
||||||
|
default=None, description="Patient with the condition"
|
||||||
|
)
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
claim_id: str | None = None
|
claim_id: str | None = None
|
||||||
recorded_date: date | None = None
|
recorded_date: date | None = None
|
||||||
onset_date: date | None = None
|
onset_date: date | None = Field(
|
||||||
resolved_date: date | None = None
|
default=None, description="Date condition was first recorded"
|
||||||
|
)
|
||||||
|
resolved_date: date | None = Field(
|
||||||
|
default=None, description="Date condition was resolved"
|
||||||
|
)
|
||||||
status: str | None = None
|
status: str | None = None
|
||||||
condition_type: str | None = None
|
condition_type: str | None = Field(
|
||||||
|
default=None, description="Type of condition record"
|
||||||
|
)
|
||||||
source_code_type: str | None = None
|
source_code_type: str | None = None
|
||||||
source_code: str | None = None
|
source_code: str | None = None
|
||||||
source_description: str | None = None
|
source_description: str | None = None
|
||||||
@@ -789,7 +801,7 @@ class CoreCondition(SQLTable):
|
|||||||
present_on_admit_code: str | None = None
|
present_on_admit_code: str | None = None
|
||||||
present_on_admit_description: str | None = None
|
present_on_admit_description: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreEligibility(SQLTable):
|
class CoreEligibility(SQLTable):
|
||||||
@@ -804,14 +816,26 @@ class CoreEligibility(SQLTable):
|
|||||||
subscriber_id: str | None = None
|
subscriber_id: str | None = None
|
||||||
birth_date: date | None = None
|
birth_date: date | None = None
|
||||||
death_date: date | None = None
|
death_date: date | None = None
|
||||||
enrollment_start_date: date | None = None
|
enrollment_start_date: date | None = Field(
|
||||||
enrollment_end_date: date | None = None
|
default=None, description="Enrollment period start date"
|
||||||
payer: str | None = None
|
)
|
||||||
payer_type: str | None = None
|
enrollment_end_date: date | None = Field(
|
||||||
plan: str | None = None
|
default=None, description="Enrollment period end date"
|
||||||
original_reason_entitlement_code: str | None = None
|
)
|
||||||
dual_status_code: str | None = None
|
payer: str | None = Field(default=None, description="Insurance payer name")
|
||||||
medicare_status_code: str | None = None
|
payer_type: str | None = Field(
|
||||||
|
default=None, description="Payer category (medicare, medicaid, commercial)"
|
||||||
|
)
|
||||||
|
plan: str | None = Field(default=None, description="Insurance plan name")
|
||||||
|
original_reason_entitlement_code: str | None = Field(
|
||||||
|
default=None, description="Original reason for Medicare entitlement"
|
||||||
|
)
|
||||||
|
dual_status_code: str | None = Field(
|
||||||
|
default=None, description="Dual eligibility status code"
|
||||||
|
)
|
||||||
|
medicare_status_code: str | None = Field(
|
||||||
|
default=None, description="Medicare entitlement status code"
|
||||||
|
)
|
||||||
enrollment_status: str | None = None
|
enrollment_status: str | None = None
|
||||||
hospice_flag: int | None = None
|
hospice_flag: int | None = None
|
||||||
institutional_snp_flag: int | None = None
|
institutional_snp_flag: int | None = None
|
||||||
@@ -825,7 +849,7 @@ class CoreEligibility(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_date: datetime | None = None
|
file_date: datetime | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreEncounter(SQLTable):
|
class CoreEncounter(SQLTable):
|
||||||
@@ -835,22 +859,41 @@ class CoreEncounter(SQLTable):
|
|||||||
__tablename__ = "encounter"
|
__tablename__ = "encounter"
|
||||||
|
|
||||||
_dbt_source_relation: str | None = None
|
_dbt_source_relation: str | None = None
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = Field(
|
||||||
|
default=None, description="Unique encounter identifier"
|
||||||
|
)
|
||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
encounter_type: str | None = None
|
encounter_type: str | None = Field(
|
||||||
|
default=None,
|
||||||
|
description="Type of encounter (acute inpatient, outpatient, etc.)",
|
||||||
|
)
|
||||||
encounter_group: str | None = None
|
encounter_group: str | None = None
|
||||||
encounter_start_date: date | None = None
|
encounter_start_date: date | None = Field(
|
||||||
encounter_end_date: date | None = None
|
default=None, description="Encounter admission or start date"
|
||||||
|
)
|
||||||
|
encounter_end_date: date | None = Field(
|
||||||
|
default=None, description="Encounter discharge or end date"
|
||||||
|
)
|
||||||
length_of_stay: int | None = None
|
length_of_stay: int | None = None
|
||||||
admit_source_code: str | None = None
|
admit_source_code: str | None = Field(
|
||||||
|
default=None, description="Source of admission code"
|
||||||
|
)
|
||||||
admit_source_description: str | None = None
|
admit_source_description: str | None = None
|
||||||
admit_type_code: str | None = None
|
admit_type_code: str | None = Field(
|
||||||
|
default=None, description="Type of admission code"
|
||||||
|
)
|
||||||
admit_type_description: str | None = None
|
admit_type_description: str | None = None
|
||||||
discharge_disposition_code: str | None = None
|
discharge_disposition_code: str | None = Field(
|
||||||
|
default=None, description="Discharge disposition code"
|
||||||
|
)
|
||||||
discharge_disposition_description: str | None = None
|
discharge_disposition_description: str | None = None
|
||||||
attending_provider_id: str | None = None
|
attending_provider_id: str | None = Field(
|
||||||
|
default=None, description="Attending provider identifier"
|
||||||
|
)
|
||||||
attending_provider_name: str | None = None
|
attending_provider_name: str | None = None
|
||||||
facility_id: str | None = None
|
facility_id: str | None = Field(
|
||||||
|
default=None, description="Facility where encounter occurred"
|
||||||
|
)
|
||||||
facility_name: str | None = None
|
facility_name: str | None = None
|
||||||
facility_type: str | None = None
|
facility_type: str | None = None
|
||||||
observation_flag: int | None = None
|
observation_flag: int | None = None
|
||||||
@@ -870,16 +913,20 @@ class CoreEncounter(SQLTable):
|
|||||||
drg_code_type: str | None = None
|
drg_code_type: str | None = None
|
||||||
drg_code: str | None = None
|
drg_code: str | None = None
|
||||||
drg_description: str | None = None
|
drg_description: str | None = None
|
||||||
paid_amount: Decimal | None = None
|
paid_amount: Decimal | None = Field(
|
||||||
|
default=None, description="Total paid amount for encounter"
|
||||||
|
)
|
||||||
allowed_amount: Decimal | None = None
|
allowed_amount: Decimal | None = None
|
||||||
charge_amount: Decimal | None = None
|
charge_amount: Decimal | None = Field(
|
||||||
|
default=None, description="Total charge amount for encounter"
|
||||||
|
)
|
||||||
claim_count: int | None = None
|
claim_count: int | None = None
|
||||||
inst_claim_count: int | None = None
|
inst_claim_count: int | None = None
|
||||||
prof_claim_count: int | None = None
|
prof_claim_count: int | None = None
|
||||||
source_model: str | None = None
|
source_model: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
encounter_source_type: str | None = None
|
encounter_source_type: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreImmunization(SQLTable):
|
class CoreImmunization(SQLTable):
|
||||||
@@ -910,7 +957,7 @@ class CoreImmunization(SQLTable):
|
|||||||
location_id: str | None = None
|
location_id: str | None = None
|
||||||
practitioner_id: str | None = None
|
practitioner_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreLabResult(SQLTable):
|
class CoreLabResult(SQLTable):
|
||||||
@@ -952,7 +999,7 @@ class CoreLabResult(SQLTable):
|
|||||||
specimen: str | None = None
|
specimen: str | None = None
|
||||||
ordering_practitioner_id: str | None = None
|
ordering_practitioner_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreLocation(SQLTable):
|
class CoreLocation(SQLTable):
|
||||||
@@ -973,7 +1020,7 @@ class CoreLocation(SQLTable):
|
|||||||
latitude: float | None = None
|
latitude: float | None = None
|
||||||
longitude: float | None = None
|
longitude: float | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreMedicalClaim(SQLTable):
|
class CoreMedicalClaim(SQLTable):
|
||||||
@@ -983,18 +1030,26 @@ class CoreMedicalClaim(SQLTable):
|
|||||||
__tablename__ = "medical_claim"
|
__tablename__ = "medical_claim"
|
||||||
|
|
||||||
medical_claim_id: str | None = None
|
medical_claim_id: str | None = None
|
||||||
claim_id: str | None = None
|
claim_id: str | None = Field(default=None, description="Unique claim identifier")
|
||||||
claim_line_number: int | None = None
|
claim_line_number: int | None = Field(
|
||||||
|
default=None, description="Line number within the claim"
|
||||||
|
)
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
encounter_type: str | None = None
|
encounter_type: str | None = None
|
||||||
encounter_group: str | None = None
|
encounter_group: str | None = None
|
||||||
claim_type: str | None = None
|
claim_type: str | None = Field(
|
||||||
|
default=None, description="Type of claim (institutional, professional)"
|
||||||
|
)
|
||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
member_id: str | None = None
|
member_id: str | None = None
|
||||||
payer: str | None = None
|
payer: str | None = None
|
||||||
plan: str | None = None
|
plan: str | None = None
|
||||||
claim_start_date: date | None = None
|
claim_start_date: date | None = Field(
|
||||||
claim_end_date: date | None = None
|
default=None, description="Claim service start date"
|
||||||
|
)
|
||||||
|
claim_end_date: date | None = Field(
|
||||||
|
default=None, description="Claim service end date"
|
||||||
|
)
|
||||||
claim_line_start_date: date | None = None
|
claim_line_start_date: date | None = None
|
||||||
claim_line_end_date: date | None = None
|
claim_line_end_date: date | None = None
|
||||||
admission_date: date | None = None
|
admission_date: date | None = None
|
||||||
@@ -1008,17 +1063,21 @@ class CoreMedicalClaim(SQLTable):
|
|||||||
admit_type_description: str | None = None
|
admit_type_description: str | None = None
|
||||||
discharge_disposition_code: str | None = None
|
discharge_disposition_code: str | None = None
|
||||||
discharge_disposition_description: str | None = None
|
discharge_disposition_description: str | None = None
|
||||||
place_of_service_code: str | None = None
|
place_of_service_code: str | None = Field(
|
||||||
|
default=None, description="Place of service code"
|
||||||
|
)
|
||||||
place_of_service_description: str | None = None
|
place_of_service_description: str | None = None
|
||||||
bill_type_code: str | None = None
|
bill_type_code: str | None = None
|
||||||
bill_type_description: str | None = None
|
bill_type_description: str | None = None
|
||||||
drg_code_type: str | None = None
|
drg_code_type: str | None = None
|
||||||
drg_code: str | None = None
|
drg_code: str | None = None
|
||||||
drg_description: str | None = None
|
drg_description: str | None = None
|
||||||
revenue_center_code: str | None = None
|
revenue_center_code: str | None = Field(
|
||||||
|
default=None, description="Revenue center code"
|
||||||
|
)
|
||||||
revenue_center_description: str | None = None
|
revenue_center_description: str | None = None
|
||||||
service_unit_quantity: Decimal | None = None
|
service_unit_quantity: Decimal | None = None
|
||||||
hcpcs_code: str | None = None
|
hcpcs_code: str | None = Field(default=None, description="HCPCS/CPT procedure code")
|
||||||
hcpcs_modifier_1: str | None = None
|
hcpcs_modifier_1: str | None = None
|
||||||
hcpcs_modifier_2: str | None = None
|
hcpcs_modifier_2: str | None = None
|
||||||
hcpcs_modifier_3: str | None = None
|
hcpcs_modifier_3: str | None = None
|
||||||
@@ -1033,9 +1092,13 @@ class CoreMedicalClaim(SQLTable):
|
|||||||
facility_id: str | None = None
|
facility_id: str | None = None
|
||||||
facility_name: str | None = None
|
facility_name: str | None = None
|
||||||
paid_date: date | None = None
|
paid_date: date | None = None
|
||||||
paid_amount: Decimal | None = None
|
paid_amount: Decimal | None = Field(
|
||||||
|
default=None, description="Amount paid for claim line"
|
||||||
|
)
|
||||||
allowed_amount: Decimal | None = None
|
allowed_amount: Decimal | None = None
|
||||||
charge_amount: Decimal | None = None
|
charge_amount: Decimal | None = Field(
|
||||||
|
default=None, description="Amount charged for claim line"
|
||||||
|
)
|
||||||
coinsurance_amount: Decimal | None = None
|
coinsurance_amount: Decimal | None = None
|
||||||
copayment_amount: Decimal | None = None
|
copayment_amount: Decimal | None = None
|
||||||
deductible_amount: Decimal | None = None
|
deductible_amount: Decimal | None = None
|
||||||
@@ -1047,7 +1110,7 @@ class CoreMedicalClaim(SQLTable):
|
|||||||
file_date: datetime | None = None
|
file_date: datetime | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreMedication(SQLTable):
|
class CoreMedication(SQLTable):
|
||||||
@@ -1081,7 +1144,7 @@ class CoreMedication(SQLTable):
|
|||||||
days_supply: int | None = None
|
days_supply: int | None = None
|
||||||
practitioner_id: str | None = None
|
practitioner_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreMemberMonths(SQLTable):
|
class CoreMemberMonths(SQLTable):
|
||||||
@@ -1097,7 +1160,7 @@ class CoreMemberMonths(SQLTable):
|
|||||||
payer: str | None = None
|
payer: str | None = None
|
||||||
plan: str | None = None
|
plan: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
payer_attributed_provider: str | None = None
|
payer_attributed_provider: str | None = None
|
||||||
payer_attributed_provider_practice: str | None = None
|
payer_attributed_provider_practice: str | None = None
|
||||||
payer_attributed_provider_organization: str | None = None
|
payer_attributed_provider_organization: str | None = None
|
||||||
@@ -1136,7 +1199,7 @@ class CoreObservation(SQLTable):
|
|||||||
normalized_reference_range_low: str | None = None
|
normalized_reference_range_low: str | None = None
|
||||||
normalized_reference_range_high: str | None = None
|
normalized_reference_range_high: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CorePatient(SQLTable):
|
class CorePatient(SQLTable):
|
||||||
@@ -1150,26 +1213,32 @@ class CorePatient(SQLTable):
|
|||||||
first_name: str | None = None
|
first_name: str | None = None
|
||||||
middle_name: str | None = None
|
middle_name: str | None = None
|
||||||
last_name: str | None = None
|
last_name: str | None = None
|
||||||
sex: str | None = None
|
sex: str | None = Field(default=None, description="Patient biological sex")
|
||||||
race: str | None = None
|
race: str | None = Field(default=None, description="Patient race")
|
||||||
birth_date: date | None = None
|
birth_date: date | None = Field(default=None, description="Patient date of birth")
|
||||||
death_date: date | None = None
|
death_date: date | None = Field(default=None, description="Patient date of death")
|
||||||
death_flag: int | None = None
|
death_flag: int | None = Field(
|
||||||
|
default=None, description="Whether patient is deceased"
|
||||||
|
)
|
||||||
social_security_number: str | None = None
|
social_security_number: str | None = None
|
||||||
address: str | None = None
|
address: str | None = None
|
||||||
city: str | None = None
|
city: str | None = None
|
||||||
state: str | None = None
|
state: str | None = Field(default=None, description="Patient state of residence")
|
||||||
zip_code: str | None = None
|
zip_code: str | None = Field(default=None, description="Patient ZIP code")
|
||||||
county: str | None = None
|
county: str | None = Field(default=None, description="Patient county of residence")
|
||||||
latitude: float | None = None
|
latitude: float | None = Field(
|
||||||
longitude: float | None = None
|
default=None, description="Patient geocoded latitude"
|
||||||
|
)
|
||||||
|
longitude: float | None = Field(
|
||||||
|
default=None, description="Patient geocoded longitude"
|
||||||
|
)
|
||||||
phone: str | None = None
|
phone: str | None = None
|
||||||
email: str | None = None
|
email: str | None = None
|
||||||
ethnicity: str | None = None
|
ethnicity: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
age: int | None = None
|
age: int | None = None
|
||||||
age_group: str | None = None
|
age_group: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CorePersonIdCrosswalk(SQLTable):
|
class CorePersonIdCrosswalk(SQLTable):
|
||||||
@@ -1184,7 +1253,7 @@ class CorePersonIdCrosswalk(SQLTable):
|
|||||||
payer: str | None = None
|
payer: str | None = None
|
||||||
plan: str | None = None
|
plan: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CorePharmacyClaim(SQLTable):
|
class CorePharmacyClaim(SQLTable):
|
||||||
@@ -1194,7 +1263,9 @@ class CorePharmacyClaim(SQLTable):
|
|||||||
__tablename__ = "pharmacy_claim"
|
__tablename__ = "pharmacy_claim"
|
||||||
|
|
||||||
pharmacy_claim_id: str | None = None
|
pharmacy_claim_id: str | None = None
|
||||||
claim_id: str | None = None
|
claim_id: str | None = Field(
|
||||||
|
default=None, description="Unique pharmacy claim identifier"
|
||||||
|
)
|
||||||
claim_line_number: int | None = None
|
claim_line_number: int | None = None
|
||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
member_id: str | None = None
|
member_id: str | None = None
|
||||||
@@ -1204,14 +1275,18 @@ class CorePharmacyClaim(SQLTable):
|
|||||||
prescribing_provider_name: str | None = None
|
prescribing_provider_name: str | None = None
|
||||||
dispensing_provider_id: str | None = None
|
dispensing_provider_id: str | None = None
|
||||||
dispensing_provider_name: str | None = None
|
dispensing_provider_name: str | None = None
|
||||||
dispensing_date: date | None = None
|
dispensing_date: date | None = Field(
|
||||||
ndc_code: str | None = None
|
default=None, description="Date prescription was dispensed"
|
||||||
|
)
|
||||||
|
ndc_code: str | None = Field(default=None, description="National Drug Code")
|
||||||
ndc_description: str | None = None
|
ndc_description: str | None = None
|
||||||
quantity: int | None = None
|
quantity: int | None = Field(default=None, description="Quantity dispensed")
|
||||||
days_supply: int | None = None
|
days_supply: int | None = Field(default=None, description="Number of days supply")
|
||||||
refills: int | None = None
|
refills: int | None = None
|
||||||
paid_date: date | None = None
|
paid_date: date | None = None
|
||||||
paid_amount: Decimal | None = None
|
paid_amount: Decimal | None = Field(
|
||||||
|
default=None, description="Amount paid for prescription"
|
||||||
|
)
|
||||||
allowed_amount: Decimal | None = None
|
allowed_amount: Decimal | None = None
|
||||||
charge_amount: Decimal | None = None
|
charge_amount: Decimal | None = None
|
||||||
coinsurance_amount: Decimal | None = None
|
coinsurance_amount: Decimal | None = None
|
||||||
@@ -1224,7 +1299,7 @@ class CorePharmacyClaim(SQLTable):
|
|||||||
file_date: datetime | None = None
|
file_date: datetime | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CorePractitioner(SQLTable):
|
class CorePractitioner(SQLTable):
|
||||||
@@ -1241,7 +1316,7 @@ class CorePractitioner(SQLTable):
|
|||||||
specialty: str | None = None
|
specialty: str | None = None
|
||||||
sub_specialty: str | None = None
|
sub_specialty: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class CoreProcedure(SQLTable):
|
class CoreProcedure(SQLTable):
|
||||||
@@ -1271,4 +1346,4 @@ class CoreProcedure(SQLTable):
|
|||||||
modifier_5: str | None = None
|
modifier_5: str | None = None
|
||||||
practitioner_id: str | None = None
|
practitioner_id: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -21,7 +21,7 @@ class FinancialPmpmIntPatientSpendWithServiceCategories(SQLTable):
|
|||||||
total_paid: Decimal | None = None
|
total_paid: Decimal | None = None
|
||||||
total_allowed: Decimal | None = None
|
total_allowed: Decimal | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class FinancialPmpmIntServiceCategory1AllowedPivot(SQLTable):
|
class FinancialPmpmIntServiceCategory1AllowedPivot(SQLTable):
|
||||||
@@ -41,7 +41,7 @@ class FinancialPmpmIntServiceCategory1AllowedPivot(SQLTable):
|
|||||||
ancillary_allowed: Decimal | None = None
|
ancillary_allowed: Decimal | None = None
|
||||||
other_allowed: Decimal | None = None
|
other_allowed: Decimal | None = None
|
||||||
pharmacy_allowed: Decimal | None = None
|
pharmacy_allowed: Decimal | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class FinancialPmpmIntServiceCategory1PaidPivot(SQLTable):
|
class FinancialPmpmIntServiceCategory1PaidPivot(SQLTable):
|
||||||
@@ -61,7 +61,7 @@ class FinancialPmpmIntServiceCategory1PaidPivot(SQLTable):
|
|||||||
ancillary_paid: Decimal | None = None
|
ancillary_paid: Decimal | None = None
|
||||||
other_paid: Decimal | None = None
|
other_paid: Decimal | None = None
|
||||||
pharmacy_paid: Decimal | None = None
|
pharmacy_paid: Decimal | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class FinancialPmpmIntServiceCategory2AllowedPivot(SQLTable):
|
class FinancialPmpmIntServiceCategory2AllowedPivot(SQLTable):
|
||||||
@@ -104,7 +104,7 @@ class FinancialPmpmIntServiceCategory2AllowedPivot(SQLTable):
|
|||||||
skilled_nursing_allowed: Decimal | None = None
|
skilled_nursing_allowed: Decimal | None = None
|
||||||
telehealth_visit_allowed: Decimal | None = None
|
telehealth_visit_allowed: Decimal | None = None
|
||||||
urgent_care_allowed: Decimal | None = None
|
urgent_care_allowed: Decimal | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class FinancialPmpmIntServiceCategory2PaidPivot(SQLTable):
|
class FinancialPmpmIntServiceCategory2PaidPivot(SQLTable):
|
||||||
@@ -147,7 +147,7 @@ class FinancialPmpmIntServiceCategory2PaidPivot(SQLTable):
|
|||||||
skilled_nursing_paid: Decimal | None = None
|
skilled_nursing_paid: Decimal | None = None
|
||||||
telehealth_visit_paid: Decimal | None = None
|
telehealth_visit_paid: Decimal | None = None
|
||||||
urgent_care_paid: Decimal | None = None
|
urgent_care_paid: Decimal | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class FinancialPmpmPmpmPayer(SQLTable):
|
class FinancialPmpmPmpmPayer(SQLTable):
|
||||||
@@ -228,7 +228,7 @@ class FinancialPmpmPmpmPayer(SQLTable):
|
|||||||
skilled_nursing_allowed: float | None = None
|
skilled_nursing_allowed: float | None = None
|
||||||
telehealth_visit_allowed: float | None = None
|
telehealth_visit_allowed: float | None = None
|
||||||
urgent_care_allowed: float | None = None
|
urgent_care_allowed: float | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class FinancialPmpmPmpmPayerPlan(SQLTable):
|
class FinancialPmpmPmpmPayerPlan(SQLTable):
|
||||||
@@ -310,7 +310,7 @@ class FinancialPmpmPmpmPayerPlan(SQLTable):
|
|||||||
skilled_nursing_allowed: float | None = None
|
skilled_nursing_allowed: float | None = None
|
||||||
telehealth_visit_allowed: float | None = None
|
telehealth_visit_allowed: float | None = None
|
||||||
urgent_care_allowed: float | None = None
|
urgent_care_allowed: float | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class FinancialPmpmPmpmPrep(SQLTable):
|
class FinancialPmpmPmpmPrep(SQLTable):
|
||||||
@@ -406,4 +406,4 @@ class FinancialPmpmPmpmPrep(SQLTable):
|
|||||||
medical_paid: Decimal | None = None
|
medical_paid: Decimal | None = None
|
||||||
total_allowed: Decimal | None = None
|
total_allowed: Decimal | None = None
|
||||||
medical_allowed: Decimal | None = None
|
medical_allowed: Decimal | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class HccSuspectingIntAllConditions(SQLTable):
|
|||||||
hcc_code: str | None = None
|
hcc_code: str | None = None
|
||||||
hcc_description: str | None = None
|
hcc_description: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class HccSuspectingIntAllMedications(SQLTable):
|
class HccSuspectingIntAllMedications(SQLTable):
|
||||||
@@ -37,7 +37,7 @@ class HccSuspectingIntAllMedications(SQLTable):
|
|||||||
drug_code: str | None = None
|
drug_code: str | None = None
|
||||||
code_system: str | None = None
|
code_system: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class HccSuspectingIntComorbiditySuspects(SQLTable):
|
class HccSuspectingIntComorbiditySuspects(SQLTable):
|
||||||
@@ -62,7 +62,7 @@ class HccSuspectingIntComorbiditySuspects(SQLTable):
|
|||||||
reason: str | None = None
|
reason: str | None = None
|
||||||
contributing_factor: str | None = None
|
contributing_factor: str | None = None
|
||||||
suspect_date: date | None = None
|
suspect_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class HccSuspectingIntLabSuspects(SQLTable):
|
class HccSuspectingIntLabSuspects(SQLTable):
|
||||||
@@ -84,7 +84,7 @@ class HccSuspectingIntLabSuspects(SQLTable):
|
|||||||
reason: str | None = None
|
reason: str | None = None
|
||||||
contributing_factor: str | None = None
|
contributing_factor: str | None = None
|
||||||
suspect_date: date | None = None
|
suspect_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class HccSuspectingIntMedicationSuspects(SQLTable):
|
class HccSuspectingIntMedicationSuspects(SQLTable):
|
||||||
@@ -105,7 +105,7 @@ class HccSuspectingIntMedicationSuspects(SQLTable):
|
|||||||
reason: str | None = None
|
reason: str | None = None
|
||||||
contributing_factor: str | None = None
|
contributing_factor: str | None = None
|
||||||
suspect_date: date | None = None
|
suspect_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class HccSuspectingIntObservationSuspects(SQLTable):
|
class HccSuspectingIntObservationSuspects(SQLTable):
|
||||||
@@ -129,7 +129,7 @@ class HccSuspectingIntObservationSuspects(SQLTable):
|
|||||||
reason: str | None = None
|
reason: str | None = None
|
||||||
contributing_factor: str | None = None
|
contributing_factor: str | None = None
|
||||||
suspect_date: date | None = None
|
suspect_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class HccSuspectingIntPatientHccHistory(SQLTable):
|
class HccSuspectingIntPatientHccHistory(SQLTable):
|
||||||
@@ -154,7 +154,7 @@ class HccSuspectingIntPatientHccHistory(SQLTable):
|
|||||||
reason: str | None = None
|
reason: str | None = None
|
||||||
contributing_factor: str | None = None
|
contributing_factor: str | None = None
|
||||||
suspect_date: date | None = None
|
suspect_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class HccSuspectingIntPrepConditions(SQLTable):
|
class HccSuspectingIntPrepConditions(SQLTable):
|
||||||
@@ -171,7 +171,7 @@ class HccSuspectingIntPrepConditions(SQLTable):
|
|||||||
code_type: str | None = None
|
code_type: str | None = None
|
||||||
code: str | None = None
|
code: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class HccSuspectingIntPrepEgfrLabs(SQLTable):
|
class HccSuspectingIntPrepEgfrLabs(SQLTable):
|
||||||
@@ -187,7 +187,7 @@ class HccSuspectingIntPrepEgfrLabs(SQLTable):
|
|||||||
code: str | None = None
|
code: str | None = None
|
||||||
result_date: date | None = None
|
result_date: date | None = None
|
||||||
result: Decimal | None = None
|
result: Decimal | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class HccSuspectingStgCondition(SQLTable):
|
class HccSuspectingStgCondition(SQLTable):
|
||||||
@@ -332,7 +332,7 @@ class HccSuspectingList(SQLTable):
|
|||||||
reason: str | None = None
|
reason: str | None = None
|
||||||
contributing_factor: str | None = None
|
contributing_factor: str | None = None
|
||||||
suspect_date: date | None = None
|
suspect_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class HccSuspectingListRollup(SQLTable):
|
class HccSuspectingListRollup(SQLTable):
|
||||||
@@ -349,7 +349,7 @@ class HccSuspectingListRollup(SQLTable):
|
|||||||
reason: str | None = None
|
reason: str | None = None
|
||||||
contributing_factor: str | None = None
|
contributing_factor: str | None = None
|
||||||
latest_suspect_date: date | None = None
|
latest_suspect_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class HccSuspectingSummary(SQLTable):
|
class HccSuspectingSummary(SQLTable):
|
||||||
@@ -364,4 +364,4 @@ class HccSuspectingSummary(SQLTable):
|
|||||||
patient_birth_date: date | None = None
|
patient_birth_date: date | None = None
|
||||||
patient_age: int | None = None
|
patient_age: int | None = None
|
||||||
suspecting_gaps: int | None = None
|
suspecting_gaps: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from datetime import date, datetime
|
from datetime import date, datetime
|
||||||
|
|
||||||
|
from pydantic import Field
|
||||||
|
|
||||||
from aco.table.base import SQLTable
|
from aco.table.base import SQLTable
|
||||||
|
|
||||||
|
|
||||||
@@ -74,7 +76,7 @@ class InputLayerCondition(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerEligibility(SQLTable):
|
class InputLayerEligibility(SQLTable):
|
||||||
@@ -91,10 +93,16 @@ class InputLayerEligibility(SQLTable):
|
|||||||
birth_date: date | None = None
|
birth_date: date | None = None
|
||||||
death_date: date | None = None
|
death_date: date | None = None
|
||||||
death_flag: int | None = None
|
death_flag: int | None = None
|
||||||
enrollment_start_date: date | None = None
|
enrollment_start_date: date | None = Field(
|
||||||
enrollment_end_date: date | None = None
|
default=None, description="Coverage start date"
|
||||||
payer: str | None = None
|
)
|
||||||
payer_type: str | None = None
|
enrollment_end_date: date | None = Field(
|
||||||
|
default=None, description="Coverage end date"
|
||||||
|
)
|
||||||
|
payer: str | None = Field(default=None, description="Payer name from source")
|
||||||
|
payer_type: str | None = Field(
|
||||||
|
default=None, description="Payer type classification"
|
||||||
|
)
|
||||||
plan: str | None = None
|
plan: str | None = None
|
||||||
original_reason_entitlement_code: str | None = None
|
original_reason_entitlement_code: str | None = None
|
||||||
dual_status_code: str | None = None
|
dual_status_code: str | None = None
|
||||||
@@ -159,7 +167,7 @@ class InputLayerEncounter(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerImmunization(SQLTable):
|
class InputLayerImmunization(SQLTable):
|
||||||
@@ -262,7 +270,7 @@ class InputLayerInputLayerCondition(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerInputLayerEligibility(SQLTable):
|
class InputLayerInputLayerEligibility(SQLTable):
|
||||||
@@ -347,7 +355,7 @@ class InputLayerInputLayerEncounter(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerInputLayerImmunization(SQLTable):
|
class InputLayerInputLayerImmunization(SQLTable):
|
||||||
@@ -441,7 +449,7 @@ class InputLayerInputLayerLocation(SQLTable):
|
|||||||
latitude: float | None = None
|
latitude: float | None = None
|
||||||
longitude: float | None = None
|
longitude: float | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerInputLayerMedicalClaim(SQLTable):
|
class InputLayerInputLayerMedicalClaim(SQLTable):
|
||||||
@@ -630,7 +638,7 @@ class InputLayerInputLayerMedication(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerInputLayerObservation(SQLTable):
|
class InputLayerInputLayerObservation(SQLTable):
|
||||||
@@ -695,7 +703,7 @@ class InputLayerInputLayerPatient(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerInputLayerPharmacyClaim(SQLTable):
|
class InputLayerInputLayerPharmacyClaim(SQLTable):
|
||||||
@@ -745,7 +753,7 @@ class InputLayerInputLayerPractitioner(SQLTable):
|
|||||||
specialty: str | None = None
|
specialty: str | None = None
|
||||||
sub_specialty: str | None = None
|
sub_specialty: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerInputLayerProcedure(SQLTable):
|
class InputLayerInputLayerProcedure(SQLTable):
|
||||||
@@ -775,7 +783,7 @@ class InputLayerInputLayerProcedure(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerInputLayerProviderAttribution(SQLTable):
|
class InputLayerInputLayerProviderAttribution(SQLTable):
|
||||||
@@ -860,7 +868,7 @@ class InputLayerLocation(SQLTable):
|
|||||||
latitude: float | None = None
|
latitude: float | None = None
|
||||||
longitude: float | None = None
|
longitude: float | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerMedicalClaim(SQLTable):
|
class InputLayerMedicalClaim(SQLTable):
|
||||||
@@ -869,15 +877,21 @@ class InputLayerMedicalClaim(SQLTable):
|
|||||||
__schema__ = "input_layer"
|
__schema__ = "input_layer"
|
||||||
__tablename__ = "medical_claim"
|
__tablename__ = "medical_claim"
|
||||||
|
|
||||||
claim_id: str | None = None
|
claim_id: str | None = Field(default=None, description="Source claim identifier")
|
||||||
claim_line_number: int | None = None
|
claim_line_number: int | None = Field(
|
||||||
|
default=None, description="Line number within the claim"
|
||||||
|
)
|
||||||
claim_type: str | None = None
|
claim_type: str | None = None
|
||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
member_id: str | None = None
|
member_id: str | None = None
|
||||||
payer: str | None = None
|
payer: str | None = None
|
||||||
plan: str | None = None
|
plan: str | None = None
|
||||||
claim_start_date: date | None = None
|
claim_start_date: date | None = Field(
|
||||||
claim_end_date: date | None = None
|
default=None, description="Claim service start date"
|
||||||
|
)
|
||||||
|
claim_end_date: date | None = Field(
|
||||||
|
default=None, description="Claim service end date"
|
||||||
|
)
|
||||||
claim_line_start_date: date | None = None
|
claim_line_start_date: date | None = None
|
||||||
claim_line_end_date: date | None = None
|
claim_line_end_date: date | None = None
|
||||||
admission_date: date | None = None
|
admission_date: date | None = None
|
||||||
@@ -885,13 +899,15 @@ class InputLayerMedicalClaim(SQLTable):
|
|||||||
admit_source_code: str | None = None
|
admit_source_code: str | None = None
|
||||||
admit_type_code: str | None = None
|
admit_type_code: str | None = None
|
||||||
discharge_disposition_code: str | None = None
|
discharge_disposition_code: str | None = None
|
||||||
place_of_service_code: str | None = None
|
place_of_service_code: str | None = Field(
|
||||||
|
default=None, description="Place of service code"
|
||||||
|
)
|
||||||
bill_type_code: str | None = None
|
bill_type_code: str | None = None
|
||||||
drg_code_type: str | None = None
|
drg_code_type: str | None = None
|
||||||
drg_code: str | None = None
|
drg_code: str | None = None
|
||||||
revenue_center_code: str | None = None
|
revenue_center_code: str | None = None
|
||||||
service_unit_quantity: int | None = None
|
service_unit_quantity: int | None = None
|
||||||
hcpcs_code: str | None = None
|
hcpcs_code: str | None = Field(default=None, description="HCPCS/CPT procedure code")
|
||||||
hcpcs_modifier_1: str | None = None
|
hcpcs_modifier_1: str | None = None
|
||||||
hcpcs_modifier_2: str | None = None
|
hcpcs_modifier_2: str | None = None
|
||||||
hcpcs_modifier_3: str | None = None
|
hcpcs_modifier_3: str | None = None
|
||||||
@@ -903,7 +919,9 @@ class InputLayerMedicalClaim(SQLTable):
|
|||||||
billing_tin: str | None = None
|
billing_tin: str | None = None
|
||||||
facility_npi: str | None = None
|
facility_npi: str | None = None
|
||||||
paid_date: date | None = None
|
paid_date: date | None = None
|
||||||
paid_amount: float | None = None
|
paid_amount: float | None = Field(
|
||||||
|
default=None, description="Paid amount from source"
|
||||||
|
)
|
||||||
allowed_amount: float | None = None
|
allowed_amount: float | None = None
|
||||||
charge_amount: float | None = None
|
charge_amount: float | None = None
|
||||||
coinsurance_amount: float | None = None
|
coinsurance_amount: float | None = None
|
||||||
@@ -911,7 +929,9 @@ class InputLayerMedicalClaim(SQLTable):
|
|||||||
deductible_amount: float | None = None
|
deductible_amount: float | None = None
|
||||||
total_cost_amount: float | None = None
|
total_cost_amount: float | None = None
|
||||||
diagnosis_code_type: str | None = None
|
diagnosis_code_type: str | None = None
|
||||||
diagnosis_code_1: str | None = None
|
diagnosis_code_1: str | None = Field(
|
||||||
|
default=None, description="Primary diagnosis code"
|
||||||
|
)
|
||||||
diagnosis_code_2: str | None = None
|
diagnosis_code_2: str | None = None
|
||||||
diagnosis_code_3: str | None = None
|
diagnosis_code_3: str | None = None
|
||||||
diagnosis_code_4: str | None = None
|
diagnosis_code_4: str | None = None
|
||||||
@@ -1049,7 +1069,7 @@ class InputLayerMedication(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerObservation(SQLTable):
|
class InputLayerObservation(SQLTable):
|
||||||
@@ -1114,7 +1134,7 @@ class InputLayerPatient(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerPharmacyClaim(SQLTable):
|
class InputLayerPharmacyClaim(SQLTable):
|
||||||
@@ -1123,7 +1143,9 @@ class InputLayerPharmacyClaim(SQLTable):
|
|||||||
__schema__ = "input_layer"
|
__schema__ = "input_layer"
|
||||||
__tablename__ = "pharmacy_claim"
|
__tablename__ = "pharmacy_claim"
|
||||||
|
|
||||||
claim_id: str | None = None
|
claim_id: str | None = Field(
|
||||||
|
default=None, description="Source pharmacy claim identifier"
|
||||||
|
)
|
||||||
claim_line_number: int | None = None
|
claim_line_number: int | None = None
|
||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
member_id: str | None = None
|
member_id: str | None = None
|
||||||
@@ -1131,10 +1153,14 @@ class InputLayerPharmacyClaim(SQLTable):
|
|||||||
plan: str | None = None
|
plan: str | None = None
|
||||||
prescribing_provider_npi: str | None = None
|
prescribing_provider_npi: str | None = None
|
||||||
dispensing_provider_npi: str | None = None
|
dispensing_provider_npi: str | None = None
|
||||||
dispensing_date: date | None = None
|
dispensing_date: date | None = Field(
|
||||||
ndc_code: str | None = None
|
default=None, description="Date prescription was dispensed"
|
||||||
quantity: int | None = None
|
)
|
||||||
days_supply: int | None = None
|
ndc_code: str | None = Field(
|
||||||
|
default=None, description="National Drug Code from source"
|
||||||
|
)
|
||||||
|
quantity: int | None = Field(default=None, description="Quantity dispensed")
|
||||||
|
days_supply: int | None = Field(default=None, description="Number of days supply")
|
||||||
refills: int | None = None
|
refills: int | None = None
|
||||||
paid_date: date | None = None
|
paid_date: date | None = None
|
||||||
paid_amount: float | None = None
|
paid_amount: float | None = None
|
||||||
@@ -1164,7 +1190,7 @@ class InputLayerPractitioner(SQLTable):
|
|||||||
specialty: str | None = None
|
specialty: str | None = None
|
||||||
sub_specialty: str | None = None
|
sub_specialty: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerProcedure(SQLTable):
|
class InputLayerProcedure(SQLTable):
|
||||||
@@ -1194,7 +1220,7 @@ class InputLayerProcedure(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
file_name: str | None = None
|
file_name: str | None = None
|
||||||
ingest_datetime: datetime | None = None
|
ingest_datetime: datetime | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class InputLayerProviderAttribution(SQLTable):
|
class InputLayerProviderAttribution(SQLTable):
|
||||||
|
|||||||
@@ -580,7 +580,7 @@ class MainHccSuspectingListAll(SQLTable):
|
|||||||
contributing_factor: str | None = None
|
contributing_factor: str | None = None
|
||||||
suspect_date: date | None = None
|
suspect_date: date | None = None
|
||||||
current_year_billed: bool | None = None
|
current_year_billed: bool | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class MainJobRunResults(SQLTable):
|
class MainJobRunResults(SQLTable):
|
||||||
|
|||||||
@@ -5,11 +5,11 @@ from datetime import datetime
|
|||||||
from aco.table.base import SQLTable
|
from aco.table.base import SQLTable
|
||||||
|
|
||||||
|
|
||||||
class MetadataPipelineInvocations(SQLTable):
|
class MetadataInvocations(SQLTable):
|
||||||
"""Schema: metadata / Table: pipeline_invocations"""
|
"""Schema: metadata / Table: invocations"""
|
||||||
|
|
||||||
__schema__ = "metadata"
|
__schema__ = "metadata"
|
||||||
__tablename__ = "pipeline_invocations"
|
__tablename__ = "invocations"
|
||||||
|
|
||||||
invocation_id: str | None = None
|
invocation_id: str | None = None
|
||||||
project_name: str | None = None
|
project_name: str | None = None
|
||||||
|
|||||||
135
src/aco/table/pfs.py
Normal file
135
src/aco/table/pfs.py
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from aco.table.base import SQLTable
|
||||||
|
|
||||||
|
|
||||||
|
class PfsCarrierLocality(SQLTable):
|
||||||
|
"""Schema: pfs / Table: carrier_locality"""
|
||||||
|
|
||||||
|
__schema__ = "pfs"
|
||||||
|
__tablename__ = "carrier_locality"
|
||||||
|
|
||||||
|
year: int | None = None
|
||||||
|
mac: str | None = None
|
||||||
|
locality: str | None = None
|
||||||
|
hcpcs: str | None = None
|
||||||
|
mod: str | None = None
|
||||||
|
non_fac_fee: float | None = None
|
||||||
|
fac_fee: float | None = None
|
||||||
|
non_fac_limiting_charge: float | None = None
|
||||||
|
fac_limiting_charge: float | None = None
|
||||||
|
|
||||||
|
|
||||||
|
class PfsClinicalLabor(SQLTable):
|
||||||
|
"""Schema: pfs / Table: clinical_labor"""
|
||||||
|
|
||||||
|
__schema__ = "pfs"
|
||||||
|
__tablename__ = "clinical_labor"
|
||||||
|
|
||||||
|
hcpcs: str | None = None
|
||||||
|
activity_code: str | None = None
|
||||||
|
activity_description: str | None = None
|
||||||
|
rate_per_minute: float | None = None
|
||||||
|
year: int | None = None
|
||||||
|
|
||||||
|
|
||||||
|
class PfsGpci(SQLTable):
|
||||||
|
"""Schema: pfs / Table: gpci"""
|
||||||
|
|
||||||
|
__schema__ = "pfs"
|
||||||
|
__tablename__ = "gpci"
|
||||||
|
|
||||||
|
mac: str | None = None
|
||||||
|
locality: str | None = None
|
||||||
|
locality_name: str | None = None
|
||||||
|
work_gpci: float | None = None
|
||||||
|
pe_gpci: float | None = None
|
||||||
|
mp_gpci: float | None = None
|
||||||
|
year: int | None = None
|
||||||
|
state: str | None = None
|
||||||
|
|
||||||
|
|
||||||
|
class PfsMedicalEquipment(SQLTable):
|
||||||
|
"""Schema: pfs / Table: medical_equipment"""
|
||||||
|
|
||||||
|
__schema__ = "pfs"
|
||||||
|
__tablename__ = "medical_equipment"
|
||||||
|
|
||||||
|
hcpcs: str | None = None
|
||||||
|
equipment_code: str | None = None
|
||||||
|
equipment_description: str | None = None
|
||||||
|
nf_minutes: float | None = None
|
||||||
|
f_minutes: float | None = None
|
||||||
|
unit_price: float | None = None
|
||||||
|
useful_life: float | None = None
|
||||||
|
year: int | None = None
|
||||||
|
minutes_per_year: float | None = None
|
||||||
|
|
||||||
|
|
||||||
|
class PfsMedicalSupply(SQLTable):
|
||||||
|
"""Schema: pfs / Table: medical_supply"""
|
||||||
|
|
||||||
|
__schema__ = "pfs"
|
||||||
|
__tablename__ = "medical_supply"
|
||||||
|
|
||||||
|
hcpcs: str | None = None
|
||||||
|
supply_code: str | None = None
|
||||||
|
supply_description: str | None = None
|
||||||
|
nf_quantity: float | None = None
|
||||||
|
f_quantity: float | None = None
|
||||||
|
unit_price: float | None = None
|
||||||
|
year: int | None = None
|
||||||
|
|
||||||
|
|
||||||
|
class PfsPhysicianWorkTime(SQLTable):
|
||||||
|
"""Schema: pfs / Table: physician_work_time"""
|
||||||
|
|
||||||
|
__schema__ = "pfs"
|
||||||
|
__tablename__ = "physician_work_time"
|
||||||
|
|
||||||
|
hcpcs: str | None = None
|
||||||
|
pre_eval_time: float | None = None
|
||||||
|
pre_positioning_time: float | None = None
|
||||||
|
pre_scrub_dress_wait: float | None = None
|
||||||
|
intra_service_time: float | None = None
|
||||||
|
post_immediate_time: float | None = None
|
||||||
|
total_time: float | None = None
|
||||||
|
year: int | None = None
|
||||||
|
|
||||||
|
|
||||||
|
class PfsRvu(SQLTable):
|
||||||
|
"""Schema: pfs / Table: rvu"""
|
||||||
|
|
||||||
|
__schema__ = "pfs"
|
||||||
|
__tablename__ = "rvu"
|
||||||
|
|
||||||
|
hcpcs: str | None = None
|
||||||
|
mod: str | None = None
|
||||||
|
status_code: str | None = None
|
||||||
|
description: str | None = None
|
||||||
|
work_rvu: float | None = None
|
||||||
|
non_fac_pe_rvu: float | None = None
|
||||||
|
fac_pe_rvu: float | None = None
|
||||||
|
mp_rvu: float | None = None
|
||||||
|
non_fac_total: float | None = None
|
||||||
|
fac_total: float | None = None
|
||||||
|
glob_days: str | None = None
|
||||||
|
year: int | None = None
|
||||||
|
not_used_for_medicare: str | None = None
|
||||||
|
|
||||||
|
|
||||||
|
class PfsZipCarrierLocality(SQLTable):
|
||||||
|
"""Schema: pfs / Table: zip_carrier_locality"""
|
||||||
|
|
||||||
|
__schema__ = "pfs"
|
||||||
|
__tablename__ = "zip_carrier_locality"
|
||||||
|
|
||||||
|
state: str | None = None
|
||||||
|
zip_code: str | None = None
|
||||||
|
carrier: str | None = None
|
||||||
|
locality: str | None = None
|
||||||
|
rural_indicator: str | None = None
|
||||||
|
plus_four_flag: str | None = None
|
||||||
|
part_b_indicator: str | None = None
|
||||||
|
year: int | None = None
|
||||||
|
quarter: int | None = None
|
||||||
@@ -13,7 +13,7 @@ class PharmacyIntBrandWithGenericAvailable(SQLTable):
|
|||||||
__tablename__ = "_int_brand_with_generic_available"
|
__tablename__ = "_int_brand_with_generic_available"
|
||||||
|
|
||||||
brand_with_generic_available: str | None = None
|
brand_with_generic_available: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class PharmacyIntClaimsCurrentCost(SQLTable):
|
class PharmacyIntClaimsCurrentCost(SQLTable):
|
||||||
@@ -33,7 +33,7 @@ class PharmacyIntClaimsCurrentCost(SQLTable):
|
|||||||
cost_per_claim: float | None = None
|
cost_per_claim: float | None = None
|
||||||
total_units: int | None = None
|
total_units: int | None = None
|
||||||
cost_per_unit: float | None = None
|
cost_per_unit: float | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class PharmacyIntGenericCost(SQLTable):
|
class PharmacyIntGenericCost(SQLTable):
|
||||||
@@ -46,7 +46,7 @@ class PharmacyIntGenericCost(SQLTable):
|
|||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
prescribed_atleast_one_generic_history: int | None = None
|
prescribed_atleast_one_generic_history: int | None = None
|
||||||
generic_average_cost_per_unit: float | None = None
|
generic_average_cost_per_unit: float | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class PharmacyIntGenericCostByNdc(SQLTable):
|
class PharmacyIntGenericCostByNdc(SQLTable):
|
||||||
@@ -63,7 +63,7 @@ class PharmacyIntGenericCostByNdc(SQLTable):
|
|||||||
total_units: int | None = None
|
total_units: int | None = None
|
||||||
cost_per_unit: float | None = None
|
cost_per_unit: float | None = None
|
||||||
prescribed_atleast_one_generic_history: int | None = None
|
prescribed_atleast_one_generic_history: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class PharmacyBrandGenericOpportunity(SQLTable):
|
class PharmacyBrandGenericOpportunity(SQLTable):
|
||||||
@@ -86,7 +86,7 @@ class PharmacyBrandGenericOpportunity(SQLTable):
|
|||||||
generic_average_cost_per_unit: float | None = None
|
generic_average_cost_per_unit: float | None = None
|
||||||
brand_less_generic_cost_per_unit: float | None = None
|
brand_less_generic_cost_per_unit: float | None = None
|
||||||
generic_available_total_opportunity: float | None = None
|
generic_available_total_opportunity: float | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class PharmacyGenericAvailableList(SQLTable):
|
class PharmacyGenericAvailableList(SQLTable):
|
||||||
@@ -108,7 +108,7 @@ class PharmacyGenericAvailableList(SQLTable):
|
|||||||
generic_prescribed_history: int | None = None
|
generic_prescribed_history: int | None = None
|
||||||
generic_cost_per_unit: float | None = None
|
generic_cost_per_unit: float | None = None
|
||||||
generic_cost_at_units: float | None = None
|
generic_cost_at_units: float | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class PharmacyPharmacyClaimExpanded(SQLTable):
|
class PharmacyPharmacyClaimExpanded(SQLTable):
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ class ProviderAttributionAssignedBeneficiariesCurrent(SQLTable):
|
|||||||
lookback_start_date: date | None = None
|
lookback_start_date: date | None = None
|
||||||
lookback_end_date: date | None = None
|
lookback_end_date: date | None = None
|
||||||
attribution_key: str | None = None
|
attribution_key: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ProviderAttributionAssignedBeneficiariesYearly(SQLTable):
|
class ProviderAttributionAssignedBeneficiariesYearly(SQLTable):
|
||||||
@@ -190,7 +190,7 @@ class ProviderAttributionAssignedBeneficiariesYearly(SQLTable):
|
|||||||
lookback_start_date: date | None = None
|
lookback_start_date: date | None = None
|
||||||
lookback_end_date: date | None = None
|
lookback_end_date: date | None = None
|
||||||
attribution_key: str | None = None
|
attribution_key: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ProviderAttributionProviderRanking(SQLTable):
|
class ProviderAttributionProviderRanking(SQLTable):
|
||||||
@@ -214,4 +214,4 @@ class ProviderAttributionProviderRanking(SQLTable):
|
|||||||
lookback_end_date: date | None = None
|
lookback_end_date: date | None = None
|
||||||
ranking: int | None = None
|
ranking: int | None = None
|
||||||
attribution_key: str | None = None
|
attribution_key: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ class QualityMeasuresIntAdhDiabetesDenominator(SQLTable):
|
|||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
denominator_flag: int | None = None
|
denominator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntAdhDiabetesExclusions(SQLTable):
|
class QualityMeasuresIntAdhDiabetesExclusions(SQLTable):
|
||||||
@@ -50,7 +50,7 @@ class QualityMeasuresIntAdhDiabetesExclusions(SQLTable):
|
|||||||
exclusion_date: date | None = None
|
exclusion_date: date | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_flag: int | None = None
|
exclusion_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntAdhDiabetesLong(SQLTable):
|
class QualityMeasuresIntAdhDiabetesLong(SQLTable):
|
||||||
@@ -72,7 +72,7 @@ class QualityMeasuresIntAdhDiabetesLong(SQLTable):
|
|||||||
measure_id: str | None = None
|
measure_id: str | None = None
|
||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntAdhDiabetesNumerator(SQLTable):
|
class QualityMeasuresIntAdhDiabetesNumerator(SQLTable):
|
||||||
@@ -86,7 +86,7 @@ class QualityMeasuresIntAdhDiabetesNumerator(SQLTable):
|
|||||||
evidence_value: str | None = None
|
evidence_value: str | None = None
|
||||||
adherence: Decimal | None = None
|
adherence: Decimal | None = None
|
||||||
numerator_flag: int | None = None
|
numerator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntAdhStatinsPerformancePeriod(SQLTable):
|
class QualityMeasuresIntAdhStatinsPerformancePeriod(SQLTable):
|
||||||
@@ -119,7 +119,7 @@ class QualityMeasuresIntAdhStatinsDenominator(SQLTable):
|
|||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
denominator_flag: int | None = None
|
denominator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntAdhStatinsExclusions(SQLTable):
|
class QualityMeasuresIntAdhStatinsExclusions(SQLTable):
|
||||||
@@ -132,7 +132,7 @@ class QualityMeasuresIntAdhStatinsExclusions(SQLTable):
|
|||||||
exclusion_date: date | None = None
|
exclusion_date: date | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_flag: int | None = None
|
exclusion_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntAdhStatinsLong(SQLTable):
|
class QualityMeasuresIntAdhStatinsLong(SQLTable):
|
||||||
@@ -154,7 +154,7 @@ class QualityMeasuresIntAdhStatinsLong(SQLTable):
|
|||||||
measure_id: str | None = None
|
measure_id: str | None = None
|
||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntAdhStatinsNumerator(SQLTable):
|
class QualityMeasuresIntAdhStatinsNumerator(SQLTable):
|
||||||
@@ -168,7 +168,7 @@ class QualityMeasuresIntAdhStatinsNumerator(SQLTable):
|
|||||||
evidence_value: str | None = None
|
evidence_value: str | None = None
|
||||||
adherence: Decimal | None = None
|
adherence: Decimal | None = None
|
||||||
numerator_flag: int | None = None
|
numerator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntAdhrasPerformancePeriod(SQLTable):
|
class QualityMeasuresIntAdhrasPerformancePeriod(SQLTable):
|
||||||
@@ -201,7 +201,7 @@ class QualityMeasuresIntAdhrasDenominator(SQLTable):
|
|||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
denominator_flag: int | None = None
|
denominator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntAdhrasExclusions(SQLTable):
|
class QualityMeasuresIntAdhrasExclusions(SQLTable):
|
||||||
@@ -214,7 +214,7 @@ class QualityMeasuresIntAdhrasExclusions(SQLTable):
|
|||||||
exclusion_date: date | None = None
|
exclusion_date: date | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_flag: int | None = None
|
exclusion_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntAdhrasLong(SQLTable):
|
class QualityMeasuresIntAdhrasLong(SQLTable):
|
||||||
@@ -236,7 +236,7 @@ class QualityMeasuresIntAdhrasLong(SQLTable):
|
|||||||
measure_id: str | None = None
|
measure_id: str | None = None
|
||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntAdhrasNumerator(SQLTable):
|
class QualityMeasuresIntAdhrasNumerator(SQLTable):
|
||||||
@@ -250,7 +250,7 @@ class QualityMeasuresIntAdhrasNumerator(SQLTable):
|
|||||||
evidence_value: str | None = None
|
evidence_value: str | None = None
|
||||||
adherence: Decimal | None = None
|
adherence: Decimal | None = None
|
||||||
numerator_flag: int | None = None
|
numerator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntCqm130PerformancePeriod(SQLTable):
|
class QualityMeasuresIntCqm130PerformancePeriod(SQLTable):
|
||||||
@@ -282,7 +282,7 @@ class QualityMeasuresIntCqm130Denominator(SQLTable):
|
|||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
denominator_flag: int | None = None
|
denominator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntCqm130Exclusions(SQLTable):
|
class QualityMeasuresIntCqm130Exclusions(SQLTable):
|
||||||
@@ -295,7 +295,7 @@ class QualityMeasuresIntCqm130Exclusions(SQLTable):
|
|||||||
exclusion_date: date | None = None
|
exclusion_date: date | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_flag: int | None = None
|
exclusion_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntCqm130Long(SQLTable):
|
class QualityMeasuresIntCqm130Long(SQLTable):
|
||||||
@@ -317,7 +317,7 @@ class QualityMeasuresIntCqm130Long(SQLTable):
|
|||||||
measure_id: str | None = None
|
measure_id: str | None = None
|
||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntCqm130Numerator(SQLTable):
|
class QualityMeasuresIntCqm130Numerator(SQLTable):
|
||||||
@@ -335,7 +335,7 @@ class QualityMeasuresIntCqm130Numerator(SQLTable):
|
|||||||
evidence_date: date | None = None
|
evidence_date: date | None = None
|
||||||
evidence_value: str | None = None
|
evidence_value: str | None = None
|
||||||
numerator_flag: int | None = None
|
numerator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntCqm438PerformancePeriod(SQLTable):
|
class QualityMeasuresIntCqm438PerformancePeriod(SQLTable):
|
||||||
@@ -365,7 +365,7 @@ class QualityMeasuresIntCqm438Denominator(SQLTable):
|
|||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
denominator_flag: int | None = None
|
denominator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntCqm438DenominatorCriteria1(SQLTable):
|
class QualityMeasuresIntCqm438DenominatorCriteria1(SQLTable):
|
||||||
@@ -380,7 +380,7 @@ class QualityMeasuresIntCqm438DenominatorCriteria1(SQLTable):
|
|||||||
measure_id: str | None = None
|
measure_id: str | None = None
|
||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntCqm438DenominatorCriteria2(SQLTable):
|
class QualityMeasuresIntCqm438DenominatorCriteria2(SQLTable):
|
||||||
@@ -395,7 +395,7 @@ class QualityMeasuresIntCqm438DenominatorCriteria2(SQLTable):
|
|||||||
measure_id: str | None = None
|
measure_id: str | None = None
|
||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntCqm438DenominatorCriteria3(SQLTable):
|
class QualityMeasuresIntCqm438DenominatorCriteria3(SQLTable):
|
||||||
@@ -410,7 +410,7 @@ class QualityMeasuresIntCqm438DenominatorCriteria3(SQLTable):
|
|||||||
measure_id: str | None = None
|
measure_id: str | None = None
|
||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntCqm438Exclusions(SQLTable):
|
class QualityMeasuresIntCqm438Exclusions(SQLTable):
|
||||||
@@ -423,7 +423,7 @@ class QualityMeasuresIntCqm438Exclusions(SQLTable):
|
|||||||
exclusion_date: date | None = None
|
exclusion_date: date | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_flag: int | None = None
|
exclusion_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntCqm438Long(SQLTable):
|
class QualityMeasuresIntCqm438Long(SQLTable):
|
||||||
@@ -445,7 +445,7 @@ class QualityMeasuresIntCqm438Long(SQLTable):
|
|||||||
measure_id: str | None = None
|
measure_id: str | None = None
|
||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntCqm438Numerator(SQLTable):
|
class QualityMeasuresIntCqm438Numerator(SQLTable):
|
||||||
@@ -463,7 +463,7 @@ class QualityMeasuresIntCqm438Numerator(SQLTable):
|
|||||||
evidence_date: date | None = None
|
evidence_date: date | None = None
|
||||||
evidence_value: str | None = None
|
evidence_value: str | None = None
|
||||||
numerator_flag: int | None = None
|
numerator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntNqf0420PerformancePeriod(SQLTable):
|
class QualityMeasuresIntNqf0420PerformancePeriod(SQLTable):
|
||||||
@@ -493,7 +493,7 @@ class QualityMeasuresIntNqf0420Denominator(SQLTable):
|
|||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
denominator_flag: int | None = None
|
denominator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntNqf0420Exclusions(SQLTable):
|
class QualityMeasuresIntNqf0420Exclusions(SQLTable):
|
||||||
@@ -506,7 +506,7 @@ class QualityMeasuresIntNqf0420Exclusions(SQLTable):
|
|||||||
exclusion_date: date | None = None
|
exclusion_date: date | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_flag: int | None = None
|
exclusion_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntNqf0420Long(SQLTable):
|
class QualityMeasuresIntNqf0420Long(SQLTable):
|
||||||
@@ -528,7 +528,7 @@ class QualityMeasuresIntNqf0420Long(SQLTable):
|
|||||||
measure_id: str | None = None
|
measure_id: str | None = None
|
||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntNqf0420Numerator(SQLTable):
|
class QualityMeasuresIntNqf0420Numerator(SQLTable):
|
||||||
@@ -546,7 +546,7 @@ class QualityMeasuresIntNqf0420Numerator(SQLTable):
|
|||||||
evidence_date: date | None = None
|
evidence_date: date | None = None
|
||||||
evidence_value: str | None = None
|
evidence_value: str | None = None
|
||||||
numerator_flag: int | None = None
|
numerator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntSharedExclusionsAdvancedIllness(SQLTable):
|
class QualityMeasuresIntSharedExclusionsAdvancedIllness(SQLTable):
|
||||||
@@ -563,7 +563,7 @@ class QualityMeasuresIntSharedExclusionsAdvancedIllness(SQLTable):
|
|||||||
claim_end_date: date | None = None
|
claim_end_date: date | None = None
|
||||||
procedure_date: date | None = None
|
procedure_date: date | None = None
|
||||||
patient_type: str | None = None
|
patient_type: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntSharedExclusionsDementia(SQLTable):
|
class QualityMeasuresIntSharedExclusionsDementia(SQLTable):
|
||||||
@@ -578,7 +578,7 @@ class QualityMeasuresIntSharedExclusionsDementia(SQLTable):
|
|||||||
exclusion_type: str | None = None
|
exclusion_type: str | None = None
|
||||||
dispensing_date: date | None = None
|
dispensing_date: date | None = None
|
||||||
paid_date: date | None = None
|
paid_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntSharedExclusionsFrailty(SQLTable):
|
class QualityMeasuresIntSharedExclusionsFrailty(SQLTable):
|
||||||
@@ -590,7 +590,7 @@ class QualityMeasuresIntSharedExclusionsFrailty(SQLTable):
|
|||||||
person_id: str | None = None
|
person_id: str | None = None
|
||||||
exclusion_date: date | None = None
|
exclusion_date: date | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntSharedExclusionsHospicePalliative(SQLTable):
|
class QualityMeasuresIntSharedExclusionsHospicePalliative(SQLTable):
|
||||||
@@ -603,7 +603,7 @@ class QualityMeasuresIntSharedExclusionsHospicePalliative(SQLTable):
|
|||||||
exclusion_date: date | None = None
|
exclusion_date: date | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_type: str | None = None
|
exclusion_type: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntSharedExclusionsInstitutionalSnp(SQLTable):
|
class QualityMeasuresIntSharedExclusionsInstitutionalSnp(SQLTable):
|
||||||
@@ -616,7 +616,7 @@ class QualityMeasuresIntSharedExclusionsInstitutionalSnp(SQLTable):
|
|||||||
exclusion_date: date | None = None
|
exclusion_date: date | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_type: str | None = None
|
exclusion_type: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntSupdPerformancePeriod(SQLTable):
|
class QualityMeasuresIntSupdPerformancePeriod(SQLTable):
|
||||||
@@ -646,7 +646,7 @@ class QualityMeasuresIntSupdDenominator(SQLTable):
|
|||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
denominator_flag: int | None = None
|
denominator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntSupdExclusions(SQLTable):
|
class QualityMeasuresIntSupdExclusions(SQLTable):
|
||||||
@@ -659,7 +659,7 @@ class QualityMeasuresIntSupdExclusions(SQLTable):
|
|||||||
exclusion_date: date | None = None
|
exclusion_date: date | None = None
|
||||||
exclusion_reason: str | None = None
|
exclusion_reason: str | None = None
|
||||||
exclusion_flag: int | None = None
|
exclusion_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntSupdLong(SQLTable):
|
class QualityMeasuresIntSupdLong(SQLTable):
|
||||||
@@ -681,7 +681,7 @@ class QualityMeasuresIntSupdLong(SQLTable):
|
|||||||
measure_id: str | None = None
|
measure_id: str | None = None
|
||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresIntSupdNumerator(SQLTable):
|
class QualityMeasuresIntSupdNumerator(SQLTable):
|
||||||
@@ -694,7 +694,7 @@ class QualityMeasuresIntSupdNumerator(SQLTable):
|
|||||||
evidence_date: date | None = None
|
evidence_date: date | None = None
|
||||||
evidence_value: str | None = None
|
evidence_value: str | None = None
|
||||||
numerator_flag: int | None = None
|
numerator_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresStgCondition(SQLTable):
|
class QualityMeasuresStgCondition(SQLTable):
|
||||||
@@ -711,7 +711,7 @@ class QualityMeasuresStgCondition(SQLTable):
|
|||||||
source_code: str | None = None
|
source_code: str | None = None
|
||||||
normalized_code_type: str | None = None
|
normalized_code_type: str | None = None
|
||||||
normalized_code: str | None = None
|
normalized_code: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresStgEncounter(SQLTable):
|
class QualityMeasuresStgEncounter(SQLTable):
|
||||||
@@ -727,7 +727,7 @@ class QualityMeasuresStgEncounter(SQLTable):
|
|||||||
length_of_stay: int | None = None
|
length_of_stay: int | None = None
|
||||||
encounter_start_date: date | None = None
|
encounter_start_date: date | None = None
|
||||||
encounter_end_date: date | None = None
|
encounter_end_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresStgLabResult(SQLTable):
|
class QualityMeasuresStgLabResult(SQLTable):
|
||||||
@@ -761,7 +761,7 @@ class QualityMeasuresStgMedicalClaim(SQLTable):
|
|||||||
hcpcs_modifier_3: str | None = None
|
hcpcs_modifier_3: str | None = None
|
||||||
hcpcs_modifier_4: str | None = None
|
hcpcs_modifier_4: str | None = None
|
||||||
hcpcs_modifier_5: str | None = None
|
hcpcs_modifier_5: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresStgMedication(SQLTable):
|
class QualityMeasuresStgMedication(SQLTable):
|
||||||
@@ -778,7 +778,7 @@ class QualityMeasuresStgMedication(SQLTable):
|
|||||||
source_code: str | None = None
|
source_code: str | None = None
|
||||||
ndc_code: str | None = None
|
ndc_code: str | None = None
|
||||||
rxnorm_code: str | None = None
|
rxnorm_code: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresStgObservation(SQLTable):
|
class QualityMeasuresStgObservation(SQLTable):
|
||||||
@@ -796,7 +796,7 @@ class QualityMeasuresStgObservation(SQLTable):
|
|||||||
normalized_code_type: str | None = None
|
normalized_code_type: str | None = None
|
||||||
normalized_code: str | None = None
|
normalized_code: str | None = None
|
||||||
normalized_description: str | None = None
|
normalized_description: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresStgPatient(SQLTable):
|
class QualityMeasuresStgPatient(SQLTable):
|
||||||
@@ -809,7 +809,7 @@ class QualityMeasuresStgPatient(SQLTable):
|
|||||||
sex: str | None = None
|
sex: str | None = None
|
||||||
birth_date: date | None = None
|
birth_date: date | None = None
|
||||||
death_date: date | None = None
|
death_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresStgPharmacyClaim(SQLTable):
|
class QualityMeasuresStgPharmacyClaim(SQLTable):
|
||||||
@@ -823,7 +823,7 @@ class QualityMeasuresStgPharmacyClaim(SQLTable):
|
|||||||
ndc_code: str | None = None
|
ndc_code: str | None = None
|
||||||
days_supply: int | None = None
|
days_supply: int | None = None
|
||||||
paid_date: date | None = None
|
paid_date: date | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresStgProcedure(SQLTable):
|
class QualityMeasuresStgProcedure(SQLTable):
|
||||||
@@ -844,7 +844,7 @@ class QualityMeasuresStgProcedure(SQLTable):
|
|||||||
modifier_3: str | None = None
|
modifier_3: str | None = None
|
||||||
modifier_4: str | None = None
|
modifier_4: str | None = None
|
||||||
modifier_5: str | None = None
|
modifier_5: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresValueSetCodes(SQLTable):
|
class QualityMeasuresValueSetCodes(SQLTable):
|
||||||
@@ -899,7 +899,7 @@ class QualityMeasuresSummaryCounts(SQLTable):
|
|||||||
numerator_sum: int | None = None
|
numerator_sum: int | None = None
|
||||||
exclusion_sum: int | None = None
|
exclusion_sum: int | None = None
|
||||||
performance_rate: Decimal | None = None
|
performance_rate: Decimal | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresSummaryLong(SQLTable):
|
class QualityMeasuresSummaryLong(SQLTable):
|
||||||
@@ -922,7 +922,7 @@ class QualityMeasuresSummaryLong(SQLTable):
|
|||||||
measure_id: str | None = None
|
measure_id: str | None = None
|
||||||
measure_name: str | None = None
|
measure_name: str | None = None
|
||||||
measure_version: str | None = None
|
measure_version: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class QualityMeasuresSummaryWide(SQLTable):
|
class QualityMeasuresSummaryWide(SQLTable):
|
||||||
@@ -939,4 +939,4 @@ class QualityMeasuresSummaryWide(SQLTable):
|
|||||||
cqm_438: int | None = None
|
cqm_438: int | None = None
|
||||||
nqf_0420: int | None = None
|
nqf_0420: int | None = None
|
||||||
supd: int | None = None
|
supd: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ class ReadmissionsIntEncounter(SQLTable):
|
|||||||
primary_diagnosis_code: str | None = None
|
primary_diagnosis_code: str | None = None
|
||||||
encounter_source_type: str | None = None
|
encounter_source_type: str | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsIntEncounterDataQuality(SQLTable):
|
class ReadmissionsIntEncounterDataQuality(SQLTable):
|
||||||
@@ -47,7 +47,7 @@ class ReadmissionsIntEncounterDataQuality(SQLTable):
|
|||||||
overlaps_with_another_encounter_flag: int | None = None
|
overlaps_with_another_encounter_flag: int | None = None
|
||||||
missing_drg_flag: int | None = None
|
missing_drg_flag: int | None = None
|
||||||
invalid_drg_flag: int | None = None
|
invalid_drg_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsIntEncounterOverlap(SQLTable):
|
class ReadmissionsIntEncounterOverlap(SQLTable):
|
||||||
@@ -78,7 +78,7 @@ class ReadmissionsIntEncounterSpecialtyCohort(SQLTable):
|
|||||||
|
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
specialty_cohort: str | None = None
|
specialty_cohort: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsIntEncounterWithCcs(SQLTable):
|
class ReadmissionsIntEncounterWithCcs(SQLTable):
|
||||||
@@ -99,7 +99,7 @@ class ReadmissionsIntEncounterWithCcs(SQLTable):
|
|||||||
primary_diagnosis_code: str | None = None
|
primary_diagnosis_code: str | None = None
|
||||||
valid_primary_diagnosis_code_flag: int | None = None
|
valid_primary_diagnosis_code_flag: int | None = None
|
||||||
ccs_diagnosis_category: str | None = None
|
ccs_diagnosis_category: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsIntExclusion(SQLTable):
|
class ReadmissionsIntExclusion(SQLTable):
|
||||||
@@ -109,7 +109,7 @@ class ReadmissionsIntExclusion(SQLTable):
|
|||||||
__tablename__ = "_int_exclusion"
|
__tablename__ = "_int_exclusion"
|
||||||
|
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsIntIndexAdmission(SQLTable):
|
class ReadmissionsIntIndexAdmission(SQLTable):
|
||||||
@@ -119,7 +119,7 @@ class ReadmissionsIntIndexAdmission(SQLTable):
|
|||||||
__tablename__ = "_int_index_admission"
|
__tablename__ = "_int_index_admission"
|
||||||
|
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsIntIndexDischargeRequirement(SQLTable):
|
class ReadmissionsIntIndexDischargeRequirement(SQLTable):
|
||||||
@@ -129,7 +129,7 @@ class ReadmissionsIntIndexDischargeRequirement(SQLTable):
|
|||||||
__tablename__ = "_int_index_discharge_requirement"
|
__tablename__ = "_int_index_discharge_requirement"
|
||||||
|
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsIntIndexTimeRequirement(SQLTable):
|
class ReadmissionsIntIndexTimeRequirement(SQLTable):
|
||||||
@@ -139,7 +139,7 @@ class ReadmissionsIntIndexTimeRequirement(SQLTable):
|
|||||||
__tablename__ = "_int_index_time_requirement"
|
__tablename__ = "_int_index_time_requirement"
|
||||||
|
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsIntPlannedEncounter(SQLTable):
|
class ReadmissionsIntPlannedEncounter(SQLTable):
|
||||||
@@ -149,7 +149,7 @@ class ReadmissionsIntPlannedEncounter(SQLTable):
|
|||||||
__tablename__ = "_int_planned_encounter"
|
__tablename__ = "_int_planned_encounter"
|
||||||
|
|
||||||
encounter_id: str | None = None
|
encounter_id: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsIntProcedureCcs(SQLTable):
|
class ReadmissionsIntProcedureCcs(SQLTable):
|
||||||
@@ -162,7 +162,7 @@ class ReadmissionsIntProcedureCcs(SQLTable):
|
|||||||
procedure_code: str | None = None
|
procedure_code: str | None = None
|
||||||
valid_icd_10_pcs_flag: int | None = None
|
valid_icd_10_pcs_flag: int | None = None
|
||||||
ccs_procedure_category: str | None = None
|
ccs_procedure_category: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsIntReadmissionCrude(SQLTable):
|
class ReadmissionsIntReadmissionCrude(SQLTable):
|
||||||
@@ -178,7 +178,7 @@ class ReadmissionsIntReadmissionCrude(SQLTable):
|
|||||||
had_readmission_flag: int | None = None
|
had_readmission_flag: int | None = None
|
||||||
days_to_readmit: int | None = None
|
days_to_readmit: int | None = None
|
||||||
readmit_30_flag: int | None = None
|
readmit_30_flag: int | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsValueSetAcuteDiagnosisCcs(SQLTable):
|
class ReadmissionsValueSetAcuteDiagnosisCcs(SQLTable):
|
||||||
@@ -334,7 +334,7 @@ class ReadmissionsEncounterAugmented(SQLTable):
|
|||||||
missing_drg_flag: int | None = None
|
missing_drg_flag: int | None = None
|
||||||
invalid_drg_flag: int | None = None
|
invalid_drg_flag: int | None = None
|
||||||
data_source: str | None = None
|
data_source: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|
||||||
|
|
||||||
class ReadmissionsReadmissionSummary(SQLTable):
|
class ReadmissionsReadmissionSummary(SQLTable):
|
||||||
@@ -375,4 +375,4 @@ class ReadmissionsReadmissionSummary(SQLTable):
|
|||||||
readmission_specialty_cohort: str | None = None
|
readmission_specialty_cohort: str | None = None
|
||||||
readmission_died_flag: int | None = None
|
readmission_died_flag: int | None = None
|
||||||
readmission_diagnosis_ccs: str | None = None
|
readmission_diagnosis_ccs: str | None = None
|
||||||
pipeline_last_run: datetime | None = None
|
last_run: datetime | None = None
|
||||||
|
|||||||
65
src/api/routes/lineage.py
Normal file
65
src/api/routes/lineage.py
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
"""Lineage endpoints — table and column dependency graph."""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from fastapi import APIRouter, HTTPException
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
router = APIRouter(prefix="/lineage", tags=["lineage"])
|
||||||
|
|
||||||
|
|
||||||
|
class LineageResponse(BaseModel):
|
||||||
|
tables: list[str]
|
||||||
|
edges: dict[str, list[str]]
|
||||||
|
column_sources: dict[str, dict[str, str]]
|
||||||
|
|
||||||
|
|
||||||
|
class TableLineageResponse(BaseModel):
|
||||||
|
table: str
|
||||||
|
inputs: list[str]
|
||||||
|
column_sources: dict[str, str]
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("", response_model=LineageResponse)
|
||||||
|
def get_lineage() -> LineageResponse:
|
||||||
|
"""Return the full table-level lineage graph."""
|
||||||
|
from aco.lake.lineage import build_lineage
|
||||||
|
|
||||||
|
graph = build_lineage()
|
||||||
|
data = graph.to_dict()
|
||||||
|
return LineageResponse(**data)
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/export/mermaid")
|
||||||
|
def export_mermaid() -> dict[str, str]:
|
||||||
|
"""Export lineage as Mermaid flowchart."""
|
||||||
|
from aco.lake.lineage import build_lineage
|
||||||
|
|
||||||
|
graph = build_lineage()
|
||||||
|
return {"format": "mermaid", "content": graph.to_mermaid()}
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/export/dot")
|
||||||
|
def export_dot() -> dict[str, str]:
|
||||||
|
"""Export lineage as DOT graph."""
|
||||||
|
from aco.lake.lineage import build_lineage
|
||||||
|
|
||||||
|
graph = build_lineage()
|
||||||
|
return {"format": "dot", "content": graph.to_dot()}
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/{table_ref:path}", response_model=TableLineageResponse)
|
||||||
|
def get_table_lineage(table_ref: str) -> TableLineageResponse:
|
||||||
|
"""Return lineage for a specific table."""
|
||||||
|
from aco.lake.lineage import build_lineage
|
||||||
|
|
||||||
|
graph = build_lineage()
|
||||||
|
|
||||||
|
if table_ref not in graph.table_edges:
|
||||||
|
raise HTTPException(status_code=404, detail=f"Table '{table_ref}' not found.")
|
||||||
|
|
||||||
|
return TableLineageResponse(
|
||||||
|
table=table_ref,
|
||||||
|
inputs=graph.table_deps(table_ref),
|
||||||
|
column_sources=graph.column_sources.get(table_ref, {}),
|
||||||
|
)
|
||||||
@@ -11,7 +11,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
|
|
||||||
from api.routes import auth, bib, health, pipelines, schema
|
from api.routes import auth, bib, health, lineage, pipelines, schema
|
||||||
|
|
||||||
app = FastAPI(
|
app = FastAPI(
|
||||||
title="stack",
|
title="stack",
|
||||||
@@ -24,3 +24,4 @@ app.include_router(health.router)
|
|||||||
app.include_router(pipelines.router)
|
app.include_router(pipelines.router)
|
||||||
app.include_router(bib.router)
|
app.include_router(bib.router)
|
||||||
app.include_router(schema.router)
|
app.include_router(schema.router)
|
||||||
|
app.include_router(lineage.router)
|
||||||
|
|||||||
@@ -8,17 +8,50 @@ app = typer.Typer(no_args_is_help=True)
|
|||||||
|
|
||||||
|
|
||||||
@app.command()
|
@app.command()
|
||||||
def sync() -> None:
|
def sync(
|
||||||
|
dry_run: bool = typer.Option(False, "--dry-run", help="Report without applying."),
|
||||||
|
) -> None:
|
||||||
"""Apply col: tags as DuckDB column comments."""
|
"""Apply col: tags as DuckDB column comments."""
|
||||||
typer.echo("bib sync [stub]")
|
import duckdb
|
||||||
|
|
||||||
|
from bib import connect
|
||||||
|
from bib.meta import apply_column_comments, collect_column_comments
|
||||||
|
from conf import path
|
||||||
|
|
||||||
|
store = connect()
|
||||||
|
comments = collect_column_comments(store)
|
||||||
|
|
||||||
|
if not comments:
|
||||||
|
typer.echo("No col: tags found. Run seed_col_tags.py first.")
|
||||||
|
return
|
||||||
|
|
||||||
|
if dry_run:
|
||||||
|
for ref, desc in sorted(comments.items()):
|
||||||
|
typer.echo(f" {ref} = {desc}")
|
||||||
|
typer.echo(f"Would apply {len(comments)} column comments.")
|
||||||
|
return
|
||||||
|
|
||||||
|
con = duckdb.connect(str(path("db.aco")), read_only=False)
|
||||||
|
stmts = apply_column_comments(con, store)
|
||||||
|
con.close()
|
||||||
|
|
||||||
|
typer.echo(f"Applied {len(stmts)} column comments.")
|
||||||
|
|
||||||
|
|
||||||
@app.command()
|
@app.command()
|
||||||
def tag(
|
def tag(
|
||||||
pattern: str = typer.Argument("", help="Tag pattern to search."),
|
pattern: str = typer.Argument("", help="Tag namespace or pattern to filter."),
|
||||||
) -> None:
|
) -> None:
|
||||||
"""List or search bibliography tags."""
|
"""List or search bibliography tags."""
|
||||||
typer.echo(f"bib tag: pattern={pattern!r} [stub]")
|
from bib import connect
|
||||||
|
|
||||||
|
store = connect()
|
||||||
|
tags = store.list_tags(namespace=pattern)
|
||||||
|
|
||||||
|
for t in tags:
|
||||||
|
typer.echo(f" {t['name']} ({t['count']} items)")
|
||||||
|
|
||||||
|
typer.echo(f"{len(tags)} tags found.")
|
||||||
|
|
||||||
|
|
||||||
@app.command()
|
@app.command()
|
||||||
@@ -26,4 +59,15 @@ def query(
|
|||||||
term: str = typer.Argument(help="Search term."),
|
term: str = typer.Argument(help="Search term."),
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Search the bibliography store."""
|
"""Search the bibliography store."""
|
||||||
typer.echo(f"bib query: term={term!r} [stub]")
|
from bib import connect
|
||||||
|
|
||||||
|
store = connect()
|
||||||
|
items = store.list_items(query=term)
|
||||||
|
|
||||||
|
for item in items[:20]:
|
||||||
|
tags_str = ", ".join(item.tags[:3]) if item.tags else ""
|
||||||
|
typer.echo(f" {item.key}: {item.title[:60]} [{tags_str}]")
|
||||||
|
|
||||||
|
if len(items) > 20:
|
||||||
|
typer.echo(f" ... and {len(items) - 20} more")
|
||||||
|
typer.echo(f"{len(items)} items found.")
|
||||||
|
|||||||
@@ -8,6 +8,53 @@ app = typer.Typer(no_args_is_help=True)
|
|||||||
|
|
||||||
|
|
||||||
@app.command()
|
@app.command()
|
||||||
def models() -> None:
|
def models(
|
||||||
|
sync_first: bool = typer.Option(
|
||||||
|
True, "--sync/--no-sync", help="Run bib sync before generating."
|
||||||
|
),
|
||||||
|
) -> None:
|
||||||
"""Regenerate Pydantic table models from DuckDB schemas."""
|
"""Regenerate Pydantic table models from DuckDB schemas."""
|
||||||
typer.echo("generate models [stub]")
|
from pathlib import Path
|
||||||
|
|
||||||
|
import duckdb
|
||||||
|
|
||||||
|
from conf import cfg, path
|
||||||
|
|
||||||
|
if sync_first:
|
||||||
|
typer.echo("Syncing column comments from bib store...")
|
||||||
|
from bib import connect
|
||||||
|
from bib.meta import apply_column_comments, collect_column_comments
|
||||||
|
|
||||||
|
store = connect()
|
||||||
|
comments = collect_column_comments(store)
|
||||||
|
if comments:
|
||||||
|
con = duckdb.connect(str(path("db.aco")), read_only=False)
|
||||||
|
stmts = apply_column_comments(con, store)
|
||||||
|
con.close()
|
||||||
|
typer.echo(f" Applied {len(stmts)} column comments.")
|
||||||
|
|
||||||
|
from dev.scripts.generate_models import (
|
||||||
|
generate_schema_module,
|
||||||
|
get_schemas,
|
||||||
|
get_tables,
|
||||||
|
)
|
||||||
|
|
||||||
|
db_path = str(path("db.aco"))
|
||||||
|
out_dir = Path(str(path("generate.table_out")))
|
||||||
|
base_import = cfg.generate.base_import
|
||||||
|
|
||||||
|
con = duckdb.connect(db_path, read_only=True)
|
||||||
|
schemas = get_schemas(con)
|
||||||
|
total_tables = 0
|
||||||
|
|
||||||
|
for schema in schemas:
|
||||||
|
safe_name = schema.replace("-", "_")
|
||||||
|
module_path = out_dir / f"{safe_name}.py"
|
||||||
|
code = generate_schema_module(con, schema, base_import)
|
||||||
|
module_path.write_text(code)
|
||||||
|
table_count = len(get_tables(con, schema))
|
||||||
|
total_tables += table_count
|
||||||
|
typer.echo(f" {module_path.name} ({table_count} tables)")
|
||||||
|
|
||||||
|
con.close()
|
||||||
|
typer.echo(f"Generated {len(schemas)} modules, {total_tables} tables.")
|
||||||
|
|||||||
@@ -131,3 +131,38 @@ class TestSchema:
|
|||||||
def test_missing_table(self, client) -> None:
|
def test_missing_table(self, client) -> None:
|
||||||
r = client.get("/schema/nonexistent_table")
|
r = client.get("/schema/nonexistent_table")
|
||||||
assert r.status_code == 404
|
assert r.status_code == 404
|
||||||
|
|
||||||
|
|
||||||
|
class TestLineage:
|
||||||
|
def test_full_graph(self, client) -> None:
|
||||||
|
r = client.get("/lineage")
|
||||||
|
assert r.status_code == 200
|
||||||
|
data = r.json()
|
||||||
|
assert "tables" in data
|
||||||
|
assert "edges" in data
|
||||||
|
assert len(data["tables"]) > 0
|
||||||
|
|
||||||
|
def test_table_lineage(self, client) -> None:
|
||||||
|
r = client.get("/lineage/readmissions._int_encounter")
|
||||||
|
assert r.status_code == 200
|
||||||
|
data = r.json()
|
||||||
|
assert data["table"] == "readmissions._int_encounter"
|
||||||
|
assert "inputs" in data
|
||||||
|
|
||||||
|
def test_table_not_found(self, client) -> None:
|
||||||
|
r = client.get("/lineage/nonexistent.table")
|
||||||
|
assert r.status_code == 404
|
||||||
|
|
||||||
|
def test_export_mermaid(self, client) -> None:
|
||||||
|
r = client.get("/lineage/export/mermaid")
|
||||||
|
assert r.status_code == 200
|
||||||
|
data = r.json()
|
||||||
|
assert data["format"] == "mermaid"
|
||||||
|
assert "graph LR" in data["content"]
|
||||||
|
|
||||||
|
def test_export_dot(self, client) -> None:
|
||||||
|
r = client.get("/lineage/export/dot")
|
||||||
|
assert r.status_code == 200
|
||||||
|
data = r.json()
|
||||||
|
assert data["format"] == "dot"
|
||||||
|
assert "digraph" in data["content"]
|
||||||
|
|||||||
@@ -59,27 +59,27 @@ class TestLoad:
|
|||||||
|
|
||||||
|
|
||||||
class TestGenerate:
|
class TestGenerate:
|
||||||
def test_generate_models(self) -> None:
|
def test_generate_models_help(self) -> None:
|
||||||
result = runner.invoke(app, ["generate", "models"])
|
result = runner.invoke(app, ["generate", "models", "--help"])
|
||||||
assert result.exit_code == 0
|
assert result.exit_code == 0
|
||||||
assert "generate models" in result.output
|
assert "sync" in result.output
|
||||||
|
|
||||||
|
|
||||||
class TestBib:
|
class TestBib:
|
||||||
def test_bib_sync(self) -> None:
|
def test_bib_sync_help(self) -> None:
|
||||||
result = runner.invoke(app, ["bib", "sync"])
|
result = runner.invoke(app, ["bib", "sync", "--help"])
|
||||||
assert result.exit_code == 0
|
assert result.exit_code == 0
|
||||||
assert "bib sync" in result.output
|
assert "dry-run" in result.output
|
||||||
|
|
||||||
def test_bib_tag(self) -> None:
|
def test_bib_tag(self) -> None:
|
||||||
result = runner.invoke(app, ["bib", "tag"])
|
result = runner.invoke(app, ["bib", "tag"])
|
||||||
assert result.exit_code == 0
|
assert result.exit_code == 0
|
||||||
assert "bib tag" in result.output
|
assert "tags found" in result.output
|
||||||
|
|
||||||
def test_bib_query(self) -> None:
|
def test_bib_query(self) -> None:
|
||||||
result = runner.invoke(app, ["bib", "query", "pfs"])
|
result = runner.invoke(app, ["bib", "query", "pfs"])
|
||||||
assert result.exit_code == 0
|
assert result.exit_code == 0
|
||||||
assert "bib query" in result.output
|
assert "items found" in result.output
|
||||||
|
|
||||||
|
|
||||||
class TestLake:
|
class TestLake:
|
||||||
|
|||||||
Reference in New Issue
Block a user