extensions/net.sf.basedb.meludi/trunk/resources/personal/consentform_alt_rec.jsp

Code
Comments
Other
Rev Date Author Line
4786 27 Apr 18 olle 1 <%@ page
4786 27 Apr 18 olle 2   pageEncoding="UTF-8"
4786 27 Apr 18 olle 3   session="false"
4786 27 Apr 18 olle 4   import="net.sf.basedb.core.Application"
4786 27 Apr 18 olle 5   import="net.sf.basedb.core.User"
4786 27 Apr 18 olle 6   import="net.sf.basedb.core.DbControl"
4786 27 Apr 18 olle 7   import="net.sf.basedb.core.SessionControl"
4786 27 Apr 18 olle 8   import="net.sf.basedb.clients.web.Base"
4786 27 Apr 18 olle 9   import="net.sf.basedb.clients.web.util.HTML"
4786 27 Apr 18 olle 10   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
4786 27 Apr 18 olle 11   import="net.sf.basedb.util.Values"
4786 27 Apr 18 olle 12 %>
4786 27 Apr 18 olle 13 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
4786 27 Apr 18 olle 14 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
4786 27 Apr 18 olle 15 <%
4786 27 Apr 18 olle 16 //final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.meludi", true);
4786 27 Apr 18 olle 17 final SessionControl sc = Base.getExistingSessionControl(request, true);
4786 27 Apr 18 olle 18 final String ID = sc.getId();
4786 27 Apr 18 olle 19 final float scale = Base.getScale(sc);
4786 27 Apr 18 olle 20 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.meludi");
4786 27 Apr 18 olle 21 DbControl dc = null;
4786 27 Apr 18 olle 22 try
4786 27 Apr 18 olle 23 {
4786 27 Apr 18 olle 24   dc = sc.newDbControl();
4786 27 Apr 18 olle 25   final User user = User.getById(dc, sc.getLoggedInUserId());
4786 27 Apr 18 olle 26 %>
4786 27 Apr 18 olle 27 <base:page type="default" >
4786 27 Apr 18 olle 28 <base:head 
4786 27 Apr 18 olle 29   scripts="~../meludi-2.js,~consentform_alt_rec.js" 
4786 27 Apr 18 olle 30   styles="path.css,~../css/meludi-2.css" 
4786 27 Apr 18 olle 31 />
4786 27 Apr 18 olle 32 <base:body>
4786 27 Apr 18 olle 33
4786 27 Apr 18 olle 34   <p:path><p:pathelement id="meludi-index"
4786 27 Apr 18 olle 35     title="Meludi" href="<%="../index.jsp?ID="+ID%>" 
4786 27 Apr 18 olle 36     /><p:pathelement title="Consent form registration" 
4786 27 Apr 18 olle 37     /></p:path>
4786 27 Apr 18 olle 38
4786 27 Apr 18 olle 39   <div class="content">
4786 27 Apr 18 olle 40   <form name="meludi" id="wizard" class="wizard">
4786 27 Apr 18 olle 41
4860 19 Jun 18 olle 42     <!-- 1. Referral ID + Personal number -->
4786 27 Apr 18 olle 43     <div class="step" id="step-1">
4786 27 Apr 18 olle 44       <div class="step-no">1</div>
4860 19 Jun 18 olle 45       <div class="step-title">Enter Referral ID</div>
4786 27 Apr 18 olle 46       <div class="step-content">
4786 27 Apr 18 olle 47
4786 27 Apr 18 olle 48         <table class="step-form">
4786 27 Apr 18 olle 49         <tr>
4860 19 Jun 18 olle 50           <td class="prompt">Referral ID</td>
4860 19 Jun 18 olle 51           <td class="input"><input type="text" name="referralId" id="referralId"
4786 27 Apr 18 olle 52             class="required auto-init" data-auto-init="focus"
4786 27 Apr 18 olle 53             style="width: 12em;" maxlength="12"></td>
4860 19 Jun 18 olle 54           <td class="status" id="referralId.status"></td>
4786 27 Apr 18 olle 55           <td class="help">
4860 19 Jun 18 olle 56             <span id="referralId.message" class="message"></span>
4860 19 Jun 18 olle 57             <div id="referralIdText"></div>
4786 27 Apr 18 olle 58           </td>
4786 27 Apr 18 olle 59         </tr>
4786 27 Apr 18 olle 60         </table>
4786 27 Apr 18 olle 61       </div>
4786 27 Apr 18 olle 62     </div>
4786 27 Apr 18 olle 63   
4860 19 Jun 18 olle 64     <!-- 2. Consent registration -->
4786 27 Apr 18 olle 65     <div class="step" id="step-2">
4786 27 Apr 18 olle 66       <div class="step-no">2</div>
4786 27 Apr 18 olle 67       <div class="step-title">Consent form</div>
4786 27 Apr 18 olle 68       <div class="step-content">
4786 27 Apr 18 olle 69       
4786 27 Apr 18 olle 70       <table class="step-form">
4786 27 Apr 18 olle 71       <tr>
4860 19 Jun 18 olle 72         <td class="prompt">Case name</td>
4860 19 Jun 18 olle 73         <td class="input"><input type="text" name="caseName" id="caseName"
4860 19 Jun 18 olle 74           disabled
4860 19 Jun 18 olle 75           style="width: 12em;" maxlength="12"></td>
4860 19 Jun 18 olle 76         <td class="status" id="caseName.status"></td>
4860 19 Jun 18 olle 77         <td class="help">
4860 19 Jun 18 olle 78           <span id="caseName.message" class="message"></span>
4860 19 Jun 18 olle 79           Case name for referral.
4860 19 Jun 18 olle 80         </td>
4860 19 Jun 18 olle 81       </tr>
4860 19 Jun 18 olle 82       <tr>
5013 08 Oct 18 olle 83         <td class="prompt">Consent date</td>
4860 19 Jun 18 olle 84         <td class="input">
4860 19 Jun 18 olle 85           <input type="text" name="consentDate" id="consentDate"
4860 19 Jun 18 olle 86             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="consent"
4860 19 Jun 18 olle 87             style="width: 12em;" maxlength="10" data-allow-six-digits="1">
4860 19 Jun 18 olle 88             <base:icon 
4860 19 Jun 18 olle 89               id="consentDateCalendar"
4860 19 Jun 18 olle 90               subclass="auto-init"
4860 19 Jun 18 olle 91               data-auto-init="calendar"
4860 19 Jun 18 olle 92               data-textarea-id="consentDate"
4860 19 Jun 18 olle 93               data-date-format="yyyyMMdd"
4860 19 Jun 18 olle 94               data-title="Consent date"
4860 19 Jun 18 olle 95               image="calendar.png" 
4860 19 Jun 18 olle 96               tooltip="Select a date from a calendar" 
4860 19 Jun 18 olle 97               tabindex="-1"
4860 19 Jun 18 olle 98             />
4860 19 Jun 18 olle 99         </td>
4786 27 Apr 18 olle 100         <td class="status" id="consentDate.status"></td>
4786 27 Apr 18 olle 101         <td class="help">
4786 27 Apr 18 olle 102           <span id="consentDate.message" class="message"></span>
4786 27 Apr 18 olle 103           (YYYYMMDD or MMDD)
4786 27 Apr 18 olle 104         </td>
4786 27 Apr 18 olle 105       </tr>
4786 27 Apr 18 olle 106       <tr>
4786 27 Apr 18 olle 107         <td class="prompt">Consent</td>
4786 27 Apr 18 olle 108         <td class="input">
4786 27 Apr 18 olle 109           
4786 27 Apr 18 olle 110           <label id="consent.no.label" class="disabled">
4786 27 Apr 18 olle 111             <input id="consent.no" type="radio" name="consent" value="No" disabled>
4786 27 Apr 18 olle 112             No</label><br>
4786 27 Apr 18 olle 113           <label id="consent.yes.label" class="disabled">
4786 27 Apr 18 olle 114             <input id="consent.yes" type="radio" name="consent" value="Yes" disabled>
4786 27 Apr 18 olle 115             Yes</label><br>
4786 27 Apr 18 olle 116           <div id="moreCasesSection" style="display: none;">
4786 27 Apr 18 olle 117             <table>
4786 27 Apr 18 olle 118             <tr valign="baseline">
4786 27 Apr 18 olle 119               <td><img src="../images/joinbottom.gif"></td>
4786 27 Apr 18 olle 120               <td id="moreCases"></td>
4786 27 Apr 18 olle 121             </tr>
4786 27 Apr 18 olle 122             </table>
4786 27 Apr 18 olle 123           </div>
4786 27 Apr 18 olle 124           <label id="consent.notAsked.label" class="disabled">
4786 27 Apr 18 olle 125             <input id="consent.notAsked" type="radio" name="consent" value="Not asked" disabled>
4786 27 Apr 18 olle 126             Not asked</label>
4786 27 Apr 18 olle 127             
4786 27 Apr 18 olle 128         </td>
4786 27 Apr 18 olle 129         <td class="status" id="consent.status"></td>
4786 27 Apr 18 olle 130         <td class="help" rowspan="2">
4786 27 Apr 18 olle 131           <span id="consent.message" class="message"></span>
4786 27 Apr 18 olle 132           <span id="morehelp.multiple" style="display:none;">
4786 27 Apr 18 olle 133             Select the cases and blood samples to register.
4786 27 Apr 18 olle 134           </span>
4786 27 Apr 18 olle 135           <span id="morehelp.yesonly" style="display: none;">
4786 27 Apr 18 olle 136             <b>Yes</b> is the only option supported by this wizard. The other alternatives 
4786 27 Apr 18 olle 137             may require manual deletion of already registered information.
4786 27 Apr 18 olle 138           </span>
4790 04 May 18 olle 139 <!--
4786 27 Apr 18 olle 140           <span id="morehelp.any" style="display: none;">
4786 27 Apr 18 olle 141             There is currently no information about this case.
4786 27 Apr 18 olle 142           </span>
4790 04 May 18 olle 143 -->
4790 04 May 18 olle 144           <span id="morehelp.any" style="display: none;">
4790 04 May 18 olle 145             There is currently no consent information about this case.
4790 04 May 18 olle 146           </span>
4786 27 Apr 18 olle 147         </td>
4786 27 Apr 18 olle 148       </tr>
4786 27 Apr 18 olle 149       <tr>
4786 27 Apr 18 olle 150         <td class="subprompt">Reason if not asked</td>
4786 27 Apr 18 olle 151         <td class="input">
4786 27 Apr 18 olle 152           <table>
4786 27 Apr 18 olle 153           <tr valign="baseline">
4786 27 Apr 18 olle 154             <td><img src="../images/joinbottom.gif"></td>
4786 27 Apr 18 olle 155             <td><input id="notAsked.forgot" type="checkbox" name="reasonIfNotAsked" disabled></td>
4786 27 Apr 18 olle 156             <td><label id="notAsked.forgot.label" for="notAsked.forgot" class="disabled">Forgot to ask the patient</label></td>
4786 27 Apr 18 olle 157           </tr>
4786 27 Apr 18 olle 158           
4786 27 Apr 18 olle 159           <tr valign="baseline">
4786 27 Apr 18 olle 160             <td></td>
4786 27 Apr 18 olle 161             <td><input id="notAsked.language" type="checkbox" name="reasonIfNotAsked" disabled></td>
4786 27 Apr 18 olle 162             <td><label id="notAsked.language.label" for="notAsked.language" class="disabled">Language problems</label></td>
4786 27 Apr 18 olle 163           </tr>
4786 27 Apr 18 olle 164
4786 27 Apr 18 olle 165           <tr valign="baseline">
4786 27 Apr 18 olle 166             <td></td>
4786 27 Apr 18 olle 167             <td><input id="notAsked.condition" type="checkbox" name="reasonIfNotAsked" disabled></td>
4786 27 Apr 18 olle 168             <td><label id="notAsked.condition.label" for="notAsked.condition" class="disabled">Patient can't decide due to physical and/or mental condition</label></td>
4786 27 Apr 18 olle 169           </tr>
4786 27 Apr 18 olle 170
4786 27 Apr 18 olle 171           <tr valign="baseline">
4786 27 Apr 18 olle 172             <td></td>
4786 27 Apr 18 olle 173             <td><input id="notAsked.other" type="checkbox" name="reasonIfNotAsked" disabled></td>
4786 27 Apr 18 olle 174             <td><label id="notAsked.other.label" for="notAsked.other" class="disabled">Other:</label></td>
4786 27 Apr 18 olle 175           </tr>
4786 27 Apr 18 olle 176
4786 27 Apr 18 olle 177           <tr valign="baseline">
4786 27 Apr 18 olle 178             <td></td>
4786 27 Apr 18 olle 179             <td colspan="2">
4786 27 Apr 18 olle 180             <textarea name="otherReasonIfNotAsked" id="otherReasonIfNotAsked" rows="4" disabled></textarea>
4786 27 Apr 18 olle 181             </td>
4786 27 Apr 18 olle 182           </tr>
4786 27 Apr 18 olle 183           </table>
4786 27 Apr 18 olle 184         </td>
4786 27 Apr 18 olle 185         <td class="status" id="notAsked.status"></td>
4786 27 Apr 18 olle 186       </tr>
4879 27 Jun 18 olle 187       <tr>
4879 27 Jun 18 olle 188         <td class="prompt">Diagnosis confirmed</td>
4879 27 Jun 18 olle 189         <td class="input">
4879 27 Jun 18 olle 190           <label id="diagnosisConfirmed"><input type="checkbox" name="diagnosisConfirmedCB" id="diagnosisConfirmedCB">Diagnosis confirmed</label><br>
4879 27 Jun 18 olle 191         </td>
4879 27 Jun 18 olle 192         <td class="status" id="diagnosisConfirmed.status"></td>
4879 27 Jun 18 olle 193         <td class="help">
4879 27 Jun 18 olle 194           <span id="diagnosisConfirmed.message" class="message"></span>
4879 27 Jun 18 olle 195           Check if diagnosis confirmed.
4879 27 Jun 18 olle 196         </td>
4879 27 Jun 18 olle 197       </tr>
4860 19 Jun 18 olle 198       <tr>
4860 19 Jun 18 olle 199         <td class="prompt">Personal number</td>
4860 19 Jun 18 olle 200         <td class="input">
4860 19 Jun 18 olle 201           <input type="text" name="personalNumber" id="personalNumber"
4860 19 Jun 18 olle 202             class="required"
4860 19 Jun 18 olle 203             style="width: 12em;" maxlength="12">
4860 19 Jun 18 olle 204         </td>
4860 19 Jun 18 olle 205         <td class="status" id="personalNumber.status"></td>
4860 19 Jun 18 olle 206         <td class="help">
4860 19 Jun 18 olle 207           <span id="personalNumber.message" class="message"></span>
4860 19 Jun 18 olle 208           ([YY]YYMMDDZZZZ) Enter only if consent = 'Yes'.
4860 19 Jun 18 olle 209         </td>
4860 19 Jun 18 olle 210       </tr>
4786 27 Apr 18 olle 211       </table>
4786 27 Apr 18 olle 212       </div>
4786 27 Apr 18 olle 213     </div>
4786 27 Apr 18 olle 214   
4860 19 Jun 18 olle 215     <!-- 3. New patient registration -->
4860 19 Jun 18 olle 216     <div class="step" id="step-3">
4860 19 Jun 18 olle 217       <div class="step-no">3</div>
4860 19 Jun 18 olle 218       <div class="step-title" id="step-3-title">New patient: Enter all names</div>
4860 19 Jun 18 olle 219       <div class="step-content">
4860 19 Jun 18 olle 220       
4860 19 Jun 18 olle 221         <table class="step-form">
4860 19 Jun 18 olle 222         <tr>
4860 19 Jun 18 olle 223           <td class="prompt">Patient code</td>
4860 19 Jun 18 olle 224           <td class="input"><input type="text" name="patientCode" id="patientCode"
4860 19 Jun 18 olle 225             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="familyName"
4860 19 Jun 18 olle 226             style="width: 12em;" maxlength="12"></td>
4860 19 Jun 18 olle 227           <td class="status" id="patientCode.status"></td>
4860 19 Jun 18 olle 228           <td class="help">
4860 19 Jun 18 olle 229             <span id="patientCode.message" class="message"></span>
4860 19 Jun 18 olle 230           </td>
4860 19 Jun 18 olle 231         </tr>
4860 19 Jun 18 olle 232         <tr>
4860 19 Jun 18 olle 233           <td class="prompt">Family name</td>
4860 19 Jun 18 olle 234           <td class="input"><input type="text" name="familyName" id="familyName"
4860 19 Jun 18 olle 235             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="allFirstNames"
4860 19 Jun 18 olle 236             style="width: 20em;" maxlength="255"></td>
4860 19 Jun 18 olle 237           <td class="status" id="familyName.status"></td>
4860 19 Jun 18 olle 238           <td class="help">
4860 19 Jun 18 olle 239             <span id="familyName.message" class="message"></span>
4860 19 Jun 18 olle 240             Keep hyphens, keep åäö, replace all special accented letters [e.g. éèü etc] with standard alphabet character.
4860 19 Jun 18 olle 241           </td>
4860 19 Jun 18 olle 242         </tr>
4860 19 Jun 18 olle 243         <tr>
4860 19 Jun 18 olle 244           <td class="prompt">All first names</td>
4860 19 Jun 18 olle 245           <td class="input"><input type="text" name="allFirstNames" id="allFirstNames"
4860 19 Jun 18 olle 246             style="width: 20em;" maxlength="255"></td>
4860 19 Jun 18 olle 247           <td class="status" id="allFirstNames.status"></td>
4860 19 Jun 18 olle 248           <td class="help">
4860 19 Jun 18 olle 249             <span id="allFirstNames.message" class="message"></span>
4860 19 Jun 18 olle 250             Type all names, see FamilyName comment on valid characters.
4860 19 Jun 18 olle 251           </td>
4860 19 Jun 18 olle 252         </tr>
4860 19 Jun 18 olle 253         <tr>
4860 19 Jun 18 olle 254           <td class="prompt">Gender</td>
4860 19 Jun 18 olle 255           <td class="input" id="gender"></td>
4860 19 Jun 18 olle 256           <td class="status" id="gender.status" rowspan="2"></td>
4860 19 Jun 18 olle 257           <td class="help" rowspan="2">
4860 19 Jun 18 olle 258             <span id="gender.message" class="message"></span>
4860 19 Jun 18 olle 259           </td>
4860 19 Jun 18 olle 260         </tr>
4860 19 Jun 18 olle 261         <tr>
4860 19 Jun 18 olle 262           <td class="prompt">Date of birth</td>
4860 19 Jun 18 olle 263           <td class="input" id="dateOfBirth"></td>
4860 19 Jun 18 olle 264         </tr>
4860 19 Jun 18 olle 265         </table>      
4860 19 Jun 18 olle 266       </div>
4860 19 Jun 18 olle 267     </div>
4860 19 Jun 18 olle 268
4786 27 Apr 18 olle 269     <div id="wizard-status"></div>
4786 27 Apr 18 olle 270   
4786 27 Apr 18 olle 271     <table class="navigation" id="navigation">
4786 27 Apr 18 olle 272     <tr>
4786 27 Apr 18 olle 273       <td><base:button id="gocancel" title="Cancel" /></td>
4786 27 Apr 18 olle 274       <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
4786 27 Apr 18 olle 275       <td><base:button id="goregister" title="Register" image="<%=home+"/images/gonext.png"%>" /></td>
4786 27 Apr 18 olle 276       <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
4786 27 Apr 18 olle 277       <td id="gonext-message" class="message"></td>
4786 27 Apr 18 olle 278     </tr>
4786 27 Apr 18 olle 279     </table>
4786 27 Apr 18 olle 280   </form>
4786 27 Apr 18 olle 281   </div>
4786 27 Apr 18 olle 282   
4786 27 Apr 18 olle 283 </base:body>
4786 27 Apr 18 olle 284 </base:page>
4786 27 Apr 18 olle 285 <%
4786 27 Apr 18 olle 286 }
4786 27 Apr 18 olle 287 finally
4786 27 Apr 18 olle 288 {
4786 27 Apr 18 olle 289   if (dc != null) dc.close();
4786 27 Apr 18 olle 290 }
4786 27 Apr 18 olle 291 %>