feat: plan-type enforcement in the live path (plan 02, P5)
Full client-mapped plan_type pipeline: complete header alias set (bare 'plan'/'plan_name' stay payer aliases), value canonicalization map (Medicare Part B / FFS / MA / Part C / private / employer etc), unrecognized values grade Plan Type Needed with a hashed once-per-value warning. Once-per-batch deprecation fence when records lack plan_type (timing guesses from payer, legacy; readiness never does). CSVImport mapping review gains Plan Type. All 66 demo/drift fixture CSVs authored with plan_type columns (variant headers + variant values on the drift corpus); corpus sweep: 66/66 map, 100% typed. Echo paths canonicalize through the same value map (audit Low fixed). _normalize_payer and the default config entry remain untouched (Phase 2c, Kisa-gated). Independent audit: SHIP. 169 tests green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
a53728e424
commit
f28b5bf39e
70 changed files with 15581 additions and 15417 deletions
|
|
@ -34,7 +34,7 @@ from core.persistence import (
|
|||
upsert_doc_status,
|
||||
load_doc_statuses_for_org,
|
||||
)
|
||||
from api.normalizer import normalize_csv
|
||||
from api.normalizer import _normalize_plan_type, normalize_csv
|
||||
from core.overrides import (
|
||||
Override,
|
||||
OverrideKey,
|
||||
|
|
@ -401,7 +401,7 @@ def _recompute_patient(
|
|||
csv_pecos_verified=el.csv_pecos_verified,
|
||||
csv_pa_status=el.csv_pa_status,
|
||||
csv_diagnosis_on_file=el.csv_diagnosis_on_file,
|
||||
plan_type=(el.plan_type or "").strip().lower() or None,
|
||||
plan_type=_normalize_plan_type(el.plan_type),
|
||||
)
|
||||
)
|
||||
|
||||
|
|
@ -783,6 +783,22 @@ async def upload_csv(
|
|||
|
||||
db_conn = get_client()
|
||||
|
||||
# P5 deprecation fence: when any record lacks a client-mapped plan_type,
|
||||
# the TIMING rules fall back to the payer-name guess for those records
|
||||
# (readiness never does — it reads Plan Type Needed). Once per batch.
|
||||
_unmapped = sum(1 for rec in records if rec.plan_type is None)
|
||||
if _unmapped:
|
||||
import logging
|
||||
|
||||
logging.getLogger(__name__).warning(
|
||||
"plan_type not provided for %d/%d records. Timing rules guess "
|
||||
"from the payer name (legacy path, to be removed); readiness "
|
||||
"grades these records Plan Type Needed. Supply plan_type in "
|
||||
"the CSV import.",
|
||||
_unmapped,
|
||||
len(records),
|
||||
)
|
||||
|
||||
results = calculate_batch(
|
||||
records, as_of=date.today(), confirmed_visits=confirmed_visits
|
||||
)
|
||||
|
|
@ -1086,9 +1102,9 @@ async def confirm_visit(
|
|||
csv_transfer_from=body.csv_transfer_from,
|
||||
order_number=body.order_number,
|
||||
hcpcs=body.hcpcs,
|
||||
# Same normalization the CSV path applies (lowercase + trim, never
|
||||
# Same canonicalization the CSV path applies (value map, never
|
||||
# guessed) so RecordOut.plan_type is consistent across both paths.
|
||||
plan_type=(body.plan_type or "").strip().lower() or None,
|
||||
plan_type=_normalize_plan_type(body.plan_type),
|
||||
)
|
||||
result = calculate_coverage(record, confirmed_visit_date=confirmed)
|
||||
verdict = readiness_for_record(record, confirmed_visit_date=confirmed)
|
||||
|
|
|
|||
|
|
@ -6,11 +6,15 @@ Tolerates header drift, alternative column names, and common date formats.
|
|||
"""
|
||||
|
||||
import csv
|
||||
import hashlib
|
||||
import io
|
||||
import logging
|
||||
import re
|
||||
from datetime import date, datetime
|
||||
from typing import Optional
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent))
|
||||
|
|
@ -52,8 +56,10 @@ HEADER_MAP: dict[str, list[str]] = {
|
|||
# name. Bare "plan"/"plan_name" stay payer aliases (a "Plan" column in the
|
||||
# wild is a payer name); stealing them would silently re-map existing CSVs.
|
||||
"plan_type": [
|
||||
"plan_type", "plan type", "plan category", "plan_category",
|
||||
"plan_type", "plan type", "plantype", "plan category", "plan_category",
|
||||
"coverage type", "coverage_type", "insurance_type", "insurance type",
|
||||
"payer_type", "payer type", "lob", "line_of_business",
|
||||
"line of business", "benefit_type", "benefit type",
|
||||
],
|
||||
"component": [
|
||||
"component", "item_type", "component_type", "type", "supply_type",
|
||||
|
|
@ -173,6 +179,30 @@ DATE_FORMATS = [
|
|||
]
|
||||
|
||||
|
||||
# Canonicalization map for CLIENT-SUPPLIED plan-type VALUES (P5). The client
|
||||
# asserted the plan type; Signal only canonicalizes spelling. Deriving plan
|
||||
# type from the payer NAME remains forbidden (the never-guess lock).
|
||||
PLAN_TYPE_VALUES = {
|
||||
"medicare": "medicare", "medicare ffs": "medicare", "ffs": "medicare",
|
||||
"medicare part b": "medicare", "part b": "medicare",
|
||||
"traditional medicare": "medicare", "original medicare": "medicare",
|
||||
"medicare advantage": "medicare_advantage", "ma": "medicare_advantage",
|
||||
"medicare part c": "medicare_advantage", "part c": "medicare_advantage",
|
||||
"medicare_advantage": "medicare_advantage",
|
||||
"medicaid": "medicaid", "mcd": "medicaid", "state medicaid": "medicaid",
|
||||
"commercial": "commercial", "private": "commercial",
|
||||
"employer": "commercial", "group": "commercial",
|
||||
}
|
||||
|
||||
|
||||
def _normalize_plan_type(raw: "Optional[str]") -> Optional[str]:
|
||||
"""Canonicalize a CLIENT-SUPPLIED plan type value. Never called on payer
|
||||
names. Unrecognized (including blank) -> None -> Plan Type Needed.
|
||||
Never guess."""
|
||||
s = (raw or "").strip().lower()
|
||||
return PLAN_TYPE_VALUES.get(s)
|
||||
|
||||
|
||||
def _normalize_key(s: str) -> str:
|
||||
return s.strip().lower().replace("-", " ").replace("_", " ")
|
||||
|
||||
|
|
@ -268,6 +298,7 @@ def normalize_csv(text: str) -> tuple[list[ShipmentRecord], list[str], dict]:
|
|||
|
||||
records: list[ShipmentRecord] = []
|
||||
skipped: list[str] = []
|
||||
_warned_plan_values: set = set() # one warning per distinct value per file
|
||||
|
||||
for i, row in enumerate(reader, start=2): # noqa: B007
|
||||
mapped: dict[str, str] = {}
|
||||
|
|
@ -319,11 +350,19 @@ def normalize_csv(text: str) -> tuple[list[ShipmentRecord], list[str], dict]:
|
|||
order_number = mapped.get("order_number") or None
|
||||
hcpcs = mapped.get("hcpcs") or None
|
||||
|
||||
# Client-supplied plan type, carried verbatim (lowercased and trimmed
|
||||
# only — canonicalization of synonyms is a later, separate step).
|
||||
# Anything the readiness engine does not recognize grades as
|
||||
# "Plan Type Needed"; it is never guessed from the payer name.
|
||||
plan_type = (mapped.get("plan_type") or "").strip().lower() or None
|
||||
# Client-supplied plan type, canonicalized through the value map
|
||||
# (spelling only — the client asserted the plan type). Unrecognized
|
||||
# values grade as "Plan Type Needed"; never guessed from payer name.
|
||||
raw_plan = (mapped.get("plan_type") or "").strip()
|
||||
plan_type = _normalize_plan_type(raw_plan)
|
||||
if raw_plan and plan_type is None and raw_plan.lower() not in _warned_plan_values:
|
||||
_warned_plan_values.add(raw_plan.lower())
|
||||
logger.warning(
|
||||
"Unrecognized plan_type value '%s' (first seen row %d, "
|
||||
"patient hash %s) -> grades as Plan Type Needed",
|
||||
raw_plan, i,
|
||||
hashlib.sha256(patient_id.encode()).hexdigest()[:12],
|
||||
)
|
||||
|
||||
records.append(ShipmentRecord(
|
||||
patient_id=patient_id,
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ const FIELD_LABELS = {
|
|||
shipment_date: "Shipment Date",
|
||||
quantity: "Quantity",
|
||||
payer: "Payer",
|
||||
plan_type: "Plan Type",
|
||||
component: "Component",
|
||||
csv_visit_date: "Visit Date",
|
||||
csv_swo_status: "SWO Status",
|
||||
|
|
@ -25,6 +26,7 @@ const OVERRIDE_OPTIONS = [
|
|||
{ value: "shipment_date", label: "Shipment Date" },
|
||||
{ value: "quantity", label: "Quantity" },
|
||||
{ value: "payer", label: "Payer" },
|
||||
{ value: "plan_type", label: "Plan Type" },
|
||||
{ value: "skip", label: "Skip this column" },
|
||||
];
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,5 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1001,freestyle_libre_3,2026-05-10,9,Medicaid - GA,sensor
|
||||
PT-1002,freestyle_libre_3,2026-05-10,9,Medicaid - GA,sensor
|
||||
PT-1003,freestyle_libre_3,2026-05-15,1,Medicaid - GA,sensor
|
||||
PT-1004,freestyle_libre_3,2026-05-09,1,Medicaid - GA,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1001,freestyle_libre_3,2026-05-10,9,Medicaid - GA,sensor,medicaid
|
||||
PT-1002,freestyle_libre_3,2026-05-10,9,Medicaid - GA,sensor,medicaid
|
||||
PT-1003,freestyle_libre_3,2026-05-15,1,Medicaid - GA,sensor,medicaid
|
||||
PT-1004,freestyle_libre_3,2026-05-09,1,Medicaid - GA,sensor,medicaid
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1001,FSL3,2026-05-03,9,Medicare Part A,sensor
|
||||
PT-1002,FreeStyle Libre 3,2026-05-03,6,Medicare Part A,sensor
|
||||
PT-1003,fs libre 3,2026-04-29,1,Medicare Part A,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1001,FSL3,2026-05-03,9,Medicare Part A,sensor,medicare
|
||||
PT-1002,FreeStyle Libre 3,2026-05-03,6,Medicare Part A,sensor,medicare
|
||||
PT-1003,fs libre 3,2026-04-29,1,Medicare Part A,sensor,medicare
|
||||
|
|
|
|||
|
|
|
@ -1,6 +1,6 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1001,Omnipod,2025-04-27,6,Medicare Part B - CGM,pod
|
||||
PT-1002,Omnipod,2025-07-18,2,Medicare Part B - CGM,pod
|
||||
PT-1003,Omnipod 5,2025-07-15,6,Medicare Part B - CGM,pod
|
||||
PT-1004,OmniPod 5,2025-05-16,9,Medicare Part B - CGM,pod
|
||||
PT-1005,Omnipod 5,2025-07-02,6,Medicare Part B - CGM,pod
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1001,Omnipod,2025-04-27,6,Medicare Part B - CGM,pod,medicare
|
||||
PT-1002,Omnipod,2025-07-18,2,Medicare Part B - CGM,pod,medicare
|
||||
PT-1003,Omnipod 5,2025-07-15,6,Medicare Part B - CGM,pod,medicare
|
||||
PT-1004,OmniPod 5,2025-05-16,9,Medicare Part B - CGM,pod,medicare
|
||||
PT-1005,Omnipod 5,2025-07-02,6,Medicare Part B - CGM,pod,medicare
|
||||
|
|
|
|||
|
|
|
@ -1,6 +1,6 @@
|
|||
Patient ID,Item Description,Service Date,Qty,Insurance Name,Item Type,Prescriber NPI,Branch
|
||||
PT-1011,FreeStyle Libre 3,12/15/2024,1,Aetna Commercial,sensor,1234567890,PA-001
|
||||
PT-1012,FSL3,12/26/2024,1,Aetna Commercial,sensor,1234567890,PA-001
|
||||
PT-1013,FreeStyle Libre 3,11/06/2024,6,Aetna Commercial,sensor,1234567890,PA-001
|
||||
PT-1014,FSL3,11/09/2024,2,Aetna Commercial,sensor,1234567890,PA-001
|
||||
PT-1015,Libre 3,11/20/2024,3,Aetna Commercial,sensor,1234567890,PA-001
|
||||
Patient ID,Item Description,Service Date,Qty,Insurance Name,Item Type,Prescriber NPI,Branch,payer_type
|
||||
PT-1011,FreeStyle Libre 3,12/15/2024,1,Aetna Commercial,sensor,1234567890,PA-001,employer
|
||||
PT-1012,FSL3,12/26/2024,1,Aetna Commercial,sensor,1234567890,PA-001,employer
|
||||
PT-1013,FreeStyle Libre 3,11/06/2024,6,Aetna Commercial,sensor,1234567890,PA-001,employer
|
||||
PT-1014,FSL3,11/09/2024,2,Aetna Commercial,sensor,1234567890,PA-001,employer
|
||||
PT-1015,Libre 3,11/20/2024,3,Aetna Commercial,sensor,1234567890,PA-001,employer
|
||||
|
|
|
|||
|
|
|
@ -1,9 +1,9 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1011,dexcom_g7,2025-06-22,9,UnitedHealth,sensor
|
||||
PT-1012,dexcom_g7,2025-06-18,2,UnitedHealth,sensor
|
||||
PT-1013,dexcom_g7,2025-06-19,9,UnitedHealth,sensor
|
||||
PT-1014,dexcom_g7,2025-06-16,1,UnitedHealth,sensor
|
||||
PT-1015,dexcom_g7,2025-06-14,6,UnitedHealth,sensor
|
||||
PT-1016,dexcom_g7,2025-06-17,3,UnitedHealth,sensor
|
||||
PT-1017,dexcom_g7,2025-06-14,2,UnitedHealth,sensor
|
||||
PT-1018,dexcom_g7,2025-06-17,1,UnitedHealth,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1011,dexcom_g7,2025-06-22,9,UnitedHealth,sensor,commercial
|
||||
PT-1012,dexcom_g7,2025-06-18,2,UnitedHealth,sensor,commercial
|
||||
PT-1013,dexcom_g7,2025-06-19,9,UnitedHealth,sensor,commercial
|
||||
PT-1014,dexcom_g7,2025-06-16,1,UnitedHealth,sensor,commercial
|
||||
PT-1015,dexcom_g7,2025-06-14,6,UnitedHealth,sensor,commercial
|
||||
PT-1016,dexcom_g7,2025-06-17,3,UnitedHealth,sensor,commercial
|
||||
PT-1017,dexcom_g7,2025-06-14,2,UnitedHealth,sensor,commercial
|
||||
PT-1018,dexcom_g7,2025-06-17,1,UnitedHealth,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1021,dexcom_g7,2026-05-19,1,BCBS - FL,sensor
|
||||
PT-1022,dexcom_g7,2026-05-22,9,BCBS - FL,sensor
|
||||
PT-1023,dexcom_g7,2026-05-16,6,BCBS - FL,sensor
|
||||
PT-1024,dexcom_g7,2026-05-16,9,BCBS - FL,sensor
|
||||
PT-1025,dexcom_g7,2026-05-19,9,BCBS - FL,sensor
|
||||
PT-1026,dexcom_g7,2026-05-20,9,BCBS - FL,sensor
|
||||
PT-1027,dexcom_g7,2026-05-18,1,BCBS - FL,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1021,dexcom_g7,2026-05-19,1,BCBS - FL,sensor,commercial
|
||||
PT-1022,dexcom_g7,2026-05-22,9,BCBS - FL,sensor,commercial
|
||||
PT-1023,dexcom_g7,2026-05-16,6,BCBS - FL,sensor,commercial
|
||||
PT-1024,dexcom_g7,2026-05-16,9,BCBS - FL,sensor,commercial
|
||||
PT-1025,dexcom_g7,2026-05-19,9,BCBS - FL,sensor,commercial
|
||||
PT-1026,dexcom_g7,2026-05-20,9,BCBS - FL,sensor,commercial
|
||||
PT-1027,dexcom_g7,2026-05-18,1,BCBS - FL,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
PT_ID,DEVICE,SHIP DATE,UNITS,CARRIER,TYPE
|
||||
PT-1021,G7,2025-01-04,6,Medicaid - PA,sensor
|
||||
PT-1022,G7,2024-11-21,3,Medicaid - PA,sensor
|
||||
PT-1023,Dexcom G7,2025-01-14,2,Medicaid - PA,sensor
|
||||
PT-1024,Dexcom G7 CGM,2024-10-12,6,Medicaid - PA,sensor
|
||||
PT-1025,G7,2024-11-05,9,Medicaid - PA,sensor
|
||||
PT-1026,G7,2025-01-03,6,Medicaid - PA,sensor
|
||||
PT-1027,dexcom g7,2024-11-26,2,Medicaid - PA,sensor
|
||||
PT_ID,DEVICE,SHIP DATE,UNITS,CARRIER,TYPE,payer_type
|
||||
PT-1021,G7,2025-01-04,6,Medicaid - PA,sensor,state medicaid
|
||||
PT-1022,G7,2024-11-21,3,Medicaid - PA,sensor,state medicaid
|
||||
PT-1023,Dexcom G7,2025-01-14,2,Medicaid - PA,sensor,state medicaid
|
||||
PT-1024,Dexcom G7 CGM,2024-10-12,6,Medicaid - PA,sensor,state medicaid
|
||||
PT-1025,G7,2024-11-05,9,Medicaid - PA,sensor,state medicaid
|
||||
PT-1026,G7,2025-01-03,6,Medicaid - PA,sensor,state medicaid
|
||||
PT-1027,dexcom g7,2024-11-26,2,Medicaid - PA,sensor,state medicaid
|
||||
|
|
|
|||
|
|
|
@ -1,6 +1,6 @@
|
|||
PT_ID,DEVICE,SHIP DATE,UNITS,CARRIER,TYPE
|
||||
PT-1021,Dexcom G6 Pro,2026-05-03,2,Humana,sensor
|
||||
PT-1022,G6,2026-04-29,3,Humana,sensor
|
||||
PT-1023,Dexcom G6,2026-05-05,9,Humana,sensor
|
||||
PT-1024,G6,2026-05-01,2,Humana,sensor
|
||||
PT-1025,Dexcom G6 Pro,2026-05-01,9,Humana,sensor
|
||||
PT_ID,DEVICE,SHIP DATE,UNITS,CARRIER,TYPE,Coverage Type
|
||||
PT-1021,Dexcom G6 Pro,2026-05-03,2,Humana,sensor,Commercial
|
||||
PT-1022,G6,2026-04-29,3,Humana,sensor,Commercial
|
||||
PT-1023,Dexcom G6,2026-05-05,9,Humana,sensor,Commercial
|
||||
PT-1024,G6,2026-05-01,2,Humana,sensor,Commercial
|
||||
PT-1025,Dexcom G6 Pro,2026-05-01,9,Humana,sensor,Commercial
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1031,freestyle_libre_3,2026-05-18,3,Medicare Part B,sensor
|
||||
PT-1032,freestyle_libre_3,2026-05-19,3,Medicare Part B,sensor
|
||||
PT-1033,freestyle_libre_3,2026-05-14,3,Medicare Part B,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1031,freestyle_libre_3,2026-05-18,3,Medicare Part B,sensor,medicare
|
||||
PT-1032,freestyle_libre_3,2026-05-19,3,Medicare Part B,sensor,medicare
|
||||
PT-1033,freestyle_libre_3,2026-05-14,3,Medicare Part B,sensor,medicare
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
MRN,Product Name,Dispense Date,Qty Dispensed,Plan Name,Supply Type,Supplier,State
|
||||
PT-1031,FreestyleLibre3,09-Nov-2024,6,Medicare Part B - CGM,sensor,Gaboro DME,PA
|
||||
PT-1032,FSL3,18-Dec-2024,2,Medicare Part B - CGM,sensor,Gaboro DME,PA
|
||||
PT-1033,fs libre 3,23-Oct-2024,1,Medicare Part B - CGM,sensor,Gaboro DME,PA
|
||||
PT-1034,FreeStyle Libre 3,06-Jan-2025,2,Medicare Part B - CGM,sensor,Gaboro DME,PA
|
||||
PT-1035,fs libre 3,22-Dec-2024,9,Medicare Part B - CGM,sensor,Gaboro DME,PA
|
||||
PT-1036,fs libre 3,13-Oct-2024,9,Medicare Part B - CGM,sensor,Gaboro DME,PA
|
||||
PT-1037,FSL3,04-Dec-2024,9,Medicare Part B - CGM,sensor,Gaboro DME,PA
|
||||
MRN,Product Name,Dispense Date,Qty Dispensed,Plan Name,Supply Type,Supplier,State,payer_type
|
||||
PT-1031,FreestyleLibre3,09-Nov-2024,6,Medicare Part B - CGM,sensor,Gaboro DME,PA,Medicare Part B
|
||||
PT-1032,FSL3,18-Dec-2024,2,Medicare Part B - CGM,sensor,Gaboro DME,PA,Medicare Part B
|
||||
PT-1033,fs libre 3,23-Oct-2024,1,Medicare Part B - CGM,sensor,Gaboro DME,PA,Medicare Part B
|
||||
PT-1034,FreeStyle Libre 3,06-Jan-2025,2,Medicare Part B - CGM,sensor,Gaboro DME,PA,Medicare Part B
|
||||
PT-1035,fs libre 3,22-Dec-2024,9,Medicare Part B - CGM,sensor,Gaboro DME,PA,Medicare Part B
|
||||
PT-1036,fs libre 3,13-Oct-2024,9,Medicare Part B - CGM,sensor,Gaboro DME,PA,Medicare Part B
|
||||
PT-1037,FSL3,04-Dec-2024,9,Medicare Part B - CGM,sensor,Gaboro DME,PA,Medicare Part B
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
MRN,Product Name,Dispense Date,Qty Dispensed,Plan Name,Supply Type,Supplier,State
|
||||
PT-1031,Dexcom G6,02-May-2026,3,Medicaid,sensor,Gaboro DME,PA
|
||||
PT-1032,Dexcom G6,30-Apr-2026,2,Medicaid,sensor,Gaboro DME,PA
|
||||
PT-1033,Dexcom G6 Pro,04-May-2026,2,Medicaid,sensor,Gaboro DME,PA
|
||||
MRN,Product Name,Dispense Date,Qty Dispensed,Plan Name,Supply Type,Supplier,State,Coverage Type
|
||||
PT-1031,Dexcom G6,02-May-2026,3,Medicaid,sensor,Gaboro DME,PA,Medicaid
|
||||
PT-1032,Dexcom G6,30-Apr-2026,2,Medicaid,sensor,Gaboro DME,PA,Medicaid
|
||||
PT-1033,Dexcom G6 Pro,04-May-2026,2,Medicaid,sensor,Gaboro DME,PA,Medicaid
|
||||
|
|
|
|||
|
|
|
@ -1,9 +1,9 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1041,freestyle_libre_3,2024-10-23,9,Cigna,sensor
|
||||
PT-1042,freestyle_libre_3,2024-11-01,2,Cigna,sensor
|
||||
PT-1043,freestyle_libre_3,2024-10-30,2,Cigna,sensor
|
||||
PT-1044,freestyle_libre_3,2024-10-24,6,Cigna,sensor
|
||||
PT-1045,freestyle_libre_3,2024-10-28,3,Cigna,sensor
|
||||
PT-1046,freestyle_libre_3,2024-11-01,9,Cigna,sensor
|
||||
PT-1047,freestyle_libre_3,2024-10-25,3,Cigna,sensor
|
||||
PT-1048,freestyle_libre_3,2024-10-22,2,Cigna,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1041,freestyle_libre_3,2024-10-23,9,Cigna,sensor,commercial
|
||||
PT-1042,freestyle_libre_3,2024-11-01,2,Cigna,sensor,commercial
|
||||
PT-1043,freestyle_libre_3,2024-10-30,2,Cigna,sensor,commercial
|
||||
PT-1044,freestyle_libre_3,2024-10-24,6,Cigna,sensor,commercial
|
||||
PT-1045,freestyle_libre_3,2024-10-28,3,Cigna,sensor,commercial
|
||||
PT-1046,freestyle_libre_3,2024-11-01,9,Cigna,sensor,commercial
|
||||
PT-1047,freestyle_libre_3,2024-10-25,3,Cigna,sensor,commercial
|
||||
PT-1048,freestyle_libre_3,2024-10-22,2,Cigna,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,9 +1,9 @@
|
|||
Account Number,Product,Fill Date,Count,Primary Payer,component
|
||||
PT-1041,Dexcom G7 CGM,05/05/26,3,Medicaid - GA,sensor
|
||||
PT-1042,dexcom g7,04/27/26,2,Medicaid - GA,sensor
|
||||
PT-1043,Dexcom G7 CGM,04/28/26,9,Medicaid - GA,sensor
|
||||
PT-1044,Dexcom G7,04/30/26,3,Medicaid - GA,sensor
|
||||
PT-1045,G7,05/04/26,2,Medicaid - GA,sensor
|
||||
PT-1046,G7,05/03/26,9,Medicaid - GA,sensor
|
||||
PT-1047,Dexcom G7 CGM,04/29/26,6,Medicaid - GA,sensor
|
||||
PT-1048,Dexcom G7 CGM,04/25/26,3,Medicaid - GA,sensor
|
||||
Account Number,Product,Fill Date,Count,Primary Payer,component,Coverage Type
|
||||
PT-1041,Dexcom G7 CGM,05/05/26,3,Medicaid - GA,sensor,Medicaid
|
||||
PT-1042,dexcom g7,04/27/26,2,Medicaid - GA,sensor,Medicaid
|
||||
PT-1043,Dexcom G7 CGM,04/28/26,9,Medicaid - GA,sensor,Medicaid
|
||||
PT-1044,Dexcom G7,04/30/26,3,Medicaid - GA,sensor,Medicaid
|
||||
PT-1045,G7,05/04/26,2,Medicaid - GA,sensor,Medicaid
|
||||
PT-1046,G7,05/03/26,9,Medicaid - GA,sensor,Medicaid
|
||||
PT-1047,Dexcom G7 CGM,04/29/26,6,Medicaid - GA,sensor,Medicaid
|
||||
PT-1048,Dexcom G7 CGM,04/25/26,3,Medicaid - GA,sensor,Medicaid
|
||||
|
|
|
|||
|
|
|
@ -1,5 +1,5 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1051,omnipod_5,2026-05-23,3,BCBS - FL,pod
|
||||
PT-1052,omnipod_5,2026-05-17,6,BCBS - FL,pod
|
||||
PT-1053,omnipod_5,2026-05-20,6,BCBS - FL,pod
|
||||
PT-1054,omnipod_5,2026-05-16,3,BCBS - FL,pod
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1051,omnipod_5,2026-05-23,3,BCBS - FL,pod,commercial
|
||||
PT-1052,omnipod_5,2026-05-17,6,BCBS - FL,pod,commercial
|
||||
PT-1053,omnipod_5,2026-05-20,6,BCBS - FL,pod,commercial
|
||||
PT-1054,omnipod_5,2026-05-16,3,BCBS - FL,pod,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
External Patient Ref,Item,Date of Service,Qty Shipped,Insurance,item_type,Notes
|
||||
PT-1051,dexcom g6,2026-04-30T00:00:00,1,Medicare Part B - CGM,sensor,batch export
|
||||
PT-1052,G6,2026-05-05T00:00:00,2,Medicare Part B - CGM,sensor,batch export
|
||||
PT-1053,G6,2026-05-03T00:00:00,3,Medicare Part B - CGM,sensor,batch export
|
||||
External Patient Ref,Item,Date of Service,Qty Shipped,Insurance,item_type,Notes,Coverage Type
|
||||
PT-1051,dexcom g6,2026-04-30T00:00:00,1,Medicare Part B - CGM,sensor,batch export,Medicare
|
||||
PT-1052,G6,2026-05-05T00:00:00,2,Medicare Part B - CGM,sensor,batch export,Medicare
|
||||
PT-1053,G6,2026-05-03T00:00:00,3,Medicare Part B - CGM,sensor,batch export,Medicare
|
||||
|
|
|
|||
|
|
|
@ -1,9 +1,9 @@
|
|||
External Patient Ref,Item,Date of Service,Qty Shipped,Insurance,item_type,Notes
|
||||
PT-1051,Dexcom G7,2025-08-10T00:00:00,6,Medicare,sensor,batch export
|
||||
PT-1052,dexcom g7,2025-07-30T00:00:00,9,Medicare,sensor,batch export
|
||||
PT-1053,Dexcom G7,2025-06-27T00:00:00,1,Medicare,sensor,batch export
|
||||
PT-1054,Dexcom G7 CGM,2025-09-10T00:00:00,3,Medicare,sensor,batch export
|
||||
PT-1055,dexcom g7,2025-05-20T00:00:00,2,Medicare,sensor,batch export
|
||||
PT-1056,Dexcom G7 CGM,2025-08-14T00:00:00,9,Medicare,sensor,batch export
|
||||
PT-1057,Dexcom G7,2025-06-08T00:00:00,3,Medicare,sensor,batch export
|
||||
PT-1058,G7,2025-08-31T00:00:00,2,Medicare,sensor,batch export
|
||||
External Patient Ref,Item,Date of Service,Qty Shipped,Insurance,item_type,Notes,payer_type
|
||||
PT-1051,Dexcom G7,2025-08-10T00:00:00,6,Medicare,sensor,batch export,Medicare Part B
|
||||
PT-1052,dexcom g7,2025-07-30T00:00:00,9,Medicare,sensor,batch export,Medicare Part B
|
||||
PT-1053,Dexcom G7,2025-06-27T00:00:00,1,Medicare,sensor,batch export,Medicare Part B
|
||||
PT-1054,Dexcom G7 CGM,2025-09-10T00:00:00,3,Medicare,sensor,batch export,Medicare Part B
|
||||
PT-1055,dexcom g7,2025-05-20T00:00:00,2,Medicare,sensor,batch export,Medicare Part B
|
||||
PT-1056,Dexcom G7 CGM,2025-08-14T00:00:00,9,Medicare,sensor,batch export,Medicare Part B
|
||||
PT-1057,Dexcom G7,2025-06-08T00:00:00,3,Medicare,sensor,batch export,Medicare Part B
|
||||
PT-1058,G7,2025-08-31T00:00:00,2,Medicare,sensor,batch export,Medicare Part B
|
||||
|
|
|
|||
|
|
|
@ -1,9 +1,9 @@
|
|||
Acct #,DME,Order Date,quantity,plan,component_type
|
||||
PT-1061,OmniPod 5,20260523,6,United Healthcare,pod
|
||||
PT-1062,op5,20260523,1,United Healthcare,pod
|
||||
PT-1063,Omnipod 5,20260519,3,United Healthcare,pod
|
||||
PT-1064,Omnipod,20260519,9,United Healthcare,pod
|
||||
PT-1065,Omnipod 5,20260518,1,United Healthcare,pod
|
||||
PT-1066,Omnipod 5,20260518,3,United Healthcare,pod
|
||||
PT-1067,Omnipod,20260520,3,United Healthcare,pod
|
||||
PT-1068,Omnipod,20260523,9,United Healthcare,pod
|
||||
Acct #,DME,Order Date,quantity,plan,component_type,LOB
|
||||
PT-1061,OmniPod 5,20260523,6,United Healthcare,pod,private
|
||||
PT-1062,op5,20260523,1,United Healthcare,pod,private
|
||||
PT-1063,Omnipod 5,20260519,3,United Healthcare,pod,private
|
||||
PT-1064,Omnipod,20260519,9,United Healthcare,pod,private
|
||||
PT-1065,Omnipod 5,20260518,1,United Healthcare,pod,private
|
||||
PT-1066,Omnipod 5,20260518,3,United Healthcare,pod,private
|
||||
PT-1067,Omnipod,20260520,3,United Healthcare,pod,private
|
||||
PT-1068,Omnipod,20260523,9,United Healthcare,pod,private
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
Acct #,DME,Order Date,quantity,plan,component_type
|
||||
PT-1061,FSL3,20260429,6,United Healthcare,sensor
|
||||
PT-1062,FSL3,20260425,3,United Healthcare,sensor
|
||||
PT-1063,Libre 3,20260426,9,United Healthcare,sensor
|
||||
PT-1064,fs libre 3,20260425,1,United Healthcare,sensor
|
||||
PT-1065,Libre 3,20260505,2,United Healthcare,sensor
|
||||
PT-1066,FreestyleLibre3,20260503,2,United Healthcare,sensor
|
||||
PT-1067,FreestyleLibre3,20260501,6,United Healthcare,sensor
|
||||
Acct #,DME,Order Date,quantity,plan,component_type,Coverage Type
|
||||
PT-1061,FSL3,20260429,6,United Healthcare,sensor,Commercial
|
||||
PT-1062,FSL3,20260425,3,United Healthcare,sensor,Commercial
|
||||
PT-1063,Libre 3,20260426,9,United Healthcare,sensor,Commercial
|
||||
PT-1064,fs libre 3,20260425,1,United Healthcare,sensor,Commercial
|
||||
PT-1065,Libre 3,20260505,2,United Healthcare,sensor,Commercial
|
||||
PT-1066,FreestyleLibre3,20260503,2,United Healthcare,sensor,Commercial
|
||||
PT-1067,FreestyleLibre3,20260501,6,United Healthcare,sensor,Commercial
|
||||
|
|
|
|||
|
|
|
@ -1,7 +1,7 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1061,freestyle_libre_3,2025-06-25,6,Cigna,sensor
|
||||
PT-1062,freestyle_libre_3,2025-06-21,2,Cigna,sensor
|
||||
PT-1063,freestyle_libre_3,2025-06-18,9,Cigna,sensor
|
||||
PT-1064,freestyle_libre_3,2025-06-23,1,Cigna,sensor
|
||||
PT-1065,freestyle_libre_3,2025-06-16,1,Cigna,sensor
|
||||
PT-1066,freestyle_libre_3,2025-06-18,2,Cigna,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1061,freestyle_libre_3,2025-06-25,6,Cigna,sensor,commercial
|
||||
PT-1062,freestyle_libre_3,2025-06-21,2,Cigna,sensor,commercial
|
||||
PT-1063,freestyle_libre_3,2025-06-18,9,Cigna,sensor,commercial
|
||||
PT-1064,freestyle_libre_3,2025-06-23,1,Cigna,sensor,commercial
|
||||
PT-1065,freestyle_libre_3,2025-06-16,1,Cigna,sensor,commercial
|
||||
PT-1066,freestyle_libre_3,2025-06-18,2,Cigna,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,7 +1,7 @@
|
|||
patient,device type,last ship date,units dispensed,payer name,type,Supplier Branch
|
||||
PT-1071,Omnipod 5,10/26/2024,6,Medicare Part A,pod,NY-003
|
||||
PT-1072,op5,11/19/2024,6,Medicare Part A,pod,NY-003
|
||||
PT-1073,Omnipod 5,01/03/2025,1,Medicare Part A,pod,NY-003
|
||||
PT-1074,OmniPod 5,11/27/2024,1,Medicare Part A,pod,NY-003
|
||||
PT-1075,Omnipod,11/03/2024,9,Medicare Part A,pod,NY-003
|
||||
PT-1076,op5,11/29/2024,2,Medicare Part A,pod,NY-003
|
||||
patient,device type,last ship date,units dispensed,payer name,type,Supplier Branch,payer_type
|
||||
PT-1071,Omnipod 5,10/26/2024,6,Medicare Part A,pod,NY-003,Medicare Part B
|
||||
PT-1072,op5,11/19/2024,6,Medicare Part A,pod,NY-003,Medicare Part B
|
||||
PT-1073,Omnipod 5,01/03/2025,1,Medicare Part A,pod,NY-003,Medicare Part B
|
||||
PT-1074,OmniPod 5,11/27/2024,1,Medicare Part A,pod,NY-003,Medicare Part B
|
||||
PT-1075,Omnipod,11/03/2024,9,Medicare Part A,pod,NY-003,Medicare Part B
|
||||
PT-1076,op5,11/29/2024,2,Medicare Part A,pod,NY-003,Medicare Part B
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1071,dexcom_g7,2026-04-30,9,Aetna,sensor
|
||||
PT-1072,dexcom_g7,2026-04-27,9,Aetna,sensor
|
||||
PT-1073,dexcom_g7,2026-04-23,1,Aetna,sensor
|
||||
PT-1074,dexcom_g7,2026-05-03,9,Aetna,sensor
|
||||
PT-1075,dexcom_g7,2026-04-27,3,Aetna,sensor
|
||||
PT-1076,dexcom_g7,2026-04-24,3,Aetna,sensor
|
||||
PT-1077,dexcom_g7,2026-04-29,2,Aetna,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1071,dexcom_g7,2026-04-30,9,Aetna,sensor,commercial
|
||||
PT-1072,dexcom_g7,2026-04-27,9,Aetna,sensor,commercial
|
||||
PT-1073,dexcom_g7,2026-04-23,1,Aetna,sensor,commercial
|
||||
PT-1074,dexcom_g7,2026-05-03,9,Aetna,sensor,commercial
|
||||
PT-1075,dexcom_g7,2026-04-27,3,Aetna,sensor,commercial
|
||||
PT-1076,dexcom_g7,2026-04-24,3,Aetna,sensor,commercial
|
||||
PT-1077,dexcom_g7,2026-04-29,2,Aetna,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1081,freestyle_libre_3,2026-04-20,3,UnitedHealth,sensor
|
||||
PT-1082,freestyle_libre_3,2026-04-29,9,UnitedHealth,sensor
|
||||
PT-1083,freestyle_libre_3,2026-04-28,2,UnitedHealth,sensor
|
||||
PT-1084,freestyle_libre_3,2026-04-21,3,UnitedHealth,sensor
|
||||
PT-1085,freestyle_libre_3,2026-04-21,9,UnitedHealth,sensor
|
||||
PT-1086,freestyle_libre_3,2026-04-27,1,UnitedHealth,sensor
|
||||
PT-1087,freestyle_libre_3,2026-04-28,3,UnitedHealth,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1081,freestyle_libre_3,2026-04-20,3,UnitedHealth,sensor,commercial
|
||||
PT-1082,freestyle_libre_3,2026-04-29,9,UnitedHealth,sensor,commercial
|
||||
PT-1083,freestyle_libre_3,2026-04-28,2,UnitedHealth,sensor,commercial
|
||||
PT-1084,freestyle_libre_3,2026-04-21,3,UnitedHealth,sensor,commercial
|
||||
PT-1085,freestyle_libre_3,2026-04-21,9,UnitedHealth,sensor,commercial
|
||||
PT-1086,freestyle_libre_3,2026-04-27,1,UnitedHealth,sensor,commercial
|
||||
PT-1087,freestyle_libre_3,2026-04-28,3,UnitedHealth,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,7 +1,7 @@
|
|||
pt_id,product_type,dos,qty,ins_name,component
|
||||
PT-1081,FreeStyle Libre 3,2025-09-07,9,Medicare Part B,sensor
|
||||
PT-1082,Libre 3,2025-04-23,2,Medicare Part B,sensor
|
||||
PT-1083,fs libre 3,2025-08-05,2,Medicare Part B,sensor
|
||||
PT-1084,Libre 3,2025-07-31,6,Medicare Part B,sensor
|
||||
PT-1085,FSL3,2025-04-23,6,Medicare Part B,sensor
|
||||
PT-1086,FreestyleLibre3,2025-07-05,6,Medicare Part B,sensor
|
||||
pt_id,product_type,dos,qty,ins_name,component,payer_type
|
||||
PT-1081,FreeStyle Libre 3,2025-09-07,9,Medicare Part B,sensor,Medicare Part B
|
||||
PT-1082,Libre 3,2025-04-23,2,Medicare Part B,sensor,Medicare Part B
|
||||
PT-1083,fs libre 3,2025-08-05,2,Medicare Part B,sensor,Medicare Part B
|
||||
PT-1084,Libre 3,2025-07-31,6,Medicare Part B,sensor,Medicare Part B
|
||||
PT-1085,FSL3,2025-04-23,6,Medicare Part B,sensor,Medicare Part B
|
||||
PT-1086,FreestyleLibre3,2025-07-05,6,Medicare Part B,sensor,Medicare Part B
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
account_no,hcpcs_description,service_date,units,primary_payer,supply_type,HCPCS Code
|
||||
PT-1091,Dexcom G6,12-20-2024,3,Medicare,sensor,A9277
|
||||
PT-1092,dexcom g6,10-09-2024,9,Medicare,sensor,A9277
|
||||
PT-1093,Dexcom G6,12-09-2024,9,Medicare,sensor,A9277
|
||||
account_no,hcpcs_description,service_date,units,primary_payer,supply_type,HCPCS Code,payer_type
|
||||
PT-1091,Dexcom G6,12-20-2024,3,Medicare,sensor,A9277,Medicare Part B
|
||||
PT-1092,dexcom g6,10-09-2024,9,Medicare,sensor,A9277,Medicare Part B
|
||||
PT-1093,Dexcom G6,12-09-2024,9,Medicare,sensor,A9277,Medicare Part B
|
||||
|
|
|
|||
|
|
|
@ -1,5 +1,5 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1091,dexcom_g7,2026-04-19,2,BCBS - FL,sensor
|
||||
PT-1092,dexcom_g7,2026-04-28,1,BCBS - FL,sensor
|
||||
PT-1093,dexcom_g7,2026-04-20,6,BCBS - FL,sensor
|
||||
PT-1094,dexcom_g7,2026-04-20,9,BCBS - FL,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1091,dexcom_g7,2026-04-19,2,BCBS - FL,sensor,commercial
|
||||
PT-1092,dexcom_g7,2026-04-28,1,BCBS - FL,sensor,commercial
|
||||
PT-1093,dexcom_g7,2026-04-20,6,BCBS - FL,sensor,commercial
|
||||
PT-1094,dexcom_g7,2026-04-20,9,BCBS - FL,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
patient_account,description,ship_date,quantity_dispensed,carrier,component,Account Manager
|
||||
PT-1101,G7,2024-10-15,6,Blue Cross Blue Shield,sensor,J. Smith
|
||||
PT-1102,G7,2024-10-21,9,Blue Cross Blue Shield,sensor,J. Smith
|
||||
PT-1103,Dexcom G7,2024-12-17,6,Blue Cross Blue Shield,sensor,J. Smith
|
||||
PT-1104,Dexcom G7 CGM,2024-12-29,3,Blue Cross Blue Shield,sensor,J. Smith
|
||||
PT-1105,Dexcom G7 CGM,2024-11-02,2,Blue Cross Blue Shield,sensor,J. Smith
|
||||
PT-1106,G7,2024-11-07,3,Blue Cross Blue Shield,sensor,J. Smith
|
||||
PT-1107,Dexcom G7,2024-12-01,1,Blue Cross Blue Shield,sensor,J. Smith
|
||||
patient_account,description,ship_date,quantity_dispensed,carrier,component,Account Manager,payer_type
|
||||
PT-1101,G7,2024-10-15,6,Blue Cross Blue Shield,sensor,J. Smith,employer
|
||||
PT-1102,G7,2024-10-21,9,Blue Cross Blue Shield,sensor,J. Smith,employer
|
||||
PT-1103,Dexcom G7,2024-12-17,6,Blue Cross Blue Shield,sensor,J. Smith,employer
|
||||
PT-1104,Dexcom G7 CGM,2024-12-29,3,Blue Cross Blue Shield,sensor,J. Smith,employer
|
||||
PT-1105,Dexcom G7 CGM,2024-11-02,2,Blue Cross Blue Shield,sensor,J. Smith,employer
|
||||
PT-1106,G7,2024-11-07,3,Blue Cross Blue Shield,sensor,J. Smith,employer
|
||||
PT-1107,Dexcom G7,2024-12-01,1,Blue Cross Blue Shield,sensor,J. Smith,employer
|
||||
|
|
|
|||
|
|
|
@ -1,6 +1,6 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1101,omnipod_5,2025-05-24,9,UnitedHealth,pod
|
||||
PT-1102,omnipod_5,2025-05-22,2,UnitedHealth,pod
|
||||
PT-1103,omnipod_5,2025-05-24,2,UnitedHealth,pod
|
||||
PT-1104,omnipod_5,2025-05-20,6,UnitedHealth,pod
|
||||
PT-1105,omnipod_5,2025-05-26,3,UnitedHealth,pod
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1101,omnipod_5,2025-05-24,9,UnitedHealth,pod,commercial
|
||||
PT-1102,omnipod_5,2025-05-22,2,UnitedHealth,pod,commercial
|
||||
PT-1103,omnipod_5,2025-05-24,2,UnitedHealth,pod,commercial
|
||||
PT-1104,omnipod_5,2025-05-20,6,UnitedHealth,pod,commercial
|
||||
PT-1105,omnipod_5,2025-05-26,3,UnitedHealth,pod,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,5 +1,5 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1111,omnipod_5,2026-04-24,3,Medicare Part B,pod
|
||||
PT-1112,omnipod_5,2026-04-23,9,Medicare Part B,pod
|
||||
PT-1113,omnipod_5,2026-05-01,2,Medicare Part B,pod
|
||||
PT-1114,omnipod_5,2026-05-02,2,Medicare Part B,pod
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1111,omnipod_5,2026-04-24,3,Medicare Part B,pod,medicare
|
||||
PT-1112,omnipod_5,2026-04-23,9,Medicare Part B,pod,medicare
|
||||
PT-1113,omnipod_5,2026-05-01,2,Medicare Part B,pod,medicare
|
||||
PT-1114,omnipod_5,2026-05-02,2,Medicare Part B,pod,medicare
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
id,product,fill_date,qty_shipped,payer,item_type
|
||||
PT-1111,Omnipod,05/12/2025,9,Centene,pod
|
||||
PT-1112,OmniPod 5,06/27/2025,1,Centene,pod
|
||||
PT-1113,OmniPod 5,06/23/2025,2,Centene,pod
|
||||
id,product,fill_date,qty_shipped,payer,item_type,plan_type
|
||||
PT-1111,Omnipod,05/12/2025,9,Centene,pod,commercial
|
||||
PT-1112,OmniPod 5,06/27/2025,1,Centene,pod,commercial
|
||||
PT-1113,OmniPod 5,06/23/2025,2,Centene,pod,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1121,dexcom_g7,2026-05-15,1,Medicaid - GA,sensor
|
||||
PT-1122,dexcom_g7,2026-05-18,2,Medicaid - GA,sensor
|
||||
PT-1123,dexcom_g7,2026-05-14,6,Medicaid - GA,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1121,dexcom_g7,2026-05-15,1,Medicaid - GA,sensor,medicaid
|
||||
PT-1122,dexcom_g7,2026-05-18,2,Medicaid - GA,sensor,medicaid
|
||||
PT-1123,dexcom_g7,2026-05-14,6,Medicaid - GA,sensor,medicaid
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
PT ID,Device Type,Shipment Date,Quantity,Insurance,Component,Region
|
||||
PT-1121,Omnipod 5,2024-12-28,9,UHC,pod,Southeast
|
||||
PT-1122,Omnipod 5,2024-11-14,2,UHC,pod,Southeast
|
||||
PT-1123,Omnipod 5,2024-11-04,9,UHC,pod,Southeast
|
||||
PT-1124,OmniPod 5,2024-10-23,9,UHC,pod,Southeast
|
||||
PT-1125,OmniPod 5,2024-11-02,2,UHC,pod,Southeast
|
||||
PT-1126,OmniPod 5,2025-01-02,9,UHC,pod,Southeast
|
||||
PT-1127,Omnipod 5,2024-12-05,1,UHC,pod,Southeast
|
||||
PT ID,Device Type,Shipment Date,Quantity,Insurance,Component,Region,payer_type
|
||||
PT-1121,Omnipod 5,2024-12-28,9,UHC,pod,Southeast,employer
|
||||
PT-1122,Omnipod 5,2024-11-14,2,UHC,pod,Southeast,employer
|
||||
PT-1123,Omnipod 5,2024-11-04,9,UHC,pod,Southeast,employer
|
||||
PT-1124,OmniPod 5,2024-10-23,9,UHC,pod,Southeast,employer
|
||||
PT-1125,OmniPod 5,2024-11-02,2,UHC,pod,Southeast,employer
|
||||
PT-1126,OmniPod 5,2025-01-02,9,UHC,pod,Southeast,employer
|
||||
PT-1127,Omnipod 5,2024-12-05,1,UHC,pod,Southeast,employer
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
PT ID,Device Type,Shipment Date,Quantity,Insurance,Component,Region
|
||||
PT-1121,Omnipod,2025-05-12,9,Centene,pod,Southeast
|
||||
PT-1122,OmniPod 5,2025-06-27,1,Centene,pod,Southeast
|
||||
PT-1123,OmniPod 5,2025-06-23,2,Centene,pod,Southeast
|
||||
PT ID,Device Type,Shipment Date,Quantity,Insurance,Component,Region,payer_type
|
||||
PT-1121,Omnipod,2025-05-12,9,Centene,pod,Southeast,employer
|
||||
PT-1122,OmniPod 5,2025-06-27,1,Centene,pod,Southeast,employer
|
||||
PT-1123,OmniPod 5,2025-06-23,2,Centene,pod,Southeast,employer
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
patientid,devicetype,dispensedate,qty,payername,supplytype
|
||||
PT-1131,Omnipod,11/19/2024,3,BCBS - FL,pod
|
||||
PT-1132,op5,10/27/2024,9,BCBS - FL,pod
|
||||
PT-1133,Omnipod 5,01/03/2025,1,BCBS - FL,pod
|
||||
patientid,devicetype,dispensedate,qty,payername,supplytype,plan_type
|
||||
PT-1131,Omnipod,11/19/2024,3,BCBS - FL,pod,Commercial
|
||||
PT-1132,op5,10/27/2024,9,BCBS - FL,pod,Commercial
|
||||
PT-1133,Omnipod 5,01/03/2025,1,BCBS - FL,pod,Commercial
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
patientid,devicetype,dispensedate,qty,payername,supplytype
|
||||
PT-1131,Omnipod 5,05/04/2026,9,UHC,pod
|
||||
PT-1132,Omnipod 5,05/02/2026,2,UHC,pod
|
||||
PT-1133,Omnipod 5,04/27/2026,9,UHC,pod
|
||||
PT-1134,OmniPod 5,04/28/2026,9,UHC,pod
|
||||
PT-1135,OmniPod 5,05/01/2026,2,UHC,pod
|
||||
PT-1136,OmniPod 5,05/05/2026,9,UHC,pod
|
||||
PT-1137,Omnipod 5,04/30/2026,1,UHC,pod
|
||||
patientid,devicetype,dispensedate,qty,payername,supplytype,plan_type
|
||||
PT-1131,Omnipod 5,05/04/2026,9,UHC,pod,Commercial
|
||||
PT-1132,Omnipod 5,05/02/2026,2,UHC,pod,Commercial
|
||||
PT-1133,Omnipod 5,04/27/2026,9,UHC,pod,Commercial
|
||||
PT-1134,OmniPod 5,04/28/2026,9,UHC,pod,Commercial
|
||||
PT-1135,OmniPod 5,05/01/2026,2,UHC,pod,Commercial
|
||||
PT-1136,OmniPod 5,05/05/2026,9,UHC,pod,Commercial
|
||||
PT-1137,Omnipod 5,04/30/2026,1,UHC,pod,Commercial
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1131,dexcom_g6,2025-09-06,2,Cigna,sensor
|
||||
PT-1132,dexcom_g6,2025-09-06,6,Cigna,sensor
|
||||
PT-1133,dexcom_g6,2025-09-02,1,Cigna,sensor
|
||||
PT-1134,dexcom_g6,2025-08-31,6,Cigna,sensor
|
||||
PT-1135,dexcom_g6,2025-09-04,6,Cigna,sensor
|
||||
PT-1136,dexcom_g6,2025-09-05,6,Cigna,sensor
|
||||
PT-1137,dexcom_g6,2025-08-30,1,Cigna,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1131,dexcom_g6,2025-09-06,2,Cigna,sensor,commercial
|
||||
PT-1132,dexcom_g6,2025-09-06,6,Cigna,sensor,commercial
|
||||
PT-1133,dexcom_g6,2025-09-02,1,Cigna,sensor,commercial
|
||||
PT-1134,dexcom_g6,2025-08-31,6,Cigna,sensor,commercial
|
||||
PT-1135,dexcom_g6,2025-09-04,6,Cigna,sensor,commercial
|
||||
PT-1136,dexcom_g6,2025-09-05,6,Cigna,sensor,commercial
|
||||
PT-1137,dexcom_g6,2025-08-30,1,Cigna,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,5 +1,5 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1141,freestyle_libre_3,2026-05-18,2,Humana,sensor
|
||||
PT-1142,freestyle_libre_3,2026-05-23,6,Humana,sensor
|
||||
PT-1143,freestyle_libre_3,2026-05-17,6,Humana,sensor
|
||||
PT-1144,freestyle_libre_3,2026-05-17,3,Humana,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1141,freestyle_libre_3,2026-05-18,2,Humana,sensor,commercial
|
||||
PT-1142,freestyle_libre_3,2026-05-23,6,Humana,sensor,commercial
|
||||
PT-1143,freestyle_libre_3,2026-05-17,6,Humana,sensor,commercial
|
||||
PT-1144,freestyle_libre_3,2026-05-17,3,Humana,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
account_number,item_description,order_date,units_dispensed,plan_name,component,Facility
|
||||
PT-1141,Dexcom G7 CGM,01/05/2026,9,Aetna,sensor,Gaboro PA Main
|
||||
PT-1142,dexcom g7,30/04/2026,2,Aetna,sensor,Gaboro PA Main
|
||||
PT-1143,Dexcom G7 CGM,27/04/2026,1,Aetna,sensor,Gaboro PA Main
|
||||
PT-1144,G7,28/04/2026,1,Aetna,sensor,Gaboro PA Main
|
||||
PT-1145,dexcom g7,03/05/2026,9,Aetna,sensor,Gaboro PA Main
|
||||
PT-1146,G7,01/05/2026,2,Aetna,sensor,Gaboro PA Main
|
||||
PT-1147,Dexcom G7,29/04/2026,2,Aetna,sensor,Gaboro PA Main
|
||||
account_number,item_description,order_date,units_dispensed,plan_name,component,Facility,Coverage Type
|
||||
PT-1141,Dexcom G7 CGM,01/05/2026,9,Aetna,sensor,Gaboro PA Main,Commercial
|
||||
PT-1142,dexcom g7,30/04/2026,2,Aetna,sensor,Gaboro PA Main,Commercial
|
||||
PT-1143,Dexcom G7 CGM,27/04/2026,1,Aetna,sensor,Gaboro PA Main,Commercial
|
||||
PT-1144,G7,28/04/2026,1,Aetna,sensor,Gaboro PA Main,Commercial
|
||||
PT-1145,dexcom g7,03/05/2026,9,Aetna,sensor,Gaboro PA Main,Commercial
|
||||
PT-1146,G7,01/05/2026,2,Aetna,sensor,Gaboro PA Main,Commercial
|
||||
PT-1147,Dexcom G7,29/04/2026,2,Aetna,sensor,Gaboro PA Main,Commercial
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
account_number,item_description,order_date,units_dispensed,plan_name,component,Facility
|
||||
PT-1141,Omnipod,20/07/2025,3,BCBS - FL,pod,Gaboro PA Main
|
||||
PT-1142,op5,05/06/2025,9,BCBS - FL,pod,Gaboro PA Main
|
||||
PT-1143,Omnipod 5,11/08/2025,1,BCBS - FL,pod,Gaboro PA Main
|
||||
account_number,item_description,order_date,units_dispensed,plan_name,component,Facility,payer_type
|
||||
PT-1141,Omnipod,20/07/2025,3,BCBS - FL,pod,Gaboro PA Main,employer
|
||||
PT-1142,op5,05/06/2025,9,BCBS - FL,pod,Gaboro PA Main,employer
|
||||
PT-1143,Omnipod 5,11/08/2025,1,BCBS - FL,pod,Gaboro PA Main,employer
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
MRN,Product Type,Service Date,Qty,Insurance Name,Component Type
|
||||
PT-1151,Dexcom G7 CGM,2026-05-21,9,Aetna,sensor
|
||||
PT-1152,dexcom g7,2026-05-24,2,Aetna,sensor
|
||||
PT-1153,Dexcom G7 CGM,2026-05-17,1,Aetna,sensor
|
||||
PT-1154,G7,2026-05-21,1,Aetna,sensor
|
||||
PT-1155,dexcom g7,2026-05-26,9,Aetna,sensor
|
||||
PT-1156,G7,2026-05-18,2,Aetna,sensor
|
||||
PT-1157,G7,2026-05-21,3,Aetna,sensor
|
||||
MRN,Product Type,Service Date,Qty,Insurance Name,Component Type,LOB
|
||||
PT-1151,Dexcom G7 CGM,2026-05-21,9,Aetna,sensor,private
|
||||
PT-1152,dexcom g7,2026-05-24,2,Aetna,sensor,private
|
||||
PT-1153,Dexcom G7 CGM,2026-05-17,1,Aetna,sensor,private
|
||||
PT-1154,G7,2026-05-21,1,Aetna,sensor,private
|
||||
PT-1155,dexcom g7,2026-05-26,9,Aetna,sensor,private
|
||||
PT-1156,G7,2026-05-18,2,Aetna,sensor,private
|
||||
PT-1157,G7,2026-05-21,3,Aetna,sensor,private
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1151,dexcom_g7,2026-04-20,9,Aetna,sensor
|
||||
PT-1152,dexcom_g7,2026-04-20,1,Aetna,sensor
|
||||
PT-1153,dexcom_g7,2026-04-23,2,Aetna,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1151,dexcom_g7,2026-04-20,9,Aetna,sensor,commercial
|
||||
PT-1152,dexcom_g7,2026-04-20,1,Aetna,sensor,commercial
|
||||
PT-1153,dexcom_g7,2026-04-23,2,Aetna,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,9 +1,9 @@
|
|||
MRN,Product Type,Service Date,Qty,Insurance Name,Component Type
|
||||
PT-1151,Libre 3,2025-06-24,1,Humana,sensor
|
||||
PT-1152,FreeStyle Libre 3,2025-08-01,6,Humana,sensor
|
||||
PT-1153,fs libre 3,2025-06-16,3,Humana,sensor
|
||||
PT-1154,Libre 3,2025-07-13,2,Humana,sensor
|
||||
PT-1155,Libre 3,2025-05-01,6,Humana,sensor
|
||||
PT-1156,FreeStyle Libre 3,2025-07-15,3,Humana,sensor
|
||||
PT-1157,FreestyleLibre3,2025-07-23,6,Humana,sensor
|
||||
PT-1158,FreeStyle Libre 3,2025-09-06,1,Humana,sensor
|
||||
MRN,Product Type,Service Date,Qty,Insurance Name,Component Type,payer_type
|
||||
PT-1151,Libre 3,2025-06-24,1,Humana,sensor,employer
|
||||
PT-1152,FreeStyle Libre 3,2025-08-01,6,Humana,sensor,employer
|
||||
PT-1153,fs libre 3,2025-06-16,3,Humana,sensor,employer
|
||||
PT-1154,Libre 3,2025-07-13,2,Humana,sensor,employer
|
||||
PT-1155,Libre 3,2025-05-01,6,Humana,sensor,employer
|
||||
PT-1156,FreeStyle Libre 3,2025-07-15,3,Humana,sensor,employer
|
||||
PT-1157,FreestyleLibre3,2025-07-23,6,Humana,sensor,employer
|
||||
PT-1158,FreeStyle Libre 3,2025-09-06,1,Humana,sensor,employer
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
Patient_ID,Device,Ship_Date,Units,Plan,Type,Export Type
|
||||
PT-1161,fs libre 3,10/19/2024 00:00:00,3,CMS,sensor,CGM Only
|
||||
PT-1162,FSL3,01/09/2025 00:00:00,6,CMS,sensor,CGM Only
|
||||
PT-1163,FreeStyle Libre 3,12/22/2024 00:00:00,6,CMS,sensor,CGM Only
|
||||
Patient_ID,Device,Ship_Date,Units,Plan,Type,Export Type,payer_type
|
||||
PT-1161,fs libre 3,10/19/2024 00:00:00,3,CMS,sensor,CGM Only,employer
|
||||
PT-1162,FSL3,01/09/2025 00:00:00,6,CMS,sensor,CGM Only,employer
|
||||
PT-1163,FreeStyle Libre 3,12/22/2024 00:00:00,6,CMS,sensor,CGM Only,employer
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1161,omnipod_5,2026-04-24,6,Medicaid - GA,pod
|
||||
PT-1162,omnipod_5,2026-04-22,6,Medicaid - GA,pod
|
||||
PT-1163,omnipod_5,2026-04-26,6,Medicaid - GA,pod
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1161,omnipod_5,2026-04-24,6,Medicaid - GA,pod,medicaid
|
||||
PT-1162,omnipod_5,2026-04-22,6,Medicaid - GA,pod,medicaid
|
||||
PT-1163,omnipod_5,2026-04-26,6,Medicaid - GA,pod,medicaid
|
||||
|
|
|
|||
|
|
|
@ -1,6 +1,6 @@
|
|||
Patient_ID,Device,Ship_Date,Units,Plan,Type,Export Type
|
||||
PT-1161,Omnipod 5,06/05/2025 00:00:00,6,UnitedHealth,pod,CGM Only
|
||||
PT-1162,op5,05/05/2025 00:00:00,2,UnitedHealth,pod,CGM Only
|
||||
PT-1163,op5,06/16/2025 00:00:00,3,UnitedHealth,pod,CGM Only
|
||||
PT-1164,Omnipod,07/13/2025 00:00:00,2,UnitedHealth,pod,CGM Only
|
||||
PT-1165,Omnipod,05/01/2025 00:00:00,6,UnitedHealth,pod,CGM Only
|
||||
Patient_ID,Device,Ship_Date,Units,Plan,Type,Export Type,payer_type
|
||||
PT-1161,Omnipod 5,06/05/2025 00:00:00,6,UnitedHealth,pod,CGM Only,employer
|
||||
PT-1162,op5,05/05/2025 00:00:00,2,UnitedHealth,pod,CGM Only,employer
|
||||
PT-1163,op5,06/16/2025 00:00:00,3,UnitedHealth,pod,CGM Only,employer
|
||||
PT-1164,Omnipod,07/13/2025 00:00:00,2,UnitedHealth,pod,CGM Only,employer
|
||||
PT-1165,Omnipod,05/01/2025 00:00:00,6,UnitedHealth,pod,CGM Only,employer
|
||||
|
|
|
|||
|
|
|
@ -1,6 +1,6 @@
|
|||
patient id,item,dispense date,count,carrier,supply_type,Billing Staff,Auth Number
|
||||
PT-1171,FreestyleLibre3,2024-11-20,6,Medicare Part B,sensor,M. Jones,CGM-2026-001
|
||||
PT-1172,FreestyleLibre3,2025-01-02,3,Medicare Part B,sensor,M. Jones,CGM-2026-001
|
||||
PT-1173,FSL3,2024-10-05,2,Medicare Part B,sensor,M. Jones,CGM-2026-001
|
||||
PT-1174,FreeStyle Libre 3,2024-12-17,1,Medicare Part B,sensor,M. Jones,CGM-2026-001
|
||||
PT-1175,FSL3,2024-12-20,3,Medicare Part B,sensor,M. Jones,CGM-2026-001
|
||||
patient id,item,dispense date,count,carrier,supply_type,Billing Staff,Auth Number,payer_type
|
||||
PT-1171,FreestyleLibre3,2024-11-20,6,Medicare Part B,sensor,M. Jones,CGM-2026-001,Medicare Part B
|
||||
PT-1172,FreestyleLibre3,2025-01-02,3,Medicare Part B,sensor,M. Jones,CGM-2026-001,Medicare Part B
|
||||
PT-1173,FSL3,2024-10-05,2,Medicare Part B,sensor,M. Jones,CGM-2026-001,Medicare Part B
|
||||
PT-1174,FreeStyle Libre 3,2024-12-17,1,Medicare Part B,sensor,M. Jones,CGM-2026-001,Medicare Part B
|
||||
PT-1175,FSL3,2024-12-20,3,Medicare Part B,sensor,M. Jones,CGM-2026-001,Medicare Part B
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
patient id,item,dispense date,count,carrier,supply_type,Billing Staff,Auth Number
|
||||
PT-1171,G6,2026-05-05,3,Medicare Part A,sensor,M. Jones,CGM-2026-001
|
||||
PT-1172,Dexcom G6 Pro,2026-04-28,9,Medicare Part A,sensor,M. Jones,CGM-2026-001
|
||||
PT-1173,Dexcom G6,2026-05-02,3,Medicare Part A,sensor,M. Jones,CGM-2026-001
|
||||
patient id,item,dispense date,count,carrier,supply_type,Billing Staff,Auth Number,Coverage Type
|
||||
PT-1171,G6,2026-05-05,3,Medicare Part A,sensor,M. Jones,CGM-2026-001,Medicare
|
||||
PT-1172,Dexcom G6 Pro,2026-04-28,9,Medicare Part A,sensor,M. Jones,CGM-2026-001,Medicare
|
||||
PT-1173,Dexcom G6,2026-05-02,3,Medicare Part A,sensor,M. Jones,CGM-2026-001,Medicare
|
||||
|
|
|
|||
|
|
|
@ -1,7 +1,7 @@
|
|||
Acct No,Product Name,Last Ship Date,Qty Dispensed,Primary Payer,Component
|
||||
PT-1181,Libre 3,"May 23, 2026",2,Molina Healthcare,sensor
|
||||
PT-1182,fs libre 3,"May 26, 2026",2,Molina Healthcare,sensor
|
||||
PT-1183,FSL3,"May 28, 2026",6,Molina Healthcare,sensor
|
||||
PT-1184,FreeStyle Libre 3,"May 29, 2026",3,Molina Healthcare,sensor
|
||||
PT-1185,fs libre 3,"May 20, 2026",9,Molina Healthcare,sensor
|
||||
PT-1186,FSL3,"May 29, 2026",6,Molina Healthcare,sensor
|
||||
Acct No,Product Name,Last Ship Date,Qty Dispensed,Primary Payer,Component,LOB
|
||||
PT-1181,Libre 3,"May 23, 2026",2,Molina Healthcare,sensor,private
|
||||
PT-1182,fs libre 3,"May 26, 2026",2,Molina Healthcare,sensor,private
|
||||
PT-1183,FSL3,"May 28, 2026",6,Molina Healthcare,sensor,private
|
||||
PT-1184,FreeStyle Libre 3,"May 29, 2026",3,Molina Healthcare,sensor,private
|
||||
PT-1185,fs libre 3,"May 20, 2026",9,Molina Healthcare,sensor,private
|
||||
PT-1186,FSL3,"May 29, 2026",6,Molina Healthcare,sensor,private
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
Acct No,Product Name,Last Ship Date,Qty Dispensed,Primary Payer,Component
|
||||
PT-1181,Omnipod,"Jul 31, 2025",3,Centene,pod
|
||||
PT-1182,op5,"May 06, 2025",1,Centene,pod
|
||||
PT-1183,Omnipod,"Sep 06, 2025",3,Centene,pod
|
||||
Acct No,Product Name,Last Ship Date,Qty Dispensed,Primary Payer,Component,payer_type
|
||||
PT-1181,Omnipod,"Jul 31, 2025",3,Centene,pod,employer
|
||||
PT-1182,op5,"May 06, 2025",1,Centene,pod,employer
|
||||
PT-1183,Omnipod,"Sep 06, 2025",3,Centene,pod,employer
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
Member ID,DME Description,DOS,QTY,Insurance,Item Type,Payer ID
|
||||
PT-1191,Omnipod,2024-12-07,1,Medicare,pod,00019
|
||||
PT-1192,OmniPod 5,2024-11-11,1,Medicare,pod,00019
|
||||
PT-1193,OmniPod 5,2025-01-07,2,Medicare,pod,00019
|
||||
PT-1194,Omnipod 5,2024-10-28,1,Medicare,pod,00019
|
||||
PT-1195,Omnipod 5,2024-11-05,6,Medicare,pod,00019
|
||||
PT-1196,Omnipod,2024-11-29,6,Medicare,pod,00019
|
||||
PT-1197,Omnipod,2024-12-07,2,Medicare,pod,00019
|
||||
Member ID,DME Description,DOS,QTY,Insurance,Item Type,Payer ID,payer_type
|
||||
PT-1191,Omnipod,2024-12-07,1,Medicare,pod,00019,Medicare Part B
|
||||
PT-1192,OmniPod 5,2024-11-11,1,Medicare,pod,00019,Medicare Part B
|
||||
PT-1193,OmniPod 5,2025-01-07,2,Medicare,pod,00019,Medicare Part B
|
||||
PT-1194,Omnipod 5,2024-10-28,1,Medicare,pod,00019,Medicare Part B
|
||||
PT-1195,Omnipod 5,2024-11-05,6,Medicare,pod,00019,Medicare Part B
|
||||
PT-1196,Omnipod,2024-11-29,6,Medicare,pod,00019,Medicare Part B
|
||||
PT-1197,Omnipod,2024-12-07,2,Medicare,pod,00019,Medicare Part B
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
Member ID,DME Description,DOS,QTY,Insurance,Item Type,Payer ID
|
||||
PT-1191,Omnipod 5,2026-05-02,3,CMS,pod,00019
|
||||
PT-1192,op5,2026-05-01,3,CMS,pod,00019
|
||||
PT-1193,OmniPod 5,2026-05-03,9,CMS,pod,00019
|
||||
PT-1194,op5,2026-04-27,6,CMS,pod,00019
|
||||
PT-1195,Omnipod,2026-05-05,9,CMS,pod,00019
|
||||
PT-1196,op5,2026-05-01,9,CMS,pod,00019
|
||||
PT-1197,OmniPod 5,2026-04-27,2,CMS,pod,00019
|
||||
Member ID,DME Description,DOS,QTY,Insurance,Item Type,Payer ID,Coverage Type
|
||||
PT-1191,Omnipod 5,2026-05-02,3,CMS,pod,00019,Commercial
|
||||
PT-1192,op5,2026-05-01,3,CMS,pod,00019,Commercial
|
||||
PT-1193,OmniPod 5,2026-05-03,9,CMS,pod,00019,Commercial
|
||||
PT-1194,op5,2026-04-27,6,CMS,pod,00019,Commercial
|
||||
PT-1195,Omnipod,2026-05-05,9,CMS,pod,00019,Commercial
|
||||
PT-1196,op5,2026-05-01,9,CMS,pod,00019,Commercial
|
||||
PT-1197,OmniPod 5,2026-04-27,2,CMS,pod,00019,Commercial
|
||||
|
|
|
|||
|
|
|
@ -1,7 +1,7 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1191,dexcom_g7,2025-09-19,9,UnitedHealth,sensor
|
||||
PT-1192,dexcom_g7,2025-09-18,9,UnitedHealth,sensor
|
||||
PT-1193,dexcom_g7,2025-09-14,3,UnitedHealth,sensor
|
||||
PT-1194,dexcom_g7,2025-09-12,3,UnitedHealth,sensor
|
||||
PT-1195,dexcom_g7,2025-09-12,3,UnitedHealth,sensor
|
||||
PT-1196,dexcom_g7,2025-09-15,2,UnitedHealth,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1191,dexcom_g7,2025-09-19,9,UnitedHealth,sensor,commercial
|
||||
PT-1192,dexcom_g7,2025-09-18,9,UnitedHealth,sensor,commercial
|
||||
PT-1193,dexcom_g7,2025-09-14,3,UnitedHealth,sensor,commercial
|
||||
PT-1194,dexcom_g7,2025-09-12,3,UnitedHealth,sensor,commercial
|
||||
PT-1195,dexcom_g7,2025-09-12,3,UnitedHealth,sensor,commercial
|
||||
PT-1196,dexcom_g7,2025-09-15,2,UnitedHealth,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,7 +1,7 @@
|
|||
pt id,device_type,service date,quantity,payer,component
|
||||
PT-1201,dexcom g7,05/19/2026,1,Blue Cross Blue Shield,sensor
|
||||
PT-1202,Dexcom G7,05/24/2026,6,Blue Cross Blue Shield,sensor
|
||||
PT-1203,dexcom g7,05/23/2026,9,Blue Cross Blue Shield,sensor
|
||||
PT-1204,Dexcom G7 CGM,05/27/2026,6,Blue Cross Blue Shield,sensor
|
||||
PT-1205,dexcom g7,05/30/2026,9,Blue Cross Blue Shield,sensor
|
||||
PT-1206,dexcom g7,05/23/2026,6,Blue Cross Blue Shield,sensor
|
||||
pt id,device_type,service date,quantity,payer,component,plan_type
|
||||
PT-1201,dexcom g7,05/19/2026,1,Blue Cross Blue Shield,sensor,commercial
|
||||
PT-1202,Dexcom G7,05/24/2026,6,Blue Cross Blue Shield,sensor,commercial
|
||||
PT-1203,dexcom g7,05/23/2026,9,Blue Cross Blue Shield,sensor,commercial
|
||||
PT-1204,Dexcom G7 CGM,05/27/2026,6,Blue Cross Blue Shield,sensor,commercial
|
||||
PT-1205,dexcom g7,05/30/2026,9,Blue Cross Blue Shield,sensor,commercial
|
||||
PT-1206,dexcom g7,05/23/2026,6,Blue Cross Blue Shield,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,9 +1,9 @@
|
|||
pt id,device_type,service date,quantity,payer,component
|
||||
PT-1201,op5,11/15/2024,6,Aetna Commercial,pod
|
||||
PT-1202,op5,12/28/2024,2,Aetna Commercial,pod
|
||||
PT-1203,OmniPod 5,12/25/2024,9,Aetna Commercial,pod
|
||||
PT-1204,OmniPod 5,12/30/2024,1,Aetna Commercial,pod
|
||||
PT-1205,OmniPod 5,01/07/2025,2,Aetna Commercial,pod
|
||||
PT-1206,Omnipod 5,10/28/2024,1,Aetna Commercial,pod
|
||||
PT-1207,Omnipod 5,11/05/2024,6,Aetna Commercial,pod
|
||||
PT-1208,Omnipod,11/29/2024,6,Aetna Commercial,pod
|
||||
pt id,device_type,service date,quantity,payer,component,plan_type
|
||||
PT-1201,op5,11/15/2024,6,Aetna Commercial,pod,commercial
|
||||
PT-1202,op5,12/28/2024,2,Aetna Commercial,pod,commercial
|
||||
PT-1203,OmniPod 5,12/25/2024,9,Aetna Commercial,pod,commercial
|
||||
PT-1204,OmniPod 5,12/30/2024,1,Aetna Commercial,pod,commercial
|
||||
PT-1205,OmniPod 5,01/07/2025,2,Aetna Commercial,pod,commercial
|
||||
PT-1206,Omnipod 5,10/28/2024,1,Aetna Commercial,pod,commercial
|
||||
PT-1207,Omnipod 5,11/05/2024,6,Aetna Commercial,pod,commercial
|
||||
PT-1208,Omnipod,11/29/2024,6,Aetna Commercial,pod,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,9 +1,9 @@
|
|||
acct_no,product,fill date,units,insurance name,type,Branch Code
|
||||
PT-1211,Omnipod 5,2024-12-29,6,Medicare,pod,GA-02
|
||||
PT-1212,op5,2024-10-31,1,Medicare,pod,GA-02
|
||||
PT-1213,Omnipod 5,2024-12-13,6,Medicare,pod,GA-02
|
||||
PT-1214,op5,2024-10-25,9,Medicare,pod,GA-02
|
||||
PT-1215,OmniPod 5,2024-12-16,6,Medicare,pod,GA-02
|
||||
PT-1216,op5,2024-12-25,9,Medicare,pod,GA-02
|
||||
PT-1217,op5,2024-11-29,6,Medicare,pod,GA-02
|
||||
PT-1218,Omnipod,2024-11-10,3,Medicare,pod,GA-02
|
||||
acct_no,product,fill date,units,insurance name,type,Branch Code,payer_type
|
||||
PT-1211,Omnipod 5,2024-12-29,6,Medicare,pod,GA-02,Medicare Part B
|
||||
PT-1212,op5,2024-10-31,1,Medicare,pod,GA-02,Medicare Part B
|
||||
PT-1213,Omnipod 5,2024-12-13,6,Medicare,pod,GA-02,Medicare Part B
|
||||
PT-1214,op5,2024-10-25,9,Medicare,pod,GA-02,Medicare Part B
|
||||
PT-1215,OmniPod 5,2024-12-16,6,Medicare,pod,GA-02,Medicare Part B
|
||||
PT-1216,op5,2024-12-25,9,Medicare,pod,GA-02,Medicare Part B
|
||||
PT-1217,op5,2024-11-29,6,Medicare,pod,GA-02,Medicare Part B
|
||||
PT-1218,Omnipod,2024-11-10,3,Medicare,pod,GA-02,Medicare Part B
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
acct_no,product,fill date,units,insurance name,type,Branch Code
|
||||
PT-1211,Libre 3,2026-05-03,3,UHC,sensor,GA-02
|
||||
PT-1212,FSL3,2026-04-28,2,UHC,sensor,GA-02
|
||||
PT-1213,FSL3,2026-04-29,9,UHC,sensor,GA-02
|
||||
PT-1214,Libre 3,2026-04-26,2,UHC,sensor,GA-02
|
||||
PT-1215,Libre 3,2026-05-03,2,UHC,sensor,GA-02
|
||||
PT-1216,fs libre 3,2026-04-28,3,UHC,sensor,GA-02
|
||||
PT-1217,fs libre 3,2026-05-02,1,UHC,sensor,GA-02
|
||||
acct_no,product,fill date,units,insurance name,type,Branch Code,Coverage Type
|
||||
PT-1211,Libre 3,2026-05-03,3,UHC,sensor,GA-02,Commercial
|
||||
PT-1212,FSL3,2026-04-28,2,UHC,sensor,GA-02,Commercial
|
||||
PT-1213,FSL3,2026-04-29,9,UHC,sensor,GA-02,Commercial
|
||||
PT-1214,Libre 3,2026-04-26,2,UHC,sensor,GA-02,Commercial
|
||||
PT-1215,Libre 3,2026-05-03,2,UHC,sensor,GA-02,Commercial
|
||||
PT-1216,fs libre 3,2026-04-28,3,UHC,sensor,GA-02,Commercial
|
||||
PT-1217,fs libre 3,2026-05-02,1,UHC,sensor,GA-02,Commercial
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1211,freestyle_libre_3,2025-08-24,3,Medicaid - GA,sensor
|
||||
PT-1212,freestyle_libre_3,2025-08-25,2,Medicaid - GA,sensor
|
||||
PT-1213,freestyle_libre_3,2025-08-28,9,Medicaid - GA,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1211,freestyle_libre_3,2025-08-24,3,Medicaid - GA,sensor,medicaid
|
||||
PT-1212,freestyle_libre_3,2025-08-25,2,Medicaid - GA,sensor,medicaid
|
||||
PT-1213,freestyle_libre_3,2025-08-28,9,Medicaid - GA,sensor,medicaid
|
||||
|
|
|
|||
|
|
|
@ -1,6 +1,6 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1221,dexcom_g7,2024-12-23,1,Cigna,sensor
|
||||
PT-1222,dexcom_g7,2024-12-15,3,Cigna,sensor
|
||||
PT-1223,dexcom_g7,2024-12-14,1,Cigna,sensor
|
||||
PT-1224,dexcom_g7,2024-12-21,2,Cigna,sensor
|
||||
PT-1225,dexcom_g7,2024-12-17,3,Cigna,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1221,dexcom_g7,2024-12-23,1,Cigna,sensor,commercial
|
||||
PT-1222,dexcom_g7,2024-12-15,3,Cigna,sensor,commercial
|
||||
PT-1223,dexcom_g7,2024-12-14,1,Cigna,sensor,commercial
|
||||
PT-1224,dexcom_g7,2024-12-21,2,Cigna,sensor,commercial
|
||||
PT-1225,dexcom_g7,2024-12-17,3,Cigna,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,7 +1,7 @@
|
|||
External Patient Ref,Item Description,Dispense Date,Quantity,Plan Name,Supply Type
|
||||
PT-1221,OmniPod 5,04/30/2026 00:00:00,2,Molina Healthcare,pod
|
||||
PT-1222,OmniPod 5,04/29/2026 00:00:00,9,Molina Healthcare,pod
|
||||
PT-1223,Omnipod,04/26/2026 00:00:00,2,Molina Healthcare,pod
|
||||
PT-1224,Omnipod,05/03/2026 00:00:00,2,Molina Healthcare,pod
|
||||
PT-1225,op5,04/28/2026 00:00:00,3,Molina Healthcare,pod
|
||||
PT-1226,op5,05/02/2026 00:00:00,1,Molina Healthcare,pod
|
||||
External Patient Ref,Item Description,Dispense Date,Quantity,Plan Name,Supply Type,Coverage Type
|
||||
PT-1221,OmniPod 5,04/30/2026 00:00:00,2,Molina Healthcare,pod,Commercial
|
||||
PT-1222,OmniPod 5,04/29/2026 00:00:00,9,Molina Healthcare,pod,Commercial
|
||||
PT-1223,Omnipod,04/26/2026 00:00:00,2,Molina Healthcare,pod,Commercial
|
||||
PT-1224,Omnipod,05/03/2026 00:00:00,2,Molina Healthcare,pod,Commercial
|
||||
PT-1225,op5,04/28/2026 00:00:00,3,Molina Healthcare,pod,Commercial
|
||||
PT-1226,op5,05/02/2026 00:00:00,1,Molina Healthcare,pod,Commercial
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
External Patient Ref,Item Description,Dispense Date,Quantity,Plan Name,Supply Type
|
||||
PT-1221,dexcom g6,05/01/2025 00:00:00,6,Humana,sensor
|
||||
PT-1222,Dexcom G6 Pro,04/23/2025 00:00:00,6,Humana,sensor
|
||||
PT-1223,G6,08/09/2025 00:00:00,6,Humana,sensor
|
||||
PT-1224,dexcom g6,06/17/2025 00:00:00,6,Humana,sensor
|
||||
PT-1225,Dexcom G6 Pro,04/30/2025 00:00:00,6,Humana,sensor
|
||||
PT-1226,dexcom g6,06/07/2025 00:00:00,2,Humana,sensor
|
||||
PT-1227,dexcom g6,09/03/2025 00:00:00,9,Humana,sensor
|
||||
External Patient Ref,Item Description,Dispense Date,Quantity,Plan Name,Supply Type,payer_type
|
||||
PT-1221,dexcom g6,05/01/2025 00:00:00,6,Humana,sensor,employer
|
||||
PT-1222,Dexcom G6 Pro,04/23/2025 00:00:00,6,Humana,sensor,employer
|
||||
PT-1223,G6,08/09/2025 00:00:00,6,Humana,sensor,employer
|
||||
PT-1224,dexcom g6,06/17/2025 00:00:00,6,Humana,sensor,employer
|
||||
PT-1225,Dexcom G6 Pro,04/30/2025 00:00:00,6,Humana,sensor,employer
|
||||
PT-1226,dexcom g6,06/07/2025 00:00:00,2,Humana,sensor,employer
|
||||
PT-1227,dexcom g6,09/03/2025 00:00:00,9,Humana,sensor,employer
|
||||
|
|
|
|||
|
|
|
@ -1,5 +1,5 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component,Internal Code,Region,Staff ID
|
||||
PT-1231,Dexcom G7,2024-12-01,3,Medicare Part A,sensor,DME-99,Northeast,STAFF-001
|
||||
PT-1232,G7,2024-11-21,6,Medicare Part A,sensor,DME-99,Northeast,STAFF-001
|
||||
PT-1233,dexcom g7,2024-11-14,3,Medicare Part A,sensor,DME-99,Northeast,STAFF-001
|
||||
PT-1234,dexcom g7,2025-01-12,3,Medicare Part A,sensor,DME-99,Northeast,STAFF-001
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,Internal Code,Region,Staff ID,plan_type
|
||||
PT-1231,Dexcom G7,2024-12-01,3,Medicare Part A,sensor,DME-99,Northeast,STAFF-001,medicare
|
||||
PT-1232,G7,2024-11-21,6,Medicare Part A,sensor,DME-99,Northeast,STAFF-001,medicare
|
||||
PT-1233,dexcom g7,2024-11-14,3,Medicare Part A,sensor,DME-99,Northeast,STAFF-001,medicare
|
||||
PT-1234,dexcom g7,2025-01-12,3,Medicare Part A,sensor,DME-99,Northeast,STAFF-001,medicare
|
||||
|
|
|
|||
|
|
|
@ -1,6 +1,6 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1231,dexcom_g6,2025-07-18,6,Cigna,sensor
|
||||
PT-1232,dexcom_g6,2025-07-14,1,Cigna,sensor
|
||||
PT-1233,dexcom_g6,2025-07-11,6,Cigna,sensor
|
||||
PT-1234,dexcom_g6,2025-07-14,1,Cigna,sensor
|
||||
PT-1235,dexcom_g6,2025-07-10,3,Cigna,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1231,dexcom_g6,2025-07-18,6,Cigna,sensor,commercial
|
||||
PT-1232,dexcom_g6,2025-07-14,1,Cigna,sensor,commercial
|
||||
PT-1233,dexcom_g6,2025-07-11,6,Cigna,sensor,commercial
|
||||
PT-1234,dexcom_g6,2025-07-14,1,Cigna,sensor,commercial
|
||||
PT-1235,dexcom_g6,2025-07-10,3,Cigna,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,4 +1,4 @@
|
|||
Acct #,Device,Order Date,Qty,Insurance,Component,Supplier Code
|
||||
PT-1241,Dexcom G7,"May 21, 2026",1,Medicare Part B - CGM,sensor,STTIL-01
|
||||
PT-1242,G7,"May 16, 2026",1,Medicare Part B - CGM,sensor,STTIL-01
|
||||
PT-1243,G7,"May 25, 2026",2,Medicare Part B - CGM,sensor,STTIL-01
|
||||
Acct #,Device,Order Date,Qty,Insurance,Component,Supplier Code,LOB
|
||||
PT-1241,Dexcom G7,"May 21, 2026",1,Medicare Part B - CGM,sensor,STTIL-01,medicare ffs
|
||||
PT-1242,G7,"May 16, 2026",1,Medicare Part B - CGM,sensor,STTIL-01,medicare ffs
|
||||
PT-1243,G7,"May 25, 2026",2,Medicare Part B - CGM,sensor,STTIL-01,medicare ffs
|
||||
|
|
|
|||
|
|
|
@ -1,8 +1,8 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,component
|
||||
PT-1241,dexcom_g6,2025-06-26,9,Cigna,sensor
|
||||
PT-1242,dexcom_g6,2025-06-20,1,Cigna,sensor
|
||||
PT-1243,dexcom_g6,2025-06-21,2,Cigna,sensor
|
||||
PT-1244,dexcom_g6,2025-06-28,1,Cigna,sensor
|
||||
PT-1245,dexcom_g6,2025-06-25,9,Cigna,sensor
|
||||
PT-1246,dexcom_g6,2025-06-28,2,Cigna,sensor
|
||||
PT-1247,dexcom_g6,2025-06-26,2,Cigna,sensor
|
||||
patient_id,device_type,shipment_date,quantity,payer,component,plan_type
|
||||
PT-1241,dexcom_g6,2025-06-26,9,Cigna,sensor,commercial
|
||||
PT-1242,dexcom_g6,2025-06-20,1,Cigna,sensor,commercial
|
||||
PT-1243,dexcom_g6,2025-06-21,2,Cigna,sensor,commercial
|
||||
PT-1244,dexcom_g6,2025-06-28,1,Cigna,sensor,commercial
|
||||
PT-1245,dexcom_g6,2025-06-25,9,Cigna,sensor,commercial
|
||||
PT-1246,dexcom_g6,2025-06-28,2,Cigna,sensor,commercial
|
||||
PT-1247,dexcom_g6,2025-06-26,2,Cigna,sensor,commercial
|
||||
|
|
|
|||
|
|
|
@ -1,2 +1,2 @@
|
|||
patient_id,device_type,shipment_date,quantity,payer,visit_date,swo_status,pecos_verified,pa_status,diagnosis_on_file
|
||||
PT-GREEN-1,dexcom_g7,2026-06-10,3,Medicare Part B,2026-04-15,On File,Yes,Not Required,Yes
|
||||
patient_id,device_type,shipment_date,quantity,payer,visit_date,swo_status,pecos_verified,pa_status,diagnosis_on_file,plan_type
|
||||
PT-GREEN-1,dexcom_g7,2026-06-10,3,Medicare Part B,2026-04-15,On File,Yes,Not Required,Yes,medicare
|
||||
|
|
|
|||
|
|
|
@ -609,3 +609,110 @@ def test_upload_readiness_items_carry_rule_ids():
|
|||
assert items["pecos"]["rule_id"] == "R004"
|
||||
assert items["pa"]["rule_id"] == "R003"
|
||||
assert items["swo"]["rule_id"] == "R100"
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# P5: plan-type enforcement in the live path (plan 02)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def test_plan_type_value_normalization():
|
||||
"""Synonyms canonicalize; the same string in a PAYER column changes
|
||||
nothing about readiness."""
|
||||
from api.normalizer import _normalize_plan_type
|
||||
|
||||
for raw, want in [
|
||||
("Medicare Part B", "medicare"), ("FFS", "medicare"),
|
||||
("Original Medicare", "medicare"), ("MA", "medicare_advantage"),
|
||||
("Part C", "medicare_advantage"), ("state medicaid", "medicaid"),
|
||||
("Private", "commercial"), ("Employer", "commercial"),
|
||||
("", None), (" ", None), ("Tricare Select", None),
|
||||
]:
|
||||
assert _normalize_plan_type(raw) == want, raw
|
||||
|
||||
|
||||
def test_payer_name_never_sets_plan_type():
|
||||
"""A payer of 'Medicare Part B' with NO plan_type column yields
|
||||
Plan Type Needed — never a guess from the payer name."""
|
||||
header = (
|
||||
"patient_id,device_type,shipment_date,quantity,payer,"
|
||||
"swo_status,visit_date,pecos_verified,pa_status,diagnosis_on_file"
|
||||
)
|
||||
csv_text = (
|
||||
header
|
||||
+ f"\nPT-NG-1,Dexcom G7,{SHIP},3,Medicare Part B,"
|
||||
+ f"On File,{VISIT},Yes,,Yes"
|
||||
)
|
||||
resp = _upload(csv_text)
|
||||
rec = resp.json()["records"][0]
|
||||
assert rec["plan_type"] is None
|
||||
assert rec["readiness_status"] == "Plan Type Needed"
|
||||
|
||||
|
||||
def test_plan_type_synonym_flows_end_to_end():
|
||||
csv_text = (
|
||||
HEADER
|
||||
+ f"\nPT-SYN-1,Dexcom G7,{SHIP},3,Medicare Part B,Medicare Part B,"
|
||||
+ f"On File,{VISIT},Yes,,Yes"
|
||||
)
|
||||
resp = _upload(csv_text)
|
||||
rec = resp.json()["records"][0]
|
||||
assert rec["plan_type"] == "medicare" # value map canonicalized it
|
||||
assert rec["readiness_status"] == "Clear to Ship"
|
||||
|
||||
|
||||
def test_unknown_plan_type_value_yields_plan_type_needed():
|
||||
csv_text = (
|
||||
HEADER
|
||||
+ f"\nPT-UNK-1,Dexcom G7,{SHIP},3,Tricare,Tricare Select,"
|
||||
+ f"On File,{VISIT},Yes,,Yes"
|
||||
)
|
||||
resp = _upload(csv_text)
|
||||
rec = resp.json()["records"][0]
|
||||
assert rec["plan_type"] is None
|
||||
assert rec["readiness_status"] == "Plan Type Needed"
|
||||
|
||||
|
||||
def test_default_config_never_reaches_readiness():
|
||||
"""'default' is not a known plan type; it must grade Plan Type Needed,
|
||||
never through the default payer_rules entry."""
|
||||
from core.readiness import evaluate_readiness
|
||||
|
||||
v = evaluate_readiness(
|
||||
"default",
|
||||
csv_swo_status="On File",
|
||||
csv_pecos_verified="Yes",
|
||||
csv_diagnosis_on_file="Yes",
|
||||
)
|
||||
assert v.line_status.value == "Plan Type Needed"
|
||||
|
||||
|
||||
def test_deprecation_warning_logged_once_per_batch(caplog):
|
||||
header = (
|
||||
"patient_id,device_type,shipment_date,quantity,payer,"
|
||||
"swo_status,visit_date,pecos_verified,pa_status,diagnosis_on_file"
|
||||
)
|
||||
csv_text = (
|
||||
header
|
||||
+ f"\nPT-DW-1,Dexcom G7,{SHIP},3,Medicare Part B,On File,{VISIT},Yes,,Yes"
|
||||
+ f"\nPT-DW-2,Libre 3,{SHIP},1,Aetna,On File,{VISIT},,,Yes"
|
||||
)
|
||||
with caplog.at_level("WARNING"):
|
||||
resp = _upload(csv_text)
|
||||
assert resp.status_code == 200
|
||||
hits = [r for r in caplog.records if "plan_type not provided" in r.getMessage()]
|
||||
assert len(hits) == 1 # once per batch, not per record
|
||||
assert "2/2 records" in hits[0].getMessage()
|
||||
|
||||
|
||||
def test_unrecognized_plan_value_warning_hashes_patient(caplog):
|
||||
csv_text = (
|
||||
HEADER
|
||||
+ f"\nPT-RAW-SECRET,Dexcom G7,{SHIP},3,Tricare,Tricare Select,"
|
||||
+ f"On File,{VISIT},Yes,,Yes"
|
||||
)
|
||||
with caplog.at_level("WARNING"):
|
||||
_upload(csv_text)
|
||||
hits = [r for r in caplog.records if "Unrecognized plan_type" in r.getMessage()]
|
||||
assert len(hits) == 1
|
||||
assert "PT-RAW-SECRET" not in hits[0].getMessage()
|
||||
|
|
|
|||
Loading…
Reference in a new issue