Condition details
Once the conversation reaches a recommendation, two endpoints let a user drill into any condition in the result set: an evidence-level explanation and patient-facing educational content.
Explanation
GET /conversations/{conversation_id}/conditions/{condition_id}/explanationReturns the evidence that supports, conflicts with, or was never confirmed for a condition — the "why is this on my list?" view.
{
"condition_id": "c_123",
"supporting_evidence": [
{ "id": "s_21", "name": "Headache", "common_name": "Headache" }
],
"conflicting_evidence": [],
"unconfirmed_evidence": []
}| Field | Type | Description |
|---|---|---|
condition_id | string | The condition this explanation refers to. |
supporting_evidence | ExplainEvidence[] | Evidence supporting the condition. |
conflicting_evidence | ExplainEvidence[] | Evidence conflicting with the condition. |
unconfirmed_evidence | ExplainEvidence[] | Relevant evidence that was not confirmed. |
When an explanation is unavailable — there is no recommendation yet, the condition is not in the recommendation set, or demographics are incomplete — the response is still 200 OK with all three lists empty. Check for emptiness rather than for an error status.
Patient education
GET /conversations/{conversation_id}/conditions/{condition_id}/patient_educationReturns patient-facing educational content for a condition. Available when that condition's condition_details.has_patient_education is true — check the flag on the assessment before offering the link.
| Field | Type | Description |
|---|---|---|
condition_id | string | The condition this content refers to. |
title | RichTextNode | Article title. |
sections | PatientEducationSection[] | Ordered sections. |
Each section carries a name identifying what it covers, plus a title and content rendered as rich text:
Section name | Content |
|---|---|
summary | Short summary of the condition. |
how_its_defined | Definition and clinical description. |
how_its_caused | Causes and risk factors. |
how_its_diagnosed | Diagnostic process. |
how_it_can_be_treated_at_home | Self-care and at-home management. |
how_its_prevented | Prevention guidance. |
when_to_see_professional | When to seek professional medical care. |
disclaimer | Medical disclaimer. |
sources | Citations and source references. |
Render the disclaimer section whenever you display patient education content.
Rich text
title and each section's title and content are RichTextNode trees rather than markdown or HTML, so you control the markup entirely.
{
"node_type": "paragraph",
"content": [
{ "node_type": "text", "content": [], "value": "See also ", "target": null },
{
"node_type": "link",
"content": [
{ "node_type": "text", "content": [], "value": "our guide", "target": null }
],
"value": null,
"target": "https://example.org/guide"
}
],
"value": null,
"target": null
}| Field | Type | Description |
|---|---|---|
node_type | RichTextNodeType | Kind of node. |
content | RichTextNode[] | Child nodes; empty for leaf text nodes. |
value | string or null | Text payload for text nodes. |
target | string or null | Link target for link nodes. |
Node types: paragraph, heading-1, heading-2, heading-3, link, text, unordered-list, ordered-list, list-item. Walk the tree recursively, mapping each node_type to your own components — a leaf text node carries the string in value, and a link node carries the URL in target.
Coverage of patient education content across the medical model is listed under Patient education coverage.