Healthcare management system with microservices architecture including patient management, appointments, medical records, identity, and Clara AI assistant
Two tools with minimal documentation. Both have basic descriptions (60-80 chars, below the 194-char baseline) and input schemas present but sparse. No output schemas documented. No error handling guidance. No parameter descriptions beyond the query/patientId names themselves. Tool names follow verb_noun pattern (search_, get_) but lack context about when to use each. No evidence of idempotency, pagination, or composition patterns. Descriptions state WHAT but not WHEN or WHY to call the tool.
Get patient context including demographics, allergies, medications, and conditions. Use when the conversation references the patient's history or when medication interactions need checking.
Search the medical knowledge base for clinical guidelines, drug information, or treatment protocols. Use when the conversation mentions a clinical topic you need evidence for.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., does get_patient_context return allergies as array or string? What fields are included?). Violates pattern:tool requirement for documented return types.
Parameter descriptions missing. 'query' and 'patientId' have minimal context. 'query' description says 'use specific medical terminology' but does not explain format, length limits, or example queries. 'patientId' lacks guidance on format (UUID? numeric? email?). Violates pattern:tool-description.
Tool descriptions too brief (60 - 80 chars vs. 194-char baseline). search_knowledge lacks WHEN to call it (vs. get_patient_context?). get_patient_context does not explain what 'context' includes or when it is needed. Descriptions do not guide LLM selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No error handling guidance. If search_knowledge returns no results, or get_patient_context fails (patient not found, access denied), LLM has no recovery path. No actionable error messages defined. Violates pattern:recovery-guide.
No pagination or result limits documented. search_knowledge could return hundreds of guidelines; no limit or cursor mechanism visible. Large unstructured results risk context window exhaustion. Violates pattern:paginated-result.