Executive Summary
A healthcare staffing company processing 10,000+ background checks per month was drowning in manual verification workflows. Each nurse hire required criminal records, OIG exclusion checks, license verification, drug screening, employment history, and education verification — coordinated across multiple providers via phone calls, faxes, and spreadsheets. Average time-to-clear: 14 days.
We built a multi-tenant SaaS background verification platform integrating directly with Informed (criminal records) and LabCorp (drug screening), plus automated checks against OIG, SAM, NPDB, and state licensing boards. AI-powered risk scoring flags candidates who need additional review. The platform serves multiple employer tenants with fully isolated data, custom check packages, and white-label branding.
Results: verification turnaround reduced from 14 days to 2.1 days (85% faster), 100% check completion (zero incomplete hires), and AI risk scoring catching 3.2% of candidates requiring escalated review that manual processes previously missed.
The Problem: Manual Verification at Scale Doesn't Work
Healthcare staffing is unique: every hire must be verified against federal and state databases before they can touch a patient. Miss a check, and you're liable. The consequences are severe — an excluded provider billing Medicare can trigger $100,000+ in fines per claim.
The Manual Nightmare
- 14-day average verification time: HR coordinators manually ordering checks from multiple vendors, calling state boards, waiting for faxed results, tracking status in Excel
- 8% incomplete check rate: with so many moving parts, 1 in 12 hires started work with at least one verification still pending — a compliance risk
- No OIG/SAM real-time monitoring: exclusion checks done at hire but not continuously monitored. A provider excluded after hire could work for months before anyone noticed.
- Multiple disconnected vendors: Informed for criminal records, LabCorp for drug screens, state boards for licenses, each with their own portal, timeline, and result format
- No risk intelligence: a candidate with a minor misdemeanor from 2019 was treated the same as one with a clean record — no graduated risk assessment
Employer Dashboard
Each employer tenant gets a dedicated dashboard showing their verification pipeline:
- Kanban pipeline: candidates flow through columns — Submitted → In Progress → Under Review → Cleared → Flagged. Drag-and-drop for manual status updates.
- Real-time status: every check shows live progress — "Criminal: Searching 3 counties", "Drug Screen: Specimen received by LabCorp", "License: Verified with State Board"
- Priority queue: urgent hires (ICU nurses, travel nurses) flagged for expedited processing
- Bulk ordering: upload a CSV of 50 new hires → system creates verification orders for all automatically
Candidate Verification Detail
Each candidate has a comprehensive verification profile:
- Check-by-check status: criminal background (Clear ✓), OIG/SAM exclusion (Not Listed ✓), nursing license (Active, expires 2027 ✓), drug screening (Pending — LabCorp), employment history (3/3 Verified ✓), education (BSN Confirmed ✓)
- Expandable detail: click any check to see source data, provider response, verification timestamp, and supporting documentation
- AI Risk Score: composite score (0-100) based on all check results, employment gaps, credential anomalies, and historical patterns
- Event timeline: chronological log of every verification event — order placed, provider acknowledged, result received, review completed
Architecture
Multi-Tenancy Design
Each employer is a fully isolated tenant with:
- Isolated PostgreSQL schemas: one schema per tenant. Employer A cannot query Employer B's candidates, even at the database level.
- Tenant-specific configuration: default check packages, pricing tiers, webhook URLs, branding (logo, colors), custom fields
- Shared infrastructure: single deployment serves all tenants — efficient operations while maintaining strict data isolation
External Provider Integrations
| Provider | Check Type | Integration Method | Avg Turnaround |
|---|---|---|---|
| Informed | Criminal records (county, state, federal) | REST API | 1-3 days |
| LabCorp | Drug screening (5/10/12 panel) | HL7 + API | 2-5 days |
| OIG | Exclusion check | Batch file + API | Real-time |
| SAM | Government exclusion | API | Real-time |
| NPDB | Medical board actions | Batch query | 1-2 days |
| State Licensing Boards | License verification | Web scraping + API (varies) | Real-time to 2 days |
Technology Stack
| Layer | Technology |
|---|---|
| Frontend | React + TypeScript (employer dashboard, admin panel) |
| Backend | Node.js (Express) with multi-tenant middleware |
| Database | PostgreSQL (schema-per-tenant isolation) |
| Queue | Redis + Bull (async check processing, retry management) |
| AI/ML | Python (risk scoring models, anomaly detection) |
| Integrations | REST APIs (Informed, LabCorp, OIG, SAM, NPDB) |
| Infrastructure | AWS (SOC 2 compliant, encrypted at rest) |
Background Check Order Flow
When an employer submits a new candidate for verification:
- Order created: employer selects candidate and check package (or system auto-applies default package)
- Parallel routing: system simultaneously sends requests to all required providers — criminal records to Informed, drug screening to LabCorp, exclusion checks to OIG/SAM, license verification to state board
- Async processing: each provider works independently. Results arrive at different times — some in seconds (OIG/SAM), some in days (criminal, drug screen)
- Results aggregated: as each result arrives, the candidate's profile updates in real-time. Employer sees live progress.
- AI risk assessment: once all checks complete, the AI risk model generates a composite score considering all results, employment gaps, credential patterns
- Report generated: comprehensive verification report with all results, risk score, and AI recommendations
- Employer notified: webhook + email notification with clearance status and report link
AI Risk Scoring
The AI risk engine goes beyond pass/fail to provide nuanced risk assessment:
- Composite risk score (0-100): weighted combination of all verification results, with healthcare-specific risk factors
- Contributing factor breakdown: each factor that impacts the score is shown with its individual risk level — employment gap (moderate), minor misdemeanor from 5 years ago (low), active license (no risk)
- Contextual intelligence: a DUI from 10 years ago for an administrative role = low risk. The same DUI for a patient transport driver = elevated risk. Context matters.
- Actionable recommendations: "Proceed with conditional offer — monitor drug screen result" or "Escalate to compliance officer — license disciplinary action found"
- Continuous monitoring: after hire, the system checks OIG/SAM exclusion lists monthly. If a cleared employee appears on an exclusion list, immediate alert to employer.
Multi-Tenant Administration
The platform admin panel manages all employer tenants from a single interface — onboarding new companies, configuring check packages, managing billing, and monitoring platform health.
Analytics
Results
| Metric | Before | After | Impact |
|---|---|---|---|
| Average verification time | 14 days | 2.1 days | 85% faster |
| Check completion rate | 92% (8% incomplete) | 100% | Zero compliance gaps |
| Cost per verification | $89 (manual labor + vendor fees) | $34.20 (automated) | 62% cost reduction |
| HR coordinator time per hire | 4.5 hours | 20 minutes | 93% time saved |
| Candidates flagged by AI | 0% (no risk scoring) | 3.2% (graduated risk assessment) | Better risk management |
| OIG/SAM monitoring | At hire only | Monthly continuous | Ongoing compliance |
| Tenants onboarded | N/A | 24 employer tenants | Scalable SaaS model |
Financial Impact
For a staffing company processing 10,000 checks/month:
- Cost savings: ($89 - $34.20) × 10,000 = $548,000/month saved
- HR time reclaimed: 4.3 hrs saved × 10,000 hires × $35/hr = $1.5M/year
- Compliance risk reduction: zero incomplete checks → estimated $2M+ in avoided regulatory exposure
Timeline
| Phase | Duration | Deliverables |
|---|---|---|
| Phase 1 | 6 weeks | Multi-tenant infrastructure, Informed integration, employer dashboard MVP |
| Phase 2 | 6 weeks | LabCorp integration, OIG/SAM automated checks, candidate detail view, bulk ordering |
| Phase 3 | 4 weeks | AI risk scoring, analytics dashboard, report generation, continuous monitoring |
| Phase 4 | 4 weeks | Admin panel, tenant onboarding workflow, SOC 2 audit, production launch with 5 pilot tenants |
Total: 5 months with 4 engineers + 1 data scientist.
Lessons Learned
- Multi-tenancy at the database level is non-negotiable. Schema-per-tenant isolation gives both security (data physically separated) and operational simplicity (backup, restore, compliance per tenant). Application-level row filtering isn't enough for healthcare staffing data.
- Provider API reliability varies wildly. Informed's API is excellent. State licensing boards range from modern APIs to "you have to scrape their website." Build abstractions that handle the worst case.
- AI risk scoring builds trust over time. Initially, HR teams overrode 30% of AI recommendations. After 3 months of seeing accurate risk predictions, override rate dropped to 8%. Let the AI prove itself with data.
- Continuous monitoring is the moat. One-time verification at hire is table stakes. Monthly OIG/SAM monitoring differentiates the platform — and it's what compliance officers care about most.
Share
Related Case Studies

AI-Powered Personalized Oncology Treatment Platform: A Technical Case Study

Building a Patient-First Health Record Platform: Connecting 12 US EMRs Into One View

