INFORMATICS SYSTEM WEAVES

Abstract: The invention is a method of visually representing the relationships between data and actions, including a time dimension where this is required. It does this through the representation of items of data as "ribbons" which are "woven" in a pattern appropriate to the subject, and by using different visual arrangement for the intersections between these ribbons in order to convey different meanings. These arrangements include straight forward under-and-over intersections, but also use the metaphor of one or two longitudinal slits in one ribbon through which the other ribbon is threaded. The use of intersections with differing symbolic significance makes it possible to represent in two dimensional form a level of complexity which would otherwise require three dimension to be visualised. This form of weave diagram is particularly useful for data handling and data mining applications on computers and can be used as the basis for a graphical user interface.

Description: INFORMATICS SYSTEM WEAVES HELD OF THE INVEN, TION This invention arises in the field of informatics, the correlation of multiple types of information and the graphic representation of relationships between types and pieces of information. The present invention relates to a method and system of visually representing the relationships between items or groups of data using "weaving" of "ribbons" as a metaphor and relates particularly, though not exclusively, to an application in the medical field for visually representing diagnosis, treatment planning, management 2 d monitoring of a patient. BACKGROUND TO THE INVENTION Throughout the following specification the term "weave" is used to describe intersecting two-dimensional graphic lines referred to as "ribbons" used for visually representing items or groups of data. The terms "data" and "information" are used interchangeably and can mean single items or groups or classes of data. Visualising the org.τnisaliσn of large quantities of information and complex interrelationships has always been problematic. Typically,, this is done by means of a matrix table or by separating the information into a series of discrete groups each sufficiently small to illustrate with a diagram. However, even such diagrams are often an unsatisfactory means to explain complex sets of interrelationships, particularly where there are multiple connections between single elements of different groups or clasps. A number of standard diagram systems are widely used but none of them satisfactorily overcome this problem. Where a complex series of relationships between many elements is to be illustrated the separation of data is unsatisfactory. The use of a matrix permits only Ihe identification of intersections between two pieces of data at a time but does not simultaneously illustrate the relationship between the various other data. The problems are compounded where time is a significant factor requiring illustration. It is possible to illustrate greater quantities of data by means of three- dimensional diagrams bul these lend to lose clarity and are difficult to execute satisfactorily for use on a two-dimensional surface such as paper or a visual display screen. SUMMARY OF THE I VENTION The present invention was developed with a view to providing a method and system of visually representing the relationships between items or groups o; data in a more readily understood manner. According to one aspect of the present invention there is provided a method of visually representing in a computer generated graphic image the relationships between single items or groups of data, the method involving: generating a first elongate ribbon in a form suitable for graphic display in a first visually distinct manner; attaching a first item or group of data to said first ribbon; generating a second elongate ribbon in a form suitable for graphic display in a second visually distinct manner; attaching a second item or group of data to said second ribbon; generating an intersection for a point at whichsaid first and second ribbons overlap by weaving the two ribbons in a visually distinct form suitable for graphic display; and, displaying said first and second ribbons on a display means together with said intersection; wherein said intersection is used to provide a visual indication of a relationship between the first and second items or groups of data that can be readily ascertained by viewing the displayed graphic image. Typically said first ribbon is one of a plurality of ribbons forming a first ribbon group, and said first item or group of data is one of a plur,ality of first items or groups of data attached to the respective first ribbons in said first ribbon group. Typically said second ribbon is one of a plurality of ribbons forming a .second ribbon group, and said second item or group of data is one of a plurality of second items or groups of data attached to the respective second ribbons in said second ribbon group. Advantageously said intersection is one of a plurality of intersections which together with the ribbons form a weave of said first and second ribbon groups. Preferably said first ribbons are displayed in a different colour from said second ribbons. Preferably said first ribbons overlap one or more of said second ribbons in a substantially perpendicular manner. Advantageously said plurality of ribbons within a particular ribbon group can be generated with varying degrees of thickness and height dimensions so as to convey additional information about items or groups of data represented in said particular ribbon group. Typically said first ribbons are displayed on said display means in a substantially horizontal orientation and said second ribbons are displayed in a substantially vertical orientation. Advantageously each intersection can be generated in one of a plurality of visually distinct forms so as to indicate a plurality of distinct relationships between said first and second items or groups of data. Preferably, in addition to a simple one over one under form, said intersection can take one or more of the following visually distinct forms: one ribbon passes through a single slit in the other ribbon (over-through-under); one ribbon passes through two adjacent slits in the other ribbon so that the passing ribbon is not visible between the two slits (over-through-under- through-over); one ribbon passes through two adjacent slits in the other ribbon so that the passing ribbon is only visible between the two slits (under-through-over-through-under). Preferably said slits are made substantially perpendicular to the longitudinal direction of the passing ribbon whereby each of said intersection forms enables one ribbon to be visually dominant. On the other hand, said single slit can be made substantially diagonal to the longitudinal direction of both ribbons at the point of overlap so that neither ribbon will be visually dominant Preferably, said weave is one of a plurality of weaves, each weave representing a set of relationships between each first and second items or groups of data of each weave, said weaves forming a map of said set of relationships. Preferably, selected ribbons pass from one weave to another within the same map, each ribbon passing from one weave to another representing the same item or group of data in each weave. According to another aspect of the present invention there is provided a system for visually representing in a computer generated graphic image the relationships between single items or groups of data, the system comprising means for generating a first elongate ribbon in a form suitable for graphic display in a first visually distinct manner; means for attaching a first item or group of data to said first ribbon; means for generating a second elongate ribbon in a form suitable for graphic display in a second visually distinct manner; means for attaching a second item or group of data to said second ribbon; means for generating an intersection for a point at which said first and second ribbons overlap by weaving the two ribbons in a visually distinct form suitable for graphic display; and, means for displaying said first and second ribbons together with said intersection as a graphic image on a display means; whereLn said intersection is used to provide a visual indication of a relationship between said first and second items or groups of data that can be more readily ascertained by viewing the displayed graphic image. Typically said means for generating a first ribbon is capable of generating a plurality of said firsτ ribbons so as to form a first ribbon group, and said means for attaching a first item or group of data is capable of attaching a plurality of first items or groups of data to said respective first ribbons in said first ribbon group. Typically εaid means for generating a second ribbon is capable of generating a plurality of said second ribbons so as to form a second ribbon group, and said means for attaching a second item or group of data is capable of attaching a plurality of second items or groups of data to said respective second ribbons in said second ribbon group. Advantageously said means for generating an intersection is capable of generating a plurality of intersections which together with the ribbons form a weave of εaid first and second ribbon groups. Preferably said system includes a means for querying a knowledge base for data to be represented by one of the ribbons. Preferably said system includes a means for a user to enter the relationship between the said first and second items or groups of data. Preferably εaid system also includes a means for a user to input information to be represented by one of the ribbons. Preferably said system includes a means for querying a knowledge base for the relationship between the said first and second items or groups of data. In order to facilitate a more comprehensive understanding of the nature of the mvention a preferred embodiment of the method and system for visually representing the relationships between items or groups of data will now be described in detail, by wav of example only, with reference to the accompanying drawings, in which: Figure 1 illustrates a computer generated "weave" pattern of first and second ribbon groups in accordance with a preferred embodiment of the invention; Figure 2 illustrates aeveral different forms that intersections of the ribbons can take and typical meanings ascribed thereto; Figure 3 is a flow chart illustrating a preferred method of creating a weave map similar to that illustrated in Figure 1; Figure 4 is a block diagram illustrating an ideal software architecture for a typical medical application which employs the DataWeaver method and system in accor ance with the invention; Figure 5 is a functional block diagram illustrating a typical clinical computer system that could employ the software architecture of Figure 4; Figure 6 illustrates a single page Graphical User Interface (GUI) which embodies the DataWeaver method; Figure 7 is an enlargement of the upper left of the single page GUI of Figure 6, showing the names of diseases and symptoms; Figure 8 is an enlargement of the lower left of the single page GUI of Figure 6, showing features relating to diagnosis and patient information; Figure 9 is an enlargement of the lower right of the single page GUI of Figure 6, showing a lower part of features relating to treatment and monitoring; and, Figure 10 is an enlargement of the upper right of the single page GUI of Figure 6, showing an upper part of the features relating to treatment and monitoring. The present invention provides an improved method of visualising relationships between sets and individual pieces of information in a computer generated image or map. It has p-articular advantages for the indication of significant intersections between data items or groups and is thus highly suitable for illustrating computer data handling and data-minding applications, for example, within the medical field for diagnosis and for treatment planning, management and monitoring. Throughout the following description a preferred embodiment of the invention will be described within the medical field, however it is to be understood that the method and system of the invention is not limited to this application and can be applied generally to multi-level information-based systems, such as monitoring of complex engineering plants, data flow in an algorithm or device, ecology, event planning, or geophysics. The computer generated image or map created in accordance with the invention may also be used as a basis for a Graphical User Interface (CUT). The method involves visualising each item (or group) of data as a ribbon, typically colour coded to indicate the group or class of data which it represents. The direction of each ribbon can be adjusted in order to enable the appropriate intersections with other ribbons of data. The intersections between the various data ribbons u.se the analogy of weaving to gene ate a "weave" pattern of multicoloured "ribbons" as illustrated in Figure 1. Hence ' , the method of visually representing in a computer generated image the relationships between items or groups of data will henceforth be referred to as the DataWeaver method for convenience. Figure 1 illustrates a weave pattern or map which visually represents part of a patient record in a clinical system as developed using a preferred embodiment of the DataWeavei method in accordance with the invention. Generation of a hill patient record will be described in more detail below with reference to Figures 6 to 10. For the moment, it will suffice to note that the weave pattern comprises a first group of elongate ribbons 10 displayed in a fir * st visually distinct manner, in this case in an easily identifiable colour, and displayed on a display screen in a substantially horizontal orientation. In this case, two of the ribbons in the first group 10 represent two presenting symptoms respectively ("coughing blood" and "breathlessness"), together with a plurality of corollary signs used to assist with diagnosis of the patient's illness. A second group of elongate ribbons 12 are displayed in a substantially vertical orientation and are arranged to overlap with the first group of ribbons 10. In this illustrated example, the second group of ribbons 12 represent a variety of possible diagnoses of the patient's illness. In accordance with the DataWeaver method, a visually distinct intersection is generated for each point at which a ribbon from the first group 10 overlaps with a ribbon from the second group 12. Using the analogy of weaving, each intersection would normally give only the simple options of "A" over "B" or "B" over "A". This would merely give two me.anϊngs to each intersection, one of which may typically be "not relevant". However, the complexity of some weaves would mean that the priority of these two options, i.e., which one carries the meaning "not relevant" would quickly become confusing, The DataWeaver metfiod therefore preferably extends the analogy of ribbon weaving by providing appropriately located longitudinal slits in one ribbon, through which the other ribbon passes. This provides an increased number of ways in which the intersection can be generated and thus provide a series of distinct meanings. Other icons may be used, including a question mark to tell the user that absent information could be useful, but the preferred implementation maintains the metaphor of physical ribbons. Examples of the meanings which may bo ascribed to different forms of intersection are illustrated in Figure 2 as follows: Intersection 14 Relevant: Slit in centre of A,B passes through (over-through- under). Intersection 16 Not relevant: simple one over, one under: Intersection 18 Present (e.g., symptom): Two equally-spaced slits in A,B, passes tiirough these so that the passing ribbon (B) is not visible between the two slits (over-through-under-through- ovcr) Intersection 20 r ot present (e.g., symptom): Two equally-spaced slits in A,B passes through these εo that the passing ribbon (B) is only visible between the two slits (under-through-over-through- under). Intersection 22 For investigation: The two ribbons intersect diagonally, neither dominating. With the exception of the last example, intersection 22, each of these forms of intersection makes one ribbon visually dominant at the point of overlap. For example, with intersection form 18 (present) the vertical ribbon is visually dominant as it is visible between the two slits, whereas with intersection from 20 the horizontal ribbon is visually dominant as it is visible between the two slits. Thus, if the weaving through the slits is organised consistently a visual "flow" can easily be discerned, giving a further information dimension. Where present and not present intersection indicators are being used, for example, in relation to medical symptoms, a clear passage down the middle of the dominant ribbon representing a possible diagnosis is immediately obvious, thus sending a clear message regarding the pattern of data relationships and increasing the probability of an accurate di. gnosis. By contrast, the not present intersection indicator blocks the centre passage along the dominant ribbon, and hence a negative men g is given by the interruption of the visual "flow". The height and width of a particular data ribbon can also be used to represent magnitude, or as in the case'of differential diagnosis, comparative probability. Thus, in Figure 1, the ribbons in the second ribbon group 12 have been generated with varying degrees of thickness and mapped in decreasing order of probability. Thus, based on the diagnosis so far, Bronchial Carcinoma would appear to be the most likely illness of those considered, whereas Goodpasture's Syndrome is the least likely. The software which embodies the DataWeaver method is built as a general class of re-useable graphical widgets (viz. the area, map, weave, ribbon,.ribbon group, intersections, time-box). The entire map is assembled by combining these widgets and attaching "information" and "action" objects to them according to the application process and logic. The map gets it direction of flow, from the application logic/processes. The flow chart illustrated in Figure 3 shows the way a map may be constructed using t e widgets. In the embodiment of Figure 3, three distinct ribbon groups and their intersections are being generated. In this context, a "weave" is a place at which many ribbons belonging to two or more ribbon groups intersect A "map" is a collection of such ribbons, ribbon groups, intersections and weaves. An "information object" contains information regarding the object to which it is attached and its behaviour when it is clicked on using the left and right mouse buttons. An "action object" contains a specification of the action that is to be performed such as bring up a dialogue box, add ribbons, etc., when the left or right mouse button is clicked. In accordance with the DataWeaver method, the computer software creates a map object at step 50 and then obtains the data for ribbon groups 1, 2 and 3 at steps 100, 200 and 300. In the illustrated example, the map to be created is designed to enable the visualisation of relationships between data items or groups represented by ribbon groups 1 and 2, and the relationships between data represented by ribbon groups 1 and 3. These relationships may be pre ¬ defined within the databases from which the information is obtained, or may be entered by the user. The steps required to obtain intersection details for the ribbon groups 1 and 2 and for the ribbon groups 1 and 3 are shown as 400 and 500 respectively in Figure 3. Having obtained the data for ribbon group i at step 100, the DataWeaver software then creates the appropriate number of ribbon objects for ribbon group 1 at step 102, corresponding to each of the respective items or groups of data. Information objects for each of the ribbons in ribbon group 1 are then created at 104, and information objects are attached to each of the ribbons in ribbon group 1 at 106. A similar process is followed in relation to ribbon groups 2 and 3. When all of the intersection details for the ribbon groups 1 and 2 have been obtained at 400, the intersection objects for ribbon groups 1 and 2 are created at 402 together with an indication of the intersection type. An information object for each intersection is created at 404 and the information objects are attached to the intersection objects at 406. A similar process is adopted once the intersection details for the ribbon groups 1 and 3 have been obtained at 500. Once the information objects have been attached to the ribbons in groups 1 and 2 and to the intersection objects, the DataWeaver software creates a weave object at 600, and attaches the group 1 ribbons to the weave horizontally at 602. The group 2 ribbons are attached to the weave vertically at 604 and the ribbon group 1 and 2 intersection objects are attached to the weave at 606. The completed weave of ribbon groups 1 and 2 is then attached to the map at 800 and its position relative to other weaves on the map indicated. A similar process is adopted to create a weave object at 700, once the information objects have been attached to the ribbons in ribbon groups 1 and 3 and to the intersection objects. In this particular weave map, the group 1 ribbons always appear horizontally, whereas group 2 and group 3 ribbons appear vertically in the completed map. The weaves are arranged to determine their absolute position on the map at 802 and the map is then ready for display on a display screen at 804. In addition to serving as a static graphic means of describing a topography of relationships and particular intersections, the DataWeaver method also lends itself to use as a graphic user interface (GUI) for computer programs dealing with information. The nature of the graphic image coincides with the manner in which program architectures are constructed, thus assisting in their preparation and increasing the ease of integration of superstructure and substructure. The particular program architecture employed will depend to some extend on the specific application in which the DataWeaver method is embodied. In order to further illustrate the nature of the invention a preferred embodiment of the DataWeaver method in the medical field will now be described with reference to Figures 4 to 6 in which a process by which the clinical data and encounters of a patient with the professional health care system are managed. In this embodiment, the DataWeaver software is embodied in a graphical user interface which is used in conjunction with other known software in clinical knowledge databases, patient records, etc. The DataWeaver method is not embodied in the software that underlies the actual graphical user interface (GUT) construction, which follows standard professional software practice. Figure 5 illustrates how a typical client/server clinical system which employs DataWeaver as a front end at the GUI may be set up. The DataWeaver front end.communicates with the local clinical objects or the remote clinical objects to store and retrieve information in the databases 34 via servers 32. Figure 4 illustrates an ideal software architecture for a clinical system employing DataWeaver which typically consists of five layers with client-server relationship between layers. A layered approach was chosen to build the system in order to make construction of the weave map modular and de-coupled from the underlying clinical system. The first layer at the front end is the GUI 40 which embodies the DataWeaver method. The second layer is the GUI /domain control layer 42 which assembles the map, communicates with the supporting clinical domain control layer 44 and provides the map with data and control logic. This second layer 42 defines the semantics and look and feel of the map (e.g., what does an intersection mean, what icons are used, definition of areas in map, etc.). The domain and services layer 44 consists of various domain objects and services implemented as components that can be distributed across several machines (e.g., patient records, treatment planning engine, log keeping and access control etc.). The persistence management layer 46 takes care of storage and retrieval of information in a platform and vendor independent way. The final layer 4.8 consists of the back end databases. The above-described layered approach decouples the DataWeaver method from the underlying clinical system and ensures the reuseability of the DataWeaver widgets in other applications within the medical field as well as in various other complex business, planning, engineering or scientific environments outside of the medical field. The various events that take place when a patient visits a hospital for medical help constitute a clinical encounter. The patient is taken through a series of processes and is treated and monitored for various conditions that he/she may have. Fundamentally there is a work flow (a series of processes) and the data involved in this exercise. The most common steps are: (a) register the patient (b) interview the patient or responsible party (c) acquire data on various signs and symptoms (d) do a diagnosis based on what is acquired (e) treat the patient based on the diagnosis/condition (f) monitor various conditions/parameters Figures 6 to 10 illustrates how the GUI employs the described embodiment of the DataWeaver method to present this series of processes and the associated data and relationships on a single page map for display on a video display unit (VDU). hard copy of the display can also be printed in full colour on paper if required. The map is constructed dynamically by interacting with the user and tine clinical objects. The overall topology and direction of process flow, however, is decided early in the program. The map shown in Figure 6 is a fully-grown map which grew in order from A to E as described below. The map consists of areas (portions boxed in by dotted lilies, which need not be part of the active display) and weaves. Λn area comprises weaves related to the same process. A weave is a collection of two groups of ribbons, their intersections, and associated "information" and "action" objects. Information objects display information and action objects perform a predefined action, (for example, collect data, validate, generate more weaves dynamically, etc.), on activation by cBckirig the intersections or the ribbons. The ribbons themselves are grouped based on their class, (for example, in the symptom group each ribbon in the group represents a symptom). Ribbon groups or individual ribbons may be involved in more than one weave. The data which the ribbons represent may refer to a specific entity to be managed such as a patient, a ward, an X-ray faάlity, etc, or be drawn from a general knowledge base such as a knowledge base describing the relation between a symptom and a disease, the time and resources required for a particular X-ray examination, etc These are referred to as the subject and the knowledge base respectivel . Information about the subject may be drawn from the subject's file (for example, by electronic transfer of a patient's pre-existing records in another system) or entered by user interaction with the system. The clinical processes, the data involved and how they are presented in the DataWeaver map will now be described with reference to Figures 6 to 10. The full weave map illustrated in Figure 6 is the end result of the patient- physician encounter, which commences with entry of the patient into the clinic (900) and registration in the adjministration section (910, 20). An administrative user registers the patient by recording within the system the demographic registration information (for Epidemiological purposes) for a new patient, which are stored for later use and documentation of that specific patient in the clinic. The administrative user interviews the patient/responsible party and obtains details of the presenting symptoms along with other condition facts, such as known allergies, drug sensitivity, current medication, pregnancy, etc. (910, 930, 940). Ribbons representing the presenting symptoms are generated in the weave map and the presenting symptoms are attached to the ribbons from the list which is searched by the user using key words. A prelirninary disease/ probability list is then created. The patient/physician encounter then moves to the second phase involving initial diagnosis of the patient's complaint which is represented in area 1000 of the weave map. Based on further discussion with the patient a clinical user acquires and evaluates all the personal information, symptoms, signs, images (scans), genetic and environmental factors which are interactively stored (1010, 1020, 1030, 1040). The supporting knowledge base aids in prompting for related signs and symptoms. Allowance is made for hierarchical groupings of symptoms, if that is useful or needed. For example, both the height and thickness of disease ribbons (1040) indicate the relative probability of the disease. A diagnosis suggested by the system may be overridden by the clinician. The weaves 1030 and 1130 consist of intersections that show a particular sign or symptom is relevant to the disease. From the knowledge base, all symptom groups where the presented main symptoms are the leading symptoms for some specific diseases are chosen. The symptom group is classified by disease or disease group where system αoss-relationship9 should be considered. Any disease may be clicked to view its corollary signs and symptoms and other relevant factors. The disease ribbon can be right-clicked to make it as the diagnosis. Question marks will appear at the points of overlap of the ribbons in a particular weave (not shown), where the relevant symptoms associated with each disease group have not yet been checked. The weave map, acting as it does in this case as a GUI for the. knowledge base, acts as a prompt to aid the physician in asking the appropriate questions to find symptoms which may be indicated according to the disease assumptions. The visualisation of cross relationships between the observed, symptoms, possible diseases and corollary symptoms are illustrated by the weave in area 1000. More considerations are introduced to ascertain the diagnosis, including the patient's personal record (social and environmental factors and genetic predisposition, treatment history, drug side affects and other physical examination data). A ear pathway down a diagnostics column at the diagnostic/ symptoms intersections indicates the symptoms are present. (If the symptom is not needed for the diagnosis, the weave goes under the diagnosis ribbon indicating that it is not relevant). Area 1200 of the weave map represents the process of consultation of research literature, past cases and other peers (1220). Various relevant literature and past cases are retrieved from the databases. The patient is also educated regarding the disease (1230) and relevant information to be handed out to the patient is retrieved from the database. Once a diagnosis has been made (1360), the disease ribbon can be clicked to retrieve a list of treatment schemes available for that disease from the database. Each treatment scheme can be anah/sεd dynamically against the patient conditions such as allergies, pregnancy, cost or patient preferences to choose the optimum strategy (1210, 1320, 1330 and 1340). Patient education on treatment and rehabilitation continues (ribbon 1230 extended to area 1354). Once a treatment plan is selected (1330), the individual items can be modified for dosage and administration mechanisms, etc All the changes will be transmitted back to the patient records. Administration of treatment (therapies represented by three ribbons 1310) and ribbons representing a drugs and therapies daily plan are generated (1410, 1420 and 1430 in the monitoring area 1400). If a case is classified as of research interest, parameters and conditions to be monitored are captured for clinical research. Weaves can be programmed to interact in different ways. Each weave is built interactively from a few ribbons and intersections to the complete set required. With any ribbon group, right clicking any ribbon opens a dialogue box that can add new ribbons by a tree-structured, keyword searchable list of possible additions. Right-clicking an intersection opens a dialogue box by which the user may alter those of that intersection's properties for which a user's profile specifies permission, whereas left clicking allows an authorised user to read the information represented by thύt intersection. An example of this type is weave 1030, a weave of ribbons from the disease and symptoms group. Initially, only a placeholder ribbon for the symptoms is present, which disappears as soon as at least one specific symptom is specified Right clicking on this brings up the tree-structured dialogue box which is searchable by keywords, diseases and so on, to add more symptoms. Selected symptom or symptom sets are added to the weave, as ribboiis in the direction of the placeholder ribbon. When the displayed set of symptoms may be sufficient, the user brings in the disease ribbons by right clicking any symptom ribbon and choosing Pre-diagnose. The DataWeaver queries the diagnostic engine it is connected to (this engine may be any suitable software) which returns a list of probable diseases or disease dusters, with the relative probability of each. The user selects those of interest, or lets the system choose a default subset, starting with the most probable. These diseases or clusters are added to the weave as disease group ribbons. The type of inte section of a particular symptom ribbon and a disease ribbon indicates whether that sympto and disease are relevant to each other. The user can now click at an intersection that shows relevance to change the form of the intersection icon to a 'present' form of intersection that indicates the symptom is present in the patient. Repeating the pre-diagnosis can then lead to a more accurate result. The display visualises more information than the relevance or presence shown by the intersections. The relative probability of the diseases can also be shown visually by change of width or ordering of the disease ribbons and other criteria may be input by the user or system manager. The weave in 1130 of Figure 8 shows another interaction mechanism where the horizontal ribbons belong to the 'signs' group and the vertical ribbons belong to the 'disease' group. The relationship between the diseases/conditions and the signs is represented here. Left clicking a particul.ir disease ribbon brings up on the left the relevant gns to look for The weave shows the relationship between signs and diseases/conditions as "relevance intersections The weave logic can support many other types of intera-ction scheme for the weave, in either 'build-up' or 'post-build analysis' strategy. The weave map allows the creation of specialised zones in which synchronised information of a specific nature is displayed for direct comparison, in this case, the time behaviour of indicators which is very important to the health-care givers especially in the period of treatment. It helps physician and nurses to monitor the patient's responses during the treatment process, and modify treatment accordingly. The GUI "explodes" a box in area 1400 (monitoring), where the primary dynamic indicators are displayed in the form the physician is accustomed to, typically as graphs of indicators against time (1440, 1450, 1470, 1480, 1490 and 1495) . Correlations between the dynamical behaviour of different indicators may be viewed in the familiar form of pie-charts. The various parameters and conditions of the patient are monitored over time and any necessary modification to the treatment plan is effected. The generated patient record elements are stored. The time box (1400) works as a graphical and interactive progress chart. It can be clicked to get information about it or to scale it differently. As in the case of other ribbon groups, right clicking can add additional ribbons. The time box zone can be concealed to restore the longer- term view and the patient can continue, to be monitored for side affects, their implementations for further treatment, etc. A value of the DataWeaver approach is the ready integration of multiple streams of data for research and discovery purposes. For example, a physician can use this in a novel form of drug discovery where diseases that are related by symptoms, even though underlying causes are different, may lend -themselves to improved treatment when such similarities are recognised in the weave map. New diseases can be recognised, initially as clusters of co-occurring symptoms (like the discovery of Acquired Immune Deficiency Syndrome), by using weaves to display the statistical strength of clusters. The research box (1500) is intersected by various forms of knowledge, and the weave diagram now shows a diagonal interlacing to show that a different level of knowledge integration is being pursued. If a case is classified as being of research potential, parameters and conditions are added in and captured for clinical research (1510 and 1515). The research information may be retrieved from the database, or stored in it. The correlation of research information from several discrete Weaves is one example of the forming of a map. From the above description of a preferred embodiment of the DataWeaver method and its implementation in a front end GUI in the clinical context, it will be evident that the visual representation of data by "ribbons" whose intersections carry differing significance enoted by the manner in which the intersections are arranged, greatly enhances the ability of the user to ascertain interrelationships between various items and groups of data. The significance of a group of intersections is clearly seen at a glance because the arrangements create a visual analogy of clear flow or blockage along the longitudinal axis of a particular ribbon or ribbon group. A variation of parameters over time (or other measure) is illustrated by the passage of the relevant ribbons through a synchronous "time box",. allowing clear comparison at a glance. In cases where the weave map is becoming crowded within the available display area, selected sections of the diagram may be minimised, particularly within a dynamic context such as a computer VDU. The use of colour to define data groups or classes and variation of ribbon-width to indicate the magnitude (e.g., of probability) of the data represented by the ribbon further enhance the user-friendly nature of the DataWeaver methodology. Further advantages include the use of intersections as points of data e>Λraction and contribution by means of left or right clicks of the computer mouee. The weave map allows a general analogy of direction to represent the flow of a process without the restriction of strict sequencing. In addition user profiles may be provided which control the behaviour and appearance of the GUI according to the role and preferences of the user. Each category of user (admissions clerk, nurse, doctor, medical system administrator, etc) receives a default profile on initial registration with the system, which is custo isable according to category. For example, any user may adjust the . default colours or zoom-lens size to optimise visual comfort and effectiveness for that user; .an admission clerk's display may be limited to an interactive weave guiding the acquisition of admission data, and not extend to a weave assisting in treatment selection; a doctor may modify the symptom/ disease relations in a personal copy of the knowledge base effecting the display generated for that doctor; a medical system adininistrator may modify the knowledge base or image generation rules affecting all users. (The administrator might choose or be directed to bring a particular disease to the c-linicicin's attention even where the evidence acquired so far makes its presence possible but unlikely, on grounds of public policy). While the medical embodiment described above is 'patient-oriented', with the display showing actual or possible symptoms for one patient (or, in research, for a group of patients), treatments considered or used for that patient, and so on, an aclrninistrator concerned with available beds, test scheduling, isolation requirements, etc, needs a 'resource-oriented' display. This may be constructed in an analogous fashion, using a knowledge base of resources and resource- requirement relationships, together with data from current patient records. Now that a preferred embodiment of the DataWeaver method and system have been described in detail, it will be apparent to persons skilled in the computer systems arts that numerous variations and modifications may be made to the method, in addition to those already described, without departing from the basic inventive concepts. For example, the form in which intersections between overlapping ribbons are represented in the weave map may vary considerably from that described depending upon the particular application context. Also, in the above mentioned example, the method of entry of information by a user is with a mouse. It is envisaged that voice recognition could be used instead of or in addition to the use of a mouse. All such variations and modifications are to be considered within the scope of the present invention, the nature of which is to be determined from the foregoing description and the appended claims.

Claims: THE CLAIMS DEFINING THE INVENTION ARE AS FOLLOWS: 1. A method of visually representing in a computer generated graphic image the relationships between single items or groups of data, the method involving: generating a first elongate ribbon in a form suitable for graphic display in a first visually distinct manner; attaching a first item or group of data to εaid first ribbon; generating a second elongate ribbon in a form suitable for graphic display in a second visually distinct manner; attaching a second item or group of data to εaid second ribbon; generating an intersection for a point at which said first and second ribbons overlap by weaving the two ribbons in a visually distinct form suitable for graphic display; and, displaying said first and second ribbons on a display means together with said intersection; wherein εaid intersection is used to provide a visual indication of a relationship between the first and second items or groups of data that can be readily ' ascertained by viewing the displayed graphic image. 2. A method of visually representing data as defined in claim 1, wherein said first ribbon is one of a plurality of ribbons forming a first ribbon group, and said first item or group of data is one of a plurality, of first items or groups of data attached to the respective first ribbons in said first ribbon group. 3. A method of visually representing data as defined in claim 2, wherein second ribbon is one of a plurality of ribbons forming a second ribbon group, and said second item or group of data is one of a plurality of second items or groups of data attached to the respective second ribbons in εaid second ribbon group. 4. A method of visually representing data as defined in claim 3, wherein said intersection is one of a plurality of intersections which together with the ribbons form a weave of said first and second ribbon groups. 5. A method of visually representing data as defined in claim 4, wherein said first ribbons are displayed in a different colour from εaid second ribbons. 6. A method of visually representing data as defined in claim 5, wherein said first ribbons overlap one or more of said second ribbons in a substantially perpendicular manner. 7. A method of visually representing data as defined in claim 6, wherein said plurality of ribbons within a particular ribbon group can be generated with varying degrees of thickness and height dimensions so as to convey additional information about items or groups of data represented in said particular ribbon group. 8. A method of visually representing data as defined in claim 7, wherein said first ribbons are displayed on said display means in a substantially horizontal orientation and said second ribbons are displayed in a substantially vertical orientation. 9. A method of visually representing data as defined in claim 1, wherein each intersection can be generated in one of a plurality of visually distinct forms so as to indicate a plurality of distinct relationships between said first and second items or groups of data. 10. A method of visually representing data as defined in claim 9, wherein, in addition to a simple one over one under form, said intersection can take one or more of the following visually distinct forms: one ribbon passes through a single sht in the other ribbon (over-through-under); one ribbon passes through two adjacer.t slits in the other ribbon so that the passing ribbon is not visible between the two slits (over-through-under-through-over); one ribbon passes through two adjacent slits in the other ribbon so that the passing ribbon is only visible between the two slits (under-through-over-through-under). 11. A method of visually representing data as defined in claim 10, wherein said slits are made substantially perpendicular to the longitudinal direction of the passing ribbon whereby each of said intersection forms enables one ribbon to be visually dominant. 12. A method of visually representing data zs defined in claim 10, wherein, said single slit can be made substantially diagonal to the longitudinal direction of both ribbons at the point of overlap so that neither ribbon will be visually dominant. 13. A method of visually representing data as defined in claim 4, wherein said weave is one of a plurality of weaves, each weave representing a set of relationships betv/een each first and second items or groups of data of each weave, said weaves forming a map of said sets of relationships. 14. A method of visually representing data, as defined in claim 13, wherein selected ribbons pass from one weave to another, within the same map, each ribbon passing from one weave to another representing the same item or group of data in each weave. 15 A system, for visually representing in a computer generated graphic image the relationships between single items or groups of data, the system comprising: means for generating a first elongate ribbon in a for suitable for graphic display in a first visually distinct manner; means for attaching a first item or group of data to εaid first ribbon; 74 means for generating a second elongate ribbon in a form suitable for graphic display is a second visually distinct manner; means for attaching a second item or group of data to said second ribbon; means for generating an intersection for a point at which εaid first and second ribbons overlap by weaving the two ribbons in a visually distinct form suitable for graphic display; means for displaying said first and second ribbons together with said intersection as a graphic image on a display means; wherein said intersection is used to provide a visual indication of a relationship between said first and second items or groups of data that can be more readily ascertained by viewing the displayed graphic image. 16. A system for visually representing data as defined in claim 15, wherein said means for generating a first ribbon is capable of generating a plurality of said first ribbons so as to form a first ribbon group, and said means for attaching a first item or group data is capable of attaching a plurality of first items or groups of data to said respective first ribbons and in εaid ribbon group. 17. A system for visually representing data as defined in claim 16, wherein said means for generating a second ribbon is capable of generating a plurality of said second ribbons SO as to form a second ribbon gτoup, and said means for attaching a second item or group of data is capable of attaching a plurality of second items or groups of data to said respective second ribbons in said second ribbon group. 18. A system for visually representing data as denned in cl. im 17.. wherein said means for generating an intersection is capable of a plurality of intersections which together with the ribbons form a weave of said first and second ribbon groups. 19. A system of visually representing data as defined in claim 18, which includes a means for querying a knowledge base for data to be represented by one of the ribbons. 20. A system of visually representing data as defined in claim 19, which includes a means for querying a knowledge base for data to be represented by another ribbon that is to be added to the weave. 21. A system of visually representing data as defined in claim 20, which includes a means for a user to input information to be represented by one of the ribbons. 22. A system of visually representing data as defined in claim 21, which includes a means for a user to input information to be represented by another ribbon that is to be added to the weave. 23. A system of visually representing data as defined in claim 20, which includes a means for a user to enter the relationship between the said first and second items or groups of data. 24. A system of visually representing data, as defined in claim 21 which includes a means for querying a knowledge base for the relationship between the said first and second items or groups of data.

Inventors: POSTON DAVID, POSTON TIMOTHY, RAGHAVAN RAGHU, RAPPEL JAMES KOLENCHERY, POSTON, DAVID, POSTON, TIMOTHY, RAGHAVAN, RAGHU, RAPPEL, JAMES, KOLENCHERY
Applicants: JOHNS HOPKINS SINGAPORE PTE LT, POSTON DAVID, POSTON TIMOTHY, RAGHAVAN RAGHU, RAPPEL JAMES KOLENCHERY, JOHNS HOPKINS SINGAPORE PTE LTD, POSTON, DAVID, POSTON, TIMOTHY, RAGHAVAN, RAGHU, RAPPEL, JAMES, KOLENCHERY
Application year: 1999
Main classification: G06F17
IPC codes: G06F3, G06F17, G06F19, G06Q50, G06T1, G06T11