How It Works
Open the assignment form in create mode
The “Scan Contract” button is only available when creating a new assignment (not editing). The button is hidden if the server doesn’t have an Anthropic API key configured.
Upload the contract
- Supported formats: PDF, JPEG, PNG
- Maximum file size: 10MB
- The file is uploaded to S3 via a presigned URL
Claude extracts the data
Claude reads the contract and extracts:
| Field | Description |
|---|---|
| Facility | Hospital or facility name |
| Location | City |
| State | 2-letter state code |
| Agency | Staffing agency name |
| Start Date | Contract start date |
| End Date | Contract end date |
| Base Pay | Weekly pre-tax base pay (in cents) |
| Housing Stipend | Weekly housing stipend (in cents) |
| M&IE Stipend | Weekly meals stipend (in cents) |
| Sign-On Bonus | One-time bonus (in cents) |
| Completion Bonus | End-of-contract bonus (in cents) |
| Referral Bonus | Referral bonus (in cents) |
Pay Rate Conversion
Contracts express pay rates differently. Claude automatically converts:| Contract Format | Conversion |
|---|---|
| Hourly rate | × 36 hours (standard nursing week) |
| Daily rate | × 7 days |
| Monthly rate | ÷ 4.33 weeks |
| Dollar amounts | × 100 (to cents) |
Contract Storage
The uploaded contract is saved with the assignment:- contract_s3_key stored in the database
- “View Contract” button on the expanded assignment card
- Opens via presigned S3 download URL in a new tab
Feature Availability
Contract scanning requires the optionalANTHROPIC_API_KEY environment variable:
- Key configured: Scan button visible,
GET /contracts/statusreturns{ available: true } - Key not configured: Scan button hidden, feature gracefully disabled
- The rest of TaxHomeBase works fully without it
Error Handling
Step-specific errors with retry:- Presign failure — Problem generating the upload URL
- Upload failure — Problem uploading to S3
- Claude extraction failure — Problem parsing the contract (e.g., unreadable format, missing data)