Healthcare screen bundle
One healthcare_screen claim expands server-side into a license check at the state board, an NPI identity check and an exclusion screen across every federal and state list we load. It is verified only when every part is verified; the parts are returned individually under parts[].
curl -X POST https://api.primarycheck.com/v1/verifications \
-H "Authorization: Bearer pc_live_…" \
-H "Content-Type: application/json" \
-d '{
"person": {
"firstName": "Amy",
"lastName": "Kowalski",
"dob": "1976-02-14"
},
"claims": [
{
"type": "healthcare_screen",
"state": "PA",
"profession": "rn",
"licenseNumber": "RN353077L",
"npi": "1003000126",
"claimId": "hs"
}
],
"purpose": "employment",
"consent": {
"consentId": "cons_8f1…"
}
}'Exclusion lists in the healthcare screen
| List | Refresh | Match keys | Hit means |
|---|---|---|---|
| OIG LEIE | daily | NPI, name + DOB | discrepancy |
| SAM.gov exclusions | daily | name (+DOB when present) | discrepancy; name-only → review |
| OFAC SDN | daily | name, aliases, DOB in remarks | discrepancy |
| Medicare opt-out affidavits | weekly | NPI, name | informational flag medicare_opt_out |
| FDA debarment | weekly | name | discrepancy |
| State Medicaid exclusion lists | weekly | name, NPI, license # | discrepancy; lists we cannot load are reported as not checked, never clear |
A stale list returns unable_to_verify(source_stale) for the screen. We never report a stale or missing list as clear. Each dataset result carries dataAsOf.
Healthcare screen roll-up
- Any part
discrepancy→discrepancy(an exclusion hit or a lapsed license wins). - Any part
pending→pending. - All parts
verified→verified. - Otherwise
unable_to_verifywith the first part's reason.
See healthcare screening, monitoring and sources.