mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
Every arm here is the same shape as the one that already exists for conditions, because the vault's filing model is settled and a second shape would be the thing to explain rather than the thing to use: encounterIds on upload and on PATCH with replace-set semantics, linkEncounter / unlinkEncounter beside the episode pair in the bulk action, and an encounterId list filter. Both directions ride ONE table. The visit's sheet writes encounter_document_links from its end and the document reads it from the other, declared as a second direction in the link service rather than a fourth table. A visit's kind crosses the wire as the enum constant rather than a rendered name: unlike a condition label, which is the person's own words, a kind is one of eight closed values whose human name the reader's own bundle owns. The suggestion is offered where the document is being looked at, resolved by the shared rule rather than by this surface: one candidate pre-selects with an undo, two offer a picker with nothing pre-selected, none offers nothing at all. It resolves with no AI provider configured, and it renders nothing once the document already names a visit. The bulk verb has a caller — the vault's selection bar files a whole selection against a visit, mirroring the condition verb and hiding itself on an account with no visits. Nothing here is one-ended. OpenAPI regenerated in the same commit.