Special Feature
Part of a ZDNet Special Feature: Coronavirus: Business and technology in a pandemic

Launching Oracle’s COVID-19 Therapeutic app: The back story

Oracle’s APEX application development framework was an unsung hero in enabling a drug treatment reporting app to make it from design to full national rollout in the US in barely two weeks. Here’s how it happened.

covid19-tls-iphone.png

The input screen that patients see when using Oracle's COVID-19 therapeutic app

Source: Oracle

Among the many mysteries of the coronavirus is finding out which medications and therapies work and under which conditions. As of April 9, the US has recorded over 427,000 confirmed cases and over 14,000 deaths, a remarkable rise given that the first American case was diagnosed less than three months ago. Given the rapid pace of the outbreak, there is a concerted effort to identify existing off the shelf medications that could work, because waiting for development of new drugs could take years.

As part of a general mobilization of the tech industry to provide apps, tools, and cloud compute capacity, Oracle responded to a request from the federal government to develop what it terms a Therapeutic Learning System. It consists of a mobile-ready app for doctors and clinicians to enter information about their patients, and for patients to report their experiences with drug therapies on a daily basis. The goal is an aggregate picture that could provide real-world data on which medications and dosages work against the coronavirus (SARS-CoV-2).

Because of the urgency of getting hard data from the pandemic, there was the need to have the app ready "by yesterday." In actuality, Oracle made the commitment on March 18, and within three days of intensive design, a cross-disciplinary internal team had the rough outlines of the app ready for Oracle Chief Technology Officer Larry Ellison's review. And on March 30, less than two weeks later, the app was generally released on the public Oracle Cloud.

The app has over a half dozen primary functions, including registration pages for physicians to enter their credentials, records for their patients, and for practitioners and patients to update daily progress data on patients taking their meds. Aggregating the data, the app provides real-time dashboards on patient status. There are also administrative screens that check authentication and credentials to guard against fraudsters (such as tracking failed and suspect logins); activity of people logging onto the system; and activity against the database. From each of these inputs, the goal of the app is getting an aggregated picture of what meds are working, how, and under what scenarios, and what meds are not.

The app was the result of putting a number of pieces together including the Exadata Cloud Service, Oracle Cloud Infrastructure, and a multi-layered architecture for keeping the app secure. The app was built with a multi-disciplinary team including application developers, cloud infrastructure specialists, security, and legal and healthcare domain experts.

The hidden star was Oracle's APEX low code web-based application development framework that is offered as a Platform-as-a-Service (PaaS) that developers can access on a self-service basis. Running inside an Oracle database in the Oracle Public Cloud, APEX can work with data sitting in an Oracle database, Excel spreadsheet, or accessible through REST services. The data is processed in the APEX engine running in an Oracle database in the Oracle public cloud. Beyond the web-based, low code front end, APEX carries built-in services for globalization, email, access control, monitoring, session management, and application backups. APEX's claim to fame is that it requires very little code. By relying on SQL functions inside the database, APEX eliminates the complexity involved with external coding frameworks. As a result, Oracle claims that APEX allows developers to build database apps much faster with exponentially less code.

A development tool offered for free that has finally hit the spotlight after 20 years in the shadows, APEX sits inside the database and is a metadata-driven execution engine for application runtime. Having emerged during the era of n-tier web development back in the dot com years, APEX differed from most tools and frameworks in that period where code was abstracted into the middleware tier. And it also tilted against the windmills of Oracle's middleware business during the early 2000s. As such, relatively scant attention was paid to this little-tool-that-could that, 20 years later, has drawn tens of thousands of external customers and is actively used for internal apps at Oracle open to its 100,000+ workforce. For instance, the manufacturing and distribution system portal inside Oracle is completely written in APEX, and for some Oracle eBusiness Suite customers, APEX has been used as the modern and mobile-friendly interface.

The back story is that the team put together the skeleton of the app within three days. On day four, the team huddled for a 2-hour videoconference with Larry Ellison who, reverting to his programmer roots, coached the team through developing the front end. Ellison continued helping the team iterate the project through several more virtual meetings leading up to launch. The goal was a mobile-friendly tool that would be relatively non-intrusive for doctors, clinicians, and patients to enter routine data. Key to the rollout was having the cloud infrastructure that could handle a high-concurrency mobile app at launch. It included a multi-layered security infrastructure to guard against denial of service attacks that would otherwise paralyze the system.

Oracle has not released numbers for usage on the system, which went live on March 30. It provides a portal that provides a ready source for identifying promising drugs to fight the coronavirus. While the system is designed for ease of use, with simple input screens, ultimately, the system will best deliver on its promise if it can integrate to existing electronic health record systems, so overworked doctors and clinicians do not have to enter the same data twice. We hope that's on the roadmap.