Files
temetro/backend/drizzle/meta/_journal.json
T
Khalid Abdi 929bec8f31 feat: AI-added records save with placeholders + "Added by AI" provenance
Stop blocking AI imports/proposals on missing non-critical fields. Records
the chat agent drafts now save with safe placeholders, auto-generated file
numbers, and a source="ai" marker that surfaces an "Added by AI" badge so a
clinician can review/edit them later.

Backend:
- add `source` (manual|ai) column to patients/appointments/prescriptions
  (migration 0014) + canonical types, services, validation schemas
- relax patient/appointment validation: empty file number allowed, demographic
  + type/provider/initials fall back to placeholders (initials derived from name)
- patients.generateFileNumber() auto-assigns an MRN when one is missing
- proposeAppointment accepts a name when no file number resolves; AI commits +
  /api/ai/import stamp source="ai"

Frontend:
- `source` on Appointment/Patient/Prescription types; AI commits send source="ai"
- reusable <AiBadge> shown on the Patients table/detail and prescriptions list

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 19:27:17 +03:00

111 lines
2.2 KiB
JSON

{
"version": "7",
"dialect": "postgresql",
"entries": [
{
"idx": 0,
"version": "7",
"when": 1780413912874,
"tag": "0000_small_sir_ram",
"breakpoints": true
},
{
"idx": 1,
"version": "7",
"when": 1780591375930,
"tag": "0001_boring_puck",
"breakpoints": true
},
{
"idx": 2,
"version": "7",
"when": 1780849813505,
"tag": "0002_fluffy_longshot",
"breakpoints": true
},
{
"idx": 3,
"version": "7",
"when": 1780850147682,
"tag": "0003_lame_rawhide_kid",
"breakpoints": true
},
{
"idx": 4,
"version": "7",
"when": 1780850364853,
"tag": "0004_dizzy_scarlet_spider",
"breakpoints": true
},
{
"idx": 5,
"version": "7",
"when": 1780850717058,
"tag": "0005_true_gwen_stacy",
"breakpoints": true
},
{
"idx": 6,
"version": "7",
"when": 1780856647280,
"tag": "0006_square_wither",
"breakpoints": true
},
{
"idx": 7,
"version": "7",
"when": 1780933857005,
"tag": "0007_skinny_bloodstrike",
"breakpoints": true
},
{
"idx": 8,
"version": "7",
"when": 1780937195597,
"tag": "0008_luxuriant_blue_blade",
"breakpoints": true
},
{
"idx": 9,
"version": "7",
"when": 1781022080228,
"tag": "0009_melted_puck",
"breakpoints": true
},
{
"idx": 10,
"version": "7",
"when": 1781111039837,
"tag": "0010_eager_hellfire_club",
"breakpoints": true
},
{
"idx": 11,
"version": "7",
"when": 1781196252617,
"tag": "0011_remap_viewer_to_member",
"breakpoints": true
},
{
"idx": 12,
"version": "7",
"when": 1781279151289,
"tag": "0012_wonderful_terrax",
"breakpoints": true
},
{
"idx": 13,
"version": "7",
"when": 1781364502603,
"tag": "0013_strange_medusa",
"breakpoints": true
},
{
"idx": 14,
"version": "7",
"when": 1781454115877,
"tag": "0014_youthful_aqueduct",
"breakpoints": true
}
]
}