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

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

Embed Size (px)

Citation preview

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

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

David Rapperport

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

Diagnostics Testing: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*

* American Society for Clinical Laboratory Science Mar/Apr 1998

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

Background

About Quest Diagnostics:The leading provider of diagnostic medical testing in the

USOffer access to its services through its national network of

laboratories and patient service centersQuest's Care360 web-based lab ordering system is relied

upon by more that 100,000+ physicians throughout the USTypical application users are; Physicians, Phlebotomists,

Hospital Techs, Nurses, and other Healthcare workers

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

Background

Quest Diagnostics’ scale 150,000,000 Patients tested each year 550,000 Patients tested each night 41,500 Employees 2,000 Patient Service centers 185 Laboratories

Data from the Quest Diagnostics 2006 Annual Report

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

Background

Ordering a test is a complex taskRule based ordering (77m rules currently

dynamically applied)Accurately specifying correct required dataDifferent regulatory requirements State, National,

and InternationalPayment via Government and private payors

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

Background (application) Care360 has been internet-based since May 2000

Cache and WebLink basedProven to be very stable, secure, and scalableStandard page/form mode web applicationFrames, complete page refreshes as user progressed

through stepsSome field level “Ajax” like validations db retrieval using

hidden frame submissions and hand crafted JavaScriptCurrent scale 750,000,000 HTMSix-Sigma availability over the last 5 yearsCode base includes 600+ Cache classes and 500+

dynamic WLD active server pages

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

Ordering the old way

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

Ordering the old way

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

Ordering the old way

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

Issues

Ordering process is cumbersome when implemented as “traditional” web applicationHuge, complex web pages Complex tree of possible transitions between

pages

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

Issues

Care360 should aid customersConstantly inputting many orders a daySpeed and efficiency highly importantThis is not buying a book….

The act of placing a medically and financially correct order can never be too fast. BUT, designs must constantly balance “easy of

use” versus “speed of entry”

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

Issues

Difficult for team to collaborate effectively: Modifying different parts of the same pages

Big, complex pages cause maintenance headachesOriginal author may not be maintaining itWhat the page does takes valuable time to discover

Multiple concurrent version developmentMany versions under development at the same time

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

A case for Ajax?

So, did Ajax warrant the hype and deliver the goods at Quest Diagnostics?

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

Our plan

Leave the main core of Care360 aloneEvolution versus Disruptive InnovationJust add/integrate not “Rip and Replace”

Add a new “EZ-Order” option that applied new Ajax techniquesRe-design of UIBroken down into small, atomic units“Container page” containing designated target

<div> placeholdersAlso modal “lightbox” pop-up <div> panels

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

EWD vs. ZEN Decision

CMMI – Substantial Decision Analysis and Resolution Process (DAR) CompletedProduct Requirements:

• Bidirectional Session Integration with WLD

• Continue to use DMZ hardened and proven MGW Infrastructure

• Reuse of existing backend array based method returns

• Cache 5.0.x compatibility

• Fast Learning Curve for current WLD Developers

• Extremely aggressive business timeline requirement

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

Our Decision

EWD was selected due to it’s ability to meet the defined requirements

ZEN has many positive attributes but for this project it was not able to meet our required needs within the timeline

Additional EWD BenefitsConcise browser payload ~(25%) differenceContextual Multi-lingual supportAdaptation Layer for 3rd Party JavaScript Libraries

Implementation; extjs, ejscharts, yui, dojo, etc.Deployable as WebLink, CSP, PHP, or JSP application

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

Technical Solution

Using Enterprise Web Developer (EWD)Ajax framework

• Concept of page fragments• Replace the innerHTML of specified target

tags

Compatible with Quest’s existing technical infrastructure

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

Container Page: <div> breakdown

Page1

OrderDetail PatientInfo

StandingOrder PatientSearchList / InfoDetail

Billing

InsuranceInfo GuarantorInfo

Comments

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

Ajax Application Flow

ContainerPage

Fetchdata

Pre-pageScript

EWD State & Session Management

Back-end Server

Front-end technology (WebLink, PHP, CSP etc)

GeneratePage

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

Ajax Application Flow

ContainerPage

FetchPage

Fragment

Page Fragment

Fetchdata

Event

Replaces DOM content

Pre-pageScript

Pre-pageScript

EWD State & Session Management

Back-end Server

XMLHttpRequest

GenerateFragment

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

Ajax Application Flow

ContainerPage

FetchPage

Fragment

Page Fragment

Fetchdata

Event

Replaces DOM content

Pre-pageScript

EWD State & Session Management

Back-end Server

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

Ajax Application Flow

ContainerPage

EWD State & Session Management

Back-end Server

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

Timescales and resources

4 developers 45 days each Tasks:

• Learn the technology and methodology:– Advanced JavaScript, Ajax, JSON, YUI,

etc– EWD Toolset

• Deliverables:– Phase 1 production ready

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

End Product

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

End Product

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

End Product

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

End Product

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

User satisfaction

User trials were fully successful Full production rollout successful Some initial performance issues that have been

ironed outDue to many more, but smaller, back-end

transactions

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

User Interface improvements Flow through the complexity of ordering is now

much more intuitive

The impression is that of a much slicker, more responsive interfaceEach event just changes a small area of screen

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

User Interface improvements

Not yet fully utilizing pre-emptive, asynchronous data-fetchingCurrently using pre-fetching in application where

long option lists are expected via Dynamic Select List

More potential opportunities for this in the future

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

System/performance: pros

Performance good during ordering process

Good scaling with load balanced app and web servers

JavaScript performance adequate

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

System/performance: cons

Application Servers work harder managing more, smaller, Ajax transactions

Potential client issues with any JavaScript error that can stop client processing

Not so good for users with latent internet connections

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

Security

No adverse problems experienced to date

Independent penetration test completed with no EZ-Order issues uncovered

EWD’s Ajax framework secure in our deployment

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

Development & Maintenance

Simplified the design and construction of the UI and the user’s work-flow

Allowed much better work breakdownAllowed individual functions to be assigned to

individualsEach concentrated on his/her fragmentsClean, well defined interfacing of fragment

modules

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

Development & Maintenance

Already experiencing lower maintenance overhead compared with the “classic” web approachSmaller team required to support new moduleMore reuse possibleFaster for bug-fix and enhancementsNo one module is overly complex

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

Business improvements Marketing very pleased with the product and

aggressively selling

Very well received at HIMMS Conference

Recognized by AjaxWorld at their 2008 Conference

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

Conclusions

Ajax is not just hype

Ajax really does bring business benefits