Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register

Changeset 5259

Show
Ignore:
Timestamp:
08/12/08 19:10:42 (5 months ago)
Author:
sunbiz
Message:

registration: Creating new patient from uploaded IDs completed

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs-modules/registration/web/module/optionsList.jsp

    r5219 r5259  
    1111    <table> 
    1212      <tr> 
    13         <td
     13        <td rowspan="2"
    1414          <form id="uploadForm" action="/openmrs/moduleServlet/registration/UploadHandler"  method="post" enctype="multipart/form-data"> 
    1515            Select Generated Indentifier File:&nbsp;<input size="30" type="file" name="file"/><br/> 
     
    1717          </form> 
    1818        </td> 
    19         <td
     19        <td rowspan="2"
    2020          <div style="padding-left:10px;" id="uploadMessage" ></div> 
    2121        </td> 
     22        <td style="padding-left:10px;"><b id="availableCount" >Available IDs (${idMap.totalFree})</b></td> 
     23      </tr> 
     24      <tr> 
     25        <td style="padding-left:10px;"><b id="usedCount" >Used IDs (${idMap.totalUsed})</b></td> 
    2226      </tr> 
    2327    </table> 
    2428  </div> 
    2529</p> 
    26 <p> 
    27   <div class="box"> 
    28     <table width="100%" > 
    29       <thead style="background-color:#CCCCCC"> 
    30         <th width="50%">Available IDs (${idMap.totalFree})</th> 
    31         <th width="50%">Used IDs (${idMap.totalUsed}) </th> 
    32       </thead> 
    33       <tbody> 
    34         <c:forEach items="${idMap}" var="prod"> 
    35           <tr> 
    36             <td> 
    37               <c:when test=""> 
    38                  
    39               </c:when> 
    40             </td> 
    41             <td> 
    42               <c:when test=""> 
    43  
    44               </c:when> 
    45             </td> 
    46           </tr> 
    47         </c:forEach> 
    48       </tbody> 
    49     </table> 
    50   </div> 
    51 </p> 
    5230<%@ include file="/WEB-INF/template/footer.jsp"%> 
  • openmrs-modules/registration/web/module/registerPatientForm.jsp

    r5147 r5259  
    4747              <tbody id="identifiersTbody"> 
    4848                <tr> 
    49                   <td id="loadedID"></td> 
     49                  <td id="loadedID" style="padding-right:10px;"><c:out value="${patient.identifierString}" /></td> 
     50                  <c:choose> 
     51                    <c:if test="${patient.message!=''}"> 
     52                      <td style="padding-left:10px; padding-right:10px; color: white; background-color:#FF0000"><c:out value="Message: ${patient.message}" /></td> 
     53                    </c:if> 
     54                  </c:choose> 
    5055                </tr> 
    5156              </tbody> 
     
    6570                  <td> <select name="identifierType"> <option value="2"> Old Identification Number </option> <option 
    6671                    value="1"> OpenMRS Identification Number </option> </select> </td> 
    67                   <td> <select name="location"> <option value=""/>  <option value="1"> Unknown Location </option> 
    68                   </select> </td> 
     72                  <td> <select name="location"> <option value=""/>  <option value="1"> Unknown Location </option></select> </td> 
    6973                  <td align="center" valign="middle"> <input type="radio" value="" name="preferred"/> </td> 
    70                   <td align="center" valign="middle"> <input class="closeButton" type="button" value="Remove" 
    71                                                              name="closeButton"/> </td> 
     74                  <td align="center" valign="middle"> <input class="closeButton" type="button" value="Remove" name="closeButton"/> </td> 
    7275                </tr> 
    7376              </tbody> 
     
    168171    <tr><td>&nbsp;</td></tr> 
    169172    <tr> 
    170       <td><input type="submit" value="<spring:message code="registration.labels.saveButton"/>"/></td><td><input type="reset" value="<spring:message code="registration.labels.resetButton" />" ></td> 
     173      <td><input id="saveButton" type="submit" value="<spring:message code="registration.labels.saveButton"/>"/></td><td><input type="reset" value="<spring:message code="registration.labels.resetButton" />" ></td> 
    171174    </tr> 
    172175  </table> 
  • openmrs-modules/registration/web/module/resources/scripts/registerPatient.js

    r5147 r5259  
    1616        })); 
    1717    $("#age").html(calculateAge()); 
     18    if(($("#loadedID").html())==null || ($("#loadedID").html())=="" ){ 
     19        $("#saveButton").attr("disabled","true"); 
     20    } 
    1821}); 
    1922 
  • openmrs-modules/registration/web/module/resources/scripts/upload.js

    r5217 r5259  
    1313// post-submit callback 
    1414function showResponse(responseText, statusText){ 
     15    $("#availableCount").hide(); 
     16    $("#usedCount").hide(); 
    1517} 
  • openmrs-modules/registration/web/src/org/openmrs/module/registration/model/RegisterPatientModel.java

    r5147 r5259  
    2020import org.openmrs.Tribe; 
    2121 
    22  
    23 //<editor-fold defaultstate="collapsed"> 
    2422public class RegisterPatientModel { 
    2523 
     24    private String message = ""; 
    2625    private PersonName name = new PersonName(); 
    2726    private PatientIdentifier identifier = new PatientIdentifier(); 
     27    private String identifierString = ""; 
    2828    private String gender = ""; 
    2929    private Tribe tribe = null; 
     
    3535 
    3636    public RegisterPatientModel() { 
    37         super(); 
    38         System.out.println("Inside Default Constructor"); 
     37    } 
     38 
     39    public String getMessage() { 
     40        return this.message; 
     41    } 
     42 
     43    public void setMessage(String message) { 
     44        this.message = message; 
    3945    } 
    4046 
     
    5359    public void setIdentifier(PatientIdentifier identifier) { 
    5460        this.identifier = identifier; 
     61    } 
     62 
     63    public String getIdentifierString() { 
     64        return this.identifierString; 
     65    } 
     66 
     67    public void setIdentifierString(String identifierString) { 
     68        this.identifierString = identifierString; 
    5569    } 
    5670 
  • openmrs-modules/registration/web/src/org/openmrs/module/registration/web/controller/OptionsController.java

    r5219 r5259  
    1616import java.io.File; 
    1717import java.util.HashMap; 
    18 import java.util.Iterator
     18import java.util.List
    1919import java.util.Map; 
    2020import javax.servlet.http.HttpServletRequest; 
     
    3838            Document document = reader.read(availableIDs.toURI().toURL()); 
    3939            Element root = document.getRootElement(); 
    40             int index = 0; 
    41             for (Iterator i = root.elementIterator("available"); i.hasNext();) { 
    42                 Element id = (Element) i.next(); 
    43                 idMap.put("available" + index, id.getText()); 
    44                 System.out.println("Available IDs = " + id.getText()); 
    45                 index++; 
    46             } 
    47             idMap.put("totalFree", index); 
    48             index = 0; 
    49             for (Iterator i = root.elementIterator("used"); i.hasNext();) { 
    50                 Element id = (Element) i.next(); 
    51                 idMap.put("used" + index, id.getText()); 
    52                 System.out.println("Used IDs = " + id.getText()); 
    53                 index++; 
    54             } 
    55             idMap.put("totalUsed", index); 
     40            List list = document.selectNodes("//patientIDs/available"); 
     41            idMap.put("totalFree", list.size()); 
     42            list = document.selectNodes("//patientIDs/used"); 
     43            idMap.put("totalUsed", list.size()); 
    5644        } 
    5745        return new ModelAndView("/module/registration/optionsList", "idMap", idMap); 
  • openmrs-modules/registration/web/src/org/openmrs/module/registration/web/controller/RegisterPatientFormController.java

    r5147 r5259  
    1414package org.openmrs.module.registration.web.controller; 
    1515 
    16 import java.text.SimpleDateFormat; 
     16import java.io.File; 
     17import java.io.FileWriter; 
    1718import java.util.Date; 
    1819import java.util.HashMap; 
     20import java.util.List; 
    1921import java.util.Map; 
    2022 
     
    2325import org.apache.commons.logging.Log; 
    2426import org.apache.commons.logging.LogFactory; 
     27import org.dom4j.Document; 
     28import org.dom4j.Element; 
     29import org.dom4j.io.OutputFormat; 
     30import org.dom4j.io.SAXReader; 
     31import org.dom4j.io.XMLWriter; 
    2532import org.openmrs.Location; 
     33import org.openmrs.Patient; 
    2634import org.openmrs.PatientIdentifier; 
    2735import org.openmrs.PatientIdentifierType; 
    28 import org.openmrs.PersonAddress; 
    2936import org.openmrs.PersonName; 
    30 import org.openmrs.api.EncounterService; 
    3137import org.openmrs.api.PatientService; 
    32 import org.openmrs.api.PersonService; 
    3338import org.openmrs.api.context.Context; 
    3439import org.openmrs.module.registration.model.RegisterPatientModel; 
     40import org.openmrs.util.OpenmrsUtil; 
    3541import org.springframework.validation.Errors; 
    3642import org.springframework.web.servlet.ModelAndView; 
     
    4854    protected final Log log = LogFactory.getLog(getClass()); 
    4955 
    50     /** 
    51      * Returns any extra data in a key-->value pair kind of way 
    52      *  
    53      * @see org.springframework.web.servlet.mvc.SimpleFormController#referenceData(javax.servlet.http.HttpServletRequest, java.lang.Object, org.springframework.validation.Errors) 
    54      */ 
    5556    @Override 
    5657    protected Map<String, Object> referenceData(HttpServletRequest request, Object obj, Errors err) throws Exception { 
    57  
    58         // this method doesn't return any extra data right now, just an empty map 
    5958        return new HashMap<String, Object>(); 
    6059    } 
     
    6261    @Override 
    6362    protected ModelAndView onSubmit(Object command) throws Exception { 
    64         System.out.println("===>>>Inside onSubmit"); 
    65  
    66         PersonService personService = Context.getPersonService(); 
    67         EncounterService encounterService = Context.getEncounterService(); 
    6863        PatientService patientService = Context.getPatientService(); 
    69         org.openmrs.Patient openmrsPatient = new org.openmrs.Patient(); 
     64        Patient openmrsPatient = new Patient(); 
    7065        RegisterPatientModel patientModel = ((RegisterPatientModel) command); 
    7166        Location location = new Location(1); 
    7267        PatientIdentifierType identType = patientService.getPatientIdentifierType(1); 
    73         PatientIdentifier patientIdentifier = new PatientIdentifier("18MUM-7", identType, location); 
     68        PatientIdentifier patientIdentifier = new PatientIdentifier(patientModel.getIdentifierString(), identType, location); 
    7469        openmrsPatient.addIdentifier(patientIdentifier); 
    7570 
     
    8075        openmrsPatient.addAddress(patientModel.getAddress()); 
    8176        openmrsPatient.setDeathDate(patientModel.getDeathdate()); 
    82         System.out.println("Tribe = " + patientModel.getTribe()); 
    83         System.out.println("deathDate = " + patientModel.getDeathdate()); 
    84         System.out.println("deathDate = " + openmrsPatient.getDeathDate()); 
     77        File availableIDs = new File(OpenmrsUtil.getApplicationDataDirectory() + "\\availableIDs.xml"); 
     78        SAXReader reader = new SAXReader(); 
     79        Document document = reader.read(availableIDs.toURI().toURL()); 
     80        Element root = document.getRootElement(); 
     81        List list = document.selectNodes("//patientIDs/available"); 
     82        if (list.size() > 0) { 
     83            Element usedNode = (Element) list.get(0); 
     84            String usedIdentifier = usedNode.getText(); 
     85            root.remove(usedNode); 
     86            root.addElement("used").addText(usedIdentifier); 
     87        } 
     88        FileWriter fw = new FileWriter(availableIDs); 
     89        OutputFormat format = OutputFormat.createPrettyPrint(); 
     90        XMLWriter writer = new XMLWriter(fw, format); 
     91        writer.write(document); 
     92        writer.close(); 
     93         
    8594        patientService.savePatient(openmrsPatient); 
    8695        return new ModelAndView(new RedirectView(getSuccessView())); 
     
    8998    @Override 
    9099    protected Object formBackingObject(HttpServletRequest request) throws Exception { 
    91         System.out.println("===>>>Inside formBackingObject"); 
    92100        RegisterPatientModel registerPatientModel = new RegisterPatientModel(); 
    93101        String name = request.getParameter("addName"); 
     
    116124                registerPatientModel.setBirthdateString(birthDate); 
    117125                registerPatientModel.setBirthdate(new Date(birthDate)); 
    118             //registerPatientModel.setIdentifier(new PatientIdentifier("1MUM-6",new PatientIdentifierType(),new Location())); 
    119             //new PatientIdentifier().setIdentifier("1MUM-6"); 
    120             //String identifier = "1MUM-=6"; 
    121             //registerPatientModel.setIdentifier(identifier); 
     126 
     127                // <editor-fold defaultstate="collapsed" desc="Get Available Identifier"> 
     128                File availableIDs = new File(OpenmrsUtil.getApplicationDataDirectory() + "\\availableIDs.xml"); 
     129                if (availableIDs.exists()) { 
     130                    SAXReader reader = new SAXReader(); 
     131                    Document document = reader.read(availableIDs.toURI().toURL()); 
     132                    Element root = document.getRootElement(); 
     133                    List list = document.selectNodes("//patientIDs/available"); 
     134                    if (list.size() > 0) { 
     135                        if (list.size() < 5) { 
     136                            registerPatientModel.setMessage("Very Few IDs ("+list.size()+") Left. Please Upload New IDs"); 
     137                        } 
     138                        registerPatientModel.setIdentifierString(((Element) list.get(0)).getText()); 
     139                    } 
     140                    else { 
     141                        registerPatientModel.setMessage("No Identifiers Left. Please Upload New IDs"); 
     142                    } 
     143                }else{ 
     144                    registerPatientModel.setMessage("AvailableIDs File Not Found. Please Upload Generated File from Options Page"); 
     145                } 
     146            // </editor-fold> 
    122147            } 
    123         } //else if (patientIdentifier != null) { 
    124         //if (!patientIdentifier.equals("")) { 
    125         //} 
    126         //} 
     148        } 
    127149        return registerPatientModel; 
    128150    }