![]() |
![]() |
![]() |
![]() |
Developing "ontologies" to support information systems is essentially a software development task. It is concerned with representing the entities used in information systems in special languages. As with all software development tasks it is both constrained and informed by the power of those languages. As software, in health informatics, ontologies perform at least three roles: as support for terminologies and terminological engineering, for information integration, and as the skeleton for reference information systems - e.g. drug information, web resources and services, These are not always clearly distinguished. Furthermore, because the word "ontology" is borrowed from philosophy and widely used by both computational linguists and computer scientists, there are many different meanings. Because "ontologies" have become fashionable, the expectations have grown, and what is often referred to as a "ontology" is in fact a much broader "reference information system" including much information which none of the three groups would view as "ontological". The most general of these is the general reference information system. Such systems are inevitably large with requirements which exceed in principle any single existing software paradigm. Hence the engineering design task is to factor the problem into tractable units. Furthermore, they are inevitably complex and difficult for users to understand, so that providing user accessible "views" becomes a major concern. Finally, they are highly dynamic, reflecting rapid changing in biomedical understanding and conceptualisation. The task of engineering such systems requires a comprehensive approach to the life cycle including software engineering, logical design, metamodel of the underlying meaning and meta data concerning the provenance, editorial history and usage of the entities represented. We propose an architecture, many of whose features were tested in GALEN, which carefully separates:
|