Code review /ProgramOverModule11Purpose of the module: the module displays statistics about a program. All available programs can be selected. The list of indicators is static. The user can select to display a graph. Maintainability - JUnit AdminListExtensionTest fails, no other test cases implemented - Design: org.openmrs.module.programOver.web.controller.ProgramPatientsController is not a Spring controller - Error org.openmrs.module.programOver.web.controller.PatientGraph.getGraphOfAllARVPatients(PatientGraph.java:94)
- sysout ProgramOverviewDAOimpl >>> see OpenMRS code convention
Error Handling - Exception handling
- SQL without exception handling ProgramOverviewDAOimpl line 159, 194, etc. Performance - Report HIV, Number of active patients on ARVs regimen (2004-2008, graph activated)
- How much time is spent on the server side? How much on client side (Javascript)?
- problem is on server side - run time 5 minutes on laptop- database table, count patients=2000, count obs=300000- observation: ProgramOverviewDAOimpl.getAllARVPatients() loops over patientIDs, each step executes up to three SQL query
Trace log messages Number of patients died during the chosen period 2004 - 2008 [java] INFO - ProgramOverFormController.handleRequestInternal(60) |2010-10-29 15:52:01,562| TIME check start handleRequestInternal
[java] INFO - ProgramOverFormController.handleRequestInternal(77) |2010-10-29 15:52:01,578| TIME check before getNumberOfMonths [java] INFO - ProgramOverFormController.handleRequestInternal(84) |2010-10-29 15:52:01,578| TIME check after getNumberOfMonths
[java] INFO - ProgramOverFormController.handleRequestInternal(129) |2010-10-29 15:52:01,578| TIME check before loop checkTypeController [java] INFO - ProgramOverFormController.handleRequestInternal(144) |2010-10-29 15:52:01,765| TIME check after loop checkTypeController
[java] ++++++++++This HIV Programis found [java] INFO - ProgramOverFormController.handleRequestInternal(161) |2010-10-29 15:52:01,765| TIME check before numberOfPatientByYear
[java] INFO - ProgramOverFormController.handleRequestInternal(165) |2010-10-29 15:52:01,828| TIME check after numberOfPatientByYear
Number of active patients on ARVs 2004 - 2008 [java] INFO - ProgramOverFormController.handleRequestInternal(60) |2010-10-29 15:53:24,171| TIME check start handleRequestInternal
[java] INFO - ProgramOverFormController.handleRequestInternal(77) |2010-10-29 15:53:24,171| TIME check before getNumberOfMonths [java] INFO - ProgramOverFormController.handleRequestInternal(84) |2010-10-29 15:53:24,171| TIME check after getNumberOfMonths
[java] INFO - ProgramOverFormController.handleRequestInternal(129) |2010-10-29 15:53:24,171| TIME check before loop checkTypeController [java] INFO - ProgramOverFormController.handleRequestInternal(144) |2010-10-29 15:53:53,421| TIME check after loop checkTypeController
[java] INFO - ProgramOverFormController.handleRequestInternal(161) |2010-10-29 15:53:53,421| TIME check before numberOfPatientByYear [java] INFO - RegimenHistory.getRegimenList(76) |2010-10-29 15:54:16,015| Running list: 0
[java] INFO - RegimenHistory.getRegimenList(77) |2010-10-29 15:54:16,031| Stavudine(30) from 2004-05-06 to 2004-02-12 [java] INFO - RegimenHistory.getRegimenList(76) |2010-10-29 15:54:46,984| Running list: 0
[java] INFO - RegimenHistory.getRegimenList(77) |2010-10-29 15:54:46,984| Stavudine(30) from 2004-05-06 to 2004-02-12 [java] INFO - RegimenHistory.getRegimenList(76) |2010-10-29 15:55:38,234| Running list: 0
[java] INFO - RegimenHistory.getRegimenList(77) |2010-10-29 15:55:38,234| Stavudine(30) from 2004-05-06 to 2004-02-12 [java] INFO - RegimenHistory.getRegimenList(76) |2010-10-29 15:56:22,609| Running list: 0
[java] INFO - RegimenHistory.getRegimenList(77) |2010-10-29 15:56:22,609| Stavudine(30) from 2004-05-06 to 2004-02-12 [java] INFO - RegimenHistory.getRegimenList(76) |2010-10-29 15:57:14,343| Running list: 0
[java] INFO - RegimenHistory.getRegimenList(77) |2010-10-29 15:57:14,343| Stavudine(30) from 2004-05-06 to 2004-02-12 [java] INFO - RegimenHistory.getRegimenList(76) |2010-10-29 15:58:03,843| Running list: 0
[java] INFO - RegimenHistory.getRegimenList(77) |2010-10-29 15:58:03,843| Stavudine(30) from 2004-05-06 to 2004-02-12 [java] INFO - ProgramOverFormController.handleRequestInternal(165) |2010-10-29 15:58:35,375| TIME check after numberOfPatientByYear
- variable listPatientHistory contains a lot of data
Expert Report of Noriyuki Kasahara, M.D. Ph.D. Expert Witness Statement – Noriyuki Kasahara I, Noriyuki Kasahara, declare the following: As detailed in my Curriculum Vitae, attached herewith as Exhibit B, I am currently an Assistant Professor of Pathology as well as Biochemistry & Molecular Biology, at the Institute for Genetic Medicine of USC/Norris Comprehensive Cancer Center. My educ
Industry updates : Jan 3 2011 BioMarker Strategies Names Dr. Samuel Broder to Board of Directors BioMarker Strategies announced today that it has appointed three new Directors, including Dr. Samuel Broder, who is a former Director of the National Cancer Institute and Chief Medical Officer at Celera; Dr. Mark Velleca, a founder and former Senior VP of CGI Pharmaceuticals; and, Dr. Paul