Continua Enabling Software Library (CESL)
The CESL program is a Continua funded effort to establish a common source code repository that will reduce the software burden associated with development of a Continua compliant product. The source code is available under a perpetual license that is modeled off other open source licenses such as the Apache license. The CESL software base includes example code for both Continua devices (ISO/IEEE 11073-20601 Agents) as well as Continua application hosting devices (ISO/IEEE 11073-20601 Managers). The CESL code base was developed by LNI under contract to Continua.
CESL Use Cases
CESL was designed with three use cases in mind:
- To provide a base of code that could be used as a starting point for organizations implementing products designed to be compliant with the Continua Interoperability Guidelines.
- To provide a reference system which can be used to help understand proper operation of the protocols associated with Continua products.
- To provide a rapid prototype environment in which implementations of device specializations could be done with a minimal amount of effort.
The CESL code base was broken into an object oriented portion written in C++ that closely modeled the ISO/IEEE 11073-20601 standard, and a portion, written in C, that is designed to be friendly to embedded environments.
CESL Layered Architecture
The CESL code is organized around five functional layers of software. The object and service layers provide the highest level interface for an application. These layers are written in C++ and enable a developer to create prototype systems with a limited investment of time. The top two layers may not be appropriate for use in small embedded systems.
Under the service layer is the association layer. The association layer implements a finite state machine that is written in portable C code. This layer of software can be used in an embedded environment and provides a simple “send APDU”, “receive APDU” interface. Organizations that find the overhead of the object and service layers to high may chose to build a product using the association layer as the starting point.
The final two layers in the CESL architecture are designed to map the higher layers onto a physical transport. The lower of the two layers is called the Transport Interface Layer (TIL) and enables CESL systems to run over a number of different transports. The TIL provides an extensible set of mechanisms that hide many of the transport specific details from the higher layers of the CESL stack. The TIL is transport independent. The actual interface to the transport layer is provided by a transport specific SHIM layer that is provided by the transport vendor. The initial CESL project includes transport SHIMS for USB, Bluetooth, and TCP/IP.
What can you build with CESL?
Both Application Hosting Devices (Mangers) and Devices (Agents) can be built off the CESL code base. The CESL code includes modules designed to simplify the generation of HL7 defined CCD records.
CESL Program Oversight
The CESL program is overseen by Continua through the CESL Control Board. The CESL Control Board is made up of Continua members who work to ensure that the CESL software meets the goals for which it was envisioned.
Contributing to CESL
The CESL program is envisioned as a community effort and extensions to the CESL code base are encouraged. To ensure quality contributions are required to go through a system integration and quality assurance process.
The CESL code is owned by Continua Health Alliance and accessible to current members only
click here for more information about becoming a Continua Health Alliance member