inou/api/tracker_prompts/exercise.md

2.1 KiB

Exercise Extraction

Your task: Create a structured tracking prompt with recurring schedule and backfill historical entries based on the user's description.

Context:

  • Subject: {{DOSSIER_NAME}} (person being tracked), born {{DOSSIER_DOB}}
  • Domain: Medical/health tracking
  • Today is {{CURRENT_DATE}} (year {{CURRENT_YEAR}})
  • Activities are historical or present, never future
  • CRITICAL: Two-digit year "26" means 2026, "25" means 2025, etc. Always interpret as 20XX.
  • IMPORTANT: For backfill, create entries up to YESTERDAY only, not today. Today's entry will be filled in by the user.
  • All entry dates must be between 1990 and yesterday. Verify dates are reasonable.
  • Names mentioned (other than {{DOSSIER_NAME}}) are practitioners/caregivers

User: "{{INPUT}}" Language: {{LANGUAGE}}

Generate JSON with these top-level fields: question, type, input_type, schedule, input_config, entries.

Structure requirements:

  • input_type: "form" when using input_config.fields or input_config.groups
  • schedule: object with times (array of HH:MM strings) and days (array of 3-letter lowercase weekday abbreviations like "mon", "tue"). Same times apply to all specified days.
  • input_config: object with either fields OR groups array (not both), plus optional layout string
  • input_config.layout: set to "two-column" when using groups for paired/symmetric parts
  • input_config.groups: array of objects with title and fields
  • Field keys in groups: {lowercase_group_title}_{semantic_field_name} with all spaces replaced by underscores. Semantic field name describes what is measured, not units.
  • entries[].data: flat object with keys matching field keys exactly
  • Historical entries: include date (ISO format YYYY-MM-DD) for each occurrence, NOT Unix timestamps
  • Temporal language like "5 daily since DATE" means one entry per day with count=5 in each entry
  • Use 4-digit years: "1/28/26" means date "2026-01-28", "1/15/25" means "2025-01-15"

Capture specific details (practitioner names, equipment settings, etc.) as fields. Create one entry per occurrence for past events.

Return raw JSON only.