Human-Graphs
Interface
Etienne Saliez, version 2023-02-22 /
- Problem:
- Medical decisions support in medicine are based on many
criteria with their relative importance.
- The human mind take decisions using a very large graph of
about 10**12 neurons interconnected by an even larger number
of synapses, about 10**15 Synapses. Computer can also manage
information structured as large graphs.
- Objectives:
- Improvement of interactive exchanges between human graphs
and computer graphs.
- Approaches:
- Eventually decisions require knowledge structured as
graph. As well scientific knowledge as well knowledge about
the patient.
- Up to now the scientific knowledge was available as text.
To some extend NLP, Natural Language Processing, can provide
partial understanding, but this remain difficult and not
very reliable due to the complexity of spoken languages.
- In the initial fase of this experimental project the idea
is here to bypass the NLP and to work directly on graphs.
The project assume that adaptations will become possible
from both sides:
- Computers:
- Computers can make visual graphs easy to
understand by people.
- Human:
- At the other side people could manage graphs in an
interactive way. Human can well read graphs with
visual clues. Humans are excellent at visual pattern
recognition
- User motivation:
- The benefits of decision support using graphs are
expected to be more important than the effort of people
to adapt to the use of graphs.
- Main intended uses:
- Knowledge base:
- Up to now most medical knowledge was represented
as free text. Medical experts should now translate
their know-how into a more precise way suited for
the processing of decision rules. This can best be
achieved by means of graphs. The concept are
represented by nodes and qualified relations between
these nodes are essential.
- Teachers of medicine have to explain to their
students multiple relations between concepts. Some
professors like already to use informal graphs in
the preparation of their courses. Gaphs are also
useful in training sessions.
- Medical knowledge is always in evolution. Medical
experts need easy tools for the maintenance of the
details of he knowledge.
- A knowledge base is intended to contain generic
knowledge about symptoms, problems, actions, ...
Typically persistent knowledge about a symptom, a
disease, a treatment.
- Patient record:
- During contacts with patients notes must always be
registered immediately. Rather than doing that
typing completely free text the idea is to try to do
it in a more structured way as an interactive graph.
Of course this option require a very ergonomic
interface. Some NLP could help but the goal is
anyhow to create graphs, for example converting
MIMIC reports style into graphs.
- The expected benefit of this effort is to get
instantly "Assisted Intelligence".
- A task oriented approach in order to try to solve
the problems of the patient. Problems have a central
role with links to symptoms and recommended actions.
This according to the "Problem Oriented Medical
Record" according of L. Weed philosophy.
- Shared overview of patient's problems and related
information will be also very useful for the
coordination between the members of the "care team"
in charge of a common patient.
- A patient record is intended to contain instances
of information related to a particular patient, as
problems, symptoms, treatments, .... These instances
will always be linked to the corresponding generic
knowledge. For example many individual lab tests
results should have links to the related knowledge
about these tests.
- Make an experimental prototype as proof of concept.
- Initially experimental decision support in a few
limited use cases.
- Essential requirements are:
- Real time interactivity and easy navigation
- Visual representation of logical attributes.
- Facility to create or modify element of the graph.
- Graphs must contain the complete information even if
some fields are less well structured. Anyhow graphs are
seen as backbone or as a "kind of table of content" at
the top level, paying much attention to relations
between main concepts represented by nodes. That said,
if necessary, nodes may contain additional details in a
less structured way like free text.
- As far as possible start from existing software freely
available in Open Source. Some specific adaptations will
be necessary in function of the healthcare context. The
freedom to modify the source code is essential, e.i.
Open Source.
- Event based architecture and non blocking workflow.
- Fuzzy logic approach, since available information is
often incomplete.
- Challenges:
- Currently graph can be visualized, but only with
standard tools. Updates are possible, but very
cumbersome. A much more flexible interface is necessary
for non ITI people as medical experts.
- Technical requirements for a Knowledge Graph Editor, Graph-Editor-Specs.html
.
- Needed resources:
- Expertise in ergonomics, software development, graph
database, adaptation of existing software components
like Neo4j "arrows.app" of Alister Jones, "neovis" of
William Lyon, some aspects of Neo4j "bloom", the
community of "vis-network", ...
- Screen:
- The full screen will be backbone of this man-machine
interface.
- This with freedom to zoom from the global picture to very
specific details.
- A temporary window in front or on the side of the main
screen can present the details as traditional forms and text
reports.
- Main menu:
- A persistent specific small group of nodes on fixed
locations on top of the screen.
- The main commands the current user is allowed to ask.
Only the few most important commands. For example:
- Seek a patient, Predefined selections, like the
problem list, the medications, User preferences,
Administration
- User preferences:
- Selection of certain types of nodes and
relationships, default selection at the opening
of a patient record, preferred style of
presentations.
- The main menu should always be available. At least one
main node which can be expanded to a larger set of less
frequent commands.
- Possibility to go back to the previous transactions.
- Selections:
- Selection of a subset of the large databases. For example
selection in the knowledge base of one disease with related
symptoms and recommended actions. In case of a patient
record only one patient or even one problem of this patient.
- By default the active node or relation is presented with
most of his directly related nodes. However users may define
preferences about types of relations and number of levels.
- Current object:
- Introduction:
- The current active object may be a node or a relation,
presented as highlighted.
- Remark: access and updates of objects will depend on
the current user profile and of the transaction type.
The exact rules will be specified in a separate document
according to "Role Based Access Control" and "Need to
Know" principles. Typically the current "care team" of
the patient need access to work. For example a nurse
need to read the prescriptions but is normally not
allowed to create new ones.
- Flying over:
- Show temporarily the content of the node or relation
in a pop up window. Intended to make very easy to see
quickly the essential of the content. In front of the
graph.
- Actions on nodes:
- Navigation:
- Refresh the graph and show the current node with its
directly related nodes.
- ( in principle by means of a single click ).
- Activation and opening:
- ( in principle by means of a double click or shift
click).
- Presentation of the content as above, but in a
more persistent way than in the case of the flyover.
This frame will persist until explicit "Save" or
"Exit".
- Access to the full content of the node:
- The content is a frame floating in front of
the graph with if necessary the possibility to
take 100 % of the screen.
- The content of node begin at the top with a
few standard information as type, date-time,
responsible author, etc...
- Contextual menu:
- Specific navigation:
- Activation of evaluations:
- ...
- The full content may include any kind of
documents as reports, discharge letters ,
images, XRays, etc...
- If necessary a cursor in order to see more of
a long screen page.
- Maybe the possibility to jump to related
pages, even on an external server. i.e.
hypertext facilities, with later come back.
- "Save" or "Exit".
- Possibility to edit the content:
- Some standard fields may be mandatory while
additional fields are optional. A set of fields
can be proposed
- Some fields may accept natural language. Or
even maybe voice converted immediately to text
to be confirmed.
- Authorizations:
- The authorizations will depend on the status of
the current user and of the field. To be further
defined.
- "Save":
- The identity of the current responsible user
must always be recorded.
- If a previous version exist of the same object
exist, generate a new version.
- Previous versions should remain available on
request. Indeed it must be possible to retrieve
the situation as it was at a given point in time
in the past. Important in the context of a team
of several actors who may sometimes have
different opinions. Moreover a legal requirement
in order to justify a decision based on
available information at that time.
- Changes in nodes could activate evaluation
procedures.
- Deprecation:
- In principle delete should never be
allowed immediately.
- Relations to a nodes must have already
been deprecated.
- "Exit":
- Actions on a Relations:
- Similar to actions on nodes.
- Also flyover for quick inspection.
- Attributes of relations:
- Types of relations. A set of relations types will
be defined. Only one type per relationship but more
than one relationships may exist between the same 2
nodes.
- Attribute of relations:
- Very important in evaluation procedures; In
patient care uncertainties are very common and
many things are never completely "yes" or "no".
In many situation doctors work with approximated
best "likelihoods". The GrApH-AI project should
try to quantify these relationships more
precisely.
- Weight representation:
- Inside the database weights should be
normalized in a scale from 0 to 1. Indeed
decision procedures should be based on the
best possible values.
- On visual graph by means of the thickness
of arrows.
- In traditional reports the score should be
rounded to adjectives, like "weak" or
"strong", "not to exclude" or "certain", ...
- Weight should take account of several factors
having each their own weight.
- For example "degree of belief" is
different from "probability".
- "Importance" can be seen from different
point of view as life expectancy or patient
quality of life.
- Frequency of appearance of a symptom in
relation to a diagnose should be quantified.
- ...
- Relations are to be seen as independent objects. For
example the author or a Relation may be different from
the authors of the 2 related nodes.
- The same 2 nodes may have multiple relations. For
example when 2 authors have different vision on a
relation.
- Relations have a direction, but traversal is possible
in both directions.
- As above changes in relations should be propagated to
concerned evaluation procedures.
- Save or Exit as above.
- Evaluation procedures:
- Nodes may contain rules, for example computation of
the likelihood and the severity of a problem in function
of the available symptoms. The extended specifications
of these procedures will be discussed in an other
chapter about decision support.
- Activation:
- In case of change of some parameters. Could also
be activated by "events" coming from other
procedures, in a cascading sequence of procedures.
- Manual activation in the edit window.
- The result of a procedure could activate to
evaluation of other procedures and recommendation
procedures, specific new selections, to create new
nodes and relations, to broadcast new events, .etc
...
- .........
- Creation of a new Node:
- A node may be created in an empty space.
- Any new node must immediately be edited, at least with
a type and the mandatory attributes.
- Authorization will depend on the profile of the
current user and the type of node.
- Creation of a new Relation:
- Drag an arrow from one node to an other one.
- Any new relation must immediately be edited, at least
with the mandatory attributes.
- Dragging an arrow to an empty location will create a
new node there, as above.
- Authorization will depend on the profile of the
current user.
- Visual presentation:
- Introduction:
- In order to make a very intuitive visual interface
the most important types and attributes should
appear in a visual way, or style.
- The choice of a particular style may depend on
user profile and preferences.
- Logical options, as:
- Type,
- Weight, intensity,
- Probability
- Degree of belief,
- Author, moreover possibility of endorsement by
others,
- Importance,
- Importance decay over time.
- Index of previous version,
- New information, novelty:
- In function of a predefined delay
- In function of what is new for the current
user.
- ...
- Visual options, as:
- In general:
- Color
- Intensity or darkness
- Text color,
- Background color,
- Text size
- Boder size and color,
- Blinking:
- Background,
- Blinking,
- Halo,
- Movements or oscillations,
- ...
- For Nodes:
- Size
- Shape (round, oval, square, ..)
- Border:
- Position in the graph, attraction or repulsion
to other types of nodes. The current active node
could be moved to the center of the screen.
- Inversed text and background colors,
- Moving nodes and associated relations
- Position in a virtual 3D space,
- ...
- For Relations:
- Thickness
- Direction,
- Dashed style,
- Attachment side,
- ...
- ...
- ..