WorldVistA
Porting VistA to the OLPC. For introduction to VistA components see VistA Monograph Wiki.
WorldVistA
The WorldVistA project is porting the WorldVistA software to the OLPC.
Typically the backend will run on an XS school server box, with clients running on XO laptop or nearly any other wireless laptop.
OLPC is also considering OpenMRS and OpenEHR for this function.
WorldVistA is a nonprofit formed to extend and collaboratively improve the VistA electronic health record and health information system for use outside of its original setting. The system was originally developed by the U.S. Department of Veterans Affairs (VA) for use in its veterans hospitals, outpatient clinics, and nursing homes.
Note: there is some confusion between WorldVistA the organization, and the version of the VistA software distributed by WorldVistA. NEED to go through these wiki pages and clarify the distinction.
Questions/Comments?
- Email: drew.einhorn@gmail.com
- Or, just edit the Wiki.
VistA
VistA is the (Veterans Health Information Systems and Technology Architecture) used to run:
- US Veterans Administration hospitals, clinics and nursing homes.
- the Department of Defense,
- the Indian Health Service,
- the government of Mexico,
- and many, many others
The source code for VistA was released to the public domain by the US government in response to a FOIA Freedom Of Information Act request.
FOIA source is available Here.
A number of commercial, non-profit and government organizations have taken this public domain software and turned it into commercial products, or free and open source software.
VistA Monograph - Primary Sources
The VistA Monograph paints a picture of VistA at the Veterans Administration as it was in 2005 and planned for 2006. It is a 146 page detailed description of the capabilities of the VistA system and its component modules.
The Table of Contents and Introduction provides a nice 8 page summary.
Beware
Not every thing you see here is available.
- Some are failed initiatives,
- some use proprietary commercial components that have been redacted from the FOIA release.
- Some are idiosyncratic to the way the VA does business and are not useful outside the VA.
But MOST of it is there and is usable. You can see why we say our goal is Billion Dollar Software on a $200 laptop.
At one time there were issues with licensing of the AMA CPT procedure codes. Joseph says this was resolved by negotiation among WorldVistA, the AMA, and the VA.
VistA Monograph Wiki
We have just begun the process of bringing it up to date.
- It's an order of magnitude over the size limit some browsers may choke on it.
- Need to keep the Table of Contents as is, while splitting it up into files < 32 KB
- Need to clean up
- While cleaning up there is a danger on introducing errors
- compare to the .pdf version
- Need to annotate each section if it is supported in WorldVistA. If not what are the alternatives?
- Annotate section if you soon NEED to know whether it is supported.
Editing the VistA Monograph Wiki
- Take a look at the examples below.
- You can just dive in and start editing.
- Click an edit tab or button for the section you wish to update.
- They are close by, maybe on the left, maybe on the right.
- If they are missing you probably already clicked on an edit tab or button.
- They do move around according to some voodoo I don't completely understand.
- Scroll down past to formatted wiki page to the edit box.
- Try to blend into style that surrounds you.
- The punctuation is important! (At First, You can think of it as Magic Incantation)
- Hit the Show preview button
- If it looks like what you want
- Celebrate and click Save page
- You will have to answer some simple arithmetic question to prove you are a human and not a malicious robot!
General MediaWiki Help and How Tos
See: http://wiki.laptop.org/go/Help:Contents Especially the Wiki Quickly link
For those who would rather have a more structured approach see: http://wiki.laptop.org/go/Wiki_getting_started#A_more_structured_path
WorldVistA Specific Editing
We have developed templates to support a terse description of the status for each VistA component
First, let's look at some examples as seen by the user. Click on these links. Click the browser "Back" button to come back here.
Next, consider these excerpts from the wiki code.
Note: We have not yet settled on a preferred whitespace style in our wiki code. So you will see a variety of styles. A mediawiki bot will probably clean it all up once we make up our mind.
CPRS Example
==== Computerized Patient Record System (CPRS) ==== ===== Status: CPRS required - Porting to XO not Complete ===== *{{WorldVistA-Check}} *{{WorldVistA-Porting}} [[Porting Delphi Clients to the XO]] *{{WorldVistA-Alt}} [[CPRS Alternative OpenVista CIS]] *{{WorldVistA-OLPC-MustHave}} This Status NEEDs to be propagated to the other CPRS components.
Mental Health Example
==== Mental Health ==== ===== Status: Mental Health supported, except ASI-MV missing ===== *{{WorldVistA-Check}} Mental Health Features supported by WorldVistA, except: *{{WorldVistA-Not}} ASI-MV missing from WorldVistA because of copyright issues. Perhaps something similar to the agreement with AMA allowing use of the CPT procedure codes can be worked out.
VistA Imaging Example
==== VistA Imaging System ==== ===== Status: VistA Imaging: missing - Alternate Available ===== *{{WorldVistA-Not}}VistA Imaging: missing - Uses proprietary components not available outside the VA. *{{WorldVistA-Alt}}[http://sourceforge.net/projects/o3-dpacs O3 DPACS] IHE compliant from the [http://www.o3consortium.eu/ O3 Consortium] - Open Source - Java based
- In each case we begin with the level 4 heading for the subsection describing a VistA component.
- Immediately after it we insert a level 5 heading, which annotates the Table of Contents with the status of this component under WorldVistA on the XO.
- Next is a bulleted list that gives us the details.
- Each bullet begins with a template reference that generates an icon and a status annotation.
- The template may be followed by a single line of text.
- Anything longer than that must be moved to page(s) linked to from within the single line of text.
- Aligning the template reference and text/links in columns enhances readability
- There may be an optional paragraph that follows the bulleted list.
CPRS Example 2
If there is no exceptional status the level 5 status header may be ommited. After the CPRS porting is completed we will have:
==== Computerized Patient Record System (CPRS) ==== *{{WorldVistA-Check}} *{{WorldVistA-Ported}} *{{WorldVistA-Alt}} [[CPRS Alternative OpenVista CIS]] *{{WorldVistA-OLPC-MustHave}}
Status Templates
Template | Displays as | Indicates |
---|---|---|
{{WorldVistA-Check}} | Check | Indicates the component is included in the WorldVistA release as described in the monograph. |
{{WorldVistA-Not}} | Not | Indicates the component is NOT included in the WorldVistA release as described in the monograph. |
{{WorldVistA-Alt}} | Alt | Indicates alternate software that performs the same function. |
{{Medsphere-Alt}} | Template:Medsphere-Alt | Alternate software from Medsphere. NEED Medsphere icon/template. See http://wiki.laptop.org/go/Template:WorldVistA-Alt and click on the edit tab for inspiration. |
{{O3-Alt}} | Template:O3-Alt | Alternate software from O3 Consortium. NEED O3 icon/template. See http://wiki.laptop.org/go/Template:WorldVistA-Alt and click on the edit tab for inspiration. |
{{WorldVistA-Porting}} | Porting | Indicates WorldVistA is in the process of porting to the XO. |
{{WorldVistA-Ported}} | Ported | Indicates WorldVistA has completed porting to the XO |
{{WorldVistA-Addon}} | Add on | WorldVistA provides additional components. |
{{WorldVistA-OLPC-MustHave}} | Must Have | Required for OLPC |
{{WorldVistA-OLPC-Want}} | Want | Wanted for OLPC |
{{WorldVistA-OLPC-DontNeed}} | Don't Need | Not needed for OLPC |
Other Templates, etc.
{{WorldVistA}}
Generates standard header at top of WorldVistA wiki page.
<!-- file -->
Indicates where we will split into separate files (pages). Please leave them alone.
Let's Go
First, we need status information at the top of the VistA Monograph entry for each VistA component.
WorldVistA folks need to tell us what components are supported by the WorldVistA implementation. And what to do about components that are not supported.
OLPC folks need to tell us what components they need.
Next, we need to see how 2005 predictions of the future turned out. See: http://wiki.laptop.org/go/VistA_Monograph_Wiki#HealtheVet-VistA-.28Future.29 http://wiki.laptop.org/go/VistA_Monograph_Wiki#On_The_Horizon
We need to address any additional 3rd party components.
Then we will be ready to review each section of the VistA Monongraph.
Wiki-ing the Vista Monograph
Phillip Longman's book
Best Care Anywhere: Why VA Health Care is Better Than Yours, by Phillip Longman, ISBN 0977825302, provides a history of the development of VistA, its effects on the quality of the health care received by the patients, and the social policy debate on US health care in general.
VistA was created by a collaboration between clinicians and IT folks without senior VA management being aware of what was going on. This resulted in a marvelous system that meets the needs of clinicians. Phillip Longman documents the love/hate relationship between the VA's upper management and the VistA software.
VA Management's view of VistA:
- It's not ours!
- It's old, ugly, obolete!
- We've tried to replace it, and failed, failed, ...
- We win awards for it.
VistA Documentation Library
VeHU - VHA eHealth University
VeHU, VHA eHealth University training website
Select All Tracks, no Keywords and browse.
The VA removed this valuable site. It is partially back, but it's mostly just stubs. It remains to be seen if it will be fully restored.
Join the chorus asking the VA to put it back.
Hardhats
Hardhats is where the folks running VistA outside the VA hang out. There is also a Google Groups based mail list.
VistA Back End Server
The WorldVistA server running on the XO with a 2GB SD card communicating with CPRS (Computerized Patient Record System) running on Windows laptop.
The back end is written in Mumps, we use the open source GT.M implementation.
The WorldVistA server is running on the XO with a 2GB SD card communicating with CPRS (Computerized Patient Record System) running on Windows laptop.
- Bhaskar said it would be easy.
- Larry Landis installed GT.M, VistA, and got FileMan running.
- David Whitten put band aids on the rpc broker.
NEED to get Larry to document installation procedure.
GT.M supports database replication.
VistA Front End Clients
The are several options for Porting Delphi Clients to the XO.
Notes on porting each The Delphi Clients.
WorldVistA Software
I takes a lot of work to implement a working VistA system. It is possible, many organizations have done it. It's hard to recreate the necessary development environment used by the VA. Portions of the software were redacted because of ownership licensing issues.
WorldVistA has implemented and ditributed a GPL V2 version of the software that works and has obtained CCHIT certification. WorldVistA is debating whether to change the licensing to GPL V3. Most of the source code remains unmodified from the public domain FOIA release. There may be some LGPL in the mix. We probably NEED to have somebody go through all our source (once we get the OLPC Project Hosting Application approved) and check the provenance of each file, adding/checking copyright and license headers as appropriate.
WorldVistA runs on the open source GT.M version of Mumps, as well as the proprietary Cache version.
Download WorldVistA Software here.
NEED a paragraph or so about each file.
Test and Demo Data
We NEED good test and demo data.
Valerie's medical curriculum with sample medical records.
Decision Support System
Emory Fry's Socratic Grid Project is an interesting open source Decision Support System at the recent WorldVistA Community Meeting.
Other folks presented using Clinical Reminders instead. NEED to find link to their presentation.
3rd World Medicine
NEED to understand the differences. Will we need to tweak VistA? Ask Joseph.
Roles
Obviously some roles are performed by many people and some people perform many roles.
Here we are listing the various roles and the skill sets, tools, and tasks associated with each role.
See: OBX and Babel for ideas on icons representing skill sets
Developer - Translators
Developer - Lazarus/Free Pascal
- Analyze WorldVistA client source.
- Identify required components
- TFrames
- TRichEdit
- ...
- patch Free Pascal compile if necessary
- Develop missing LCL components
Sysadmin
Medical information systems must have appropriate levels of administrative support. Backups must be regularly performed. And there must be periodic tests to make sure the recoveries can be performed. We cannot lose a country or region's medical records!!!
Best Practices
The OLPC computers XO and XS will be deployed in large numbers. It simply is not possible to have system administrators monitoring and maintaining each one. The normal administrative process will have to be automated. With reports flowing back to a centralized (Regional) management team. It will be difficult to make sure this scale well and the regional staff is not overwhelmed
A VistA based system requires several types system administrators with different skill sets:
- Unix
- GT.M
- VistA
- CAC (Clinical Application Coordinator)
licensing clerk
Paralegal examines each source file checks provenance, and licenses adds any necessary notices
License Policy
Ponders mysteries like is MSPL an acceptable license for a piece of software we want to use.
Privacy Policy
Approves anonymization of real medical data (with patient permission) for used for
- demonstration
- medical curriculum
- software testing
Note: Privacy laws vary by country. Don't know what rules and regualations would apply to an OLPC based medical records system.
Releasing anonymized medical records can be a bureaucratically intense process with IRBs Institutional Review Boards, etc.
Medical records on the mesh raises interesting privacy problems that need to be addressed.