Contract Management - Technical Specification
Provider contract and rate management system
Purpose
The Contract Management module manages agreements between the platform and healthcare vendors/providers, defining payment rates, terms, and conditions. It handles complex rate structures including percentage-based and fixed-amount rates, specialty-specific pricing, visit-type rates, and TPA requirements. The module is essential for claim adjudication, determining allowed amounts, and managing contractual relationships with providers.
Key Concepts
| Term | Definition |
|---|---|
| Contract | Agreement between platform and vendor for services |
| Contracted Rate | Negotiated payment rate for services |
| Rate Type | Method of calculation (percentage or fixed amount) |
| Rate Kind | Level of rate application (CPT, specialty, visit type) |
| TPA Flag | Third Party Administrator requirements |
| Medical Necessity | TPA review requirement flag |
| Prior Auth Allowable | Services requiring prior authorization |
| Contract Term | Duration of the agreement |
| Rate Schedule | List of all rates in a contract |
| Fee Schedule | Standard rates before contract adjustments |
User Roles
| Role | Description | Permissions |
|---|---|---|
| Contract Manager | Manages all contracts | Full CRUD |
| Financial Analyst | Reviews rates and terms | Read, Calculate |
| Provider Relations | Negotiates contracts | Create, Read, Update |
| Claims Processor | Uses rates for claims | Read only |
| CFO/Director | Approves contracts | Read, Approve |
| System Administrator | System configuration | All permissions |
Field Documentation - Contract Entity
| Field Name | Type | Required | Description | Validation Rules | Related Entity |
|---|---|---|---|---|---|
| ID | String | Yes | Unique contract identifier | Auto-generated CUID | Primary Key |
| Contract Number | String | Yes | Human-readable number | Format: CON-YYYY-XXXXX, unique | - |
| Contract Name | String | Yes | Descriptive name | Max 200 chars | - |
| Vendor | Vendor | Yes | Contracted vendor | Must be active vendor | Vendor |
| Contract Type | ContractKind | Yes | Type of agreement | Valid contract kind | ContractKind |
| Contract Status | String | Yes | Current status | Enum: Draft, Pending, Active, Expired, Terminated | - |
| Status Reason | String | No | Reason for status | Required if Terminated | - |
| Effective Date | DateTime | Yes | Contract start date | Required for Active status | - |
| Expiration Date | DateTime | Yes | Contract end date | Must be after effective date | - |
| Auto Renewal | Boolean | Yes | Auto-renews on expiry | Default false | - |
| Renewal Term | Integer | No | Renewal period in months | Required if auto-renewal | - |
| Renewal Notice Days | Integer | No | Days notice for non-renewal | Default 30 | - |
| TPA Agreement | Boolean | Yes | Is TPA contract | Default false | - |
| TPA Name | String | No | TPA organization name | Required if TPA | - |
| TPA Medical Necessity | Boolean | Yes | TPA reviews medical necessity | Default false | - |
| TPA Prior Auth Required | Boolean | Yes | TPA requires prior auth | Default false | - |
| Payment Terms | String | Yes | Payment schedule | Enum: Net30, Net45, Net60 | - |
| Billing Frequency | String | Yes | How often to bill | Enum: Weekly, Biweekly, Monthly | - |
| Contract Value | Decimal | No | Estimated annual value | Positive decimal | - |
| Minimum Volume | Integer | No | Minimum monthly claims | Positive integer | - |
| Maximum Volume | Integer | No | Maximum monthly claims | Greater than minimum | - |
| Default Rate Type | String | Yes | Default calculation method | Enum: Percentage, Amount | - |
| Default Rate Value | Decimal | No | Default rate if no specific | Positive decimal | - |
| Stop Loss Amount | Decimal | No | Maximum per case | Positive decimal | - |
| Administrative Fee | Decimal | No | Admin fee percentage | Between 0-100 | - |
| Network Participation | String | No | Network affiliation | Free text | - |
| Credentialing Required | Boolean | Yes | Requires credentialing | Default true | - |
| Direct Bill | Boolean | Yes | Bill directly vs patient | Default true | - |
| Requires Referral | Boolean | Yes | Referral required | Default false | - |
| Geographic Coverage | String | No | Service area | State codes or regions | - |
| Excluded Services | Text | No | Services not covered | Comma-separated CPT codes | - |
| Special Terms | Text | No | Additional terms | Max 5000 chars | - |
| Contract Document | Document | No | Signed contract PDF | PDF format | Document |
| Amendment Documents | Document[] | No | Contract amendments | PDF format | Document (1:Many) |
| Approved By | User | No | Who approved contract | Valid user ID | User |
| Approval Date | DateTime | No | When approved | Required if Active | - |
| Created At | DateTime | Yes | Creation timestamp | Auto-generated | - |
| Updated At | DateTime | Yes | Update timestamp | Auto-updated | - |
| Created By | User | Yes | Creating user | Valid user ID | User |
| Updated By | User | Yes | Updating user | Valid user ID | User |
| Contracted Rates | ContractedRate[] | No | Rate schedules | - | ContractedRate (1:Many) |
Field Documentation - Contracted Rate Entity
| Field Name | Type | Required | Description | Validation Rules | Related Entity |
|---|---|---|---|---|---|
| ID | String | Yes | Unique rate identifier | Auto-generated | Primary Key |
| Contract | Contract | Yes | Parent contract | Must be active | Contract |
| Rate Kind | ContractedRateKind | Yes | Type of rate | Valid rate kind | ContractedRateKind |
| Rate Type | String | Yes | Calculation method | Enum: Percentage, Amount | - |
| Rate Value | Decimal | Yes | Rate value | Positive decimal | - |
| Specialty | Specialty | No | Specific specialty | Required for specialty rates | Specialty |
| Visit Kind | String | No | Visit type | Required for visit rates | - |
| CPT Code | String | No | Specific CPT | Required for CPT rates | - |
| CPT Range Start | String | No | CPT range beginning | Valid CPT code | - |
| CPT Range End | String | No | CPT range ending | Valid CPT, >= start | - |
| Modifier | String | No | CPT modifier | Valid modifier | - |
| Place of Service | String | No | Service location type | Valid POS code | - |
| Effective Date | DateTime | Yes | Rate start date | Within contract dates | - |
| End Date | DateTime | No | Rate end date | Before contract end | - |
| Minimum Units | Integer | No | Minimum billable units | Positive integer | - |
| Maximum Units | Integer | No | Maximum billable units | >= minimum | - |
| Requires Auth | Boolean | Yes | Prior auth required | Default false | - |
| Requires Review | Boolean | Yes | Medical review required | Default false | - |
| Active | Boolean | Yes | Rate is active | Default true | - |
Field Documentation - Contract Kind Entity
| Field Name | Type | Required | Description | Validation Rules | Related Entity |
|---|---|---|---|---|---|
| ID | String | Yes | Unique kind identifier | Auto-generated | Primary Key |
| Kind Name | String | Yes | Type name | Max 100 chars | - |
| Description | String | No | Kind description | Max 500 chars | - |
| Is TPA | Boolean | Yes | TPA contract type | Default false | - |
| Requires Rates | Boolean | Yes | Must have rate schedule | Default true | - |
| Template Document | Document | No | Contract template | DOCX/PDF format | Document |
Field Documentation - Contracted Rate Kind Entity
| Field Name | Type | Required | Description | Validation Rules | Related Entity |
|---|---|---|---|---|---|
| ID | String | Yes | Unique kind identifier | Auto-generated | Primary Key |
| Kind Name | String | Yes | Rate kind name | Max 100 chars | - |
| Priority | Integer | Yes | Application priority | 1 (highest) - 99 | - |
| Description | String | No | Kind description | Max 500 chars | - |
Workflows
Contract Creation Workflow
-
Initial Setup
- Select vendor
- Choose contract type
- Set contract terms
- Define effective dates
-
Rate Configuration
- Set default rates
- Add specialty rates
- Configure CPT-specific rates
- Define visit type rates
-
TPA Configuration
- Set TPA flags
- Define medical necessity rules
- Configure prior auth requirements
- Set review thresholds
-
Terms Definition
- Payment terms
- Volume commitments
- Geographic coverage
- Excluded services
-
Review and Approval
- Legal review
- Financial analysis
- Management approval
- Activation
Rate Calculation Workflow
-
Rate Lookup Priority
1. CPT + Modifier + Specialty
2. CPT + Specialty
3. CPT Code alone
4. Specialty + Visit Kind
5. Specialty alone
6. Visit Kind alone
7. Contract default rate
8. System default rate -
Rate Application
- If Rate Type = "Percentage":
- Allowed = Billed × (Rate Value / 100)
- If Rate Type = "Amount":
- Allowed = Rate Value × Units
- If Rate Type = "Percentage":
-
Rate Validation
- Check effective dates
- Verify within limits
- Apply stop loss if configured
- Calculate administrative fee
Contract Renewal Workflow
-
Renewal Notification
- Check renewal notice period
- Send notifications
- Create renewal task
- Set review deadline
-
Renewal Negotiation
- Review utilization
- Analyze profitability
- Negotiate new rates
- Update terms
-
Renewal Processing
- Create new contract version
- Copy or modify rates
- Set new effective dates
- Approval process
Rate Amendment Workflow
-
Amendment Request
- Document change reason
- Specify affected rates
- Set amendment date
- Create amendment document
-
Rate Modification
- Add new rate records
- End-date old rates
- Maintain rate history
- Update effective dates
-
Communication
- Notify affected parties
- Update claims system
- Train staff on changes
- Monitor implementation
Business Rules
Contract Rules
- Vendor must be active for new contracts
- Cannot have overlapping active contracts for same vendor
- Effective date cannot be retroactive beyond 30 days
- Contract must have at least one rate or default rate
- TPA contracts require TPA name and terms
Rate Priority Rules
- More specific rates override general rates
- CPT-specific rates highest priority
- Specialty rates override visit kind rates
- Active rates only used for calculation
- Most recent rate used if multiple match
Rate Validation Rules
- Percentage rates: 0-200% valid range
- Amount rates: Must be positive
- Rates cannot exceed stop loss amount
- Effective date within contract period
- Cannot delete rates with claim history
TPA Rules
- TPA contracts require review flags
- Medical necessity triggers TPA review
- Prior auth required based on CPT
- TPA decision overrides internal
- TPA response time limits enforced
Integrations
| System | Integration Type | Purpose |
|---|---|---|
| Vendor Management | Direct Database | Vendor validation |
| Claims Processing | Direct Database | Rate calculation |
| Authorization System | Direct Database | Prior auth rules |
| Financial System | Direct Database | Payment processing |
| Business Central | API Sync | Contract sync |
| Document Management | File System | Contract documents |
| Reporting System | Database Views | Contract analytics |
Common Issues
| Issue | Description | Resolution |
|---|---|---|
| No Rate Found | Claim has no matching rate | Use default rate |
| Expired Contract | Contract expired during service | Honor rates, renew contract |
| Rate Conflict | Multiple rates match | Use priority rules |
| TPA Timeout | TPA system not responding | Manual override process |
| Wrong Rate Applied | Incorrect rate calculation | Adjustment process |
Screenshots Needed
- Contract Creation Wizard
- Rate Configuration Grid
- Rate Priority Diagram
- Contract Search Interface
- Contract Detail View
- Rate Calculator Tool
- Amendment Management
- Renewal Dashboard
- TPA Configuration
- Contract Analytics
Performance Considerations
- Rate lookup must be sub-second
- Support 10,000+ rate records per contract
- Rate calculation caching strategy
- Bulk rate updates optimization
- Contract search indexing
Security Considerations
- Contract approval audit trail
- Rate change history tracking
- Financial data encryption
- Role-based contract access
- Document access control
Notes
- Rate changes not retroactive unless specified
- Contract templates reduce setup time
- Rate import/export functionality planned
- API for rate queries in development