ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Requesting Opinions on the Benefits of Predicates as

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: David Whitten <whitten@xxxxxxxxxx>
Date: Wed, 18 Jun 2014 14:19:26 -0400
Message-id: <CAH8N84wqW932qj3jyXAP+BYqfACLstgBZnJ0fM6ib+5S8nn=_A@xxxxxxxxxxxxxx>
Comments interleaved below

On Wed, Jun 18, 2014 at 12:20 PM, Rich Cooper <rich@xxxxxxxxxxxxxxxxxxxxxx> wrote:

Comments below,

-Rich

 

Sincerely,

Rich Cooper

EnglishLogicKernel.com

Rich AT EnglishLogicKernel DOT com

9 4 9 \ 5 2 5 - 5 7 1 2

<snip>

Look at the simple matter of ordering medication.

* If you order it for an outpatient, the medication is dispensed

in a single bottle or bag.  All thirty days worth is together.

* If you order it for an inpatient, the medication is dispensed
daily, one pill a day, necessitating tracking 30 sub-orders.

Two alternative methods for executing a process, depending on the context in which the process finds itself. 

I agree that there are two methods, but I would argue they are two
processes that superficially look the same.  (Isn't the ambiguity in
English fun for software development ?)
In the outpatient case, the process is wholly within the Pharmacy,
and the ordering process is by Clinicians. I think part of this is
because the process of dispensing and filling are done inside the 
pharmacy, and because patients administer their own meds,

In the Inpatient case, there are different people, (nurses, patients,
pharmacy clerks and techs) who do different parts of this, and
it has to be done over an extended time period.  The simple act
of addition on the outpatient process becomes individual steps that
each must be managed, recorded, and performed.
 

How to express and represent these two different approaches

requires a more sophisticated approach to time and process.

The orders are similar, and stored (in VistA) in the same collection
of data (ORDERS file#100) but the use of the order and

way to handle time is significantly different.

An Order is a Purchase Order, which splits into numerous Work Orders, each of which specifies the Context in which it operates.  Each WO processor (called an activity in IDEF) uses the various objects connected to its context specification.  I developed a factory work flow management system that tracked each WO by its ID, and each employee starting and stopping each activity by the employee ID, and each instance of a process (action – one performance of an activity) and calculated, over any chosen duration, the throughput in dollars, costs of actions, profitability of the duration, and the contribution of each employee and each activity to total financial net worth. 

Well, as to orders, I was actually discussing currently working software in a hospital, with its own data structures. So the issue needs to be more than just saying there is another solution, but how to merge the existing solution with the more general solution as you have described above. Especially if you have already deployed software, how do you justify an organizations investment into back-fitting this extra code and data?

In the context of ontolog-forum, I think the rubber meets the road when you start to deal with how to describe what is happening as the process is supported by software, perhaps with a logical model that takes into account time and how the description is being elaborated, and some how make the description integral to the software so it will be maintained as the software is changed.  Interoperability between two logical views is not easy.

VistA has explicit data definitions that are used as data is stored, but there still needs to be a way to tie a logical description to the data as it is being created and maintained.  We have transaction processing that is part of database handling, how do we maintain the low level software issues to the logical level ? 

The same can be done in the medical world.  When each pill is delivered to each inpatient, a signal should be given that identifies the nurse, the patient, the pill and the date-time.  That capture into a database over time can track the quality of on-time consumption, for each patient, for each nurse, and for each pill. 

Actually, that signal does occur. It is called the Administration of the drug, and usually has checks and balances based on bar code scanning, expected time of delivery. There are also issues about failure to scan, and reasons why PRN (as needed) medication was administered, if there was pain, pain-level, pain-location, and so forth.
 

But trying to explain an approach to time before a programmer
can work on the system can be seen as a drag on resources.

There isn't a lot of standard vocabulary in the industry that you
can assume is already understood, and many folks devalue

education on basics feeling that getting involved in producing

work is of higher value.

Also, programmers prefer to innovate solutions to problems encountered rather than execute somebody else’s plan for them. 

True enough. Or even if they are willing to execute someone's plan, they may retire without documenting the system, refactor code and data, or otherwise obscure what the original plan was.
 

How sophisticated an approach to time can we support in software?

Exactly the simplest one each programmer chooses as needed to overcome any obstacle to the program said employee is writing.  People don’t like to be given arbitrary direction and then told to squeeze it out in half the schedule. 


The trick is making sure the other needs are visible so the programmer doesn't simplify out needed information or not even record it. Even the things I did yesterday to optimize a process might cause headaches to me today as I try to give a report to someone monitoring or auditing the process.
 

 

You’re up against a politically sensitive situation by demanding elaborations of time without understanding the environment they are working in.


I think as the impact of any computer program grows, it only monotonically increases its political sensitivity within an organization over time.
 

 

-Rich


David Whitten

 

On Wed, Jun 18, 2014 at 11:25 AM, Pat Hayes <phayes@xxxxxxx> wrote:


On Jun 17, 2014, at 9:08 AM, David Whitten <whitten@xxxxxxxxxx> wrote:

> I would like to point out that using July as a time is problematic,

I entirely agree, but didn't want to complicate my response by going into to many issues at the same, er, time.

> as I believe that:
>
> (cl:comment 'C employs P during time interval T'
>         (employs C P July)
> )
>
> would say that July is a time interval.
> To my way of thinking, July is the name of the (infinite) set
> of all time intervals that can be classified as overlapping with
> the month of July in any year.

A class of time intervals, in other words. Makes sense. There are other approaches, of course, but for sure, one needs to have a carefully thought through ontology of times and intervals and dates, and stick to it carefully. Just using words like "July" and hoping for the best, is not going to work.

>
> Thus, the statement (employs IBM Fred July)
> says that IBM employs Fred during the month of July in
> every possible year. (perhaps Fred is a seasonal worker)
>
> This is a different statement by far than saying IBM employs
> Fred for a particular month of July in a particular year.
> I expect also that the 3-D vs 4-D time view would argue
> that it is actually a time-slice of Fred that is employed rather
> than the Fred that exists at all times.

I have come to think that the blood spilled over this 3d/4d contrast is not worth the cost. We all agree that things like persons last through time while retaining their identity: I am the same person now as I was ten years ago. Exactly how you reconcile this with the other obvious fact that things change with time, is really only a matter of notation. If you prefer to write the time parameter as attached to relations or predicates, and think of properties changing with time, then that is one way to do it (often called 3-D); if you prefer to attach the time parameter to object names and think of this as time-slices of things, that is another (4-D). But  it is straightforward to translate between these, and with an expressive enough logic (such as ISO common logic) even to state their equivalence using axioms. As long as we all keep our philosophers on a short leash and stop them snarling at one another, we should have no trouble.

Pat Hayes

>
> David Whitten
> 713-870-3834
>
>
>
>
> On Tue, Jun 17, 2014 at 7:51 AM, Tara Athan <taraathan@xxxxxxxxx> wrote:
> On 6/17/14 1:03 AM, Pat Hayes wrote:
> >> Using the IKL “that” operator and a “during” relationship and the concept “July” (a ‘calendar month’):
> > Whoa. No, this is NOT the right way to do it. In fact, this is meaningless. According to the IKL semantics, (that (employs C P)) denotes a fixed proposition which is true or false. There is no room for any time-dependent variability in its truth value, or for making it depend on some other parameter.
> >
> It may not be the *best* way to do it, but I don't agree that it's wrong
> or meaningless. Using the proposition (that (employs C P)) as an
> argument in a relation is not obstructed by its denotation of a fixed
> proposition which is true or false (in any given interpretation).
>
> Starting off without quantifiers:
>
> (cl:comment 'C employs P'
>     (employs C P) )
>
> (cl:comment 'It holds during time interval T that C employs P'
>     (during (that (employs C P)) T )
>
> Nothing wrong with that - the truth values of these sentences are
> independent of each other.
>
> Now bring on the quantifiers to relate the two
>
> (forall C P
>    (if
>      (cl:comment 'C employs P'
>        (employs C P) )
>      (exists T
> (cl:comment 'It holds during some time interval T that C employs P'
>          (during (that (employs C P)) T )
> ) ) )
>
> Some users may find this clearer than the polymorphic representation.
> Why not let them use it?
> It is still possible to have the polymorphic representation behind the
> scenes for reasoning purposes.
> (forall C P T
>    (iff
> (cl:comment 'It holds during time interval T that C employs P''
>         (during (that (employs C P)) T )
> (cl:comment 'C employs P during time interval T'
>         (employs C P T)
> ) )
>
> Also, using the "that" operator for temporal context is a gateway to
> using it for other contexts/modalities.
> I find the symmetry appealing:
> (cl:comment 'It holds before time interval T that C employs P'
>     (before (that (employs C P)) T)
> (cl:comment 'It holds after time interval T that C employs P'
>     (after (that (employs C P)) T )
> (cl:comment 'It is possible that C employs P'
>     (possible (that (employs C P)) )
> (cl:comment 'It is forbidden that C employs P'
>     (forbidden (that (employs C P)) )
> (cl:comment 'Jane believes that C employs P'
>     (believes Jane (that (employs C P)) )
> (cl:comment 'Omar knows that C employs P'
>     (knows Omar (that (employs C P)) )
> (cl:comment 'Maria asserts that C employs P'
>     (asserts Maria (that (employs C P)) )
> ...
>
> Tara
>
> _________________________________________________________________
> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
> Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
> Shared Files: http://ontolog.cim3.net/file/
> Community Wiki: http://ontolog.cim3.net/wiki/
> To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
>
>
>
> _________________________________________________________________
> Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
> Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
> Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
> Shared Files: http://ontolog.cim3.net/file/
> Community Wiki: http://ontolog.cim3.net/wiki/
> To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J

------------------------------------------------------------
IHMC                                     (850)434 8903 home
40 South Alcaniz St.            (850)202 4416   office
Pensacola                            (850)202 4440   fax
FL 32502                              (850)291 0667   mobile (preferred)
phayes@xxxxxxx       http://www.ihmc.us/users/phayes





 



_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
 


_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (01)

<Prev in Thread] Current Thread [Next in Thread>