In previous post I introduce a scenario for cooperation between doctors, and show that a personal assistant is a good way to connect those in real time. Here are some additional details that we should consider more carefully.
(Update: this post has had the terms changed to align with: Not an Agent, but a Personal Assistant.)
Not as Easy as it Looks
This diagram makes the personal assistant’s job look like it is simply invoking a subprocess. Better, the primary care physician has a process, which calls a process from Charles, the back specialist. However, this is only one case out of many possibilities.
The Fan-Out Problem
I picked one scenario, and gave the players names so we can talk about them, but in reality there are many primary care physicians, and many specialist who might be referred to, for many different specializations.
This means that Charles, our back specialist in the middle, needs to be prepared to receive referrals from any number of other doctors. Similarly as the scenario continues, he needs to be able to refer the patient to any number of other specialists, the case in point being a physical therapist. Even in this simple scenario in a small community there are thousands of possible routes.
If you know ahead of time that a process will call a particular subprocess, then it is easy to arrange that the processes use the same schema and represent the same information in the same way. What we need to remember is that this is about two different people, designing schema at different times, possible for slightly different purposes, and getting them to work automatically together.
Dying for Standards
Why don’t we get together and come up with some standards that would allow all processes to be hooked together all the time. For example, when a primary care physician refers a patient to a back care specialist, they should always do this in the same way. We might invent then a controlled vocabulary that defines all the possible terms in an unambiguous way, and require everyone to use them properly. This is precisely how the problem is solved in a closed system: in a single development project. It is not possible to use this approach because medical knowledge is always expanding. New treatments, new techniques, new drugs are being invented everyday. It all simply moves too fast to make a single dictionary with all terms well defined.
A data format standard, HL7, is a laudable attempt to make a common structure. In anything to do with medicine this should certainly be used as a framework for storing patient data. But HL7 is not done. The basic framework is there, but the details are not specified for all situations. The group has strategic objectives going out to the year 2020, but we can’t wait until then to design the system. A realistic approach will have to incorporate the idea that these standards are being developed along side treating patients, and the systems will have to muddle along with imperfect information representations.
The model that will work is one that is working today by the Securities and Exchange Commission (SEC). Information being passed around in instance document refer to published taxonomies / ontologies. Different parties can publish taxonomies that extend other taxonomies. As long as everyone uses the same basic taxonomy, published by the SEC, then all the documents can be exchanged. At the same time, subdivisions of the market can use their extended taxonomies to transfer more highly specialized information. 15,000 publicly traded companies file their financial reports with the SEC using this method today, and it works.
This becomes a key job for the personal assistant to access these taxonomies/ontologies, and to translate between them. The relationship might look a bit like this:
Synchronizing in Both Directions
Much of this discussion has focused on Task Introduction, those things that must be done when a task if first offered and you are expected to either pick it up or not. The personal assistant also has a role to play while the task is being performed. If the task takes a while, there may be intermediate results. There may be tests that support some conclusions which should be communicated to others to keep everyone coordinated.
A good example is that a doctor may be given the goal of treating a particular problem, and that treatment may take many months. Treating this interaction as you might a subroutine call: information is passed in at the beginning, and all the results come back when the treatment is finished, does not support the real exchange of information that is needed. While treatment is proceeding, the patient may go back to the primary doctor because of a completely different problem. That problem might or might not be a side effect of the treatment. The only way to know this, is for the doctor to be informed about the treatment, and progress.
The general model should not be like a subroutine call. Instead, the general model should be one where both the calling doctor, and the called doctor, exchange information to keep each other in sync while the treatment is proceeding. This is another task that can be taken up by the personal assistant, to regularly push updates back to the caller so they can be informed about progress.
Assistant is Personal
The job of a personal assistant is to really act on your behalf. It does all of these:
- Receiving and screening notification – filter the spam for relevant notifications.
- Task Introduction – find offered tasks, gather additional information about the task to evaluate using a set of rules whether this task is interesting.
- Task Acceptance – sending a notice back to the sender that the offer is interesting and going to be considered by a human.
- Clone Project – based again on rules it may automatically retrieve all the accessible information in the project, and put it safely in a local place for access.
- Determine the Right Template – again based on rules, and start the process if necessary.
- Transform – access the taxonomies that give the semantic meaning of the data, and use that to transform the data to a form that you are used to, and to transform back again when responding.
- Synchronize – in both directions: pull down new documents and information that appear at the original site, and to push back modified information, or new documents, to the originating doctor’s site, in anticipation of the need.
Spelled out this way, personal assistants seem quite a bit less magical than most of the marketing rhetoric builds them up to be. At the same time, this outlines a clear and important mode of use for personal assistants for cooperating knowledge workers.