Re: OIO API (was Re: Global PID and VISA type numbering system)

2004-03-14 Thread Andrew Ho
On Sat, 14 Mar 2004, Tim Churches wrote:

 On Sun, 2004-03-14 at 04:51, Andrew Ho wrote:

  To render an OIO form for data collection -
  http://ip_address_to_server/OIO/forms/fillout_form?skin=pink_interfacept=4973form=Prognotes_v0
 

 Two quick questions:

 Does this always create a new form

Tim,
  Yes, this particular method always creates a new form-instance.

 or will it also retreive an existing form (or more precisely, population
 the nominated form with existing values for that patient?).

  There are other methods that can be called to do that.

 How does OIO handle authentication of such requests? In other words, how
 or where are the credentials of the requestor passed to the OIO server?
 Presumably not as part of the URL since you don't list it there (and
 that's good because passing credentials in a URL is terribly insecure).

  We rely on HTTP basic authentication or cookie-based authentication,
both provided by Zope.

Best regards,

Best regards,

Andrew
---
Andrew P. Ho, M.D.
OIO: Open Infrastructure for Outcomes
www.TxOutcome.Org



Re: OIO API (was Re: Global PID and VISA type numbering system)

2004-03-14 Thread Andrew Ho
On Sun, 14 Mar 2004, Elpidio Latorilla wrote:
...
 But my original query was based on my wish to have a
 behind-the-scene-app-to-app dialog.

Elpidio,
  What's the difference between an application talking to OIO vs. a human
user? :-)

...
 If I create an interface that wants to get a set of patient data stored in
 OIO, how should this interface do it?

1) query OIO's patient id module to obtain the patient's unique OIO id
2) query OIO's archived_forms table to retrieve table of contents of all
forms
2) query OIO's formname_values table(s) to retrieve data

 Does the interface need to query your database directly?

That's one way to do it. Or, you can submit a HTTP request and OIO can
return an XML document.

 If yes, how can I know the entity relationship?

The entity relationship takes only a few words to describe:

  Each form is described by 2 tables:
formname_items: contains a list of questions
formname_itemtypes: contains a list of responses
  Data collected via each form are stored in a formname_values table.

So, a progress_note form may have the following:

progress_note_items table
  name | prompt | itemtype| ...
-
  date | Visit Date | date
  history  | History| free_text
  physical | Physcial Exam  | free_text
  assessment   | Assessment | free_text
  plan | Plan   | free_text
  billable | Billable Time  | minutes

progress_note_itemtypes
  date
  text_box
  minutes

progress_note_values

 pt | date| history | physical | assessment | plan   | billable

123 |2004/3/1 | xyz | abc  | pain   | whatever   | 25
456 |2004/3/2 | zyx | cba  | flu| whatever   | 45


 Could you kindly give me a link to the ER docs that might be relevant to
 patient data?

  I hope the information above satisfies your needs. If not, please let me
know.

Best regards,

Andrew
---
Andrew P. Ho, M.D.
OIO: Open Infrastructure for Outcomes
www.TxOutcome.Org



Re: OIO API (was Re: Global PID and VISA type numbering system)

2004-03-14 Thread Elpidio Latorilla
Hi Dr. Ho,

thanks a lot for the explanations. I will try to see what resources are needed 
to implement an interface.

Best regards,
elpidio

On Sunday 14 March 2004 11:18, Andrew Ho wrote:
 Elpidio,
   What's the difference between an application talking to OIO vs. a human
 user? :-)


   I hope the information above satisfies your needs. If not, please let me
 know.

 Best regards,

 Andrew



Re: OIO API (was Re: Global PID and VISA type numbering system)

2004-03-14 Thread Tim Churches
On Mon, 2004-03-15 at 06:18, Andrew Ho wrote:
 On Sun, 14 Mar 2004, Elpidio Latorilla wrote:
 ...
  But my original query was based on my wish to have a
  behind-the-scene-app-to-app dialog.
 
 Elpidio,
   What's the difference between an application talking to OIO vs. a human
 user? :-)

Applications (and computers in general) are very stupid, and thus there
needs to be a means of spelling out to them what they can and can't do.
That why Web services standards like WSDL (Web service description
language) were developed, nearly a decade after CORBA had already solved
the same problems.

-- 

Tim C

PGP/GnuPG Key 1024D/EAF993D0 available from keyservers everywhere
or at http://members.optushome.com.au/tchur/pubkey.asc
Key fingerprint = 8C22 BF76 33BA B3B5 1D5B  EB37 7891 46A9 EAF9 93D0




signature.asc
Description: This is a digitally signed message part


Re: OIO API (was Re: Global PID and VISA type numbering system)

2004-03-14 Thread Andrew Ho
On Sun, 15 Mar 2004, Tim Churches wrote:

 On Mon, 2004-03-15 at 06:18, Andrew Ho wrote:
  On Sun, 14 Mar 2004, Elpidio Latorilla wrote:
  ...
   But my original query was based on my wish to have a
   behind-the-scene-app-to-app dialog.
 
  Elpidio,
What's the difference between an application talking to OIO vs. a human
  user? :-)

 Applications (and computers in general) are very stupid, and thus there
 needs to be a means of spelling out to them what they can and can't do.
...

Tim,
  You did not address how a human user is any different?
  I think it is similarly helpful to clearly spell out what an user can
and can't do through the user interface.

Best regards,

Andrwe
---
Andrew P. Ho, M.D.
OIO: Open Infrastructure for Outcomes
www.TxOutcome.Org



Re: Re: OIO API (was Re: Global PID and VISA type numbering system)

2004-03-14 Thread Tim Churches
Andrew Ho [EMAIL PROTECTED] wrote:
 
 On Sun, 15 Mar 2004, Tim Churches wrote:
 
  On Mon, 2004-03-15 at 06:18, Andrew Ho wrote:
   On Sun, 14 Mar 2004, Elpidio Latorilla wrote:
   ...
But my original query was based on my wish to have a
behind-the-scene-app-to-app dialog.
  
   Elpidio,
 What's the difference between an application talking to OIO vs.
 a human
   user? :-)
 
  Applications (and computers in general) are very stupid, and thus
 there
  needs to be a means of spelling out to them what they can and can't
 do.
 ...
 
 Tim,
   You did not address how a human user is any different?

Sorry, I assumed most of us were familiar with these funny creatures called 
humans.

   I think it is similarly helpful to clearly spell out what an user
 can
 and can't do through the user interface.

Sure, but the mechanisms are different. Typically a combination of natural 
language (eg 'Enter date of birth here'), implicit visual clues and prompts and 
other encodings (eg a graphic of a big WARNING sign) are used. All of these are 
gibberish as far as the computer is concerned, unless you teach it to recognise 
the specific gibberish - but that is fragile and leads to a high maintenance 
overhead. Web service protocols and interfaces aim to make as much 
information about the Web service as explicit as possible using standardardise 
metadata structures. That's the difference. Both are needed, but they address 
different audiences. 

Tim C