Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt

Use this file to discover all available pages before exploring further.

Spec: specs/pm/specs/PM-08-EN-13-jurisdiction-aware-filing-deadlines.md
Feature ID: PM-08-EN-13
Core: PM
Status: ✅ Complete

Summary

PM-08 filing deadline calculation and PM-26 compliance reporting consume jurisdiction-specific billing configuration from PF-96 profiles to remove hardcoded Arizona constants while preserving Arizona parity behavior.

Integration Pattern

  • Publisher Core: PF (jurisdiction profile data ownership)
  • Consumer Core: PM (filing deadline calculation and compliance reporting)
  • Pattern: Direct configuration dependency (PM reads PF-96 jurisdiction profile values via pf_resolve_jurisdiction_profile() [SECURITY DEFINER], per docs/architecture/integrations/API_CONTRACTS.md § PF-96 and docs/architecture/integrations/PF-96-medicaid-state-compliance-configuration-INTEGRATION.md)
No direct CL import paths are introduced as this integration concerns PM and PF only.

Data Contract (Read)

PM expects the resolved profile to provide:
  • billing.filing_deadline_days — Number of days from date of service within which a claim must be filed (AZ default: 365)
  • billing.compliance_window_hours — Hours within which initial appointment must be scheduled after screening (AZ default: 72)
If a field is absent, fallback behavior follows PF-96 default profile guidance (365 days / 72 hours).

Consumer Integration Points

ConsumerWhat It ReadsHow It Integrates
calculateFilingDeadline() utilitybilling.filing_deadline_daysCallers pass value from useBillingRules() hook
pm-26-compliance-report edge fnbilling.compliance_window_hoursgetJurisdictionProfile() from _shared/jurisdiction.ts
PM-26 export filenameProfile display_nameGeneric naming instead of ahcccs-compliance-*

Security and Tenant Isolation

  • Profile reads must be scoped by organization_id (and site_id when supplied).
  • No PHI payload is required for profile resolution.
  • Filing and compliance calculations remain auditable through existing PM-08/PM-26 audit paths.

Backward Compatibility

  • Arizona organizations remain behaviorally equivalent to legacy PM-08/PM-26 logic.
  • No breaking schema changes are introduced by this enhancement.
  • Existing PM-08 and PM-26 tests should remain green with Arizona fixture parity.

PF-96 API Contract

Request (Frontend)

const { data: billingRules } = useBillingRules();
// Returns: { filing_deadline_days: number; compliance_window_hours: number; ... }

Request (Edge Function)

const profile = await getJurisdictionProfile(supabaseClient, orgId, siteId);
const deadlineDays = profile.billing?.filing_deadline_days ?? 365;

Fallback Semantics

If the jurisdiction profile is unavailable or missing the requested field, consumers fall back to Arizona defaults (365 days / 72 hours). This ensures backward compatibility during PF-96 rollout.

Security & Audit

  • Profile reads are scoped by organization_id (and site_id when supplied) via pf_resolve_jurisdiction_profile() (SECURITY DEFINER).
  • No PHI payload is required for profile resolution.
  • Filing and compliance calculations remain auditable through existing PM-08/PM-26 audit paths.
  • Deadline overrides are logged to pf_audit_logs with action filing_deadline_override.

Validation Checklist

  • Arizona parity: 365-day filing deadline, 72-hour compliance window preserved.
  • Non-Arizona profile: at least one fixture with different values tested.
  • Edge function pm-26-compliance-report uses getJurisdictionProfile() correctly.
  • calculateFilingDeadline() receives value from useBillingRules() (not hardcoded).
  • PM-08 and PM-26 regression suites pass with Arizona fixtures.

  • specs/pm/specs/PM-08-claims-management-submission.md
  • specs/pf/specs/PF-96-medicaid-state-compliance-configuration.md
  • docs/architecture/integrations/PM-07-EN-13-jurisdiction-aware-billing-rules-INTEGRATION.md