Skip to main content
When a validation Task reaches a terminal status, Synthpop reports its findings in three linked places on TaskDetails:
  • verdicts — the per-code decision: approved or not.
  • issues — the specific problems Synthpop found, which verdicts point at.
  • verdict_summaries — a per-code human-readable conclusion.
Think of this as a result, not a bare pass/fail: a decision, its supporting issues, and an explanation, all in one response.
verdicts and verdict_summaries are empty on a freshly created Task and are populated only once processing finishes. Poll GET /task/get to a terminal status, or use a callback. See Async results.

Verdicts

A Verdict is the decision for one code (e.g. an HCPCS procedure code or an Exxxx code).
code
string
required
The code being evaluated.
approved
boolean
required
Whether the code was approved.
issues
integer[]
required
Indices into TaskDetails.issues — pointing at the issues that affect this verdict and may have caused it not to be approved. This is a list of array positions, not issue objects.

The index linkage

A verdict does not embed its issues — it references them by position. To resolve them, index into the Task’s top-level issues array:
Here verdict 70551 (an illustrative example code) was not approved, and its issues: [0, 1] point at the two entries in issues — the expired clinical note and the missing signature.
The indices are positions in this response’s issues array. Resolve them against the same payload; do not cache indices across separate reads, since the array can change as processing progresses.

Issues

TaskDetails.issues is a list of problems detected with the Task or its medical records. It is a discriminated union keyed by the key field — every issue has a key and a human-readable message, plus type-specific fields. There are nine issue types:
Switch on key to handle each issue type. The union is the single source of truth for what can appear — new issue types would appear as new key values.

Conclusions

For validation tasks, verdict_summaries gives a plain-English conclusion per code — the sentence you can surface to a human reviewer.
code
string
required
The code the conclusion applies to.
conclusion
string
required
Human-readable conclusion summary for this code.

Reading a result end to end

1

Check the status

Confirm the Task reached a terminal status (completed, failed, or invalid). A Task can also stop in waiting if it needs more input.
2

Read the verdicts

For each Verdict, look at approved.
3

Resolve the issues

For an unapproved verdict, map each index in its issues array to TaskDetails.issues[i] and switch on key to explain what is wrong.
4

Show the conclusion

Surface the matching verdict_summaries entry for a reviewer-ready sentence.
If a verdict is not approved because of a missing document, the Task often sits in waiting — supply the document to resume it. See Responding to waiting tasks.

Where to go next

Tasks

The resource verdicts and issues live on.

Data Items

The inputs and extracted records behind a result.