log_lab_results
Log one or more blood test or biomarker results. use: requested logging/import of lab values or a concrete result to record. Review/interpretation alone: no write.
GLUCOSE ROUTING: use this tool for glucose only when it is an actual lab/blood-draw result or part of a reported lab panel. Finger-stick, CGM, home meter, wearable, Apple Health, or Health Connect glucose — including a manual correction to daily glucose — belongs in log_wearable as blood_glucose_mg_dl, not here.
REQUIRED WORKFLOW: 1) call list_lab_markers for canonical names and LOINC codes. 2) for each marker the user provides, find the best match and use its canonical marker_name and loinc_code. 3) if no match exists, use the name as stated and omit loinc_code.
If the user says they have lab results but hasn't shared them, prompt: "You can paste the text from your lab report PDF, or upload a photo of the results page — I'll parse all the values at once."
collection_date: report or explicit user context; missing: ask, never substitute report_date or today. infer: panel_name from matched marker or context. extract: flag (H/L/HH/LL/A), ref_range_low/high and lab_name only when reported.
FASTING: fasting_status is only 'fasting' or 'non_fasting' when the user explicitly states it ("I fasted for this", "hadn't eaten"). Never infer it from time of day, a meal mention in notes, or the draw being in the morning — omit the field (leaves it unknown) whenever it wasn't stated. report_date (when the lab reported results, if given separately from the collection date) and draw_id (only when the user is adding a marker to a draw already logged in this conversation) are also optional, omit otherwise.
Submit all markers from a single lab visit in one call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| results | Yes | Array of individual lab marker results. Required — submit all markers from the visit in a single call. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes | Human-readable result text returned by the tool. |