Skip to content

Recipe — pre-consult summary

Read ../integration-guide.md first for auth, webhook verification, and the 4 flows. This page only covers what’s specific to the pre-consult summary type.

A pre-visit clinical summary intended for the doctor to read before the patient walks in (or before the tele-consult begins). Built from any combination of:

  • Patient questionnaire answers (typed, selected, or voice-transcribed)
  • Uploaded prior reports (lab work, imaging, discharge papers)
  • Pre-collected structured data the integrator already holds (DB rows, vital signs, prior visit notes)

Output emphasizes chief complaint, relevant history, current medications, red flags, and a one-paragraph clinical narrative.

Any flow works. Common combinations:

Use caseFlow
WhatsApp pre-visit form, no uploadsFlow 1 (/v1/intake-sessions)
WhatsApp pre-visit form, with uploads + voiceFlow 2 (/v1/sessions patient-link)
Integrator’s own form already collected the dataFlow 3 (direct mode)
Doctor wants the LLM to ask follow-up questionsFlow 4 (dynamic)
AliasMapped to
pre-anc-visitpre-consult (PregCare/Klarity backward compat)
pre-visit-clinicpre-consult

specialty is highly recommended — it determines which template SNOW resolves for the form (Flows 1, 2) and how the LLM is biased (all flows).

SpecialtyDefault templateNotes
obstetricsanc_first_visitMultilingual ANC form (English/Hindi/Telugu/Marathi)
gynecologygyn_pre_consultStandard gyn outpatient
pediatricspeds_pre_consultParent-filled, child-focused
cardiologycardio_pre_consult
orthopedicsortho_pre_consult
dermatologyderm_pre_consult
entent_pre_consult
psychiatrypsych_pre_consult
ophthalmologyophthal_pre_consult
dentistrydental_pre_consult
generalgeneral_pre_consultFallback

Override the resolved template by passing template_code explicitly.

{
"type": "pre-consult",
"specialty": "obstetrics",
"initiator": "system",
"patient": {
"id": "<your-patient-uuid>",
"name": "Priya Sharma",
"age": 28,
"gravida": 2,
"para": 1,
"lmp": "2026-02-14"
},
"document_ids": [ "<doc-uuid-1>", "<doc-uuid-2>" ],
"custom_questions": [
{ "id": "chief_complaint", "question": "Reason for visit",
"answer": "Routine ANC checkup, mild back pain" }
],
"metadata": {
"source": "<your-app-name>",
"user_id": "<your-user-id>",
"visit_type": "anc_routine"
}
}

For Flows 1, 2, 4 see the integration guide; the body is simpler (mostly just type + specialty + identifiers).

Output schema (in session.completed webhook)

Section titled “Output schema (in session.completed webhook)”
{
"session_id": "...",
"type": "pre-consult",
"specialty": "obstetrics",
"triage_tier": "routine", // "emergency" | "urgent" | "routine"
"patient_id": "...",
"patient_name": "Priya Sharma",
"summary": {
"chief_complaint": "Mild lower back pain x 1 week",
"history_of_presenting_illness": "...",
"relevant_history": {
"obstetric": "G2P1, 16 wks GA by LMP 2026-02-14",
"medical": "No HTN, no diabetes",
"surgical": "Prior C-section 2024",
"family": "...",
"social": "..."
},
"current_medications": [ "Folic acid 5mg OD", "Iron-folate" ],
"allergies": [ "None" ],
"red_flags": [],
"narrative": "28-year-old G2P1 at 16 weeks ...",
"recommended_evaluations": [ "Routine ANC labs", "USG" ],
"language": "en"
},
"metadata": {
"template_code": "anc_first_visit",
"template_version": 1,
"model_version": "...",
"latency_ms": 8421
},
"citations": [ /* links back to source documents/answers */ ]
}

The triage_tier field is set by SNOW’s safety-net rules:

  • emergency — red flags present requiring same-day attention
  • urgent — needs evaluation within 24-48h
  • routine — standard scheduled visit

Use this to prioritize the doctor’s worklist or route emergency cases.

Terminal window
curl -X POST https://api.summary.to/v1/intake-sessions \
-H "Authorization: Bearer sn_live_<your_key>" \
-H "Content-Type: application/json" \
-d '{"specialty":"obstetrics"}'

Response: token + intake_url to deliver to the patient. Patient submits. You receive intake_session.completed webhook with the same summary shape as above.

Same as base platform pricing. Heavy LLM use (long iterative Flow 4 sessions, ~10 turns) costs more than a one-shot Flow 1. See /v1/billing/credits/balance for current consumption.

  • Tenant branding (logo, doctor name, primary color) is returned by /info on Flows 1, 2, 4 but not yet rendered on the hosted form. v2.
  • Custom multi-page forms aren’t supported on Flow 1 (single-submit). Use Flow 2 if you need multi-page.
  • LLM dynamic Q&A (Flow 4) does not yet support custom_questions pre-seeding mid-conversation; the LLM owns the flow once started.
  • Recipes for other types (emergency, discharge, referral, lab-requisition, medication, patient-instructions) are not yet written; see the integration guide for the inline list of supported type values until they’re broken out.