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-47-managed-care-authorization-tracking.md
Status: 📋 Planned
Last Updated: 2026-04-07

Overview

PM-47 provides managed care authorization lifecycle tracking, expiration alerting, auth-to-claim validation, and auth denial appeal workflows for behavioral health organizations. It extends PM-10 (Prior Authorization Management) with ongoing MCO-specific tracking capabilities.

Integration Points

Platform Foundation Dependencies

DependencyTypeDescription
PF-01 (Organizations & Sites)DirectOrganization and site context for multi-tenant auth tracking
PF-02 (RBAC)DirectPermission checks for auth management actions
PF-10 (Notifications)Platform Layer (@/platform/notifications)Auth expiration alerts and review deadline reminders
PF-96 (Jurisdiction Profiles)Platform Layer (@/platform/jurisdiction)Payer-specific filing deadlines, review intervals, appeal windows

Same-Core Dependencies

DependencyTypeDescription
PM-10 (Prior Authorization)Data (logical linkage: prior_auth_id)PM-47 pm_managed_care_authorizations.prior_auth_id provides logical linkage to PM-10 pm_prior_authorizations.id. PM-10 owns PA request/approval; PM-47 owns ongoing MCO tracking.
PM-08 (Claims Submission)Event / Validation GatePM-47 provides pre-submission auth-to-claim validation. Consumes pm.claim.posted to increment used_units.
PM-29 (Claims Denial Management)BoundaryPM-29 owns claim denials (post-submission); PM-47 owns auth denials (pre-submission). Distinct workflows, actors, and timelines.

Cross-Core References

CoreTypeDescription
CL-36 (Clinical Documentation)UUID referenceClinical docs referenced by ID in concurrent review submissions and appeal justifications. No FK, no schema changes to CL tables.

Event Contracts

Events Published

Event NamePublisherSubscribersPayloadStatus
pm.auth.expiringPM-47PM (dashboard refresh), CL (clinical review prep){ authorization_id, patient_id, payer_id, expiration_date, days_remaining, organization_id }📝 Planned
pm.auth.validation_failedPM-47PM-08 (claim submission gate){ claim_id, failed_lines: [{ line_number, reason }], organization_id }📝 Planned

Events Consumed

Event NamePublisherDescription
pm.claim.postedPM-08Increment used_units on matching authorization when claim is paid

API Contracts

Edge Functions

FunctionMethodPurposeAuth
pm-auth-expiration-alertsCron (daily 6:00 AM)Check for expiring auths, send PF-10 notificationsService role
pm-auth-claim-validationPOSTValidate claim lines against active authsJWT (user)

Validation API (pm-auth-claim-validation)

Request:
{
  claim_id: string;
  claim_lines: Array<{
    line_number: number;
    date_of_service: string;
    units: number;
    service_type: string;
  }>;
  organization_id: string;
}
Response:
{
  valid: boolean;
  results: Array<{
    line_number: number;
    status: 'pass' | 'fail';
    reason?: string;
    authorization_id?: string;
  }>;
}

Platform Layer Usage

LayerImportUsage
Notifications@/platform/notificationsAuth expiration alerts, review reminders
Jurisdiction@/platform/jurisdictionuseJurisdictionProfile() for payer-specific deadlines
Permissions@/platform/permissionsuseHasPermission() for auth management actions

Permission Keys

KeyPurpose
pm.managed_care_auth.viewView authorization list and details
pm.managed_care_auth.createCreate new authorizations
pm.managed_care_auth.editEdit authorization records
pm.managed_care_auth.validateRun auth-to-claim validation
pm.managed_care_auth.overrideOverride validation failures (supervisor)
pm.auth_review.manageManage concurrent reviews
pm.auth_appeal.manageManage auth denial appeals

Data Flow Diagram

PM-10 (PA Request)
  └── pm_prior_authorizations (approved)
       └── PM-47: pm_managed_care_authorizations (prior_auth_id FK)
            ├── Dashboard: expiration countdown, remaining units
            ├── Alerts: PF-10 notifications at 14/7/3/1 days
            ├── Concurrent reviews: pm_auth_concurrent_reviews
            ├── Retro-auth: structured workflow
            ├── Auth denial appeals: pm_auth_denial_appeals
            └── Validation gate → PM-08 claim submission
                 └── pm.claim.posted → used_units increment

Validation Checklist

  • All integration points documented
  • Event contracts have payload schemas
  • API contracts have request/response schemas
  • Platform layer usage documented
  • Permission keys listed
  • Integration tests planned (see spec Testing Strategy)

References:
  • Spec: specs/pm/specs/PM-47-managed-care-authorization-tracking.md
  • PM-10 Integration: docs/architecture/integrations/PM-10-prior-authorization-management-INTEGRATION.md
  • PM-08 Integration: docs/architecture/integrations/PM-08-claims-management-submission-INTEGRATION.md
  • PM-29 Integration: docs/architecture/integrations/PM-29-claims-denial-management-appeals-INTEGRATION.md
  • PF-96 Integration: docs/architecture/integrations/PF-96-medicaid-state-compliance-configuration-INTEGRATION.md