Context agents are a class of CMA components that provide services to context participant applications via the context manager. In addition to the data set by the instigating application mapping agents and annotation agents can add additional data to the context during context change transactions
The context participant applications can request that an action agent application, via the context manager, obtain additional user inputs needed to perform its task or convey information to the user about the status of the action. The task executes within the context of the user's context session and generally is the result of user input.
All context agents are required to implement the ImplementationInformation interface so that a context manager can use the interface to obtain descriptions of all context agents implemented in a context system.
Mapping agents are a type of context agent that provide an automatic means for adding additional identifier items to an identity subject. A mapping agent is responsible for computing the mapping between the identifier items set by an application that instigated a context change transaction and additional identifier items that also represent the subject. The additional identifier items enable all of the participant applications to synchronize to the same subject even when different identifiers in different participant applications represent the same subject.
The existence of mapping agents is transparent to the applications since the agents only interact with the context manager. The context manager allows each mapping agent that is present to add data to the identity subject it services prior to the second phase of a context change transaction. For example, a patient-mapping agent might obtain its data from a master patient index system. Each subject has one mapping agent.
Annotation agents are a type of context agent that provide the means for automatically setting all of the data that describes a particular annotation subject. The context manager allows each annotation agent that is present to set the data for the annotation subjects it represents. The data is annotated after the mappings are performed by the mapping agents and prior to the second phase of a context change transaction (i.e. survey)
For example, a demographics annotation agent might obtain patient demographics data from a patient registration system. Like a mapping agent, an annotation agent only interacts with the context manager. There can be only one annotation agent for each annotation subject.
Action agents are a type of context agent that service a context action request associated with a specific action subject. Like other context agents such as annotation agent, an action agent only interacts with the context manager and is transparent to the applications. An action agent generally interacts with the user via its user-interface to obtain additional inputs needed to perform the action or communicate information to the user about the status of the action.
A context participant application can request an action agent to provide a service via the context manager. The context manager notifies the context action agent to perform the action on behalf of a context participant application. The action agent communicates the result of the action back to the context manager. Then the context manager conveys the result of the action to the context participant that issued the context action request. There can be only one action agent for each action subject.