Re: [Hardhats-members] persistence layers for VistA integration (was Re: [Hardhats-members] Rewriting CPRS in Java)
Greg, I want you to know that I appreciate your theoretical understanding of these issues and your willingness to comment on them. I suspect I am not the only one on the list who finds many of your posts educational. Jim Gray - Original Message - From: Gregory Woodhouse [EMAIL PROTECTED] To: hardhats-members@lists.sourceforge.net Sent: Friday, March 17, 2006 7:51 PM Subject: Re: [Hardhats-members] persistence layers for VistA integration (was Re: [Hardhats-members] Rewriting CPRS in Java) On Mar 17, 2006, at 6:12 PM, Richard Schilling wrote: The whole concept of rewriting CPRS in Java gives us the opportunity to look at the notion of a persistence layer versus a true object store. It might be a good idea to start out by defining what you mean by a true object store. I doubt seriously that we're all on the same page here. So far what we've seen are various implementations of persistence layers, such as ESI Objects and Cache. Good persistence layers are obviously key technologies and provide a migration path toward true object stores. Any DBMS has a persistence layer. They differ in the technology used, and they differ in the APIs and and (possibly) language bindings they offer. They also differ in the logical model exposed to the user/ programmer. In fact, this has been a significant area of ambiguity in the discussion thus far: when speaking of a true object store, are we referring to the logical model, data manipulation language, a language binding, or some combination of the above. So, I would like to open up some discussion on the matter and hear people's thoughts on the various approaches. Here's a few good papers on persistence layers (as they apply to Java), which is what the Caché approach and ESI Objects approach has been: http://www.ambysoft.com/essays/persistenceLayer.html I looked at this briefly, but have no real familiarity with the project, so it was a bit hard to put into context. The section on B- trees was generally quite good so far as the user perspective goes. As a user/programmer you may only care that a B-tree provides a set of key/value pairs that support efficient access. The twist that MUMPS adds is that they keys may be sequences of subscripts, thus providing support for a tree-like logical model. From an implementation point of view, B-trees just generalize self-balancing trees like AVL trees or red-black trees (in fact, one type of self- balancing tree, the 2-3-4 tree actually IS a B-tree!) What's special about B-trees is that they're bushy, allowing for many data nodes at each level in the tree. This is important for databases because you want to fill out disk blocks and minimize the number of seeks required for data access. But these are all implementation issues: From a logical point of view, it's just a persistent data structure providing a set of key/value pairs. http://www.jpox.org/index.jsp It is interesting to note that since Caché provides a JDBC driver for it's data store, it is possible to use jpox to persist object data as opposed to Caché Objects. And here's some links for true object stores: http://mdr.netbeans.org/architecture.html (see the section on btrees) www.csg.is.titech.ac.jp/~chiba/oopsla98/proc/lee.pdf I found this more interesting. The Java Reflection API allows you to programmatically retrieve information about a class, so it can potentially be used to take ordinary Java objects and store their data elements, potentially creating fresh instances later (so long as you have an instance of the Class class to work with). So, when you get right down to it, this is all about allowing Java programmers to use Java instead of IDL or a specialized DDL. I suppose it strikes me as being a bit less profound because an external tool could always be built to generated DDL or IDL from the class definition. There's really nothing new here beyond a purely syntactic convenience. That's not a bad thing, of course, but it makes it difficult to see what is fundamentally new about the concept of an object store or, indeed, what that concept is. Thoughts? Richard Schilling Cognition Group, Inc. Seattle, WA === Gregory Woodhouse [EMAIL PROTECTED] Nothing is as powerful than an idea whose time has come. -- Victor Hugo --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=kkid0944bid$1720dat1642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications
Re: [Hardhats-members] persistence layers for VistA integration (was Re: [Hardhats-members] Rewriting CPRS in Java)
On Mar 18, 2006, at 9:45 AM, James Gray wrote: Greg, I want you to know that I appreciate your theoretical understanding of these issues and your willingness to comment on them. I suspect I am not the only one on the list who finds many of your posts educational. Jim Gray Well, now that I've decided my compiler needs AVL trees (or a similar data structure) rather than hash tables, I'm about to find out if that theoretical understanding means anything in practice! (Basically, I discovered that I had been chaining hash tables which may have had only one or two entries, and copying hash tables is not generally very efficient.) === Gregory Woodhouse [EMAIL PROTECTED] Without the requirement of mathematical aesthetics a great many discoveries would not have been made. -- Albert Einstein --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] persistence layers for VistA integration (was Re: [Hardhats-members] Rewriting CPRS in Java)
On Mar 17, 2006, at 8:40 PM, Gregory Woodhouse wrote: Does JDO support a query mechanism or is just a framework for object storage and retrieval? I may have (partially?) answered my own question. The ODMG web site says that the Java binding in the ODMG standard is superseded by JDO. === Gregory Woodhouse [EMAIL PROTECTED] You can't win if you don't finish the race. --Richard Petty --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] icd 10 coding
On Mar 17, 2006, at 10:40 PM, Floyd Dennis wrote: Only current use of ICD-10 I've heard has been coding causes of death and significant conditions on death certificates. Its use varies from state to state. I see...If you're watching ER and a patient codes and is later resuscitated, it must have been ICD-9-CM, otherwise it was ICD-10. :-| == Gregory Woodhouse [EMAIL PROTECTED] If you give someone Fortran, he has Fortran. If you give someone Lisp, he has any language he pleases. --Guy L. Steele, Jr. --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] persistence layers for VistA integration (was Re: [Hardhats-members] Rewriting CPRS in Java)
Gregory Woodhouse wrote: (snip) Does JDO support a query mechanism or is just a framework for object storage and retrieval? Yes. There's a complete query mechansim. You can read about it in the JDO spec: http://jcp.org/aboutJava/communityprocess/final/jsr012/index2.html === Gregory Woodhouse [EMAIL PROTECTED] And the end of all our exploring will be to arrive where we started And know the place for the first time -- T.S. Eliot --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] icd 10 coding
On 3/18/06, Gregory Woodhouse [EMAIL PROTECTED] wrote: I see...If you're watching ER and a patient codes and is later resuscitated, it must have been ICD-9-CM, otherwise it was ICD-10. :-| OK, if the patients AICD fails and has a resulting IVCD, and his code is DC'd then maybe use ICD-10... :-\ Kevin Oh, and AICD=automatic implantable cardiac defibrilaltor, IVCD = intraventricular conduction delay DC = discontinue --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] icd 10 coding
On Mar 18, 2006, at 1:51 PM, Kevin Toppenberg wrote: On 3/18/06, Gregory Woodhouse [EMAIL PROTECTED] wrote: I see...If you're watching ER and a patient codes and is later resuscitated, it must have been ICD-9-CM, otherwise it was ICD-10. :-| OK, if the patients AICD fails and has a resulting IVCD, and his code is DC'd then maybe use ICD-10... :-\ Kevin Oh, and AICD=automatic implantable cardiac defibrilaltor, IVCD = intraventricular conduction delay DC = discontinue OK. And I have no idea what *that* stands for. === Gregory Woodhouse [EMAIL PROTECTED] It is foolish to answer a question that you do not understand. --G. Polya (How to Solve It) --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] persistence layers for VistA integration (was Re: [Hardhats-members] Rewriting CPRS in Java)
I can do all those things in Cache, so I think of Cache as a true object store. Cache stores entire objects. It handles trees of objects. Related objects are automatically swizzled into memory. Objects are manipulated with Cache Object Script (think mumps with extensions) or Cache Basic (looks like visual basic). Cache Objects are updated by setting object variables: Set Patient.Name=Smith,Jim, or calling methods, and saved by calling methods: Set Status=Patient.%Save() What I like about Cache is that you can also query these objects through the SQL projection. I usually start my application by doing a query, say to fill a selector box, then once a selection is made, I load the selected object. Good day, Douglas From: Richard Schilling [EMAIL PROTECTED] Reply-To: hardhats-members@lists.sourceforge.net To: hardhats-members@lists.sourceforge.net Subject: Re: [Hardhats-members] persistence layers for VistA integration (was Re: [Hardhats-members] Rewriting CPRS in Java) Date: Fri, 17 Mar 2006 19:48:23 -0800 Gregory Woodhouse wrote: () It might be a good idea to start out by defining what you mean by a true object store. I doubt seriously that we're all on the same page here. Right ... good call. By true object store I mean a data store that is capable of storing a) entire objects (members and methods), and b) is able to handle entire trees of objects. The objects are manipulated through the normal conventions of a programming language (e.g. Smalltalk and Java) and not through some intermediary tool like SQL, JDBC, etc. Object are updated simply by virtue of calling methods and setting members, just like MUMPS globals are automatically stored in the MUMPS data base whenever they are set to a value. Richard --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
[Hardhats-members] keypad function keys: PF1 through PF4
I remember that there is an escape sequence to which these keys can be mapped, but I don't recall what it is. The reason I ask is that I want to use the Terminal application on a PowerBook with VistA. There is emulation for vt100, vt102, etc., but the PowerBook only has the function keys F1 through F12 and no numeric keypad. === Gregory Woodhouse [EMAIL PROTECTED] The whole of science is nothing more than a refinement of everyday thinking. -- Albert Einstein --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] keypad function keys: PF1 through PF4
PF1Esc O P PF2Esc O Q PF3Esc O R PF4Esc O S - Original Message - From: Gregory Woodhouse [EMAIL PROTECTED] To: hardhats-members@lists.sourceforge.net Sent: Saturday, March 18, 2006 11:12 PM Subject: [Hardhats-members] keypad function keys: PF1 through PF4 I remember that there is an escape sequence to which these keys can be mapped, but I don't recall what it is. The reason I ask is that I want to use the Terminal application on a PowerBook with VistA. There is emulation for vt100, vt102, etc., but the PowerBook only has the function keys F1 through F12 and no numeric keypad. === Gregory Woodhouse [EMAIL PROTECTED] The whole of science is nothing more than a refinement of everyday thinking. -- Albert Einstein --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid0944bid$1720dat1642 ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members