Mission-critical Ajax: Making Test Ordering Easier and Faster at Quest Diagnostics


Published on

Published in: Technology, Health & Medicine
1 Like
  • Wonderful example of MUMPS - Web integration
    Are you sure you want to  Yes  No
    Your message goes here
  • Very impressive

    Are you sure you want to  Yes  No
    Your message goes here
  • http://iulren.com/preparing-your-future-career-with-phlebotomy-tech-school.html
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Mission-critical Ajax: Making Test Ordering Easier and Faster at Quest Diagnostics

  1. 1. Mission-critical Ajax: Making Test Ordering Easier and Faster at Quest Diagnostics David Rapperport
  2. 2. <ul><li>Diagnostics Testing: </li></ul><ul><ul><li>In the U.S., it is estimated that the cost of laboratory testing is only 3% of the total annual cost of health care. Yet, up to 80% of objective information used in diagnostic decision making is estimated to come from laboratory tests* </li></ul></ul><ul><ul><ul><ul><li>* American Society for Clinical Laboratory Science Mar/Apr 1998 </li></ul></ul></ul></ul>
  3. 3. Background <ul><li>About Quest Diagnostics: </li></ul><ul><ul><li>The leading provider of diagnostic medical testing in the US </li></ul></ul><ul><ul><li>Offer access to its services through its national network of laboratories and patient service centers </li></ul></ul><ul><ul><li>Quest's Care360 web-based lab ordering system is relied upon by more that 100,000+ physicians throughout the US </li></ul></ul><ul><ul><li>Typical application users are; Physicians, Phlebotomists, Hospital Techs, Nurses, and other Healthcare workers </li></ul></ul>
  4. 4. Background <ul><li>Quest Diagnostics’ scale </li></ul><ul><li>150,000,000 Patients tested each year </li></ul><ul><li>550,000 Patients tested each night </li></ul><ul><li>41,500 Employees </li></ul><ul><li>2,000 Patient Service centers </li></ul><ul><li>185 Laboratories </li></ul><ul><li>Data from the Quest Diagnostics 2006 Annual Report </li></ul>
  5. 5. Background <ul><li>Ordering a test is a complex task </li></ul><ul><ul><li>Rule based ordering (77m rules currently dynamically applied) </li></ul></ul><ul><ul><li>Accurately specifying correct required data </li></ul></ul><ul><ul><li>Different regulatory requirements State, National, and International </li></ul></ul><ul><ul><li>Payment via Government and private payors </li></ul></ul>
  6. 6. Background (application) <ul><li>Care360 has been internet-based since May 2000 </li></ul><ul><ul><li>Cache and WebLink based </li></ul></ul><ul><ul><li>Proven to be very stable, secure, and scalable </li></ul></ul><ul><ul><li>Standard page/form mode web application </li></ul></ul><ul><ul><li>Frames, complete page refreshes as user progressed through steps </li></ul></ul><ul><ul><li>Some field level “Ajax” like validations db retrieval using hidden frame submissions and hand crafted JavaScript </li></ul></ul><ul><ul><li>Current scale 750,000,000 HTM </li></ul></ul><ul><ul><li>Six-Sigma availability over the last 5 years </li></ul></ul><ul><ul><li>Code base includes 600+ Cache classes and 500+ dynamic WLD active server pages </li></ul></ul>
  7. 7. Ordering the old way
  8. 8. Ordering the old way
  9. 9. Ordering the old way
  10. 10. Issues <ul><li>Ordering process is cumbersome when implemented as “traditional” web application </li></ul><ul><ul><li>Huge, complex web pages </li></ul></ul><ul><ul><li>Complex tree of possible transitions between pages </li></ul></ul>
  11. 11. Issues <ul><li>Care360 should aid customers </li></ul><ul><ul><li>Constantly inputting many orders a day </li></ul></ul><ul><ul><li>Speed and efficiency highly important </li></ul></ul><ul><ul><li>This is not buying a book…. </li></ul></ul><ul><li>The act of placing a medically and financially correct order can never be too fast. </li></ul><ul><ul><li>BUT, designs must constantly balance “easy of use” versus “speed of entry” </li></ul></ul>
  12. 12. Issues <ul><li>Difficult for team to collaborate effectively: </li></ul><ul><ul><li>Modifying different parts of the same pages </li></ul></ul><ul><li>Big, complex pages cause maintenance headaches </li></ul><ul><ul><li>Original author may not be maintaining it </li></ul></ul><ul><ul><li>What the page does takes valuable time to discover </li></ul></ul><ul><li>Multiple concurrent version development </li></ul><ul><ul><li>Many versions under development at the same time </li></ul></ul>
  13. 13. A case for Ajax? <ul><li>So, did Ajax warrant the hype and deliver the goods at Quest Diagnostics? </li></ul>
  14. 14. Our plan <ul><li>Leave the main core of Care360 alone </li></ul><ul><ul><li>Evolution versus Disruptive Innovation </li></ul></ul><ul><ul><li>Just add/integrate not “Rip and Replace” </li></ul></ul><ul><li>Add a new “EZ-Order” option that applied new Ajax techniques </li></ul><ul><ul><li>Re-design of UI </li></ul></ul><ul><ul><li>Broken down into small, atomic units </li></ul></ul><ul><ul><li>“ Container page” containing designated target <div> placeholders </li></ul></ul><ul><ul><li>Also modal “lightbox” pop-up <div> panels </li></ul></ul>
  15. 15. EWD vs. ZEN Decision <ul><li>CMMI – Substantial Decision Analysis and Resolution Process (DAR) Completed </li></ul><ul><ul><li>Product Requirements: </li></ul></ul><ul><ul><ul><li>Bidirectional Session Integration with WLD </li></ul></ul></ul><ul><ul><ul><li>Continue to use DMZ hardened and proven MGW Infrastructure </li></ul></ul></ul><ul><ul><ul><li>Reuse of existing backend array based method returns </li></ul></ul></ul><ul><ul><ul><li>Cache 5.0.x compatibility </li></ul></ul></ul><ul><ul><ul><li>Fast Learning Curve for current WLD Developers </li></ul></ul></ul><ul><ul><ul><li>Extremely aggressive business timeline requirement </li></ul></ul></ul>
  16. 16. Our Decision <ul><li>EWD was selected due to it’s ability to meet the defined requirements </li></ul><ul><li>ZEN has many positive attributes but for this project it was not able to meet our required needs within the timeline </li></ul><ul><li>Additional EWD Benefits </li></ul><ul><ul><li>Concise browser payload ~(25%) difference </li></ul></ul><ul><ul><li>Contextual Multi-lingual support </li></ul></ul><ul><ul><li>Adaptation Layer for 3 rd Party JavaScript Libraries Implementation; extjs, ejscharts, yui, dojo, etc. </li></ul></ul><ul><ul><li>Deployable as WebLink, CSP, PHP, or JSP application </li></ul></ul>
  17. 17. Technical Solution <ul><li>Using Enterprise Web Developer (EWD) </li></ul><ul><ul><li>Ajax framework </li></ul></ul><ul><ul><ul><li>Concept of page fragments </li></ul></ul></ul><ul><ul><ul><li>Replace the innerHTML of specified target tags </li></ul></ul></ul><ul><ul><li>Compatible with Quest’s existing technical infrastructure </li></ul></ul>
  18. 18. Container Page: <div> breakdown Page1 OrderDetail PatientInfo StandingOrder Patient SearchList / InfoDetail Billing InsuranceInfo GuarantorInfo Comments
  19. 19. Ajax Application Flow Container Page Fetch data Pre-page Script EWD State & Session Management Back-end Server Front-end technology (WebLink, PHP, CSP etc) Generate Page
  20. 20. Ajax Application Flow Container Page Fetch Page Fragment Page Fragment Fetch data Event Replaces DOM content Pre-page Script Pre-page Script EWD State & Session Management Back-end Server XMLHttpRequest Generate Fragment
  21. 21. Ajax Application Flow Container Page Fetch Page Fragment Page Fragment Fetch data Event Replaces DOM content Pre-page Script EWD State & Session Management Back-end Server
  22. 22. Ajax Application Flow Container Page EWD State & Session Management Back-end Server
  23. 23. Timescales and resources <ul><li>4 developers </li></ul><ul><li>45 days each </li></ul><ul><li>Tasks: </li></ul><ul><ul><ul><li>Learn the technology and methodology: </li></ul></ul></ul><ul><ul><ul><ul><li>Advanced JavaScript, Ajax, JSON, YUI, etc </li></ul></ul></ul></ul><ul><ul><ul><ul><li>EWD Toolset </li></ul></ul></ul></ul><ul><ul><ul><li>Deliverables: </li></ul></ul></ul><ul><ul><ul><ul><li>Phase 1 production ready </li></ul></ul></ul></ul>
  24. 24. End Product
  25. 25. End Product
  26. 26. End Product
  27. 27. End Product
  28. 28. User satisfaction <ul><li>User trials were fully successful </li></ul><ul><li>Full production rollout successful </li></ul><ul><li>Some initial performance issues that have been ironed out </li></ul><ul><ul><li>Due to many more, but smaller, back-end transactions </li></ul></ul>
  29. 29. User Interface improvements <ul><li>Flow through the complexity of ordering is now much more intuitive </li></ul><ul><li>The impression is that of a much slicker, more responsive interface </li></ul><ul><ul><li>Each event just changes a small area of screen </li></ul></ul>
  30. 30. User Interface improvements <ul><li>Not yet fully utilizing pre-emptive, asynchronous data-fetching </li></ul><ul><ul><li>Currently using pre-fetching in application where long option lists are expected via Dynamic Select List </li></ul></ul><ul><ul><li>More potential opportunities for this in the future </li></ul></ul>
  31. 31. System/performance: pros <ul><li>Performance good during ordering process </li></ul><ul><li>Good scaling with load balanced app and web servers </li></ul><ul><li>JavaScript performance adequate </li></ul>
  32. 32. System/performance: cons <ul><li>Application Servers work harder managing more, smaller, Ajax transactions </li></ul><ul><li>Potential client issues with any JavaScript error that can stop client processing </li></ul><ul><li>Not so good for users with latent internet connections </li></ul>
  33. 33. Security <ul><li>No adverse problems experienced to date </li></ul><ul><li>Independent penetration test completed with no EZ-Order issues uncovered </li></ul><ul><li>EWD’s Ajax framework secure in our deployment </li></ul>
  34. 34. Development & Maintenance <ul><li>Simplified the design and construction of the UI and the user’s work-flow </li></ul><ul><li>Allowed much better work breakdown </li></ul><ul><ul><li>Allowed individual functions to be assigned to individuals </li></ul></ul><ul><ul><li>Each concentrated on his/her fragments </li></ul></ul><ul><ul><li>Clean, well defined interfacing of fragment modules </li></ul></ul>
  35. 35. Development & Maintenance <ul><li>Already experiencing lower maintenance overhead compared with the “classic” web approach </li></ul><ul><ul><li>Smaller team required to support new module </li></ul></ul><ul><ul><li>More reuse possible </li></ul></ul><ul><ul><li>Faster for bug-fix and enhancements </li></ul></ul><ul><ul><li>No one module is overly complex </li></ul></ul>
  36. 36. Business improvements <ul><li>Marketing very pleased with the product and aggressively selling </li></ul><ul><li>Very well received at HIMMS Conference </li></ul><ul><li>Recognized by AjaxWorld at their 2008 Conference </li></ul>
  37. 37. Conclusions <ul><li>Ajax is not just hype </li></ul><ul><li>Ajax really does bring business benefits </li></ul>