Karisma - Software Architecture

Application Components

Karisma is a distributed management system based on the independent components of:

Clients
The primary Client is a Windows® graphical console which communicates with the Server and coordinates the Agents.

Servers
The Server provides services to the Agents and Clients and centralises business logic, intelligent caching and database transactions.

Agents
The Agents are independent entities that perform specialised interaction with clinical systems and external hardware.

Pure-Breed Solution

The modules in Karisma (such as scheduling, accounting, word processing, dictation) were all developed by Kestral to serve the specific purpose for which they are used within the overall Karisma solution.

Other RIS offerings on the market have a collection of modules made by different manufacturers with different configurations, interfaced together to make one product.

Any solution that involves several existing products that are “bolted” together, often leads to technological stagnation. That is, only pure-breed software such as Karisma can definitely adapt and change to evolving requirements. Maintaining the link between different products also significantly increases costs over time.

Three-Tier Software Architecture

Karisma has a three-tier architecture, consisting of Database Server, Application Server and Application Client.

Solutions that offer only the two-tiers of Database Server and Application Client often encounter severe limitations in a production environment. Specifically, operation over low bandwidth, or across the Internet, produces severe performance issues.

Two-tier solutions often require additional application delivery products to overcome these fundamental architectural flaws not present in three-tier applications. However, these products have their own set of management overhead limitations, such as difficulty integrating with PACS at the desktop level.

Managed SQL Schema

Karisma's schema is defined using a specifically designed Kestral tool called the Blueprinter. The Blueprinter allows programmers to define tables; including their columns, indexes and relationships to other tables. From the Blueprinter, programmers are able to generate code that defines the complete database schema. This means that Karisma's application server can completely validate the actual database against its expected schema – providing an invaluable tool for understanding and working with the complex schema required to drive Karisma.

Business Data Integrity Rules

Database validation rules are important for keeping your business data coherent. From experience we have found that clients who have had other systems for many years encounter extreme difficulty migrating their existing data. This is because, although their day-to-day workflow data is functional, the legacy data is never checked again and falls into disrepair.

A good RIS solution will largely prevent, and provide a suite of self-checking tools to identify and fix incoherent data. This is also important to ensure accurate analysis when running management statistics reports across all your business data.

TCP/IP Networking with Compression

To efficiently communicate over local networks and the Internet, Karisma uses a custom protocol over TCP/IP sockets. TCP/IP is a standard for Internet communications which carry protocols such as HTTP (web) and SMTP (email). The efficiency with which Karisma communicates is a result of communicating in a low-bandwidth and low latency manner.

To ensure low-bandwidth operation, Karisma minimises the amount of data that needs to be sent across the network. To achieve this, an intelligent Karisma client is installed on each workstation. The client is approximately 10mb in size and must be downloaded only once. As a user works with a client, only the information required to populate the fields of the page they are using will be downloaded. Solutions that do not use intelligent clients, such as web browsers, will download the structure of the screen as well as the data for every page to which you navigate.

When Karisma sends data, we have made sure we collate as much as possible to reduce ‘chattiness’. Chattiness occurs when there is a constant call and response from the client and the servers which increases traffic over the network. Chatty protocols can cause major performance issues when network latency is a factor.

All this means that working with Karisma offers you the fastest and richest experience possible. To increase performance even further, all data that is transferred by the program is automatically compressed to help reduce overall bandwidth utilisation as well as the time taken.

User Customisation

In order to optimise workflow, administration staff must ascertain what information is appropriate for each user to see. It is vital to optimise the experience for each user by presenting the work lists, columns, actions and screen formats that they need, rather than those mandated by the system.

The system administrator needs to have the ability to mandate views for groups of staff, whilst providing flexibility for people who need to see certain information at the time of examination or reporting.