Excluded Prescriber Payment Screen
excluded_prescriber_payment_screenGiven an NPI (10-digit), returns OIG LEIE exclusion status and — if excluded — any Open Payments received OR Part D prescribing activity recorded AFTER the exclusion date (and before any reinstatement). The textbook qui-tam / False Claims Act screening query. Bridges three substrate sources: dim_oig_leie (LEIE), fact_drug_payment_to_prescriber (Open Payments), fact_part_d_prescriber (Part D Prescriber-by-Drug).
Returns: total post-exclusion payment dollars + Part D drug-cost exposure, broken down by year + top 5 manufacturers. Every answer carries an explicit exclusion_status (not_in_leie, excluded, or excluded_then_reinstated) beside the dollars, so a $0 result is never ambiguous: a not-in-LEIE NPI returns zero ANCHORED to the LEIE snapshot date it was checked against (leie_asserted_at), which is a different thing from an excluded prescriber who drew no post-exclusion payments.
KNOWN GAPS: open_payments_publication_lag_one_year (current PY publishes June+1); part_d_puf_annual_grain_only (Part D PUF is annual not monthly — finer-grain timing requires claims data). LEIE refreshes monthly per the M-6 schedule (cycle 2).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| npi | Yes | ||
| op_lookback_years | No | ||
| pdp_lookback_years | No | ||
| acknowledge_era_break | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| unit | No | ||
| as_of | No | ||
| value | Yes | ||
| source | Yes | ||
| status | No | complete | |
| caveats | No | ||
| failure | No | ||
| quality | No | ||
| refusal | No | ||
| vintage | No | as_restated | |
| audit_id | Yes | UUID; ties to medicare_silver.audit_log row. | |
| signature | No | ||
| tenant_id | No | Calling tenant slug, resolved by the binding and stamped via the per-call tenant context. Defaults to the bootstrap 'internal' tenant for local/in-process callers. | |
| timestamp | Yes | ||
| confidence | No | ||
| data_as_of | No | ||
| request_id | Yes | ||
| methodology | No | ||
| snapshot_set | Yes | {table_fqn → iceberg_snapshot_id (int64)}. Per M-2 §2.2. | |
| tool_version | Yes | ||
| response_hash | Yes | SHA-256 of canonicalized form per M-2 §2.4. | |
| result_status | Yes | ||
| vintage_basis | No | default_unmeasured | |
| as_of_asserted | No | ||
| as_of_observed | No | ||
| parse_revision | No | ||
| as_of_effective | No | ||
| freshness_state | No | unknown | |
| methodology_era | No | ||
| confidence_basis | No | ||
| semantic_version | Yes | ||
| invariants_applied | No | ||
| finality_confidence | No | ||
| cms_vintage_sequence | Yes | ||
| parser_artifact_hash | Yes | ||
| methodology_blend_factors | No | ||
| parser_artifact_hash_basis | No | not_evaluated |