What this is, and who it is for
AI Assist drafts one form from a plain-language request: Build an adverse events log with severity and relatedness. The designer reviews and edits the draft like any other part of the form. It saves typing; it does not make a form correct, and nothing it produces is trusted: the draft is checked against the form engine, trimmed of anything unsafe, and then belongs to a person who accepts it. It is for the eCRF Designer, and for QA and privacy staff who need to know what it sends where.
Where to find it
Builder → toolbar → AI Assist (marked experimental). The button is shown only to a person who holds ai.generate, and works only when the organization has the AI form builder feature on and the platform has an AI provider configured. In the library builder (templates) it also works, and asks for a therapeutic area and phase because there is no study to take them from.
Held by: Organization Admin, Project Manager, eCRF Designer (ai.generate).
A second page, Study → Build → AI Workstation, is described below.
What you can do
- Choose AI Assist. The dialog is titled AI form assistant.
- Under What form do you want to create? write the request (3 to 2,000 characters; Ctrl+Enter submits). The study's type and phase are sent with it.
- Choose Generate. The dialog shows progress while the draft is made.
- The generated fields are added to the canvas in one undoable step, the first of them selected, with a message Added N fields from AI. If the checker had to adjust something, a second message says how many items were adjusted and shows the first three reasons (an operator it does not accept, a formula it could not read, a reference to a field that does not exist).
- Review, change and test every field. The drafts are ordinary fields.
The dialog also lists Recent generations (the succeeded ones, with the request, the form name and when): choosing one puts its request back in the box. Import from library closes the assistant and opens the library import (The form library and templates).
- Sends the description and creates a draft for review.
Every option
What it can draft
The assistant writes a strict, structured description of the form (name, type, and an ordered list of fields, sections, tables and static text) which the builder expands into real fields. It may use only the vocabulary the builder has: the 16 data field types, the four static types, the 13 condition operators, the formula functions and the standard fields of event forms. What it cannot express is dropped and reported. It may add:
- fields with labels, variable names, help text, options (with codes), units and normal ranges, checks (required, limits, pattern, date limits) and default values;
- sections, tables (with calculated columns), instructions and headings;
- visibility conditions, value assignments and formulas;
- CDISC annotations such as
VSBLFLfor fields it knows.
At most 60 fields are produced (a platform setting); a larger result is refused. Generated variable names are upper-case with underscores.
The three gates
All three must hold, and each fails differently:
| Gate | What it needs | If it fails |
|---|---|---|
| The organization's feature | ai.crf_builder on for the organization. Every feature is on unless the platform administrator switches it off (Feature switches) | The request is refused (403) naming the feature. If the platform cannot be asked, the feature is treated as available so data entry is never stopped by a licensing lookup; the outage is logged |
| The person's permission | ai.generate (the eCRF Designer, Project Manager and Organization Admin) | The button is not shown |
| A provider | The platform is configured with an AI provider | The request answers not implemented (501) |
Where the data goes
The provider is Google Vertex AI (Gemini), reached with a service account in a region the operator chooses. The request carries your prompt, the study's phase and type, and a few example forms from the library; it carries no participant data, because a form is designed before there is any. A primary model and a lighter fallback are tried in turn, with a 45-second limit for each attempt, and the answer is checked against a schema before use. Whether the provider keeps prompts and how it treats them is the provider's contract with your operator; see AI.
The AI workstation page
Study → Build → AI Workstation is an experimental screen whose purpose is to draft a whole study design (visit schedule, forms, the visit–form matrix and edit checks) from the protocol on file. Its generation is not built. The page lets you choose which of the study's documents (protocol, amendment, CRF specification) may be read and which artefacts to draft, and keeps that choice; the Run button is switched off and says why; nothing is sent anywhere and no document is read. The page states this in a banner. It writes nothing to the version.
What the system records
Every generation, successful or not, is a row of the study's record: who asked, the request, the study's phase, the form name and type, how many fields, the model, the time and, if it failed, why (ai_form_generations). That row is also the Recent generations list. Anything the assistant adds to a form is then saved and audited as the designer's own edit (form.draft_saved); the audit trail does not mark which fields came from the assistant, but the generation record shows when one was made.
What you cannot do, and why
- Generate a study design from a protocol. Not built; the workstation page is a preview of intent.
- Generate medical coding, query text or summaries. Those capabilities were removed from the code rather than left as stubs.
- Trust a generated form without testing it. The checker drops what it cannot read; it cannot know what you meant. Test it in UAT.
- Send participant data to the model. There is none at design time.
- Use it without a provider. The default has none.
Compliance Q&A
No. The assistant only adds a draft to the canvas; it is then edited, activated, tested in a UAT cycle and signed off by three people like any form. Every generation is recorded with the request, the person and the model.
Limits: the audit trail of the form does not label which fields began as AI output. A validation plan should treat the assistant as a drafting aid and the tested form as the controlled item.
Evidence: server/src/modules/study/forms-ai/application/generate-form.ts (ai_form_generations row for every generation)client AIAssistDialog + expand-ir.ts (draft added to the canvas, reported adjustments)version UAT cycle and sign-offs
No participant data is sent: the request holds the designer's text, the study's phase and type and example forms from the library. Customer responsibility: do not type personal data into the request, review the provider's terms and the region your operator selected, and leave the feature off (or the provider unconfigured) if they are not acceptable.
Evidence: server/src/infrastructure/ai (prompt carries the request, the study phase and type, and library examples)technical/ai
Related
Overview · The form library and templates · AI · Feature switches · Not built yet