COMMUNICATION OF MEDICAL INFORMATION
USING AGENTS
John McGrory, Frank Clarke
Dublin Institute of Technology, Dublin 8, Ireland
Jane Grimson
School of Computing, Trinity College Dublin, Dublin 2, Ireland
Peter Gaffney
Adelaide & Meath Hospital, Incorporating the National Children's Hospital (AMNCH), Tallaght, Dublin 24, Ireland
Keywords: HL7, OpenEHR, CEN-ENV13606, agents, computer, guidelines and protocols.
Abstract: Agents are self-contained software entities which act faithfully and autonomously on behalf of a body of
knowledge. They can operate in a standalone capacity, or as part of a social group collaborating and
coordinating activities with other software agents. To access their knowledge, agents are interfaced with
using message passing communication. The principle behind medical communications is to provide a means
for exchanging information and knowledge from one computerised location to another, whilst preserving its
true meaning and understanding between the listener and sender. Agent communication is similar to medical
communications, but must provide an additional framework element to allow agents to interact at a social
and operational level. Social aspects relate to agents collaborating on shared objectives, and operational
aspects relate to coordination of tasks between the loosely coupled agents working as part of a group.
Medical communications focus on data exchanges specific to the medical domain, while agent
communication was designed for a much broader audience. Therefore, it is essential to verify if agent
communications can support standard medical data exchanges. This paper investigates current forms of
agent based communications and demonstrates they can support medical communication, yet retain their
social and interaction information exchange functionality.
1 INTRODUCTION
An agent is a standalone, self-contained software
application. It contains its own inference engine and
is encoded using goals, plans and beliefs (Rao et al.,
1995). The goals are used to describe its motivation,
the plans are used to describe its intention (e.g.
different types of workflow activities) and its beliefs
are used to describe facts (e.g. weight, height or
gender). Each plan and goal has some triggering
condition using beliefs which must be satisfied
before the plan or goal can be executed. The
inference engine selects a goal and then chooses
plans which can satisfy that goal whose triggering
condition is also satisfied. Using this execution
dynamic the agent reacts to known beliefs and
events by selecting plans and goals. This permits the
agent to be autonomous and self-contained. Using
this principle the authors have developed an agent to
act on behalf of a clinical and laboratory guideline.
However, guidelines are rarely used in isolation and
it is sometimes necessary for clinicians to review a
number of these documents so a customised
healthcare plan can be made for their specific
patient. For example, if the patient was obese with
early signs of renal failure. A guideline focusing on
the obesity may indicate reducing the carbohydrates
and increasing the protein to lower the weight.
However, another guideline focusing on the renal
failure would indicate reduce the protein in order to
preserve the renal state of the patient. Technically
81
McGrory J., Clarke F., Grimson J. and Gaffney P. (2008).
COMMUNICATION OF MEDICAL INFORMATION USING AGENTS.
In Proceedings of the First International Conference on Health Informatics, pages 81-86
Copyright
c
SciTePress
both guidelines are correct, but provide conflicting
information affecting patient healthcare.
Applying the agency concept to guidelines, it
was stated that an agent can be encoded with all the
goals, plans and beliefs related to a particular
guideline. Therefore, if the two guidelines referred
to above where encoded into separate autonomous
agents, they could communicate, work as a group
and collaborate to provide a solution. Supporting
knowledge from one guideline could be sent as a
message to the other guideline. When this
knowledge is received by the other it would update
its beliefs (say proteins must be lowered) and this
information changes the goals and plans that can be
selected. This is because the goals and plans are
selected in relation to the agent’s beliefs.
The principle aim of medical data
communication is to provide a means for exchanging
health information and knowledge from one
computerised location to another in a complete and
context rich format. Its goal is to preserve the true
meaning and understanding of information when
communicated to another application. To realise this
different medical communication standards exist,
but none contain any facility for communication to
take place at a social or collaborative level.
The thrust of this paper is to illustrate software
agent communications, particularly the Foundation
for Intelligent Physical Agents (FIPA) message
standard is capable of providing a context rich data
transmission, similar to that offered by existing
medical communication standards, and yet retain its
agent social and interaction information exchange
functionality. This would permit the agent
communication approach to provide equivalent data
exchanges as that provided through the medical
communication standards, but yet allow the agent
act as a socialite with a group of loosely coupled
agents which can collaborate and coordinate to solve
problems.
2 MESSAGE CONSTRUCTS
From a medical perspective there are three main
standards used for constructing messages:
1. CEN-ENV13606-4:1999(CEN, 1999)
(currently under revision prEN13606
:2004(E)),
2. HL7, Release 2,
3. OpenEHR, Release 1,
In the current pre-standard documentation
release of CEN prEN13606:2004 (only certain
parts available at this time) there is a synergy
between the three standards, and although not
officially a standard yet, the CEN standard will be
the focus of this paper.
From the agent perspective there are two main
standards used for constructing agent messages:
1. FIPA Agent Communication Language
(ACL) Message Structure.
2. Knowledge Query Manipulation Language
(KQML)
The FIPA standard incorporates and extends
many aspects of KQML, and has been the most
widely used agent communication standard to date
(Luck et al., 2004). Thus for the purposes of this
paper the agent communication will focus on the
FIPA standard.
Both the CEN medical and FIPA agent
communication standards achieve their exchanges
by message passing where they simultaneously
integrate two types of information within a message
(FIPA, 2002) (CEN, 1999):
1. Lower-level information(message payload)
2. Meta-information about the content of the
message (message envelope).
The message payload is the structure of the
message contents, such as XML, schema, or objects.
The message envelope component relates to how the
message is seen at a network level between the
message sender and receiver. Both the message
payload and envelope have different impacts on
message passing communication. In the following
subsections the function, use and meaning behind
the message envelopes and payloads are discussed.
2.1 Message Payload
The CEN pre-standard prEN13606:2004 does not
insist on a particular message payload type, and
accepts formats such as an XML document, schema,
or an object. All of these formats preserve the
message data relationship model when
communicating information from one system to
another. XML permits developers to organise the
structure and ordering of information in a document,
whilst isolating it from the actual technical content.
XML, in combination with other standards, makes it
possible to define the content of a document
separately from its formatting, making it easier to
reuse content in other applications, or for other
presentation environments. Most importantly XML
provides a basic syntax used to share information
between different kinds of computers, different
HEALTHINF 2008 - International Conference on Health Informatics
82
applications, and different organisations without
needing to pass through many layers of conversion.
In this case the XML file itself is the message
payload. The schema method is like a map or plan,
where the information elements in the message are
stored in a rigid format, and have a relationship to
each other by virtue of their position in the schema.
The receiving party is aware of the schema structure
and can access the information slots to retrieve the
required information. In this case the schema data
file itself is the message payload. The Object method
is where information is transmitted as a software
object. The receiving party can interface with the
object to retrieve the desired information. In this
case the Object itself is the message payload. FIPA
standard allows any Java object to be sent as part of
a message payload. This object can be an XML,
Schema or other type object which can be handled
by the Java object class.
The primary difficulty in exchanging messages
is to ensure the message being sent is understood
and has the same meaning both by the sender and
receiver. One simple natural language expression,
such as “The woman is on the bus” can be used to
illustrate the complexities associated with
communications between different systems. This
statement can be interpreted in several ways e.g.,
“the woman is travelling in the bus”, or “the woman
is painted onto the side of the bus”, or “the woman is
travelling on top of the bus”. This ambiguity is in
addition to the assumption that the observer (the
listener) receiving the message knows what the
“bus” object is (and this interpretation is the same as
the sender) and “on” is a relationship description
used when discussing the object “bus”. The
confusion associated with this bus example stems
from an overlapping of ontologies. Language and
ontologies are two interconnected components
which are used to formalise the meaning of data, and
preserve that meaning when sending and receiving
messages (
FIPA_a, 2002) (Noy et al., 2001). An
ontology is a data model which represents language
of a domain and is used to reason about these
described objects and relationships between objects.
Most people possess the capability to handle more
than one ontology, such as a domestic and a work-
related ontology. Therefore, different ontologies can
co-exist in the one entity, but care must be made to
ensure the message exchanges are filtered to match
the ontology of the other party. Difficulties in
communicating and sharing medical information
between institutes, individuals or groups has
generated a multitude of ontology and language
implementations for example Galen (Rector et al.,
2005) (Stuckenschmidt et al., 2004), Tambis (Baker
et al., 1999), UMLS (Unified Medical Language
System) (NLM, 2006), ONIONS (Gangemi et al.,
1999), HL7 RIM (Beeler, 2001), GENE (Egana,
2005). These ontologies and language
implementations specify various medical domains
through an abstract conceptualised model of the real
world environment. This demonstrates that no
unique “one-stop-shop” ontology for the medical
domain exists. The FIPA message structure
recognises that in the real world different ontologies
are present, and instead of forcing a single ontology,
it allows many exist in the same environment and
includes a framework to define, describe and
manage them.
The FIPA ontology is composed of two parts, a
vocabulary which describes the terminology of
concepts used by agents in their realm of
communication (e.g. dietitian or renal), and the
classification of the relationships between these
concepts, semantics and structures (FIPA_a, 2002).
Exchanging messages using a specific ontology
provides a richer contextual environment in which to
share information between separate software
entities.
In summary, a payload holds (or contains) the
actual context rich medical information to be
exchanged between two or more systems. The
message is formed using specific ontologies to
ensure the message is understood and has the same
meaning between the sender and receiver. Both the
medical CEN and agent FIPA standards allow
similar types of message payloads to be transmitted.
But for communications to work effectively it is
vital that the message gets to the correct destination.
2.2 Message Envelope
To deliver a message payload to a specific
destination it is necessary to wrap or encapsulate the
payload using a message envelope. A message
envelope consists of a number of key parameters
which allows the message sender, receiver and
content to be clearly identified during message
transmission. Agents not only use messages for
communicating information in a context rich form,
but also for social and collaborative interaction so
they transmit more envelope parameters, and
messages in general. It is therefore imperative to
compare the parameters used by medical and agent
message standards to ensure the agent system can
support them. This will identify what parameters (if
any) would have to be added to the agent
COMMUNICATION OF MEDICAL INFORMATION USING AGENTS
83
communication model in order to support medical
transmissions.
By analysing parameters used by the ENV
13606-4:1999 (prEN13606:2004-Part 5: Exchange
models was not available) medical communication
standard and comparing them to the FIPA messaging
standard it can be shown that six of the twelve CEN
parameters have similar technical meanings. A list
of these parameters is detailed in Table 1.
Table 1: CEN to FIPA message envelope parameters
comparison.
Item CEN ENV 13606-4:1999 FIPA
1 identification of message
by originator
sender, conversation-
id
2 EHCR source sender
3 EHCR destination receiver
4 EHCR message related
agent
reply-to
5 language language
6 message reference conversation-id
The main purpose of the FIPA Agent
Communication Language (ACL) messaging
structure is to allow agents to communicate
effectively when being utilised by a wide audience
base, and were not designed specifically for a
medical application. However, FIPA
implementations are free to include customised user-
defined message parameters other than the items
specified within the standard itself. The semantics of
these user-defined parameters is not defined by
FIPA, and FIPA compliance does not require any
particular interpretation of these parameters (FIPA,
2002). The prefix “X-” must be used for the names
of these non-FIPA additional items. By reusing the
overlapping parameters as detailed in Table 1, and
adding the remaining six parameters using the prefix
“X-”, the fixed size of the message envelope is
65kbytes. The agent parameters now include the
ontology parameter, so a message’s ontology can be
clearly identified, in addition to language before the
message payload is accessed.
In summary, the FIPA messaging standard can
be adapted with the addition of these user-defined
parameters, to provide a similar message model to
that detailed in ENV 13606-4:1999, and yet retain its
agent communication functionality.
3 UTILISING AGENT
COMMUNICATION
To compare the agent communications to an existing
approach consider an example were four clinical
guidelines are used together. The implementation
chosen for illustration purposes was the evaluation
of a set of Liver Function Tests to determine the
cause of a chronic anaemia in patients.
One approach to managing the activities of the
four guidelines is to decompose the guidelines into
workflow activities and management rules. The
management rules from each guideline are linked
together centrally using an inference engine. This
inference engine is constructed using rules that
logically link the various workflow activities
together. These management rules provide the
motivation for a centralised inference engine to
choose particular workflow activities depending on
the patients known characteristics (e.g. weight,
gender, height). The patient data is retrieved from
the LIS using an XML message payload coupled
with a standard CEN message envelope. As more
guidelines are decomposed and added, the number
of workflow activities and the size and complexity
of the centralised inference engine increases. But all
the decisions on choosing a particular workflow
activity are performed centrally by the inference
engine as no other separate modules exist in this
system. The guidelines no longer exist as separate
entities.
An alternative solution to capturing the
knowledge of the four guidelines is to encode each
as a separate autonomous agent, one agent for each
guideline. This is achieved by encoding the
guidelines beliefs, goals and plans together in the
agent and using each agent’s inference engine to
interpret them. In this example there is no
centralised management resource, therefore each
agent must establish links to the other agents. To
achieve this agents use message passing to share
supportive information and coordinate activities.
The patient data is retrieved from the LIS by each
agent separately using an XML message payload
coupled with a standard CEN message envelope.
When an agent received a message from another
guideline it altered (if necessary) its own execution
based on this belief. If an agent wished to forward
supporting information to the other agents it used
message passing. Therefore, the only
communication between the separate agent modules
to coordinate activities together was via message
passing, not direct linking as in the centralised
solution. In this implementation no centralised
resource was used to coordinate activities between
the separate agents. After the agents completed
deliberations the outcomes were compared to the
documented case histories from which the
evaluation data was taken. Although outcomes
HEALTHINF 2008 - International Conference on Health Informatics
84
derived from the agent approach matched that
provided by the case histories, it highlighted that the
agent approach transmitted more messages than the
former centralised approach. On average the group
of four agents transmitted a total of 12 messages per
second between them. This is because the separate
agents relied solely on message passing in which to
share information. During this evaluation it was also
found that although the message envelope was a
fixed size the message payload size could vary
dramatically. This was because different types of
information were being sent between the agents.
Small messages where in the form of short
supportive information comments. A longer message
is where a more detailed packet of information was
sent. Depending on the data being transmitted
varying sizes of message payload ranging from
2kbytes to 360kbytes could occur. So how does this
affect the computer system using the agents? If the
agents, because they can be distributed were located
on separate machines and a total of 12 messages was
transmitted between them the network bandwidth
would range from 8kbps for 2kbyte payloads, to
51kbps for the 360kbyte payloads (assuming the
network had an efficiency of 10bits/byte). This is a
substantial network overhead. However, this
network overhead could be reduced if the agents
with high message coupling where located on the
same machine. The main reason for this message
overhead is that the separate agents need to transmit
data, social interaction data and collaboration data in
order to operate. Whereas the centralised approach
used fixed links between the workflow activities
within the one application and so no network traffic
was needed. However the agent approach was
capable of providing distributed processing of the
activities and only relationships between guidelines
needing to collaborate needed to be established,
where as the centralised approach needed to be run
on a single machine.
4 CONCLUSIONS
This research demonstrates the agent communication
approach offers the capability to transmit medical
information, in an equivalent fashion to that
provided by the existing medical communication
standards, yet retains its agent social and interaction
information exchange functionality. The FIPA ACL
standard also allows for the ontology of a message to
be identified so a richer form of data interaction can
occur between agents. However, the concept of
using the agents to represent guidelines highlighted
that as the agents communicated data using
messages, they also used messages to socialise and
coordinate activities which could have a substantial
impact on the network overhead. A summary of the
difference between the two approaches is shown in
Table 2.
Table 2: Summary Agent and centralised approaches.
Aspect Agents Centralised
Workflow
activity links
between
guidelines.
Achieved using
coordination
message passing.
Achieved within
the centralised
inference engine.
Sharing of
information.
Achieved using
message passing.
Achieved by
triggering rules
within the
inference engine.
Access to LIS. Achieved using
message passing.
But each agent
accesses it
separately.
Achieved using
message passing.
But all required
information
accessed via one
message.
Processing of
guideline
knowledge.
Distributed. Centralised.
Guideline
knowledge file
size.
Small as each agent
is self-contained.
Large as
inference engine
must cover all
guidelines.
Adding,
altering or
deleting of
guideline
knowledge.
As each agent is
independent there is
no fixed link
between them. So
guidelines can be
added, altered or
deleted without
impacting any other
resources.
Adding, altering
or deleting
requires the links
in the centralised
inference engine
to be modified.
Therefore, all
other resources
affected.
REFERENCES
Baker P.G., Brass A., Bechhofer S., Goble C., Paton N.,
Stevens R., 1999. ”TAMBIS-Transparent Access to
Multiple Bioinformatics Information Sources”,
Scientific and Statistical Database Management, 1999.
Eleventh International Conference on 28-30 July 1999
Page: 280.
Beeler G.W., 2001. Reference Information Model (RIM)
HL7 Version 3, tutorial in two parts Part I & Part II
accessed via http://www.hl7.org, 2001.
CEN/TC 251 Health Informatics, 1999. ENV13606-
4:1999 Health informatics – Electronic Healthcare
record communication - Part 4: messages for the
exchange of information, accessed via
www.centc251.org.
Egana A., “Ontology Design Patters for the Formalisation
of Biological Ontologies”, Degree of Masters of
Philosophy, University of Manchester, 2005 accessed
via http://gong.man.ac.uk/docs/MPhilThesis.pdf
COMMUNICATION OF MEDICAL INFORMATION USING AGENTS
85
FIPA, 2002(Foundation for Intelligent Physical Agents).
FIPA Agent Message Transport Service Specification,
Document Number SC00067F, Dated 2002/12/03,
accessed via http://www. fipa.org
FIPA_a, 2002(Foundation for Intelligent Physical Agents).
FIPA Device Ontology Specification”, Document
Number SC00091E, Dated 2002/12/03, accessed via
http://www. fipa.org
Gangemi A., Pisanelli D.M., Steve G., 1999. “An
Overview of the ONIONS Project: Applying
Ontologies to the Integration of Medical
Terminologies”, Data and Knowledge Engineering,
vol. 31, 1999, Pages 183-220, published by Elsevier.
Luck M., McBurney P., Preist C., 2004. Agent
Technology: Enabling Next Generation Computing: A
Roadmap for Agent-Based Computing, accessed via
AgentLink web site
http://www.agentlink.org/roadmap/ 2004 ISBN 0854
327886.
NLM 2006, National Library of Medicine USA Unified
Medical Language System accessed via
http://www.nlm.nih.gov/pubs/factsheets/umls.html,
accessed October 2006.
Noy N.F., McGuinness D.L., 2001. Ontology
Development 101: A Guide to Creating Your First
Ontology.
http://protege.stanford.edu/publications/ontology_deve
lopment/ontology101.pdf. Stanford Knowledge
Systems Laboratory Technical Report KSL-01-05,
March 2001.
Rao A., Georgeff M., 1995. BDI Agents: From Theory to
Practice, proceedings of the first international
conference on multi agent systems (ICMMAS-95) San
Francisco USA 1995.
Rector A., Roger J., 2005. Ontological & Practical Issues
in using a Description Logic to Represent Medical
Concepts: Experience from GALEN, School of
Computer Science, The University of Manchester,
Preprint Series, CSPP-35.
Stuckenschmidt H., van Harmelen F., Serafini L., Bouquet
P., Giunchiglia F., 2004. Using C-OWL for the
Alignment and Merging of Medical Ontologies,
Proceedings of the First International Workshop on
Formal Biomedical Knowledge Representation
KRMed'04", Whistler, BC, Canada, 1 June 2004.
HEALTHINF 2008 - International Conference on Health Informatics
86