inou/api/tracker_prompts/extract_lab.md

1.8 KiB

Extract ALL laboratory and microscopy results from this medical document. Return a JSON array of lab orders, or null.

Each lab order groups results from the same test panel or section of the document:

  • type: "lab_order"
  • value: panel/section name (e.g. "Urinalysis", "Blood Parasite Dark-field Microscopy", "CBC")
  • summary: same as value
  • timestamp: "YYYY-MM-DD" if collection date mentioned
  • results: array of individual test results, each with:
    • type: test name (e.g. "Urine Protein", "Epithelial Cells", "Blood Parasites")
    • value: result as string (numeric like "14.2", or qualitative like "POSITIVE", "NEGATIVE", "Candida albicans 4+")
    • summary: "test name: result [unit]", e.g. "Hemoglobin: 14.2 g/dL" or "Urine Protein: NEGATIVE"
    • search_key: test name lowercase
    • data: {"test_name": "...", "result": "...", "unit": "..."}
    • summary_translated and data_translated: same translation rules as the parent (translate into the target language specified in the preamble)

CRITICAL: Extract EVERY individual test result, including:

  • Numeric results (e.g. Specific Gravity: 1.015)
  • Qualitative results (POSITIVE, NEGATIVE, HAZY, YELLOW, etc.)
  • Microscopy findings from tables or structured results (Epithelial Cells, Yeast Cells, Bacteria, Casts, Crystals, etc.)
  • Parasite/organism identification results (Blood Parasites: Positive, Isolate: Borrelia, etc.) Do NOT skip NEGATIVE results — they are clinically important. Do NOT extract narrative descriptions or free-text observations — only structured test:result pairs. Do NOT extract diagnostic summaries or interpretations (e.g. "Boreliosis", "Anaemia" — those are diagnoses).

Every entry MUST come from text explicitly present in the document. Do NOT infer or assume. Return null if nothing relevant is explicitly described.

Document: {{MARKDOWN}}