For Engineers: Implementation Details & Stack
Implementation begins with corpus hygiene. Engineers write loaders that normalize PDFs, wiki exports, and SharePoint blobs into chunked passages with metadata for source, version, and ACL. Garbage in the index will become polished wrong answers later, so loaders fail loud on missing tags. Embeddings and keyword hybrids back enterprise search so rare procedure codes still match.
The agent layer uses tools, not free chat alone. Tool calls cover search, ticket create, and escalate. Retrieval-augmented answers always include passages before generation. Prompts stay short and versioned in git. We chose this over giant system prompts because ops can audit and roll back text like code. Unit tests assert that blocked topics never draw freeform responses.
For scoring modules we encode rubrics as structured criteria with weights. The model scores dimensions separately, then aggregates. Feedback generation references criteria text so the note is usable in training. Automation stays off clinical judgment acts unless clients expressly scope them under review. Engineers log every override so rubric drift is visible.
Production edge cases include partial OCR, outdated footnotes, and multi-hospital tenants with name collisions. Namespaces isolate tenants. Degraded mode returns search-only results when generation endpoints time out. Rate limits protect the 8 a.m. spike when shifts start across Roanoke Valley sites. Latency budgets live in dashboards next to accuracy proxies, not buried in slides.
Stack choices stay grounded in prior delivery. LLM agents and enterprise search powered the internal knowledge assistant. Automated scoring and feedback generation carried the EdTech grader. Marketplace architecture plus subscription billing handled access products. Engineers reuse those patterns, then add local FHIR hooks only when needed. No greenfield framework for its own sake.