feat(vaccinations): add the dose capture and edit form

- one sheet for create and edit, saving with a date and one identity arm
  (catalogue pick or free text); nothing else can block the save
- catalogue picker searches localised names and generic synonyms over the
  static antigen list, never overwriting the free-text arm
- optional dose/series, lot, site, practice combobox, visit suggestion and
  note, all reusing the encounter-form primitives
- write hooks fan out through the dose dependent-keys and the reminder reads
- form/site/sheet copy in six locales
This commit is contained in:
Marc-André Bombeck committed 2026-08-08 20:40:40 +02:00
1 parent 1d07204293
commit ff72917833
14 files changed
+1056 -13

No files matched your search

+5
View File
@@ -42,4 +42,9 @@ export const vaccinationKeys = {
vaccinationList: (antigenSlug?: string | null) =>
["vaccinations", "list", antigenSlug ?? null] as const,
vaccination: (id: string) => ["vaccinations", "detail", id] as const,
/** Mutation keys — the factory is the only legal source of these too. */
vaccinationCreate: () => ["vaccinations", "create"] as const,
vaccinationUpdate: () => ["vaccinations", "update"] as const,
vaccinationDelete: () => ["vaccinations", "delete"] as const,
vaccinationRestore: () => ["vaccinations", "restore"] as const,
} as const;