The architecture of a context management system is comprised of components and their associated interfaces. The Clinical Context Object Workgroup(CCOW) Context Management Architecture (CMA) defines the necessary roles and policies that components and interfaces must follow in order to participate in a common clinical context system.
The key components in a clinical context system are as follows:
Components use formally defined object-oriented interfaces to communicate with each other. As a result, the context manager does not need to know the specific implementation of individual participants. Additionally, all applications can participate in a context system without having any knowledge of any other participants. The HL7 standard defines a method as having a name, sets of inputs, outputs, and exceptions allowing components to exchange information and report error conditions to users in a location-independent manner. The Context Management Architecture allows components to interrogate other components at run-time about a desired interface. If the interface exists, the interrogated component returns a reference to the interface. If the interface does not exist, the component returns an error.
Every component in a common context system is required to implement at least one well-known interface, referred to as a principal interface. The principal interface enables components to perform initial interface interrogations. The Context Management Registry contains references to the principle interface for each component. Applications query the registry to locate references to instances of context management components and to obtain interface references to each other. Applications or components use the reference from the registry to access a specific instance of a component via the component's referenced interface.
To ensure orderly system behavior, each component having a reference to an interface should perform an implicit or explicit action to indicate it wants to use an interface reference. Additionally, the component needs to perform an action to indicate when it no longer needs the interface reference.
Figure 1 illustrates a complete set of components and interfaces in a context management system:
Medical Web Viewer .NET
.NET, Java, Android, and iOS/macOS Assemblies
C API/C++ Class Libraries