The i2b2 Web Client has a built in feature where an announcement will appear upon user log in, that has to to be acknowledged by the user in order for them to continue the log in process.  This is a good option for a Terms of Access message that requires the user to accept before proceeding to their i2b2 Web Client session.

This announcement displays simple html in a prompt box. This prompt box includes two buttons: "Yes, I agree" and "No, I disagree". 

  1. Create simple html that contain the TOA text. Or you can add a link to a document that contains the TOA text
  2. Place this html in a div with a height of 325px and overflow auto. This will place scroll bars when needed
  3. Replace all of the <, >, and " with &lt;, &gt;, and &quot;
  4. Remove all newlines (\n,\r) from the html. All the text has to be on one line
  5. Invoke the pm:set_project_param PM service to add announcement project parameter for your SHRINE ACT project
<div style='overflow:auto;height:325px;'>
    <h5>ACT Terms of Query Access</h5>
    Version 4.0 12-13-2017
    <br>
    <br>
    <div>
        This Terms-of-Query-Access Agreement is designed ...
        <br>
        <br> Each Participating ACT Organization individually contributes ...
        <br>
        <br>
        <ul>
            <li>I assert that I am a member of the ..</li>
            <br>
            <ul>
                <li>At or above Instructor level ...</li>
                <br>
            </ul>
        </ul>
    </div>
</div>
&lt;div style='overflow:auto;height:325px;'&gt;      &lt;h5&gt;ACT Terms of Query Access&lt;/h5&gt;      Version 4.0 12-13-2017      &lt;br&gt;      &lt;br&gt;      &lt;div&gt;          This Terms-of-Query-Access Agreement is designed ...          &lt;br&gt;          &lt;br&gt; Each Participating ACT Organization individually contributes ...          &lt;br&gt;          &lt;br&gt;          &lt;ul&gt;              &lt;li&gt;I assert that I am a member of the ..&lt;/li&gt;              &lt;br&gt;              &lt;ul&gt;                  &lt;li&gt;At or above Instructor level ...&lt;/li&gt;                  &lt;br&gt;              &lt;/ul&gt;          &lt;/ul&gt;      &lt;/div&gt;  &lt;/div&gt; 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<i2b2:request xmlns:i2b2="http://www.i2b2.org/xsd/hive/msg/1.1/" xmlns:pm="http://www.i2b2.org/xsd/cell/pm/1.1/">
    <message_header>
        <proxy>
            <redirect_url>http://localhost:9090/i2b2/services/PMService/getServices</redirect_url>
        </proxy>
        <i2b2_version_compatible>1.1</i2b2_version_compatible>
        <hl7_version_compatible>2.4</hl7_version_compatible>
        <sending_application>
            <application_name>i2b2 Project Management</application_name>
            <application_version>1.6</application_version>
        </sending_application>
        <sending_facility>
            <facility_name>i2b2 Hive</facility_name>
        </sending_facility>
        <receiving_application>
            <application_name>Project Management Cell</application_name>
            <application_version>1.6</application_version>
        </receiving_application>
        <receiving_facility>
            <facility_name>i2b2 Hive</facility_name>
        </receiving_facility>
        <datetime_of_message>2018-04-27T11:28:22-04:00</datetime_of_message>
		<security>
			<domain>your i2b2 domain</domain>
			<username>REG_SERVICE</username>
			<password>your service account password</password>
		</security>
        <message_control_id>
            <message_num>79ZhBR5PG4m3AUAS1X2Dr</message_num>
            <instance_num>0</instance_num>
        </message_control_id>
        <processing_id>
            <processing_id>P</processing_id>
            <processing_mode>I</processing_mode>
        </processing_id>
        <accept_acknowledgement_type>AL</accept_acknowledgement_type>
        <application_acknowledgement_type>AL</application_acknowledgement_type>
        <country_code>US</country_code>
        <project_id></project_id>
    </message_header>
    <request_header>
        <result_waittime_ms>180000</result_waittime_ms>
    </request_header>
    <message_body>
        <pm:set_project_param  id="ACTJay" >
<project_path>your i2b2 SHRINE ACT project path</project_path>
<param datatype="T" name="announcement">&lt;div style='overflow:auto;height:325px;'&gt;      &lt;h5&gt;ACT Terms of Query Access&lt;/h5&gt;      Version 4.0 12-13-2017      &lt;br&gt;      &lt;br&gt;      &lt;div&gt;          This Terms-of-Query-Access Agreement is designed ...          &lt;br&gt;          &lt;br&gt; Each Participating ACT Organization individually contributes ...          &lt;br&gt;          &lt;br&gt;          &lt;ul&gt;              &lt;li&gt;I assert that I am a member of the ..&lt;/li&gt;              &lt;br&gt;              &lt;ul&gt;                  &lt;li&gt;At or above Instructor level ...&lt;/li&gt;                  &lt;br&gt;              &lt;/ul&gt;          &lt;/ul&gt;      &lt;/div&gt;  &lt;/div&gt;</param>        
</pm:set_project_param>
    </message_body>
</i2b2:request>
<ns2:response xmlns:ns2="http://www.i2b2.org/xsd/hive/msg/1.1/" xmlns:ns4="http://www.i2b2.org/xsd/cell/pm/1.1/" xmlns:ns3="http://www.i2b2.org/xsd/hive/msg/version/">
    <message_header>
        <i2b2_version_compatible>1.1</i2b2_version_compatible>
        <hl7_version_compatible>2.4</hl7_version_compatible>
        <sending_application>
            <application_name>PM Cell</application_name>
            <application_version>1.700</application_version>
        </sending_application>
        <sending_facility>
            <facility_name>i2b2 Hive</facility_name>
        </sending_facility>
        <receiving_application>
            <application_name>PM Cell</application_name>
            <application_version>1.700</application_version>
        </receiving_application>
        <receiving_facility>
            <facility_name>i2b2 Hive</facility_name>
        </receiving_facility>
        <datetime_of_message>2018-05-02T11:41:22.050-04:00</datetime_of_message>
        <message_control_id>
            <message_num>79ZhBR5PG4m3AUAS1X2Dr</message_num>
            <instance_num>1</instance_num>
        </message_control_id>
        <processing_id>
            <processing_id>P</processing_id>
            <processing_mode>I</processing_mode>
        </processing_id>
        <accept_acknowledgement_type>AL</accept_acknowledgement_type>
        <application_acknowledgement_type>AL</application_acknowledgement_type>
        <country_code>US</country_code>
        <project_id />
    </message_header>
    <response_header>
        <result_status>
            <status type="DONE">PM processing completed</status>
        </result_status>
    </response_header>
    <message_body>
        <ns4:response>1 records</ns4:response>
    </message_body>
</ns2:response>