Nursa Fractional Insurance Integration | 1099Policy
Description
Nursa is a healthcare staffing platform that connects hospitals and care facilities with licensed clinicians for per-diem and short-term shifts. Its API enables partners to post shifts, assign clinicians, and retrieve shift reports and lifecycle updates. Nursa’s integrations support real-time visibility into clinician scheduling and shift fulfillment across facilities.
Products
- Fractional Insurance
- Automated Certificate Review
1099Policy Resources
Quick Start Guide API Reference
Nursa Integration Guide
Learn how to integrate Nursa with 1099Policy to automate insurance validation and real-time coverage for every clinician shift.
Healthcare contractor focus
This integration applies to licensed clinicians and healthcare contractors scheduled for shifts via Nursa. Employee or staff nurse engagements are out of scope.
1. Overview
Connect Nursa’s shift-based staffing marketplace to 1099Policy so that every posted shift for a contractor is insured or has a validated Certificate of Insurance (COI) before the engagement begins.
You can:
- Bind fractional, on-demand coverage for each Nursa shift.
- Automatically validate or upload COIs.
- Sync compliance states using 1099Policy webhooks (
policy.*,certificate.*). - Map shift pay to 1099Policy
job.wage(in cents) andwage_type. - Store Nursa IDs (e.g.,
facilityId,shiftId,clinicianId) incustom_metadatafor reconciliation.
2. Integration Timing & Trigger
Coverage should activate when a shift is created or a clinician is scheduled, ensuring the policy binds before any work begins.
- Primary trigger:
shift.createdorrequest.submitted(clinician scheduled) - Alternative triggers:
shift.reported,shift.completed - Delivery method: Nursa Webhooks
- Required data:
facilityId,shiftId,licenseType,from,to,description,bonus
3. Core Concepts
This table shows how Nursa shift, clinician, and report objects map to 1099Policy resources to maintain coverage and COI validation through each scheduled shift.
| Nursa Object | 1099Policy Resource | Description |
|---|---|---|
| Shift (job offer) | Job + Assignment | Represents the work scope, compensation, and coverage window |
| Clinician (contractor) | Contractor | Represents the insured individual |
| Shift Report / Invoice | Certificate or Invoice | Used for COI validation or actual remuneration |
| Identifiers | custom_metadata.* |
Used for reconciliation only |
4. End-to-End Implementation
Follow these steps to automate Nursa → 1099Policy integration.
4.1 Create Contractor
Each clinician must exist in 1099Policy before quoting or assigning coverage. Every Contractor must include a unique contact.email. Generate a proxy email if Nursa does not expose one (e.g., <clinicianId>@relay.yourdomain.com).
| Nursa Field | 1099Policy Contractor | Notes |
|---|---|---|
clinicianId |
custom_metadata.nursa_clinician_id |
Reconciliation key |
first_name, last_name |
contact.first_name, contact.last_name |
Required |
email |
contact.email |
Required; use proxy if hidden |
country |
address.country |
Optional |
region |
address.region |
Optional |
Source: Nursa (REST)
GET https://api.nursa.com/v2/clinicians/{clinicianId}
Authorization: Bearer YOUR_NURSA_TOKEN
Destination: 1099Policy (POST /contractors)
POST https://api.1099policy.com/api/v1/contractors
Authorization: Bearer YOUR_1099POLICY_TOKEN
Content-Type: application/json
{
"contact": {
"first_name": "Jane",
"last_name": "Doe",
"email": "cl_123456@relay.yourdomain.com"
},
"address": {
"country": "US",
"region": "CA"
},
"custom_metadata": {
"nursa_clinician_id": "cl_123456"
}
}
4.2 Create Job
Create a Job for each posted shift to capture the scope, compensation, and jurisdiction, and store Nursa identifiers in custom_metadata for reconciliation.
| 1099Policy Job Field | Nursa Source | Notes |
|---|---|---|
name |
Shift description | Descriptive title |
description |
Shift details | Optional |
entity |
Your internal client/account ID | Must exist in 1099Policy |
category_code |
"HEALTHCARE_CONTRACTOR" | Fixed category |
wage (cents) |
Shift pay × 100 | Required |
wage_type |
"flatfee" | Fixed |
region |
Shift location | Defaults to facility region |
custom_metadata.nursa_shift_id |
Shift ID | Required |
custom_metadata.nursa_facility_id |
Facility ID | Optional |
custom_metadata.nursa_license_type |
License Type | Optional |
Destination: 1099Policy (POST /jobs)
POST https://api.1099policy.com/api/v1/jobs
Authorization: Bearer YOUR_1099POLICY_TOKEN
Content-Type: application/json
{
"name": "RN Shift – Facility P-123456",
"description": "3-hour RN shift with 15m break",
"entity": "en_12AbC3",
"category_code": "HEALTHCARE_CONTRACTOR",
"wage": 30000,
"wage_type": "flatfee",
"region": "US",
"custom_metadata": {
"nursa_shift_id": "sh_987654",
"nursa_facility_id": "P-123456",
"nursa_license_type": "RN"
}
}
4.3 Create Quote
Quotes define the coverage window and insurance requirements for each shift.
Destination: 1099Policy (POST /quotes)
POST https://api.1099policy.com/api/v1/quotes
Authorization: Bearer YOUR_1099POLICY_TOKEN
Content-Type: application/json
{
"contractor": "cn_abcdefgh",
"job": "jb_xyz123",
"coverage_type": ["general","professional"],
"effective_date": 1700000000,
"end_date": 1700003600,
"custom_metadata": {
"nursa_shift_id": "sh_987654"
}
}
4.4 Create Application Session
Use an Apply Session once per clinician to complete the opt-in flow. Contractors will confirm coverage binding before their first shift.
Destination: 1099Policy (POST /apply/sessions)
POST https://api.1099policy.com/api/v1/apply/sessions
Authorization: Bearer YOUR_1099POLICY_TOKEN
Content-Type: application/json
{
"quote": "qt_ijkl456",
"success_url": "https://dashboard.yourapp.com/shifts/sh_987654?status=active",
"cancel_url": "https://dashboard.yourapp.com/shifts/sh_987654?status=canceled",
"custom_metadata": {
"nursa_shift_id": "sh_987654"
}
}
4.5 Create Assignment
Create Assignments for returning contractors who already opted in to automatically activate coverage for new shifts.
Destination: 1099Policy (POST /assignments)
POST https://api.1099policy.com/api/v1/assignments
Authorization: Bearer YOUR_1099POLICY_TOKEN
Content-Type: application/json
{
"contractor": "cn_abcdefgh",
"job": "jb_xyz123",
"effective_date": 1700000000,
"end_date": 1700003600,
"coverage_type": ["general","professional"],
"custom_metadata": {
"nursa_shift_id": "sh_987654"
}
}
4.6 Upload Certificate (BYO-COI)
This independent flow supports contractors who provide their own coverage. Upload the COI for validation and compliance tracking.
Destination: 1099Policy (POST /files/certificates)
(multipart upload)
Fields:
certificate=@file.pdfcontractor=cn_abcdefghcustom_metadata[nursa_shift_id]=sh_987654
4.7 Record Invoice (Optional)
If the final pay differs from the shift estimate, record it for reconciliation and audit.
Destination: 1099Policy (POST /invoices)
POST https://api.1099policy.com/api/v1/invoices
Authorization: Bearer YOUR_1099POLICY_TOKEN
Content-Type: application/json
{
"contractor": "cn_abcdefgh",
"job": "jb_xyz123",
"gross_pay": 35000,
"paycycle_startdate": 1700000000,
"paycycle_enddate": 1700003600
}
5. Webhooks
Use Nursa and 1099Policy webhooks to sync shift creation, completion, and coverage events.
| Source | Event | Action |
|---|---|---|
| Nursa | shift.created |
Create Job + Quote in 1099Policy |
| Nursa | shift.reported |
Record invoice |
| 1099Policy | policy.active |
Mark shift insured |
| 1099Policy | policy.canceled / policy.expired |
Flag coverage issue |
| 1099Policy | certificate.validated |
Mark COI valid |
| 1099Policy | certificate.flagged |
Manual review required |
6. Testing Checklist
- Clinician (contractor) exists in 1099Policy with valid or proxy email
- Job created with accurate wage and identifiers
- Quote created with coverage window
- Application Session completes and binds coverage
- Assignment aligns to shift duration
- Optional COI upload validated
- Optional invoice recorded
- Webhooks idempotent and verified
7. References
- Nursa API: https://docs.nursa.com
- Shifts Guide: Integration Guideline / Shifts
- Shift Reports: Integration Guideline / Shift Reports