extensions/net.sf.basedb.reggie/trunk/resources/personal/bloodfollowupform.jsp

Code
Comments
Other
Rev Date Author Line
2023 19 Sep 13 olle 1 <%@ page
2023 19 Sep 13 olle 2   pageEncoding="UTF-8"
2023 19 Sep 13 olle 3   session="false"
2023 19 Sep 13 olle 4   import="net.sf.basedb.core.Application"
2023 19 Sep 13 olle 5   import="net.sf.basedb.core.User"
2023 19 Sep 13 olle 6   import="net.sf.basedb.core.DbControl"
2023 19 Sep 13 olle 7   import="net.sf.basedb.core.SessionControl"
2023 19 Sep 13 olle 8   import="net.sf.basedb.clients.web.Base"
2023 19 Sep 13 olle 9   import="net.sf.basedb.clients.web.util.HTML"
2023 19 Sep 13 olle 10   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
2023 19 Sep 13 olle 11   import="net.sf.basedb.util.Values"
2023 19 Sep 13 olle 12 %>
2023 19 Sep 13 olle 13 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
2023 19 Sep 13 olle 14 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
2023 19 Sep 13 olle 15 <%
3976 26 May 16 nicklas 16 final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
2023 19 Sep 13 olle 17 final String ID = sc.getId();
2023 19 Sep 13 olle 18 final float scale = Base.getScale(sc);
2023 19 Sep 13 olle 19 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
2023 19 Sep 13 olle 20
2023 19 Sep 13 olle 21 DbControl dc = null;
2023 19 Sep 13 olle 22 try
2023 19 Sep 13 olle 23 {
2023 19 Sep 13 olle 24   dc = sc.newDbControl();
2023 19 Sep 13 olle 25   final User user = User.getById(dc, sc.getLoggedInUserId());
2023 19 Sep 13 olle 26 %>
2023 19 Sep 13 olle 27 <base:page type="default" >
2602 27 Aug 14 nicklas 28 <base:head 
2602 27 Aug 14 nicklas 29   scripts="~../reggie-2.js,~bloodfollowupform.js" 
2602 27 Aug 14 nicklas 30   styles="path.css,~../css/reggie-2.css"
2602 27 Aug 14 nicklas 31 />
2602 27 Aug 14 nicklas 32 <base:body>
2023 19 Sep 13 olle 33
2023 19 Sep 13 olle 34   <p:path><p:pathelement 
2023 19 Sep 13 olle 35     title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
2023 19 Sep 13 olle 36     /><p:pathelement title="Follow-up blood referral form registration" 
2023 19 Sep 13 olle 37     /></p:path>
2023 19 Sep 13 olle 38
2023 19 Sep 13 olle 39   <div class="content">
2602 27 Aug 14 nicklas 40   <form name="reggie" id="wizard" class="wizard">
2023 19 Sep 13 olle 41   
2023 19 Sep 13 olle 42   <!-- 1. RCCID number + Personal number -->
2602 27 Aug 14 nicklas 43   <div class="step" id="step-1">
2602 27 Aug 14 nicklas 44     <div class="step-no">1</div>
2602 27 Aug 14 nicklas 45     <div class="step-title">Enter RCCID Number and Personal Number</div>
2602 27 Aug 14 nicklas 46     <div class="step-content">
2602 27 Aug 14 nicklas 47
2602 27 Aug 14 nicklas 48       <table class="step-form">
2602 27 Aug 14 nicklas 49       <tr>
2023 19 Sep 13 olle 50         <td class="prompt">RCCID number</td>
2602 27 Aug 14 nicklas 51         <td class="input">
2602 27 Aug 14 nicklas 52           <input type="text" name="rccidNumber" id="rccidNumber"
2602 27 Aug 14 nicklas 53             class="required auto-init" data-auto-init="focus" data-next-focus="personalNumber"
6801 11 Aug 22 nicklas 54             style="width: 12em;" maxlength="20">
2602 27 Aug 14 nicklas 55         </td>
2023 19 Sep 13 olle 56         <td class="status" id="rccidNumber.status"></td>
2602 27 Aug 14 nicklas 57         <td class="help">
2602 27 Aug 14 nicklas 58           <span id="rccidNumber.message" class="message"></span>
2602 27 Aug 14 nicklas 59           The RCCID number (barcode) associated with the follow-up blood sample.
2602 27 Aug 14 nicklas 60         </td>
2023 19 Sep 13 olle 61       </tr>
2023 19 Sep 13 olle 62       <tr>
2023 19 Sep 13 olle 63         <td class="prompt">Personal number</td>
2602 27 Aug 14 nicklas 64         <td class="input">
2602 27 Aug 14 nicklas 65           <input type="text" name="personalNumber" id="personalNumber"
2602 27 Aug 14 nicklas 66             class="required"
6801 11 Aug 22 nicklas 67             style="width: 12em;" maxlength="20">
2602 27 Aug 14 nicklas 68         </td>
2602 27 Aug 14 nicklas 69         <td class="status" id="personalNumber.status"></td>
2602 27 Aug 14 nicklas 70         <td class="help">
2602 27 Aug 14 nicklas 71           <span id="personalNumber.message" class="message"></span>
2602 27 Aug 14 nicklas 72           ([YY]YYMMDDZZZZ)
2602 27 Aug 14 nicklas 73         </td>
2023 19 Sep 13 olle 74       </tr>
2023 19 Sep 13 olle 75       </table>
2602 27 Aug 14 nicklas 76     </div>
2602 27 Aug 14 nicklas 77   </div>
2023 19 Sep 13 olle 78
2602 27 Aug 14 nicklas 79   <!-- 2. Existing patient -->
2602 27 Aug 14 nicklas 80   <div class="step" id="step-2">
2602 27 Aug 14 nicklas 81     <div class="step-no">2</div>
2602 27 Aug 14 nicklas 82     <div class="step-title">Existing patient: Verify names and select case, if needed</div>
2602 27 Aug 14 nicklas 83     <div class="step-content">
2602 27 Aug 14 nicklas 84       <table class="step-form">
2023 19 Sep 13 olle 85       <tr>
2023 19 Sep 13 olle 86         <td class="prompt">Patient code</td>
2023 19 Sep 13 olle 87         <td class="input" id="existing.patientCode"></td>
2023 19 Sep 13 olle 88         <td class="status"></td>
2023 19 Sep 13 olle 89         <td class="help"></td>
2023 19 Sep 13 olle 90       </tr>
2023 19 Sep 13 olle 91       <tr>
2023 19 Sep 13 olle 92         <td class="prompt">Family name</td>
2023 19 Sep 13 olle 93         <td class="input" id="existing.familyName"></td>
2023 19 Sep 13 olle 94         <td class="status"></td>
2023 19 Sep 13 olle 95         <td class="help"></td>
2023 19 Sep 13 olle 96       </tr>
2023 19 Sep 13 olle 97       <tr>
2023 19 Sep 13 olle 98         <td class="prompt">All first names</td>
2023 19 Sep 13 olle 99         <td class="input" id="existing.allFirstNames"></td>
2023 19 Sep 13 olle 100         <td class="status"></td>
2023 19 Sep 13 olle 101         <td class="help"></td>
2023 19 Sep 13 olle 102       </tr>
2023 19 Sep 13 olle 103       <tr>
2023 19 Sep 13 olle 104         <td class="prompt">Gender</td>
2023 19 Sep 13 olle 105         <td class="input" id="existing.gender"></td>
2023 19 Sep 13 olle 106         <td class="status"></td>
2023 19 Sep 13 olle 107         <td class="help"></td>
2023 19 Sep 13 olle 108       </tr>
2023 19 Sep 13 olle 109       <tr>
2023 19 Sep 13 olle 110         <td class="prompt">Date of birth</td>
2023 19 Sep 13 olle 111         <td class="input" id="existing.dateOfBirth"></td>
2023 19 Sep 13 olle 112         <td class="status"></td>
2023 19 Sep 13 olle 113         <td class="help"></td>
2023 19 Sep 13 olle 114       </tr>
2023 19 Sep 13 olle 115       <tr>
2023 19 Sep 13 olle 116         <td class="prompt" id="caseName.prompt">Case name</td>
2023 19 Sep 13 olle 117         <td class="input" id="caseName.input">
2602 27 Aug 14 nicklas 118           <select name="caseName" id="caseName"></select>
2023 19 Sep 13 olle 119         </td>
2023 19 Sep 13 olle 120         <td class="status" id="caseName.status"></td>
2602 27 Aug 14 nicklas 121         <td class="help">
2602 27 Aug 14 nicklas 122           <span id="caseName.message" class="message"></span>
2602 27 Aug 14 nicklas 123           Select the case name to use.
2602 27 Aug 14 nicklas 124         </td>
2023 19 Sep 13 olle 125       </tr>
2023 19 Sep 13 olle 126       </table>
2602 27 Aug 14 nicklas 127     </div>
2023 19 Sep 13 olle 128   </div>
2023 19 Sep 13 olle 129
2023 19 Sep 13 olle 130
2023 19 Sep 13 olle 131   <!-- 3. Blood registration -->
2602 27 Aug 14 nicklas 132   <div class="step" id="step-3">
2602 27 Aug 14 nicklas 133     <div class="step-no">3</div>
2602 27 Aug 14 nicklas 134     <div class="step-title" id="step-3-title">Create new blood</div>
2602 27 Aug 14 nicklas 135     <div class="step-content">
2602 27 Aug 14 nicklas 136     
2602 27 Aug 14 nicklas 137       <table class="step-form">
2602 27 Aug 14 nicklas 138       
2602 27 Aug 14 nicklas 139         <tr id="samplingDateSection">
2602 27 Aug 14 nicklas 140           <td class="prompt">Blood sampling date</td>
2602 27 Aug 14 nicklas 141           <td class="input">
2602 27 Aug 14 nicklas 142             <input type="text" name="samplingDate" id="samplingDate"
2602 27 Aug 14 nicklas 143               class="auto-init" data-auto-init="focus-on-enter" data-next-focus="samplingTime"
2602 27 Aug 14 nicklas 144               style="width: 12em;" maxlength="10">
2602 27 Aug 14 nicklas 145             Time <input type="text" name="samplingTime" id="samplingTime" 
2602 27 Aug 14 nicklas 146               class="auto-init" data-auto-init="focus-on-enter" data-next-focus="freezerDate"
2602 27 Aug 14 nicklas 147               style="width: 6em;" maxlength="5">
2602 27 Aug 14 nicklas 148           </td>
2602 27 Aug 14 nicklas 149           <td class="status" id="samplingDate.status"></td>
2602 27 Aug 14 nicklas 150           <td class="help">
2602 27 Aug 14 nicklas 151             <span id="samplingDate.message" class="message"></span>
2602 27 Aug 14 nicklas 152             Date+time of blood sampling (YYYYMMDD, HHMM)
2602 27 Aug 14 nicklas 153           </td>
2602 27 Aug 14 nicklas 154         </tr>
2602 27 Aug 14 nicklas 155         
2602 27 Aug 14 nicklas 156         <tr id="freezerDateSection">
2602 27 Aug 14 nicklas 157           <td class="prompt">Freezer date</td>
2602 27 Aug 14 nicklas 158           <td class="input">
2602 27 Aug 14 nicklas 159             <input type="text" name="freezerDate" id="freezerDate" 
2602 27 Aug 14 nicklas 160               class="auto-init" data-auto-init="focus-on-enter" data-next-focus="freezerTime"
2602 27 Aug 14 nicklas 161               style="width: 12em;" maxlength="10">
2602 27 Aug 14 nicklas 162             Time <input type="text" name="freezerTime" id="freezerTime" 
2602 27 Aug 14 nicklas 163               style="width: 6em;" maxlength="5"></td>
2602 27 Aug 14 nicklas 164           <td class="status" id="freezerDate.status"></td>
2602 27 Aug 14 nicklas 165           <td class="help">
2602 27 Aug 14 nicklas 166             <span id="freezerDate.message" class="message"></span>
2602 27 Aug 14 nicklas 167             Date+time when put in freezer (YYYYMMDD, HHMM)
2602 27 Aug 14 nicklas 168           </td>
2602 27 Aug 14 nicklas 169         </tr>
2023 19 Sep 13 olle 170
2602 27 Aug 14 nicklas 171         <tr id="serumSection" valign="top">
2602 27 Aug 14 nicklas 172           <td class="prompt">Plasma/serum</td>
2602 27 Aug 14 nicklas 173           <td class="input">
2602 27 Aug 14 nicklas 174             <label><input type="checkbox" name="serum" id="serum" value="1" disabled checked="checked">Yes</label>
2602 27 Aug 14 nicklas 175           </td>
2602 27 Aug 14 nicklas 176           <td class="status" id="serum.status"></td>
2602 27 Aug 14 nicklas 177           <td class="help">If serum/plasma is available (always true).</td>
2602 27 Aug 14 nicklas 178         </tr>
2602 27 Aug 14 nicklas 179         
2602 27 Aug 14 nicklas 180         <tr>
2602 27 Aug 14 nicklas 181           <td class="prompt" id="bloodSample.prompt">Blood sample</td>
2602 27 Aug 14 nicklas 182           <td class="input" id="bloodSample.input">
6801 11 Aug 22 nicklas 183             <select name="bloodSample" id="bloodSample">
2602 27 Aug 14 nicklas 184               <option value="FollowUp06">FollowUp06
2602 27 Aug 14 nicklas 185               <option value="FollowUp12">FollowUp12
2602 27 Aug 14 nicklas 186               <option value="FollowUp36">FollowUp36
2602 27 Aug 14 nicklas 187             </select>
2602 27 Aug 14 nicklas 188           </td>
2602 27 Aug 14 nicklas 189           <td class="status" id="bloodSample.status"></td>
2602 27 Aug 14 nicklas 190           <td class="help">
2602 27 Aug 14 nicklas 191             <span id="bloodSample.message" class="message"></span>
2602 27 Aug 14 nicklas 192           </td>
2602 27 Aug 14 nicklas 193         </tr>
2602 27 Aug 14 nicklas 194         <tr class="align-top">
2602 27 Aug 14 nicklas 195           <td class="prompt" id="otherPathNote.prompt">Other path note</td>
2602 27 Aug 14 nicklas 196           <td class="input" id="otherPathNote.input">
2651 10 Sep 14 nicklas 197             <textarea name="otherPathNote" id="otherPathNote" rows="4"></textarea>
2602 27 Aug 14 nicklas 198           </td>
2602 27 Aug 14 nicklas 199           <td class="status" id="otherPathNote.status"></td>
2602 27 Aug 14 nicklas 200           <td class="help">
2602 27 Aug 14 nicklas 201             <span id="otherPathNote.message" class="message"></span>
2602 27 Aug 14 nicklas 202           </td>
2602 27 Aug 14 nicklas 203         </tr>
2602 27 Aug 14 nicklas 204         <tr id="copyConsentSection" style="display: none;">
2602 27 Aug 14 nicklas 205           <td class="prompt">Copy consent?</td>
2602 27 Aug 14 nicklas 206           <td class="input">
2602 27 Aug 14 nicklas 207             <input type="checkbox" name="copyConsent" id="copyConsent" value="" checked>
2602 27 Aug 14 nicklas 208             <label for="copyConsent"><span id="copyConsent.text"></span></label>
2602 27 Aug 14 nicklas 209           </td>
2602 27 Aug 14 nicklas 210           <td class="status" id="copyConsent.status"></td>
2602 27 Aug 14 nicklas 211           <td class="help"></td>
2602 27 Aug 14 nicklas 212         </tr>
2602 27 Aug 14 nicklas 213         </table>
2602 27 Aug 14 nicklas 214       </div>
2602 27 Aug 14 nicklas 215     </div>
2023 19 Sep 13 olle 216
2602 27 Aug 14 nicklas 217     <div id="wizard-status"></div>
2023 19 Sep 13 olle 218
2602 27 Aug 14 nicklas 219     <table class="navigation" id="navigation">
2602 27 Aug 14 nicklas 220     <tr>
2602 27 Aug 14 nicklas 221       <td><base:button id="gocancel" title="Cancel" /></td>
2602 27 Aug 14 nicklas 222       <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
2602 27 Aug 14 nicklas 223       <td><base:button id="goregister" title="Register" image="<%=home+"/images/gonext.png"%>" /></td>
2602 27 Aug 14 nicklas 224       <td><base:button id="goupdate" title="Update" image="<%=home+"/images/gonext.png"%>" /></td>
2602 27 Aug 14 nicklas 225       <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
2602 27 Aug 14 nicklas 226       <td id="gonext-message" class="message"></td>
2602 27 Aug 14 nicklas 227     </tr>
2602 27 Aug 14 nicklas 228     </table>
2023 19 Sep 13 olle 229   </form>
2023 19 Sep 13 olle 230   </div>
2023 19 Sep 13 olle 231   
2023 19 Sep 13 olle 232 </base:body>
2023 19 Sep 13 olle 233 </base:page>
2023 19 Sep 13 olle 234 <%
2023 19 Sep 13 olle 235 }
2023 19 Sep 13 olle 236 finally
2023 19 Sep 13 olle 237 {
2023 19 Sep 13 olle 238   if (dc != null) dc.close();
2023 19 Sep 13 olle 239 }
2023 19 Sep 13 olle 240 %>