E-Signature Technical Reference
Overview
The e-signature configuration in a protocol defines whether tasks require electronic signatures and what reasons readers can select when signing. E-signatures are available when the Validated Instance module is enabled and provide secure, legally binding authentication of task completion. This satisfies regulatory requirements for clinical trials and FDA-regulated studies.
This technical reference provides detailed specifications for configuring e-signature requirements in protocol JSON.
Basic E-Signature Configuration
The esignature_config property is an optional object at the root level of the protocol JSON. When present and required is set to true, all tasks created with this protocol will require electronic signatures upon completion.
Simple E-Signature Configuration
E-Signature Properties
| Property | Description | Value | Required |
|---|---|---|---|
| required | Whether tasks using this protocol require electronic signatures. When true, users must e-sign the task to complete it. When false, tasks can be completed without e-signature. | Boolean (true or false) | yes |
| reasons | Array of signature reasons that users can select from when signing a task. The first reason in the array is shown first in the UI and should be used as the default/most common reason. | Array of strings | yes (if required is true) |
Signature Reasons
The reasons array defines the list of reasons users can select when applying their e-signature.
Reason Ordering
The first reason in the array is shown first in the e-signature UI and should be the most commonly used reason.
When users open the e-signature dialog, the reasons appear in the same order as defined in the protocol. The first reason is typically pre-selected or appears at the top of the list, making it the easiest to select.
Best Practice: Place the most frequently used signature reason first in the array.
Example Reason Configurations
Clinical Trial Protocol Adjudication:
Radiology Quality Control:
Image Quality Assessment:
Reason Naming Guidelines
Be Specific: Use clear, unambiguous reason text that describes the purpose of the signature
- ✅ Good: "Initial read per protocol"
- ❌ Avoid: "Read"
Use Consistent Terminology: Standardize reason text across protocols within your organization
- Consistent: "Quality assurance review" used across all protocols
- Inconsistent: "QA review", "Quality check", "QC review" used interchangeably
Align with Study Procedures: Reasons should match the terminology in your study documentation
- If your protocol document refers to "consensus reads", use "Consensus read" as the reason
Keep Concise: Reasons should be brief but descriptive (typically 2-6 words)
- ✅ Good: "Adjudication read"
- ❌ Avoid: "This signature is being applied because I am performing an adjudication read as part of the study protocol"
Configuration Examples
Required E-Signature with Multiple Reasons
No E-Signature Configuration
Note: If e-signatures are not required, you can set the esignature property to null.
E-Signature Requirements
Validated Instance Module
E-signatures are only available when the Validated Instance module is enabled on your Flywheel instance. If Validated Instance is not enabled, the esignature configuration will be ignored and tasks will not require signatures.
Multi-Factor Authentication (MFA)
Users must have multi-factor authentication (MFA) configured on their accounts to complete e-signature tasks.
MFA Enforcement:
- If a user attempts to submit an e-signature task without MFA configured, the system will block submission
- Users will be prompted to set up MFA before they can proceed
- See Multi-Factor Authentication Setup for details
User Permissions
Users must have appropriate permissions to complete tasks:
- Read/Write permissions on the project containing the task
- Assigned to the task (or task assigned to a staffing pool they belong to)
E-Signature Data Captured
When a user applies an e-signature, the system captures:
User Identity
- Full name
- Email address
- User identifier (unique ID)
- Authentication method (MFA verified)
Signature Details
- Timestamp (precise date and time)
- Selected signature reason
- Protocol version
Signed Content
- Task identifier
- Form responses
- Annotations created
- Container (session/acquisition/file) associated with the task
All e-signature events are recorded in the audit trail when Validated Instance is enabled.
Validation Rules
The protocol validation system checks e-signature configuration:
Required Property Validation
requiredmust be a boolean (trueorfalse)- Cannot be a string, number, or other type
Valid:
Invalid:
Reasons Array Validation
reasonsmust be an array- Array must contain at least one string if
requiredistrue - Each reason must be a non-empty string
- Reasons should be unique (no duplicates)
Valid:
Invalid:
Invalid:
Best Practices
Design for Common Workflows
Order reasons from most to least frequently used:
Use Standard Terminology
Adopt consistent reason naming across all protocols in your organization:
- "Initial read per protocol" (not "First read", "Primary read", "Initial assessment")
- "Adjudication read" (not "Adjudication", "Third read", "Tie-breaker")
- "Quality assurance review" (not "QA", "Quality check", "QC review")
Align with Regulatory Requirements
If your study follows specific regulatory frameworks (FDA 21 CFR Part 11, GxP), ensure reason terminology matches your regulatory documentation.
Document Reason Meanings
In your study procedures documentation, clearly define what each signature reason means:
- When should "Initial read per protocol" be used?
- What conditions require an "Adjudication read"?
- Who is authorized to perform "Quality assurance review"?
Limit Number of Reasons
Keep the number of reasons manageable (typically 3-6 reasons):
- Too many reasons create confusion and increase selection errors
- Too few reasons may not capture necessary context
- Consider whether different task types need different protocols with different reason lists
Test Before Publishing
Before publishing a protocol with e-signature requirements:
- Create a test task in a development project
- Complete the task and verify the e-signature dialog appears
- Confirm all reasons are displayed correctly
- Verify reason ordering matches your intent
- Check that the first reason is the most appropriate default
Troubleshooting
E-Signature Dialog Does Not Appear
Possible causes:
- Validated Instance module is not enabled
esigesignature_config.requiredis set tofalseor omitted- Protocol JSON has validation errors
Solutions:
- Verify Validated Instance is enabled on your Flywheel instance
- Check the protocol JSON: ensure
"required": true - Validate the protocol JSON syntax
User Cannot Submit Task (MFA Required Error)
Possible causes:
- User has not configured multi-factor authentication
Solutions:
- User must set up MFA in their profile settings
- See Multi-Factor Authentication Setup
Signature Reasons Not Displaying as Expected
Possible causes:
reasonsarray is empty- Reasons contain formatting issues (extra whitespace, special characters)
Solutions:
- Verify
reasonsarray has at least one non-empty string - Remove extra whitespace from reason text
- Check for special characters that may not display correctly