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

Code
Comments
Other
Rev Date Author Line
1517 20 Jan 12 nicklas 1 <%@ page
1517 20 Jan 12 nicklas 2   pageEncoding="UTF-8"
1517 20 Jan 12 nicklas 3   session="false"
1517 20 Jan 12 nicklas 4   import="net.sf.basedb.core.Application"
1517 20 Jan 12 nicklas 5   import="net.sf.basedb.core.User"
1517 20 Jan 12 nicklas 6   import="net.sf.basedb.core.DbControl"
1517 20 Jan 12 nicklas 7   import="net.sf.basedb.core.SessionControl"
1517 20 Jan 12 nicklas 8   import="net.sf.basedb.clients.web.Base"
1517 20 Jan 12 nicklas 9   import="net.sf.basedb.clients.web.util.HTML"
1538 21 Feb 12 nicklas 10   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
1517 20 Jan 12 nicklas 11   import="net.sf.basedb.util.Values"
1517 20 Jan 12 nicklas 12 %>
1517 20 Jan 12 nicklas 13 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
1517 20 Jan 12 nicklas 14 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
1517 20 Jan 12 nicklas 15 <%
3976 26 May 16 nicklas 16 final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
1517 20 Jan 12 nicklas 17 final String ID = sc.getId();
1517 20 Jan 12 nicklas 18 final float scale = Base.getScale(sc);
1538 21 Feb 12 nicklas 19 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
1538 21 Feb 12 nicklas 20
1517 20 Jan 12 nicklas 21 DbControl dc = null;
1517 20 Jan 12 nicklas 22 try
1517 20 Jan 12 nicklas 23 {
1517 20 Jan 12 nicklas 24   dc = sc.newDbControl();
1517 20 Jan 12 nicklas 25   final User user = User.getById(dc, sc.getLoggedInUserId());
1517 20 Jan 12 nicklas 26 %>
1517 20 Jan 12 nicklas 27 <base:page type="default" >
2602 27 Aug 14 nicklas 28 <base:head 
2602 27 Aug 14 nicklas 29   scripts="~../reggie-2.js,~bloodform.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>
1517 20 Jan 12 nicklas 33
1538 21 Feb 12 nicklas 34   <p:path><p:pathelement 
1915 21 Mar 13 nicklas 35     title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
1538 21 Feb 12 nicklas 36     /><p:pathelement title="Blood referral form registration" 
1538 21 Feb 12 nicklas 37     /></p:path>
1517 20 Jan 12 nicklas 38
1538 21 Feb 12 nicklas 39   <div class="content">
2602 27 Aug 14 nicklas 40   <form name="reggie" id="wizard" class="wizard">
2602 27 Aug 14 nicklas 41   
2602 27 Aug 14 nicklas 42     <div class="step" id="step-1">
2602 27 Aug 14 nicklas 43       <div class="step-no">1</div>
2602 27 Aug 14 nicklas 44       <div class="step-title">Enter Case Name and Personal Number</div>
2602 27 Aug 14 nicklas 45       <div class="step-content">
2602 27 Aug 14 nicklas 46
2602 27 Aug 14 nicklas 47         <table class="step-form">
2602 27 Aug 14 nicklas 48         <tr>
2602 27 Aug 14 nicklas 49           <td class="prompt">Case name</td>
2602 27 Aug 14 nicklas 50           <td class="input">
2602 27 Aug 14 nicklas 51             <input type="text" name="caseName" id="caseName"
2602 27 Aug 14 nicklas 52               class="required auto-init" data-auto-init="focus" data-next-focus="personalNumber"
2602 27 Aug 14 nicklas 53               style="width: 12em;" maxlength="12">
2602 27 Aug 14 nicklas 54             </td>
2602 27 Aug 14 nicklas 55           <td class="status" id="caseName.status"></td>
2602 27 Aug 14 nicklas 56           <td class="help">
2602 27 Aug 14 nicklas 57             <span id="caseName.message" class="message"></span>
2602 27 Aug 14 nicklas 58             The case (barcode) associated with this patient.
2602 27 Aug 14 nicklas 59           </td>
2602 27 Aug 14 nicklas 60         </tr>
2602 27 Aug 14 nicklas 61         
2602 27 Aug 14 nicklas 62         <tr>
2602 27 Aug 14 nicklas 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"
2602 27 Aug 14 nicklas 67               style="width: 12em;" maxlength="12">
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>
2602 27 Aug 14 nicklas 74         </tr>
2602 27 Aug 14 nicklas 75         </table>
2602 27 Aug 14 nicklas 76       </div>
1538 21 Feb 12 nicklas 77     </div>
1517 20 Jan 12 nicklas 78
2602 27 Aug 14 nicklas 79     <!-- 2. New patient registration -->
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" id="step-2-title">New patient: Enter all names</div>
2602 27 Aug 14 nicklas 83       <div class="step-content">
1517 20 Jan 12 nicklas 84
2602 27 Aug 14 nicklas 85       <div id="new-patient" style="display: none;">
2602 27 Aug 14 nicklas 86         <table class="step-form">
2602 27 Aug 14 nicklas 87         <tr>
2602 27 Aug 14 nicklas 88           <td class="prompt">Patient code</td>
2602 27 Aug 14 nicklas 89           <td class="input"><input type="text" name="patientCode" id="patientCode"
2602 27 Aug 14 nicklas 90             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="familyName"
2602 27 Aug 14 nicklas 91             style="width: 12em;" maxlength="12"></td>
2602 27 Aug 14 nicklas 92           <td class="status" id="patientCode.status"></td>
2602 27 Aug 14 nicklas 93           <td class="help">
2602 27 Aug 14 nicklas 94             <span id="patientCode.message" class="message"></span>
2602 27 Aug 14 nicklas 95           </td>
2602 27 Aug 14 nicklas 96         </tr>
2602 27 Aug 14 nicklas 97         <tr valign="top">
2602 27 Aug 14 nicklas 98           <td class="prompt">Family name</td>
2602 27 Aug 14 nicklas 99           <td class="input"><input type="text" name="familyName" id="familyName"
2602 27 Aug 14 nicklas 100             class="auto-init" data-auto-init="focus-on-enter" data-next-focus="allFirstNames"
2602 27 Aug 14 nicklas 101             style="width: 20em;" maxlength="255"></td>
2602 27 Aug 14 nicklas 102           <td class="status" id="familyName.status"></td>
2602 27 Aug 14 nicklas 103           <td class="help">
2602 27 Aug 14 nicklas 104             <span id="familyName.message" class="message"></span>
2602 27 Aug 14 nicklas 105             Keep hyphens, keep åäö, replace all special accented letters [e.g. éèü etc] with standard alphabet character.
2602 27 Aug 14 nicklas 106           </td>
2602 27 Aug 14 nicklas 107         </tr>
2602 27 Aug 14 nicklas 108         <tr valign="top">
2602 27 Aug 14 nicklas 109           <td class="prompt">All first names</td>
2602 27 Aug 14 nicklas 110           <td class="input"><input type="text" name="allFirstNames" id="allFirstNames"
2602 27 Aug 14 nicklas 111             style="width: 20em;" maxlength="255"></td>
2602 27 Aug 14 nicklas 112           <td class="status" id="allFirstNames.status"></td>
2602 27 Aug 14 nicklas 113           <td class="help">
2602 27 Aug 14 nicklas 114             <span id="allFirstNames.message" class="message"></span>
2602 27 Aug 14 nicklas 115             Type all names, see FamilyName comment on valid characters.
2602 27 Aug 14 nicklas 116           </td>
2602 27 Aug 14 nicklas 117         </tr>
2602 27 Aug 14 nicklas 118         <tr>
2602 27 Aug 14 nicklas 119           <td class="prompt">Gender</td>
2602 27 Aug 14 nicklas 120           <td class="input" id="new.gender"></td>
2602 27 Aug 14 nicklas 121           <td class="status" id="gender.status" rowspan="2"></td>
2602 27 Aug 14 nicklas 122           <td class="help" rowspan="2">
2602 27 Aug 14 nicklas 123             <span id="gender.message" class="message"></span>
2602 27 Aug 14 nicklas 124           </td>
2602 27 Aug 14 nicklas 125         </tr>
2602 27 Aug 14 nicklas 126         <tr>
2602 27 Aug 14 nicklas 127           <td class="prompt">Date of birth</td>
2602 27 Aug 14 nicklas 128           <td class="input" id="new.dateOfBirth"></td>
2602 27 Aug 14 nicklas 129         </tr>
2602 27 Aug 14 nicklas 130         </table>
2602 27 Aug 14 nicklas 131       </div>
2602 27 Aug 14 nicklas 132       
2602 27 Aug 14 nicklas 133       <div id="existing-patient" style="display: none;">
2602 27 Aug 14 nicklas 134         <table class="step-form">
2602 27 Aug 14 nicklas 135         <tr>
2602 27 Aug 14 nicklas 136           <td class="prompt">Patient code</td>
2602 27 Aug 14 nicklas 137           <td class="input" id="existing.patientCode"></td>
2602 27 Aug 14 nicklas 138           <td class="status"></td>
2602 27 Aug 14 nicklas 139           <td class="help"></td>
2602 27 Aug 14 nicklas 140         </tr>
2602 27 Aug 14 nicklas 141         <tr>
2602 27 Aug 14 nicklas 142           <td class="prompt">Family name</td>
2602 27 Aug 14 nicklas 143           <td class="input" id="existing.familyName"></td>
2602 27 Aug 14 nicklas 144           <td class="status"></td>
2602 27 Aug 14 nicklas 145           <td class="help"></td>
2602 27 Aug 14 nicklas 146         </tr>
2602 27 Aug 14 nicklas 147         <tr>
2602 27 Aug 14 nicklas 148           <td class="prompt">All first names</td>
2602 27 Aug 14 nicklas 149           <td class="input" id="existing.allFirstNames"></td>
2602 27 Aug 14 nicklas 150           <td class="status"></td>
2602 27 Aug 14 nicklas 151           <td class="help"></td>
2602 27 Aug 14 nicklas 152         </tr>
2602 27 Aug 14 nicklas 153         <tr>
2602 27 Aug 14 nicklas 154           <td class="prompt">Gender</td>
2602 27 Aug 14 nicklas 155           <td class="input" id="existing.gender"></td>
2602 27 Aug 14 nicklas 156           <td class="status"></td>
2602 27 Aug 14 nicklas 157           <td class="help"></td>
2602 27 Aug 14 nicklas 158         </tr>
2602 27 Aug 14 nicklas 159         <tr>
2602 27 Aug 14 nicklas 160           <td class="prompt">Date of birth</td>
2602 27 Aug 14 nicklas 161           <td class="input" id="existing.dateOfBirth"></td>
2602 27 Aug 14 nicklas 162           <td class="status"></td>
2602 27 Aug 14 nicklas 163           <td class="help"></td>
2602 27 Aug 14 nicklas 164         </tr>
2602 27 Aug 14 nicklas 165         </table>
2602 27 Aug 14 nicklas 166       </div>
2602 27 Aug 14 nicklas 167     </div>
2602 27 Aug 14 nicklas 168     </div>
1517 20 Jan 12 nicklas 169   
2602 27 Aug 14 nicklas 170   
2602 27 Aug 14 nicklas 171     <div class="step" id="step-3">
2602 27 Aug 14 nicklas 172       <div class="step-no">3</div>
2602 27 Aug 14 nicklas 173       <div class="step-title" id="step-3-title">Create new blood</div>
2602 27 Aug 14 nicklas 174       <div class="step-content">
1517 20 Jan 12 nicklas 175
2602 27 Aug 14 nicklas 176       <table class="step-form">
2602 27 Aug 14 nicklas 177         <tr id="samplingDateSection">
2602 27 Aug 14 nicklas 178           <td class="prompt">Blood sampling date</td>
2602 27 Aug 14 nicklas 179           <td class="input">
2602 27 Aug 14 nicklas 180             <input type="text" name="samplingDate" id="samplingDate"
2602 27 Aug 14 nicklas 181               class="auto-init" data-auto-init="focus-on-enter" data-next-focus="samplingTime"
2602 27 Aug 14 nicklas 182               style="width: 12em;" maxlength="10">
2602 27 Aug 14 nicklas 183             Time <input type="text" name="samplingTime" id="samplingTime" 
2602 27 Aug 14 nicklas 184               class="auto-init" data-auto-init="focus-on-enter" data-next-focus="freezerDate"
2602 27 Aug 14 nicklas 185               style="width: 6em;" maxlength="5">
2602 27 Aug 14 nicklas 186           </td>
2602 27 Aug 14 nicklas 187           <td class="status" id="samplingDate.status"></td>
2602 27 Aug 14 nicklas 188           <td class="help">
2602 27 Aug 14 nicklas 189             <span id="samplingDate.message" class="message"></span>
2602 27 Aug 14 nicklas 190             Date+time of blood sampling (YYYYMMDD, HHMM)
2602 27 Aug 14 nicklas 191           </td>
2602 27 Aug 14 nicklas 192         </tr>
2602 27 Aug 14 nicklas 193         <tr id="freezerDateSection">
2602 27 Aug 14 nicklas 194           <td class="prompt">Freezer date</td>
2602 27 Aug 14 nicklas 195           <td class="input">
2602 27 Aug 14 nicklas 196             <input type="text" name="freezerDate" id="freezerDate" 
2602 27 Aug 14 nicklas 197               class="auto-init" data-auto-init="focus-on-enter" data-next-focus="freezerTime"
2602 27 Aug 14 nicklas 198               style="width: 12em;" maxlength="10">
2602 27 Aug 14 nicklas 199             Time <input type="text" name="freezerTime" id="freezerTime" 
2602 27 Aug 14 nicklas 200               style="width: 6em;" maxlength="5"></td>
2602 27 Aug 14 nicklas 201           <td class="status" id="freezerDate.status"></td>
2602 27 Aug 14 nicklas 202           <td class="help">
2602 27 Aug 14 nicklas 203             <span id="freezerDate.message" class="message"></span>
2602 27 Aug 14 nicklas 204             Date+time when put in freezer (YYYYMMDD, HHMM)
2602 27 Aug 14 nicklas 205           </td>
2602 27 Aug 14 nicklas 206         </tr>
2602 27 Aug 14 nicklas 207         <tr id="serumSection">
2602 27 Aug 14 nicklas 208           <td class="prompt">Plasma/serum</td>
2602 27 Aug 14 nicklas 209           <td class="input">
2602 27 Aug 14 nicklas 210             <label><input type="checkbox" name="serum" id="serum" value="1" checked="checked">Yes</label>
2602 27 Aug 14 nicklas 211           </td>
2602 27 Aug 14 nicklas 212           <td class="status" id="serum.status"></td>
2602 27 Aug 14 nicklas 213           <td class="help">Mark the check box if serum/plasma is available.</td>
2602 27 Aug 14 nicklas 214         </tr>
2602 27 Aug 14 nicklas 215         <tr>
2602 27 Aug 14 nicklas 216           <td class="prompt" id="bloodSample.prompt">Blood sample</td>
2602 27 Aug 14 nicklas 217           <td class="input" id="bloodSample.input">
2602 27 Aug 14 nicklas 218             <select  name="bloodSample" id="bloodSample"
2602 27 Aug 14 nicklas 219               class="auto-init" data-auto-init="focus-on-enter" data-next-focus="otherPathNote"
2602 27 Aug 14 nicklas 220               >
2602 27 Aug 14 nicklas 221               <option selected value="">unknown
2602 27 Aug 14 nicklas 222               <option value="PreNeo">PreNeo
2602 27 Aug 14 nicklas 223               <option value="PreOp">PreOp
2602 27 Aug 14 nicklas 224             </select>
2602 27 Aug 14 nicklas 225           </td>
2602 27 Aug 14 nicklas 226           <td class="status" id="bloodSample.status"></td>
2602 27 Aug 14 nicklas 227           <td class="help"><span id="bloodSample.message" class="message"></span></td>
2602 27 Aug 14 nicklas 228         </tr>
2602 27 Aug 14 nicklas 229         <tr class="align-top">
2602 27 Aug 14 nicklas 230           <td class="prompt" id="otherPathNote.prompt">Other path note</td>
2602 27 Aug 14 nicklas 231           <td class="input" id="otherPathNote.input">
2651 10 Sep 14 nicklas 232             <textarea name="otherPathNote" id="otherPathNote" rows="4"></textarea>
2602 27 Aug 14 nicklas 233           </td>
2602 27 Aug 14 nicklas 234           <td class="status" id="otherPathNote.status"></td>
2602 27 Aug 14 nicklas 235           <td class="help">
2602 27 Aug 14 nicklas 236             <span id="otherPathNote.message" class="message"></span>
2602 27 Aug 14 nicklas 237           </td>
2602 27 Aug 14 nicklas 238         </tr>
2602 27 Aug 14 nicklas 239         <tr id="copyConsentSection" style="display: none;">
2602 27 Aug 14 nicklas 240           <td class="prompt">Copy consent?</td>
2602 27 Aug 14 nicklas 241           <td class="input">
2602 27 Aug 14 nicklas 242             <label><input type="checkbox" name="copyConsent" id="copyConsent" value="" checked>
2602 27 Aug 14 nicklas 243             <span id="copyConsent.text"></span></label>
2602 27 Aug 14 nicklas 244           </td>
2602 27 Aug 14 nicklas 245           <td class="status" id="copyConsent.status"></td>
2602 27 Aug 14 nicklas 246           <td class="help"></td>
2602 27 Aug 14 nicklas 247         </tr>
2602 27 Aug 14 nicklas 248         </table>
2602 27 Aug 14 nicklas 249       </div>
2602 27 Aug 14 nicklas 250     </div>
1517 20 Jan 12 nicklas 251
2602 27 Aug 14 nicklas 252     <div id="wizard-status"></div>
1517 20 Jan 12 nicklas 253
2602 27 Aug 14 nicklas 254     <table class="navigation" id="navigation">
2602 27 Aug 14 nicklas 255     <tr>
2602 27 Aug 14 nicklas 256       <td><base:button id="gocancel" title="Cancel" /></td>
2602 27 Aug 14 nicklas 257       <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
2602 27 Aug 14 nicklas 258       <td><base:button id="goregister" title="Register" image="<%=home+"/images/gonext.png"%>" /></td>
2602 27 Aug 14 nicklas 259       <td><base:button id="goupdate" title="Update" image="<%=home+"/images/gonext.png"%>" /></td>
2602 27 Aug 14 nicklas 260       <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
2602 27 Aug 14 nicklas 261       <td id="gonext-message" class="message"></td>
2602 27 Aug 14 nicklas 262     </tr>
2602 27 Aug 14 nicklas 263     </table>
1517 20 Jan 12 nicklas 264
1517 20 Jan 12 nicklas 265   </form>
1538 21 Feb 12 nicklas 266   </div>
1517 20 Jan 12 nicklas 267   
1517 20 Jan 12 nicklas 268 </base:body>
1517 20 Jan 12 nicklas 269 </base:page>
1517 20 Jan 12 nicklas 270 <%
1517 20 Jan 12 nicklas 271 }
1517 20 Jan 12 nicklas 272 finally
1517 20 Jan 12 nicklas 273 {
1517 20 Jan 12 nicklas 274   if (dc != null) dc.close();
1517 20 Jan 12 nicklas 275 }
1517 20 Jan 12 nicklas 276 %>