Info |
---|
You need to be well-versed with HTML to configure consent forms. The HTML files can be created by hand manually or using online editors like this. In future versions, we plan to give a UI-based editor within OpenSpecimen to create the consent forms. |
Table of Contents | ||
---|---|---|
|
Introduction
Consent forms eConsent Forms are configured at a CP System level in HTML and contain it contains the following:
HTML text (Text formatting/Image source etc.)
Consent Statements
Custom fields (Text/Dropdowns/Signatures etc.)
Prerequisites
'Allowed File Types' setting
...
Expand | ||
---|---|---|
| ||
|
Consent Statements
The consent statements are defined at a global level so that they can be reused across CPs. Go to Menu->Consents to define new consent statements. Refer to Coded Consents for more details.
...
A unique concept code for each consent response is mandatory. These codes are used in the consent HTML document for invoking the specific consent response. For example, “Y” for “Yes” response, “W” for “Withdrawn” “Withdrawn,” etc.
Make sure the concept code is unique for every response.
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
...
The consent form could have fields like consent witness, consent date, eSignaturese-signatures, etc. These fields are to be added in a custom form attached to the “Consent Document Custom Fields” level. A single form is maintained for consent custom fields across the system to avoid duplicating fields across CPs and making it easy for reporting.
...
The consent form is designed in HTML, since it gives us the flexibility of easy formatting. E.g. use of bullet points, use of text formatting like bold, underline, embed videos/photos, etc.
There are three sections in the consent form:
Formatted text
Header/Footer
Consent statements
Custom fields
Formatted HTML text
This section contains the consent text. For example:
...
Consent statement(s) can be added anywhere in the consent form. They can be displayed as a dropdown, radio-button, or checkbox.
For example:
...
Custom Fields
Details such as signature, date of signature, etc. that were defined in the custom form (step 2 in the “Prerequisites”) can be displayed as below in the consent form.
...
Examples of Consent Form
Here’s the HTML for the above consent document: The HTML document has a below example of a consent statement, custom fields, signature, and date.
View file | ||
---|---|---|
|
Other Example
...
title | Examples to add the different types of custom fields in the consent document |
---|
The ‘Consent Date’ should display the default value as the current date and time. Ensure that the control type in the consent custom fields form is updated to ‘Date and Time’.
In the consent HTML, the code for the ‘Consent Date’ field needs to be updated as below:
...
language | html |
---|
...
...
Headers and Footers
Expand | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
Configure headers and footer for the consent document print file: To configure this, you need to set the print template in OpenSpecimen settings as below. You can set the logo, stamp on headers, and footer, including page numbers.
Example: PDF Example HTML code for the above document:
The ‘os-date-picker’ sets the value to the current date and the time picker allows the display of the current timestamp. 2. Add consent statement with the default value set and hidden on the overview page
3. Add custom field radio button "I Agree/I do not agree"
4. Add custom field text-box
5. Add signature field
6. Add date as a custom field with default current date and non-editable
|
Examples of Consent Form
Here’s the HTML for the above consent document: The HTML document has a below example of a consent statement, custom fields, signature, and date.
View file | ||
---|---|---|
|
Other Example
Expand | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||
In the consent HTML, the code for the ‘Consent Date’ field needs to be updated as below:
7. Add number custom field
8. Add OpenSpecimen PV-dropdown as a custom field biohazard, race Code Block | | ||||||||||
|
Code Block |
---|
<div consent-question="C0003">
<input type="hidden" ng-model="ectx.statements.C0003" ng-init="ectx.statements.C0003 = ectx.statements.C0003 || 'Y'">
</div> |
3. Add custom field radio button "I Agree/I do not agree"
Code Block |
---|
<div class="clearfix" style="padding: 8px 8px 0px;#if(true)display: none;#end"> <div style="display: block; margin-bottom: 10px;"> <span>Disease</span><span> </label> <ec-select name="biohazard" ng-model <div user-input field="ectx.customFields.biohazardiAgree"> multiple> <custom-field>consentCustomFields.biohazard</custom-field> </ec-select> </div> <div style="width: 33%"> <label class="control-label"><input type="radio" name="iAgree" value="Yes" ng-model="ectx.customFields.iAgree" <span>Race</span> </label> <ecng-select name="race" ng-model="ectx.customFields.race">required="(ectx.statements.C0003=='N' || ectx.statements.C0003==null)"> <pv>race</pv> </ec-select> </div> |
9. Add custom field dropdown value with options
Code Block | ||
---|---|---|
| ||
<div style="width: 25%">
<select name="consentedAt" class="form-control" ng-model="ectx.customFields.consentedAt" >
<option value="Home">Home</option>
<option value="Work place">Work place</option>
<option value="Doctor's clinic">Doctor's clinic</option>
</select>
</div> |
10. Add print break in the consent document PDF: <ec-print-page-break></ec-print-page-break>
is used to add the print break in the downloaded PDF.
In the below example, 'We may contact you….' line will be print on the next page.
Code Block | ||
---|---|---|
| ||
<ol>
<li>
<u>You will be asked to donate a blood sample (approximately 3 tablespoons) and urine sample.</u> If these samples are not collected today, they may be collected at a future time when you have a blood draw ordered by your doctor or a separate appointment that is convenient for you. In some cases, we may ask you for a saliva (spit) or buccal (cheek swab) sample. We may also use blood, urine, or tissue samples collected as part of your clinical care now or in the future that would otherwise be thrown away.
</li>
<li>
<u>We will request information about you and your health. We will collect your name, address and other contact information.</u> We will use your electronic health records now and, in the future, to update your health information. We will store some of your health information, including your name, contact information, and medical history, in the Columbia Biobank database. Biobank staff will make a note that you are a participant in the biobank in your electronic health record.
</li>
<ec-print-page-break></ec-print-page-break>
<li>
<u>We may contact you in the future.</u> We may ask you to complete additional questionnaires about your health or contact you to get additional information and ask if you are interested in joining other research studies. We may also contact you for another biological sample. We may ask for additional samples in order to study changes in your sample over time, or because we used up the first sample you provided. If we ask you for another sample, you may always say no.
</li>
<li>
<u>Your coded samples, health information, and the research results may be shared with the scientific research community.</u> A science and ethics committee will review each request for data access. We will not give researchers outside of Columbia University Irving Medical Center-NewYork Presbyterian your name or any other information that could directly identify you.
</li>
</ol> |
11. Show/hide field/section based on the other field selection
Syntax: Needs to add the 'ng-show' tag to implement the show/hide logic
Code Block | ||
---|---|---|
| ||
<div ng-show="ectx.statements.C0003=='N'" >
<p> .... </p>
<label class="radio-inline">
......
</label>
</div> |
Example: When a user clicks on the “I agree to participate" option the below section highlighted in red is enabled.
Example HTML for the above example:
View file | ||
---|---|---|
|
12. Mark consent statement non-editable with default selected.
Code Block | ||
---|---|---|
| ||
<div class="clearfix" consent-question="M001"> <label class="control-label"> <input name="M001" type="checkbox" ng-true-value="'Y'" ng-false-value="'N'" ng-disabled="1 != 0" ng-model="ectx.statements.M001" ng-init="ectx.statements.M001 = 'Y'"> </label> <span> <strong>I agree</strong> that you may contact me if there are results from the genetic research that may be relevant to my health. </span> </div> </span> </div> <div style="display: block;"> <span> <div user-input field="ectx.customFields.iAgree"> <input type="radio" name="iAgree" value="No" ng-model="ectx.customFields.iAgree" ng-required="(ectx.statements.C0003=='N' || ectx.statements.C0003==null)"> <span> <strong>I do not agree</strong> that you may contact me if there are results from the genetic research that may be relevant to my health. </span> </div> </span> </div> <div os-field-error field="econsentForm.iAgree"></div> </div> |
4. Add custom field text-box
Code Block |
---|
<div>
<label class="control-label">
<span>Print Name of Biobank Participant</span>
</label>
</div>
<div style="width: 70%; float: left">
<div user-input field="ectx.customFields.participantName">
<div>
<textarea class="form-control" name="participantName" ng-model="ectx.customFields.participantName" rows="1" required></textarea>
</div>
</div>
<div os-field-error field="econsentForm.participantName"> </div>
</div> |
5. Add signature field
Code Block |
---|
<div style="width: 70%; float: left">
<div>
<label class="control-label">
<span>
<strong>Signature of Biobank Participant</strong>
</span>
</label>
</div>
<div user-input field="ectx.customFields.signature" type="signature">
<ec-signature name="signature" image="ectx.customFields.signature" ng-required="(ectx.customFields.signatureAuthRep==null && (ectx.statements.C0003=='N' || ectx.statements.C0003==null))">
</ec-signature>
</div>
<div os-field-error field="econsentForm.signature"> </div>
</div> |
6. Add date as a custom field with default current date and non-editable
Code Block |
---|
<div style="float: left; clear: left;"> <label style="float: left; clear: left;"> <strong>Today's Date</strong> </label> </div> <div class="clearfix"> <div style="width: 45%; float: left; clear: left;"> <div class="col-xs-8 os-no-left-padding"> <div user-input field="ectx.customFields.consentDate" type="date-time"> <span>I consented for cancer study</span> </div> |
13. Default custom value with non-editable
Code Block | ||
---|---|---|
| ||
<input type="radio" name="health_info_described_in" value="both" ng-model="ectx.customFields.health_info_described_in"
ng-init="ectx.customFields.health_info_described_in = 'both'" ng-disabled="1 != 0"> |
14. Make field mandatory based on other field value
Eg:1 - Make Guardian name custom field mandatory for Male patients.
Code Block | ||
---|---|---|
| ||
<div>
<textarea class="form-control" ng-model="ectx.customFields.parentGuardianName" rows="1" ng-required="cpr.participant.gender == 'Male'"> </textarea>
</div>
|
Eg:2 - Make Guardian name custom field mandatory when site='Stanford Hospital
'
Code Block | ||
---|---|---|
| ||
<div> <textarea class="form-control" ng-<os-date-picker name="consentDate" date="ectx.customFields.consentDate" default-current-date ng-disabled="1 != 0"></os-date-picker> </div> </div> <div class="col-xs-4 os-no-left-padding"> <timepicker class="os-time-no-wheels" ng-model="ectx.customFields.parentGuardianNameconsentDate" rowsshow-meridian="1false" ngreadonly-requiredinput="cpr.registrationSite == 'Stanford Hospital''"> </textarea>true"></timepicker> </div> |
15. Configure headers and footer for the consent document print file: To configure this you need to set the print template in OpenSpecimen settings as below. You can set the logo, stamp on heders, and footer including page numbers.
Example: PDF
Example HTML code for the above document:
Code Block | ||
---|---|---|
| ||
<div> <ec-page-header> <div class="clearfix" style="border-bottom: 1px solid #ddd; position:relative;height: 70px; background: "#fff"; display: inline-block; width: 100%; padding: 8px 8px;"> <div style="float: left <div os-field-error field="econsentForm.consentDate"></div> </div> </div> |
7. Add number custom field
Code Block | ||
---|---|---|
| ||
<div style="margin-bottom: 20px;"> <img <label style="positiondisplay: absolute; z-index: 1000; height: 60px; width: 450px;" src="https://test.openspecimen.org/logo/RS2133_RS460_Columbia_CUIMC_H_B_RGB_A.png"> </div> </div> </ec-page-header> <ec-page-footer> <div class="clearfix" style="border-topblock;">Height (centimetres)</label> <div style="width: 250px;" user-input field="ectx.customFields.height_centimetres"> <input style="padding: 8px; border: 1px solid #ddd; position:relative;heightborder-radius: 70px4px; display: inline-block; width: 100%; padding: 8px 8px;"> <div style="float: left;">" name="height_centimetres" ng-model="ectx.customFields.height_centimetres" required <img style="position: absolute; z-index: 1000; height: 60px; width: 300px;" src="https://test.openspecimen.org/logo/cumc_stamp.png"> </div> <div style="float: right; color: #666;"> <span>- {{currentPage}} of {{totalPages}} - </span> </div> </div> </ec-page-footer> </div> |
Adding the Consent Form to a CP
Once the HTML is ready, you can upload it for a CP using the below steps.
Expand | ||
---|---|---|
| ||
|
Updating a Consent Form
The title, version, and the HTML content can be updated. It can be done by clicking the “Edit” icon from the consents list page.
Expand | ||
---|---|---|
| ||
|
Consent Revision (Versioning)
A consent document can have multiple versions. When a new version is added, the new version is available for old and new participants. The data collected for older version remains in the database and is available for querying.
Expand | ||
---|---|---|
| ||
|
Archiving Consent Form
In case a version of a consent form is not needed anymore, it can be archived. Once archived, the form is not available anymore. However, if consent is already collected for that version, then it is available for viewing, editing, and reporting.
...
Download Consent
The consent form’s HTML file can be downloaded and used to edit the form or upload it to another instance or another CP. This saves the re-work of designing the document from scratch.
...
Sort Consents
The order of consent documents can be changed using the “Sort” option. If no order is specified, the consent documents will appear in the order that they were added.
Expand | ||
---|---|---|
| ||
|
Audit Trails for consent document
You can check the audit trails for the consent document. The audit trails show who updated the consent document and when.
Expand | ||
---|---|---|
| ||
Consents Digests
You can add multiple users to get the daily digest email about eConsents. The digest email has the information of the patient who consented on that day or who updated the consent document on that day for that patients along with the date.
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digests Settings: Digests Email Example:
8. Add OpenSpecimen PV-dropdown as a custom field site dropdown
9. Add custom field dropdown value with options
Complete Code Snippet:
10. Add print break in the consent document PDF: In the below example, the 'We may contact you….' line will be printed on the next page.
11. Show/hide field/section based on the other field selection Syntax: Needs to add the 'ng-show' tag to implement the show/hide logic
Example: When a user clicks on the “I agree to participate" option, the below section highlighted in red is enabled. Example HTML for the above example:
12. Mark consent statement non-editable with default selected.
13. Mark consent statement editable with default selected.
14. Default custom value with non-editable
15. Make field mandatory based on other field value Eg:1 - Make Guardian name custom field mandatory for Male patients.
Eg:2 - Make Guardian name custom field mandatory when site='
Eg:3 - Make Participant Signature(
16. Add File Type Control
17. Conditional field mandatory (File Type Field) Eg, The consent form has the participant’s signature, parent’s signature, and paper consent file (File type). Out of three fields, one of them needs to fill.
18. Change the caption for the Next and Previous button
19. Add Participant’s Information in the Consent document: Below is an example to display/print First Name and Last Name
|
Upload Consent Document in OpenSpecimen
Users can upload consent documents in the Consents tab and can access those in the collection protocol. From v9.0, OpenSpecimen will allow using the same consent form in different CPs. The user who has. the access to the Consent can be uploaded or updated consent document in OpenSpecimen.
Expand | ||
---|---|---|
| ||
|
Adding the Consent Document Form to a CP
Once the HTML is ready, you can upload it for a CP using the below steps.
Expand | ||
---|---|---|
| ||
|
Updating a Consent Form
The title, version, and HTML content can be updated. It can be done by clicking the “Edit” icon from the consents list page.
From v9.1, OpenSpecimen will not allow updating the consent document if that is used with any patient.
Expand | ||
---|---|---|
| ||
|
Consent Revision (Versioning)
A consent document can have multiple versions. When a new version is added, the new version is available for old and new participants. The data collected for older version remains in the database and is available for querying.
Expand | ||
---|---|---|
| ||
|
Archiving Consent Form
If a version of a consent form is not needed, it can be archived. Once archived, the consent document is not available any more for consent response collection. However, if consent is already collected for that version, then it is available for viewing, editing, and reporting.
From v9.0, OpenSpecimen allows archiving the document at the system level and CP level. If the document is archived at the system level, the user won't be able to add that in new collection protocols, but if that document is already used in other CP will work without affecting anything.
Users also allow archiving the document in the collection protocol, and users won't be able to collect any responses for new patients.
System-Level Archive Option:
Navigates to Home → Consent → View Documents
Click on the Archive option
CP Level Archive Option:
Go to the Collection Protocol Overview Page → Consents tab
...
Download Consent
The consent form’s HTML file can be downloaded and used to edit the form or upload it to another instance or another CP. This saves the re-work of designing the document from scratch.
Navigate to Home → Consent Card → View Documents → Click on the Download button below
Sort Consents
The order of consent documents can be changed using the “Sort” option. If no order is specified, the consent documents will appear in the order that they were added.
Expand | ||
---|---|---|
| ||
|
Audit Trails for consent document
You can check the audit trails for the consent document. The audit trails show who updated the consent document and when.
Expand | ||
---|---|---|
| ||
Navigate to Home Page → Consent Card → View Documents –> Click on the Audit Trail button |
Consents Validation
One or more validation rules can be added to ensure that specimens cannot be collected before the participant has consented. These validation rules are defined at a CP level.
To define validation rules:
Go to the CP Overview > Consents > Validations
...
Click on “Add”.
Field | Description | Options |
---|---|---|
Statement | Coded consent statements | All the consent statements defined for the CP |
Match | Condition for the consent response |
|
Response | Response of the consent statement | Any valid consent response. |
...
The above rule is to allow collection when the response for C0001 is “Yes”. Click on “Add”.
Follow the above steps to add more than one consent.
In the validations list page, there is another match for multiple consents.
...
ALL: It allows the collection of visits/specimens when ALL rules are true. Works like “AND” in the query.
ANY: It allows the collection of visit/specimens when ANY one of the rules is true. Works like “OR” in the query.
ADVANCED: This is used for creating a combination of rules using ‘and’ and ‘or’.
For example,
The below will be true if either (consent 1 is yes AND consent 2 is yes) OR consent 3 is yes.
...
The expression in the box defines the rule which allows collection. It can be edited by clicking on “Edit”.
Consents Digests
OpenSpecimen provides two options to receive the consent digest, which described below. User will get receive the participants and consent document information who consented on that day(within 24hrs).
Site based Recipients? → No, The user has to specify a list of users and those users will get the consent digest email.
Site based Recipients? → Yes, The user has to specify a sites and user groups and those users from groups will receive the digest emails
What information is present in Digest Email?
The digest email has the information on the patient who consented on that day(24hrs) or who updated the consent document on that day for that patient along with the date. Furthermore, you can configure when to send the digest email, like Hourly, Monthly, Daily, On Demand etc.
Expand | ||
---|---|---|
| ||
Digests Settings: Site based Recipients? → Yes Digests Settings: Site based Recipients? → No Digests Email Example: Digest email configuration: The user should have the super admin privilege to change the digest job settings as below.
|
Reuse Participant Consents
At many centers, participant consents are registered or collected only once as per the IRB guidelines and reused in multiple studies.
From v10.3, A new setting has been added to the CP consents tab, this allows consent responses to be shared between multiple collection protocols, streamlining the consent management process.
Expand | ||
---|---|---|
| ||
How to copy consents from another CP.
|
Points to remember :
No new consent tiers or documents can be added in the receiver CP.
Consent responses cannot be added/updated via receiver CP registrations.
The participants' consent responses can be seen in the read-only mode in the receiver CPs with the option to print the consent document.
Since the consents for participants is copied to receiver CP, openspecimen users can distribute specimens collected for the receiver CP.