Developer referenceHealth content, patient education, and public service teams

Create a health information assistant

Provide health information retrieval and plain-language explanations from trusted sources with clear care boundaries

ARCHITECTURE

Five-stage workflow

01Identify the question, region, language, and emergency risk signals
02Retrieve only reviewed, authoritative health sources
03Generate plain-language explanations with sources
04Avoid diagnosis or prescribing and direct users to appropriate care
05Log high-risk interventions and content quality feedback
STACK

Recommended components

Start with one component per capability and replace it only when evaluation data shows a clear gap.

DELIVERY

From proof of concept to production

  1. 01Define the user journey, input and output schemas, permission boundaries, and success metrics.
  2. 02Build one end-to-end happy path with the smallest viable tool stack and a fixed evaluation set.
  3. 03Add authentication, timeouts, retries, fallbacks, audit logs, and human review for risky actions.
  4. 04Release to a limited audience, measure quality, latency, and cost, then expand with evidence.
CODE SAMPLE

Framework-neutral orchestration skeleton

TypeScript
type WorkflowInput = { request: string; userId: string };
type StageAdapter = (context: unknown) => Promise<unknown>;

const stages = [
  "Identify the question, region, language, and emergency risk signals",
  "Retrieve only reviewed, authoritative health sources",
  "Generate plain-language explanations with sources",
  "Avoid diagnosis or prescribing and direct users to appropriate care",
  "Log high-risk interventions and content quality feedback"
];
const selectedTools = [
  "Open Library"
];

export async function runWorkflow(input: WorkflowInput, adapters: Record<string, StageAdapter>) {
  let context: unknown = { ...input, selectedTools };

  for (const stage of stages) {
    const adapter = adapters[stage];
    if (!adapter) throw new Error(`Missing adapter: ${stage}`);
    context = await adapter(context);
  }

  return context;
}

Implement each adapter on the server with the selected component’s official SDK or API. Never expose provider credentials in browser code.

LAUNCH CHECK

Production checklist

  • ✓Every stage has a defined owner, input, output, timeout, and failure state.
  • ✓Credentials and sensitive data stay server-side with least-privilege access.
  • ✓Model output is validated before it reaches a database, user, or external action.
  • ✓Sources, tool calls, prompts, versions, and human decisions are traceable.
  • ✓A fixed evaluation set covers normal, ambiguous, adversarial, and unavailable-tool cases.
  • ✓The workflow has a visible fallback and a manual recovery path.