Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

You need to be well-versed with HTML to configure consent forms. The HTML files can be created 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.

...

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
nameGeneral Consent - v1.0.html

Other Example

...

titleExamples to add the different types of custom fields in the consent document
  1. 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:

...

languagehtml

Headers and Footers

Expand
titleExpand...

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.

  • The header and footer are set at fixed measurements of 20mm.

  • Left and right margins are set at fixed measurements of 15mm.

Image Added

Example: PDF

Image Added

Example HTML code for the above document:

Code Block
languagehtml
<ec-print-template>
<div>
  <ec-page-header>
    <div class="clearfix"> style="border-bottom: 1px solid #ddd; position:relative;height:  <div style="width: 45%; float: left; clear: left;">
 70px; background: #fff; display: inline-block; width: 100%; padding: 8px 8px;">
        <div classstyle="col-xs-8 os-no-left-paddingfloat: left;">
        <img style="position: absolute; z-index: 1000; height: 60px; <div user-input field="ectx.customFields.consentDate" type="date-timewidth: 450px;" src="https://bb.cuimc.columbia.edu/os-test/logo/RS2133_RS460_Columbia_CUIMC_H_B_RGB_A.png">
      </div>
    </div>
  <os</ec-datepage-picker name="consentDate" date="ectx.customFields.consentDate" default-current-date ng-disabled="1 != 0"></os-date-picker>
            </div>header>

  <ec-page-footer>
    <table style="border-top: 2px solid #ddd; position:relative;height: 70px; display: inline-block; width: 100%; padding: 8px 8px;">
      <tbody>
    </div>    <tr>
       <div class  <td style="col-xs-4 os-no-left-paddingtext-align: left;">
            <timepicker<img class="os-time-no-wheels" ng-model="ectx.customFields.consentDate" show-meridian="false" readonly-input="true"></timepicker>style="height: 70px; width: 300px;"  src="https://bb.cuimc.columbia.edu/os-test/logo/cumc_stamp_hiccc.png">
           </div></td>
          <td style="text-align: right; padding: 10px;">
              <div os-field-error field="econsentForm.consentDate"><id="osPageCounter" style="position: absolute; bottom: 12px; right: 5px;"> </div>
          </div>td>
        </div>

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

Code Block
<div consent-question="C0003">
  tr>
      </tbody>
    </table>
<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"

Image Removed
Code Block
<div class="clearfix" style="padding: 8px 8px 0px;#if(true)display: none;#end"> </ec-page-footer>
</div>
</ec-print-template>

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
nameGeneral Consent - v1.0.html

Other Example

<div style="float: left; clear: left;">

Expand
titleExamples to add the different types of custom fields in the consent document
  1. 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:

Code Block
languagehtml
<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">
              <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.consentDate" show-meridian="false" readonly-input="true"></timepicker>
          </div>
        <div os-field-error field="econsentForm.consentDate"></div>
      </div>
    </div>

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

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"

Image Added
Code Block
<div class="clearfix" style="padding: 8px 8px 0px;#if(true)display: none;#end">
  <div style="display: block; margin-bottom: 10px;">
    <span>
      <div user-input field="ectx.customFields.iAgree">
        <input type="radio" name="iAgree" value="Yes" ng-model="ectx.customFields.iAgree"
          ng-required="(ectx.statements.C0003=='N' || ectx.statements.C0003==null)">
          <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; margin-bottom: 10px;">
    <span>
      <div user-input field="ectx.customFields.iAgree">
        <input type="radio" name="iAgree" value="YesNo" ng-model="ectx.customFields.iAgree"
          ng-required="(ectx.statements.C0003=='N' || ectx.statements.C0003==null)">
  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>  </span>
      </div>
   <strong>I agree<</strong>span>
 that you</div>
may contact me if there are results from the genetic research that may be relevant to my health.<div os-field-error field="econsentForm.iAgree"></div>
</div>

4. Add custom field text-box

Image Added
Code Block
  <div>
      <label class="control-label">
        <span>Print Name of Biobank <Participant</span>
      </div>label>
    </span>div>

 </div>   <div style="displaywidth: block70%; float: left">
    <span>
      <div user-input field="ectx.customFields.iAgreeparticipantName">
        <input type="radio<div>
          <textarea class="form-control" name="iAgree"participantName" ng-model="ectx.customFields.participantName" valuerows="No" ng-model="ectx.customFields.iAgree"
  "1" required></textarea>
        </div>
      </div>
      <div ng-requiredos-field-error field="(ectx.statements.C0003=='N' || ectx.statements.C0003==null)econsentForm.participantName"> </div>
    </div>

5. Add signature field

Code Block
 <div style="width: 70%; float: <span>left">
      <div>
     <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.
 <label class="control-label">
        <span>
          <strong>Signature of Biobank Participant</strong>
        </span>
      </div>label>
      </span>div>
   </div>   <div osuser-field-errorinput field="econsentFormectx.customFields.iAgreesignature"></div>
</div>

4. Add custom field text-box

Image Removed
Code Block
  <div>
      <label class="control-label type="signature">
        <span>Print Name of Biobank Participant</span>
  <ec-signature name="signature" image="ectx.customFields.signature" ng-required="(ectx.customFields.signatureAuthRep==null && (ectx.statements.C0003=='N' || ectx.statements.C0003==null))">
   </label>     </div>ec-signature>
     <div style="width: 70%; float: left"> </div>
      <div useros-field-inputerror field="ectxeconsentForm.customFields.participantNamesignature"> </div>
    </div>

6. Add date as a custom field with default current date and non-editable

Code Block
<div style="float: left; <div>
clear: left;">
         <textarea class="form-control" name="participantName" ng-model="ectx.customFields.participantName" rows="1" required></textarea><label style="float: left; clear: left;">
        <strong>Today's <Date</div>strong>
    </label>
 </div>

     <div os-field-error fieldclass="econsentForm.participantNameclearfix">
</div>     </div>

5. Add signature field

Code Block
 <div style="width: 70%45%; float: left; clear: left;">
      <div>    <div class="col-xs-8 os-no-left-padding">
            <div  <label class="control-labeluser-input field="ectx.customFields.consentDate" type="date-time">
        <span>      <os-date-picker name="consentDate" date="ectx.customFields.consentDate" default-current-date  <strong>Signature of Biobank Participant</strong>ng-disabled="1 != 0"></os-date-picker>
            </span>div>
      </label>       </div>

       <div user-input field="ectx.customFields.signature" type="signature">  <div class="col-xs-4 os-no-left-padding">
            <ec-signature<timepicker nameclass="signatureos-time-no-wheels" imageng-model="ectx.customFields.signatureconsentDate" ngshow-requiredmeridian="(ectx.customFields.signatureAuthRep==null && (ectx.statements.C0003=='N' || ectx.statements.C0003==null))">
  "false" readonly-input="true"></timepicker>
     </ec-signature>       </div>
        <div os-field-error field="econsentForm.signature">consentDate"></div>
      </div>
    </div>

67. Add date as a number custom field with default current date and non-editable

Code Block
Code Block
languagehtml
<div style="margin-bottom: 20px;">
          <label style="display: block;">Height (centimetres)</label>
          <label<div style="floatwidth: left250px;" clear: left;user-input field="ectx.customFields.height_centimetres">
        <strong>Today's Date</strong>   <input  </label>
</div>

  <div class="clearfix">
      <div style="width: 45%; float: left; clear: left;">style="padding: 8px; border: 1px solid #ddd; border-radius: 4px; width: 100%" name="height_centimetres" ng-model="ectx.customFields.height_centimetres" required
             <div classng-pattern="col-xs-8 os-no-left-padding/^[1-9][0-9]*$/">
            <div useros-field-inputerror field="ectx.customFields.consentDate" type="date-time">econsentForm.height_centimetres"> </div>
          </div>
        <os-date-picker name="consentDate" date="ectx.customFields.consentDate" default-current-date ng-disabled="1 != 0"></os-date-picker></div>

8. Add OpenSpecimen PV-dropdown as a custom field site dropdown

Code Block
languagehtml
   <div style="margin-bottom: 20px;">
          <label style="display: block;">Collection Center</label>
   </div>       <div user-input field="ectx.customFields.preferred_collection_site"  </div>type="user">
            <div classstyle="col-xs-4 os-no-left-paddingdisplay: inline-block; margin-right: 20px;">
            <timepicker class="os-time-no-wheels" ng-model="ectx.customFields.consentDate" show-meridian="false" readonly-input="true"></timepicker> <os-sites name="preferred_collection_site" ng-model="ectx.customFields.preferred_collection_site" ></os-sites>
            </div>
            <div os-field-error field="econsentForm.consentDate"><preferred_collection_site"> </div>
          </div>
        </div>

79. Add number custom fieldcustom field dropdown value with options

Info

In below code, “consent_custom_fields” is the form name.

Code Block
languagehtml
custom-field>consent_custom_fields.visit_center</custom-field>

Complete Code Snippet:

Code Block
languagehtml
    <div style="margin-bottom: 20px;">
          <label style="display: block;">Height (centimetres)<>Visit Center</label>
          <div style="width: 250px;" user-input field="ectx.customFields.height_centimetres">
            <input style="padding: 8px; border: 1px solid #ddd; border-radius: 4px; width: 100%" name="height_centimetres" ng-model="ectx.customFields.heightvisit_centimetrescenter" required>
            <div  ng-patternstyle="/^[1-9][0-9]*$/display: inline-block; margin-right: 20px;">
            <div  os<ec-field-error fieldselect ng-model="econsentFormectx.customFields.heightvisit_centimetres"> </div>center" required>
                <custom-field>consent_custom_fields.visit_center</custom-field>
      </div>         </div>

8. Add OpenSpecimen PV-dropdown as a custom field site dropdown

Code Block
languagehtml
ec-select>
  <div style="margin-bottom: 20px;">        </div>
  <label style="display: block;">Collection Center</label>           <div useros-field-inputerror field="ectx.customFields.preferred_collection_site" type="user">
        econsentForm.visit_center"> </div>
   <div style="display: inline-block; margin-right: 20px;">   </div>
           <os-sites name="preferred_collection_site" ng-model="ectx.customFields.preferred_collection_site" ></os-sites>
            </div>
            <div os-field-error field="econsentForm.preferred_collection_site"> </div>
          </div>
        </div>

9. Add custom field dropdown value with options

Code Block
languagehtml
    <div style="margin-bottom: 20px;">
          <label style="display: block;">Visit Center</label>
          <div user-input field="ectx.customFields.visit_center">
            <div style="display: inline-block; margin-right: 20px;">
              <ec-select ng-model="ectx.customFields.visit_center" required>
                <custom-field>consent_custom_fields.visit_center</custom-field>
              </ec-select>
            </div>
            <div os-field-error field="econsentForm.visit_center"> </div>
          </div>
        </div>
10. Add print break in the consent document PDF:
</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, the 'We may contact you….' line will be printed on the next page.

Code Block
languagehtml
 <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>
is used to add the print break in the downloaded PDF.

In the below example, the 'We may contact you….' line will be printed on the next page.

Code Block
languagehtml
 <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
languagehtml
<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.

Image Removed

Example HTML for the above example:

View file
nameParticipant English 11 Nov - v1.0 (1).html

12. Mark consent statement non-editable with default selected.

Code Block
languagehtml
<div class="clearfix" consent-question="M001
	<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
languagehtml
<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.

Image Added

Example HTML for the above example:

View file
nameParticipant English 11 Nov - v1.0 (1).html

12. Mark consent statement non-editable with default selected.

Code Block
languagehtml
<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>I consented for cancer study</span>
</div> 

13. Mark consent statement editable with default selected.

Code Block
languagehtml
<div class="clearfix" consent-question="M001">
          <label class="control-label"> 
          		<input name="M001" type="checkbox" ng-true-value="'Y'" ng-false-value="'N'" ng-model="ectx.statements.M001" ng-init="ectx.statements.M001 = ectx.statements.M001 || 'Y'">
            <span>I consented for cancer study</span>
</div> 

14. Default custom value with non-editable

Code Block
languagehtml
<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"> 

15. Make field mandatory based on other field value

Eg:1 - Make Guardian name custom field mandatory for Male patients.

Code Block
languagehtml
<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
languagehtml
<div>
 <textarea class="form-control" ng-model="ectx.customFields.parentGuardianName" rows="1" ng-required="cpr.registrationSite == 'Stanford Hospital''"> </textarea>
</div>

Eg:3 - Make Participant Signature(signature) mandatory if Guardian signature(signatureAuthRep) is not entered

Code Block
languagehtml
<div>
    <ec-signature name="signature" image="ectx.customFields.signature" ng-required="ectx.customFields.signatureAuthRep==null"></ec-signature>
  </div>

16. Add File Type Control

Code Block
languagehtml
    <div style="margin-bottom: 20px;">
          <label 

class

style="

control-label">

display: block;">Photo Identity</label>
          

<input name="M001

<div user-input field="ectx.customFields.photo_identity" type="

checkbox

file"

ng-true-value="'Y'" ng-false-value="'N'" ng-disabled="1 != 0" ng-model="ectx.statements.M001" ng-init="ectx.statements.M001 = 'Y'"> </label>

>
            <div style="display: inline-block; margin-right: 20px;">
              <ec-file-uploader name="photo_identity" file="ectx.customFields.photo_identity" required></ec-file-uploader>
            </div>
            <div os-field-error field="econsentForm.photo_identity"> </div>
      

<span>I

 

consented

 

for

 

cancer

 

study</span>

</div>

13. Default custom value with non-editable

Code Block
languagehtml
<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">

 </div>

1417. Make Conditional field mandatory based on other field value

Eg:1 - Make Guardian name custom field mandatory for Male patients.

Code Block
languagehtml
<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
languagehtml
<div> <textarea class="form-control" ng-model

(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.

Code Block
<div style="width: 45%; float: left;">
  <label class="control-label">
   <span>Upload Paper Consent</span></label>
   <div user-input field="ectx.customFields.parentGuardianNamesignedConsentFile" rowstype="1file" ng-required="cpr.registrationSite == 'Stanford Hospital''"> </textarea>
</div>

Eg:3 - Make Participant Signature(signature) mandatory if Guardian signature(signatureAuthRep) is not entered

Code Block
languagehtml
<div>>
     <div>
      <ec-signature-file-uploader file="ectx.customFields.signedConsentFile" name="signaturesignedConsentFile" imageng-required="(ectx.customFields.signature" ng-required="==null && ectx.customFields.signatureAuthRep ==null)"></ec-file-signature>uploader>
   </div>

15. Add File Type Control

Code Block
languagehtml
   </div>
<div
 
style="margin-bottom:
 
20px;">
  <div os-field-error 
<label style="display: block;">Photo Identity</label> <div user-input field="ectx.customFields.photo_identity" type="file"> <div style="display: inline-block; margin-right: 20px
field="econsentForm.signedConsentFile"></div>
</div>

18. Change the caption for the Next and Previous button

Code Block
<ec-page-nav-buttons>
  <next>Siguiente</next>
<previous>Página Anterior</previous>
<save>Guardar</save>
<cancel>Cancelar</cancel>
</ec-page-nav-buttons>
Image Added

19. Add Participant’s Information in the Consent document: Below is an example to display/print First Name and Last Name

Code Block
languagehtml
<div style="position:relative; white-space: nowrap; padding: 20px 0px 0px 0px;">
           <!-- #if 
<ec-file-uploader name="photo_identity" file="ectx.customFields.photo_identity" required></ec-file-uploader>
(1 == 0) --> // This section will display the information in UI
     
</div>
       <table style="width: 80%; border: 2px solid 
<div
black; 
os-field-error field="econsentForm.photo_identity
margin-left: auto;">
</div>
           
</div>
    <tr>
   
</div>

16. 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.

Code Block
<div style="width: 45%; float: left;">
  <label class="control-label">
   <span>Upload Paper Consent</span></label>
   <div user-input field="ectx.customFields.signedConsentFile" type="file">               <td>
               <div>       <ec-file-uploader file="ectx.customFields.signedConsentFile" name="signedConsentFile" ng-required="(ectx.customFields.signature==null && ectx.customFields.signatureAuthRep ==null)"></ec-file-uploader><strong>Last Name:</strong> {{cpr.participant.lastName}}
                  </div>td>
            </div>     <div os-field-error field="econsentForm.signedConsentFile"></div>
</div>

17. Change the caption for the Next and Previous button

Code Block
<ec-page-nav-buttons>
  <next>Siguiente</next>
<previous>Página Anterior</previous>
<save>Guardar</save>
<cancel>Cancelar</cancel>
</ec-page-nav-buttons>
Image Removed

18. 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.

Image Removed

Example: PDF

Image Removed

Example HTML code for the above document:

Code Block
languagehtml
<ec-print-template>
<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;"><td>
                     <strong>First Name:</strong> {{cpr.participant.firstName}}
                  </td>
               </tr>
            </table>
<img style="position: absolute; z-index: 1000; height: 60px; width: 450px;" src="https://bb.cuimc.columbia.edu/os-test/logo/RS2133_RS460_Columbia_CUIMC_H_B_RGB_A.png">
      </div>
    </div>
  </ec-page-header>

  <ec-page-footer> <!-- #else --> // This section will be used to print the information while printing
            <table style="border-topwidth: 80%; border: 2px solid #dddblack; position:relative;height: 70px; display: inline-block; width: 100%; padding: 8px 8px;">margin-left: auto;" ng-if="1 == 0">
               <tr>
<tbody>         <tr>         <td>
 <td style="text-align: left;">             <img style="height: 70px; width: 300px;" <strong>Last src="httpsName:<//bb.cuimc.columbia.edu/os-test/logo/cumc_stamp_hiccc.png">strong> $cpr.participant.lastName
                  </td>
                  <td>
<td style="text-align: right; padding: 10px;">                    <div id="osPageCounter" style="position: absolute; bottom: 12px; right: 5px;"> </div><strong>First Name:</strong> $cpr.participant.firstName
                  </td>
               </tr>
       </tbody>     </table>
     </ec-page-footer>
</div>
</ec-print-template>
     <!-- #end -->
         </div>
image-20250109-161629.pngImage Added

Upload Consent Document in OpenSpecimen

...

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

...

Expand
titleClick here to see screenshots...

How to copy consents from another CP.

  1. Go to Collection Protocol Overview Page.

  2. Click on the Consents Tab.

  3. Click on the ⚙️ Set button and choose the CP from which you want to copy consents.

Image Removed
  1. .

Image Added

Points to remember :

  1. No new consent tiers or documents can be added in the receiver CP.

  2. Consent responses cannot be added/updated via receiver CP registrations.

  3. The participants' consent responses can be seen in the read-only mode in the receiver CPs with the option to print the consent document.

  4. Since the consents for participants is copied to receiver CP, openspecimen users can distribute specimens collected for the receiver CP.