Additional HIPAA Releases + point-of-use questionnaire selection #67

Merged
parkerhdavis merged 4 commits from additional-hipaa-releases into main 2026-06-11 16:18:16 -06:00
parkerhdavis commented 2026-06-11 16:18:08 -06:00 (Migrated from github.com)

Summary

Adds an "Additional HIPAA Releases" capability and reworks how questionnaires are chosen for a client.

New contact-list question kind

A reusable questionnaire question kind that aggregates one or more selected contacts into a single variable (each contact's chosen property joined with "; "). Backs the HIPAA template's Additional HIPAA Releases list.

  • ContactBinding gains an optional contact_ids list (serde-default, so existing client .lily files stay compatible).
  • resolve_contact_variables aggregates the selected contacts into the target variable and sets Has {role}, so an empty list self-prunes the document line.
  • New ContactListPicker: an ordered "+ Add" list of contact selectors (like the Client Contacts section); already-chosen contacts are excluded from the other rows.
  • QuestionnaireEditor gains add/edit support for the kind.
  • Tests cover the aggregation helper and the real docx fill/prune of the conditional list item.

Point-of-use questionnaire selection

Replaces the global "active questionnaire" with a per-client choice, the way templates already work.

  • New clients pick a questionnaire in the Create Client pane; the choice is stamped onto the client's .lily at creation.
  • Clients with no questionnaire yet are prompted to choose when their questionnaire is opened, then it's remembered.
  • Removes the "Set as Active" button and Active badges, the active_questionnaire_id setting, the set_active_questionnaire command, and the related store actions.
  • TemplateEditor's variable-context dropdown defaults to the first questionnaire.

make typecheck, make lint, and make test (95 tests) all pass.

## Summary Adds an "Additional HIPAA Releases" capability and reworks how questionnaires are chosen for a client. ### New `contact-list` question kind A reusable questionnaire question kind that aggregates one or more selected contacts into a single variable (each contact's chosen property joined with `"; "`). Backs the HIPAA template's Additional HIPAA Releases list. - `ContactBinding` gains an optional `contact_ids` list (serde-default, so existing client `.lily` files stay compatible). - `resolve_contact_variables` aggregates the selected contacts into the target variable and sets `Has {role}`, so an empty list self-prunes the document line. - New `ContactListPicker`: an ordered "+ Add" list of contact selectors (like the Client Contacts section); already-chosen contacts are excluded from the other rows. - `QuestionnaireEditor` gains add/edit support for the kind. - Tests cover the aggregation helper and the real docx fill/prune of the conditional list item. ### Point-of-use questionnaire selection Replaces the global "active questionnaire" with a per-client choice, the way templates already work. - New clients pick a questionnaire in the Create Client pane; the choice is stamped onto the client's `.lily` at creation. - Clients with no questionnaire yet are prompted to choose when their questionnaire is opened, then it's remembered. - Removes the "Set as Active" button and Active badges, the `active_questionnaire_id` setting, the `set_active_questionnaire` command, and the related store actions. - `TemplateEditor`'s variable-context dropdown defaults to the first questionnaire. `make typecheck`, `make lint`, and `make test` (95 tests) all pass.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
parker/lily!67
No description provided.