Skip to main content
Glama
aks129

HealthClawGuardrails

by aks129

Interpret Lab Results

fhir_interpret_labs
Read-only

Interpret lab results against reference ranges to flag low, normal, high, or critical values and provide clinician and consumer summaries with an embeddable trend timeline.

Instructions

Interpret lab Observations against reference ranges — flags each value low/normal/high/critical (HL7 v3 ObservationInterpretation) and returns clinician + consumer summaries. Decision support, not diagnosis. Read-tier. Response includes _meta.ui.resourceUri pointing to an embeddable trend timeline.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bundleNoA FHIR Bundle of Observations to interpret
subjectNoPatient reference (e.g. 'Patient/pt-1') — interpret the tenant's stored Observations for this subject
observationNoA single FHIR Observation to interpret

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.8.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces with 'Read-tier'. It adds beyond annotations by specifying the response contains clinician and consumer summaries and includes a resourceUri for a trend timeline, plus the caution that it's decision support, not diagnosis. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each adding essential information: the action and flags, the decision-support caveat, and the response detail. No fluff or redundancy; front-loaded with the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the output (summaries, resourceUri) and safety (read-tier, not diagnosis). It leaves a minor gap: it does not clarify that at least one of bundle, subject, or observation must be provided, but this is a read-tier tool and schema descriptions partially cover this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for all three parameters (bundle, subject, observation), each already having a clear description. The tool description does not add additional parameter-specific guidance beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Interpret') and resource ('lab Observations'), and explicitly details what interpretation yields: flags values low/normal/high/critical and returns summaries. This distinguishes it from generic read/search siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context ('Decision support, not diagnosis' and 'Read-tier') but does not name specific alternative tools or explicitly state when not to use it. The intended use is clear from the verb and resource, but no exclusions or comparisons are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.