POST /v1/medications/infer. The PDF
endpoint (POST /v1/med-lists/from-documents) uses a related but different
response shape — see Med lists from PDFs for
its specific fields.
Every inferred medication from /v1/medications/infer comes back with three
fields you need to understand before acting on the data: status,
confidence, and (when verbosity="full") an evidence trail.
status — what we think the medication’s state is
Status mirrors FHIR’s MedicationRequest.status vocabulary:
See the full triggers table for the rules that
produce each status.
confidence — how sure we are of the status
A float from 0.0 to 1.0. This is confidence in the status assignment, not
probability the patient is taking the drug. It reflects data quality:
- Multiple corroborating signals raise it (e.g., an active order plus a recent dispense for the same drug)
- Missing dates lower it
- Missing RxNorm codes lower it
- Staleness is penalized — older signals carry less weight than recent ones
evidence — which rules fired (full verbosity only)
When you request verbosity="full", each medication’s provenance entry
includes the list of rules that contributed to the status. Examples:
The evidence list is the audit trail. If a clinician or user asks “why is this
marked active?”, the answer is in
provenance[med_id].evidence.
A worked example
Request:active_order (the order is recent and active) and
recent_dispense (a recent fill). The corroborating signals drive confidence
high.
Acting on low-confidence results
Low confidence (< 0.7) usually means:- Only one signal fired (no corroboration)
- The data is old
- Key fields were missing (dates, RxNorm codes)