Consultations
Publish consent forms, collect signed answers, and review them before service.
/dashboard/platform/consultations needs canManageCareRecords. The manager flag does not grant it.
Models
FormTemplate: name, type (intake,consent,medical,waiver), description, questions,isActive, and the categories that require itConsultationTemplateVersion: an immutable published version withversion,title,purpose,questions,effectiveFrom, andeffectiveUntilConsultationSubmission: the client'sanswers, signer (self,parent,guardian,representative),signatureEvidence, hashes, andreviewStatusConsultationReview: append-only review rows
Publish a form
Create the template
Create the template and mark it active with CreateFormTemplate and SetFormTemplateActive.
Publish a version
publishConsultationTemplateVersion takes templateId, version, title, purpose, questions, effectiveFrom, optional effectiveUntil, optional supersedesId, and an idempotency key. A version is not editable after it is published.
Review a submission
Clients submit from /account with submitConsultation. Staff then call reviewConsultation with a status and a reason:
submitted(initial)reviewedneeds_clarificationaccepted_for_servicedeferred
A new submission can supersede an earlier one with supersedesId; the old one is kept with supersededBy set.
Errors
"Consultation template version is not currently effective" means the date falls outside effectiveFrom and effectiveUntil. "Consultation supersession is invalid" means the target does not belong to the same client.