Project Description
Building enterprise grade technology applications is hard. Before the first line of code is written, there are a myriad of decisions that need to be made concerning the infrastructure of the application. What operating systems do we use? What application web server do we use? What languages to we use? How do we connect to our existing databases? Where do we even start? LEAF may be the answer for your purposes.
KRM’s LEAF
LEAF is derived from a VA-funded project, the Electronic Health Management Platform (eHMP) meant to replace CPRS with a modern, web-based interface that would integrate the patient record across VistA sites to allow clinicians to have a full, seamless view of patient care across the enterprise. With the advent of the Cerner transition, this project was shelved by the VA. KRM was integral in the development of eHMP, and acquired the source code under open source, and has continued the development of the framework under KRM’s Light Enterprise Application Framework (LEAF) branding.
KRM started the LEAF migration more than 7 years ago. KRM’s goal with LEAF was to build upon VA’s investment and further develop it as a robust application platform which is not confined to healthcare applications.
- Forking the original code to LEAF and resolving issues caused by VA redaction
- Rebuilding the UI in a modern framework (React)
- Rebuilding the supporting infrastructure to use containers (Docker) and targeting deployment for the cloud (e.g., AWS/VA EC)
- Rebuilding healthcare-specific applets and functions
- Removing VA specific code, replacing VistA specific Data Access Layer with a generic database layer
- Reorganizing the code, enforcing the SDK paradigm, creating starter projects to allow for quick project initialization and efficient 3rd party development
By using LEAF, enterprises can enable rapid application development, enforce application consistency and delivery, as well as the streamlining of application provisioning and deployment.
Built to scale
The entire platform is designed for flexibility in both the application development and deployment – whether it is on-premise servers or cloud based systems. The platform is ideal for cloud-based environments like Amazon Web Services as it can be designed to horizontally scale to meet cyclical or peak performance demands. As micro-services are utilized, additional temporary containers can be automatically spawned to meet the increased demand on those services. When the demand decreases the system will scale back and dispose of the temporary containers. This functionality allows LEAF to scale to meet the most demanding enterprise functionalities.
Benefits of LEAF
The use of a platform as a service provides many benefits to the enterprise. Instead of starting from scratch for enterprise applications, all of the framework and infrastructure such as authentication are built into the platform. A common and scalable application framework allows developers to be instantly productive working on business requirements versus spending many hours simply on building a scalable IT infrastructure.
The LEAF platform is written using modern software tools and methodologies:
- Offers a full-stack software development kit – front-end (applet development kit/ADK) and back-end (resource development kit/RDK)
-
Includes extensible interactive API documentation built on OpenAPI standards and example interactive UI component examples
- User- and pre-defined composable workspaces combined with fine-grained administrative privileges allow for complex customizability of different data displays to accommodate any user role
- Data filtering including date-range to focus all displayed data on a specific user-configured time period
- Written in HTML5/CSS3, Node.js, JavaScript and modern user interface frameworks like React and Redux
- Backend is built in Node.JS – which is an open-source, cross-platform JavaScript runtime environment used in such web sites as PayPal, Netflix, and Uber
- Containerized with Docker to run anywhere
- Uses modern testing tools and boasts high unit test code coverage
- Uses RESTful web services and APIs for data interchange – even inside the SDK
- Built for the cloud — take advantage of scaling, cloud-native databases, automated deployments, and more
- Extensible database layer allows connections to virtually any relational DB or NoSQL DB (includes connectors to PostgresDB, MongoDB, and Google GCP Firestore out of the box)
-
Modern graphing libraries for beautiful and interactive data display and several graph types