Skip to main content
This guide covers responses from 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
Use status AND confidence >= threshold together. A common pattern: show confidently-active meds prominently (confidence ≥ 0.80), show low-confidence meds in a secondary list with a “verify with patient” label.

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:
Response (trimmed):
Two separate FHIR resources were deduplicated to one medication via RxNorm grouping. Two rules fired: 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)
Don’t ignore low-confidence medications — they’re often the most interesting cases for clinical review. Surface them in a “needs verification” bucket rather than hiding them.