Skip to main content
Requirement ingestion is the sync that turns a job or placement into a concrete list of compliance items. Ready Health then creates the document slots and searches needed to fulfill those items. You trigger the sync by calling the Job or Placement APIs. You do not pick the source on each request — that is configured for the integration.

Sources

Depending on the integration, Ready Health retrieves requirements from one or more of: A single integration can mix these. For example: pull the live list from the VMS, fall back to a pre-configured template when the VMS job is unavailable, and accept MSP email updates as they arrive to modify the list if needed.

Triggering the sync

Job API

POST /job creates or updates a job and queues a requirement scrape when the job is available.
  • Required: vmsType, vmsJobRefId
  • The response includes scrapeQueued. true means a sync is running in the background. false means the job is UNAVAILABLE and nothing was queued.
  • GET /job/{id} returns the template requirements for that job (requirements[], plus requirementCount / mappedCount).
Use the job trigger when you know the VMS job and want the requirement set before a candidate is attached.

Placement API

POST /placement binds a candidate to a job. It is idempotent on (jobId, externalUser) — a repeat call returns the existing placement.
Creating a placement can also kick a sync — for integrations that only resolve requirements once a candidate is on a specific assignment (or that read placement-level items from the VMS / MSP email). GET /placement/{id} returns the candidate’s requirement rows and packet status. This is the list you fulfill against.
Create the job first, then the placement. The placement jobId is the Ready Health job UUID from POST /job or GET /job/{id}.

Outcome

After the sync completes, the job or placement has a requirement list. Each row looks like:
What Ready Health does next depends on fulfillmentType:
  • DOCUMENT — a document requirement is opened. Your app (or the candidate) uploads via intake or scan. Classification and validations are matched to the requirement’s category / type.
  • REGISTRY_SEARCH — a search is created (OIG, Nursys, state license, etc.).
  • STATEMENT — a statement is generated from candidate / placement data.
  • PASS_THROUGH — no new document or search. The item is tracked but fulfilled outside this flow.
Poll GET /job/{id} or GET /placement/{id} until requirements[] is populated and statuses move off PENDING / AWAITING_CONFIG.

Statuses

When the items you care about are FULFILLED, start a VMS upload.