Electronic Patients Records system
based on Oracle Application Express
A real life case study
Who am I
Who am I
Working in IT since 1991
Working with Oracle since v. 7 on Alpha VMS
From administration to development
From customer to sales / management
Oracle SE evangelist around the Globe
Position of Oracle APEX?
Standard Edition database?
Obviously there are more APEX
implementation architectures possible!
VIR e-Care Solutions
Healthcare Software development
Complete medical / administrative support
Based in and focused on The Netherlands
45 staff and growing
30+ years in business
Dutch Healthcare sector
Host based / Client - Server application
Small development team
Broad operational field
It is called…
The main product, Ecaris is:
A computer system which supports the
complete treatment-process of each patient
Primarily arranged for multi-disciplinary
Arranged for each Healthcare organization
Built from separately available modules
164 k. clinical
tests / year
concurrent +100 k. appts. /
€ 395 mio.
Challenge - 1
Create a web based solution
Without big infrastructural (€) changes
Easy to maintain
Maximum use of system resources
Challenge - 2
Create Oracle Forms like* functionality
* Full keyboard support
Completely functional plan board
Challenge - 3
Retain delivery methodology
Selection - infra
Not an option, to difficult
Even with special terms too expensive
Oracle Standard (One)
Strong core, peripherals made to fit
Selection - technique 1
Too limited environment
Still needs lots of additional programming
Does not ‘fit’ PL/SQL environment
Way to ‘intense’
Selection - technique 2
Fit for 60 per cent of environment
Note: this is summer 2010
100% fit to technical requirements
This is an APEX session
This is an APEX solution!
Demo plan board
All mouse-clicks are also function keys
1. Show plan board
2. Mouse-over’s (no function keys, obviously)
3. Appointment contents (with warning)
4. Appointment change history
5. Changing plan board layout
6. Move appointment
Demo plan board
Monolithic, secure application core
Oracle database Standard Edition One
Oracle HTTP Server Powered by Apache
Backbase BXML Ajax Toolkit
– Replacement under investigation
Rule Based Optimizer
“If you have developed OLTP applications using Oracle version 6, and
if you have tuned the SQL statements carefully based on the rules of
the optimizer, then you might want to continue using the RBO when
you upgrade these applications to a new Oracle release.”
HP rx2600 w. HPUX 11i R3
2 CPU w. 2 cores
12 GB RAM
Oracle Reports Server
Knee fall to architecture, why?
PL/PDF or iAdvise Doxxy
Standby database critical in Healthcare
Oracle Data Guard not available
Web application needs single sign on
Support from application core
Dell now Quest One Quick Connect
Healthcare informatics is comprised of
numerous individual systems
Standard messages HL7 (http://nl.wikipedia.org/wiki/HL7)
Open source broker
Offloading and BI
Second database required
Microsoft Office integration
Actually just xml
Legacy ODBC connections
not possible with SaaS delivery
Application Performance Monitoring
Analyse and compare performance
Get numbers to feeling
Gartner APM Conceptual Framework
Lowest TCO possible
Looks like a lot of work…
But isn’t this always so?
“Setup and forget”
Active Directory integration
Connection driven background image
Zero Footprint Reporting
Connect to the community
Key points (recap)
Oracle Application Express is a valid choice
for core systems
Oracle Database Standard Edition is a valid
choice for core systems
There are valid alternatives to the Oracle
Q & A
Over 20 years – Intro Oracle – Dev – Mgmt – Oracle ACEA since last month
Starting as a general sysadmin on a mainframe
Got introduced to Oracle
Gradually developed a manegerial career from consulting and added a sales perspective.
Currently working for development companies
Get a perspective on your knowledge
As your Q&A is at the end of the presentation, I will do mine in te beginning.
Pens / paper – 3rd party – personal data / appointments / treatment / invoice - multidisciplinary
Started from pens and paper, through 3rd party software to Oracle ISV
Complete administration from personal data to appointments and from treatment plans to invoicing
Working from The Netherlands for all multidisciplinary working healthcare providers,primarily rehabilitation medicine
Background of the project
The application has been around since mid 1990
Unix / Oracle host based system developed for HP Unix and implemented on VMS (was working with a client those days)
Started out as a system mainly for multidisciplinary planning and invoicing
Ecaris in itself is basically a framework which offers healthcare organizations the possiblity to support their administrative procesess with a completely “tailered to fit” support system.
The open model of Ecaris creates the opportunity to use, reuse and add data and information so each unique care-process is fully supported.
1. 395 milion Euro flows through Ecaris with our clients each year on a national base.
2. 164,000 clinical tests taken each year on a national base.
3. 8,000 healthcare and support professionals on a national base
4. On the busiest system we have approximately 400 concurrent users
5. On the largest site there can be as many as 100,000 appointments registered per month
6. Ecaris is basically being developed by two core developers, sitting on opposite desks, building the opposing components (front-end and back-end)
Webbased – modernization – client / forms install fuzz
There was a demand to create a webbased solution mainly based on the desire to eliminate client install and modernization
No big change – fast keyboard operation
The way the application looked and behaved was not open for big changes.
People doing patient planning are super-fast in operating the application by keyboard, this limits possibilities to “move to mouse”
Type ahead buffer was frequently used
No engineers go on site
All support and operations are done remotely
Nation wide site-to-site VPN support network is safest option
Oracle cheapest – ESL – SEO smartest
Review of technology base redone several times, there is no better or cheaper solution than the current (even in healthcare (Microsoft) discount settings)
Embedded software licensing for Oracle has been concidered and dealt with. Even with 90% discount, SEO & Apex is cheaper (Okay, this is true in our specific setting, because of “pocket change” there are opportunities to tailor peripherals to fit
Webforms initially seemed the ideal follow up environment, but we found Webforms to have tighter limits that forms, which we used 110% already
ADF is a multi-tiered environment meant for complexer environments, requiring a different skill-set from the development team. Furthermore this would result in a technically much to complex product
Summer 2010 (n-th review) – decide built on
Summer 2010, APEX did not fully fit the requirements. There were, at that time, too many pitfalls requiring programming around APEX
Pre-APEX, as we came to call it, gave the opportunity to build onward from one of our specific webmodules and thus create the complete fit without having to take any preset framework into concideration
Decide review rework – advantages with plugin
We didn’t select APEX at that time. We did, though, recently review Ecaris to decide a rework of the application in APEX together with one of the leading APEX experts in The Netherlands.
We haven’t really reworked the application in APEX, but leveraging the APEX framework works just as well eg. It offers some extra advantages where we have extra programming to do now. For many of the special functions, build-cycles will not differ greatly.
The demo will hold fielddescriptions and contents are in Dutch, I am so sorry.
System is logged in and the main menu is showing, we will start teh planboard
There will be some mouse overs showing while searching for the appointment
We will now look into an appointment and get a warning that this appointment has been validated and is ready for further processing
From another appointment we will review the change history (logging)
The planboard will be split, showing another entity in the other columns (and we will cancel the change)
An appointment will be moved.
This is all done at realtime speed.
This basic layout shows the architecture of Ecaris, with the main server top left, peripheral systems and a workstation complete this overview
Databasecentric – compantion – save license – compact process – BXML to bootstrap
By working in a databasecentric setup, all data is easily secured by Oracle, using the integrated techniques from the database.
The webinterfacing is done by the Oracle HTTP Server Powered by Apache, which is taken from the companion CD.
Combining the webserver and the database server saves Oracle licenses and by the compactness of the Apache process, adverse effects are neglecatable.
The BXML (Backbase) Ajax toolkit is used for a rich interface. This toolkit is under investigation of replacement. Currently we are using bootstrap in a new module.
Discussed – works well – legacy coupling
One of the oddest setting of Ecaris is the database optimizer setting. We have had long and intense discussion about this, besides the fact that we will need to change it.
Currently, though, Ecaris works wonderfully well with the Rule Based Optimizer.
With the introduction of the CBO, Oracle put this statement into a while-paper.
From a legacy point of view, we still utilize utl_file_dir to read and write specific information (mostly legacy invoice couplings)
Pull the plug – concider more cores / x86
Running HP Unix since day one, orginally on rockstable HP9000 D330 (with uptimes of more than 1 year). You could just pull the powerplug and replug it. The system would be up and running without error within 10 minutes.
Currently application and user community is growing and we are concidering rx2800 with quardcore and logical CPU threading (16 cores available) or also leveraging Oracle Linux on x86
Left over project – regular CPU license – intro middleware
Previous system reporting through Oracle Reports background engine. Due to lack of developmentpower needed to reuse reports.
Number of additional features automatically available (direct print, mail etc).
Reports is “regular licensing” on “processor equivalent”, which is quite different from SE(O)
Introduction of middleware in base system was a design principle we had to overcome
RTO /RPO – store = protect
Standard Edition One database holding mission (possibly life) critical information for nurses, doctors and most of all, patients.
RTO & RPO need to be very, very low.
Due to lack of Data Guard scripting required? Dbvisit Standby hold the answer!
Data important enough to store, is data important enough to secure.
Oracle to AD – Ecaris to AD – Screenscraper – Quest / Plug-In
Currently we leverage standard Ecaris and Oracle authentication and autorisation. This model is planned for udating and needs to align with Enterprise directory (mostly AD)
Integration needs to be in the core of the application and of Oracle to truely support federated authentication and centralized autorisation where Ecaris model lines up with organisation model. Screenscraper tools will not do this.
We have found Quest One Quick Connect as the tool that can do this and we should be looking into the APEX plugin for this purpose too.
Ecaris is a used as core healthcare information system or as a peripheral system.
In each situation, data needs to flow to and from the system to surrounding systems. This is standard in Healthcare, supported by worldwide standard Health Level Seven.
Mirth Connect is the open source development tool that supports the native application communication to all supported protocols, including HL7 and XML. It’s very comparable to an ESB.
For specific business requirements of an individual client, additional information is required which is not centrally defined.
This results in “operational BI” and regular BI requirements, which are supported by local information analists.
Because of overhead, in many situations, a second database holding a real-time copy of the primary environment is required.
This creates the opportunity to use the Cost Based Optimizer for this second environment, leaving Ecaris intact.
Use of Oracle Golden Gate is too investment intense for these sites. Dbvisit Replicate fits the job.
Office documents are used to exchange information with ordering physicians, GP’s or other hospitals. All though electronic messaging (EDI) is growing fast, these documents are still required.
The legacy integration creates restrictions with impementing the system in a SaaS construction.
We have identified the Docufy toolkit from iAdvise as a good starting point to develop this furter. This already handles the opening and alteration of Office documents (OOXML) and finding / replacing tags in Office documents.
Systems monitoring provides the proverbial lock on the availability door. Keep your systems under surveillance to make sure nothing catches you by surprise.
A monitoring tool that allows for defining your own checks (also outside of just SNMP trapping).
Combining these systems we have found a solutions at the lowest TCO possible. This is also the result of the way the application is developed, the characteristics of the application (open data model) and the specific license rules for SE(O) database.
By chosing APEX, thus eliminating complexity, we have created a system which is super fast and super easy to implement. And as a result of decreased complexity, we now have a solution which is rock solid, 24/7 available and trustworthy enough for a healthcare environment.
Okay, but this is A LOT OF WORK! Finding, identifying, learning all these systems, doing all this configuration just to get where you need to be?
Eeuhm, yes, it is! But… isn’t this also the case when you do need to find and identifiy the correct Oracle tooling, learn how to use this and get it all to work together?
Most of these components, and I guess that is true in any setting or sitution, require initial configuration and then just do their work.
Switching to APEX is not just changing framework, it is also connecting to the fastest growing development network out there!
APEX, Yes, because it’s what we deliver succesfully in 25, some quite complex, healthcare IT environments
SE, Yes, because many EE features are for BIG (multinational) environments. Investments and options are EXPENSIVE
Red Stack, Yes, although it also needs configuring, 3rd party additions and plugins for APEX are mature