Jump to: navigation, search
  This page is part of the OLPC Health Project. Hardware | Software | Content | Health Jam
XO Caudecus
This page is part of the WorldVistA sub-project.

Porting VistA to the OLPC. For introduction to VistA components see VistA Monograph Wiki.

WorldVista logo


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.



Vista monograph2005 06 html 34d16251.png

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.


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

Just Do It!
  • Take a look at the examples below.
  • When you see an interesting wiki page, click an edit tab or button and see how they did it!

  • 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.
  • They do move around according to some voodoo I don't completely understand.
  • If they are missing you probably already clicked on an edit tab or button.

  • 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 Incantations)
  • Hit the Show preview button

  • Don't worry if you can't get the formatting just right! Just enter plain unformatted text and we will fix it!

  • Click Save page
  • You will have to answer some simple arithmetic problems to prove you are a human and not a malicious robot!
General MediaWiki Help and How To

See: Especially the Wiki Quickly link

For those who would rather have a more structured approach see:

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.

  1. CPRS
  2. Mental Health
  3. VistA Imaging System

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-Porting}}       [[Porting Delphi Clients to the XO]]
*{{WorldVistA-Alt}}           [[CPRS Alternative OpenVista CIS]]
*{{WorldVistA-OLPC-MustHave}} Part of base configuration.
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 which are removed by VA from the FOIA release.
*{{WorldVistA-Alt}}[ O3 DPACS] IHE compliant from the [ O3 Consortium] - Open Source - Java based
Discuss Examples
  • 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 omitted. After the CPRS porting is completed we will have:

==== Computerized Patient Record System (CPRS) ====
*{{WorldVistA-Alt}}           [[CPRS Alternative OpenVista CIS]]
Status Templates
Template Displays as Indicates
{{WorldVistA-Check}} 20051230 worldvista-logo-earth-3-256 fdsm.jpg Check Indicates the component is included in the WorldVistA release as described in the monograph.
{{WorldVistA-Not}} 20051230 worldvista-logo-earth-3-256 fdsm.jpg Not Indicates the component is NOT included in the WorldVistA release as described in the monograph.
{{WorldVistA-Alt}} 20051230 worldvista-logo-earth-3-256 fdsm.jpg Alt Indicates alternate software that performs the same function.
{{Medsphere-Alt}} Template:Medsphere-Alt Alternate software from Medsphere. NEED Medsphere icon/template. Use {{WorldVistA-Alt}} in the meantime.
{{O3-Alt}} Template:O3-Alt Alternate software from O3 Consortium. NEED O3 icon/template. Use {{WorldVistA-Alt}} in the meantime.
{{WorldVistA-Porting}} 20051230 worldvista-logo-earth-3-256 fdsm.jpg Porting Indicates WorldVistA is in the process of porting to the XO.
{{WorldVistA-Ported}} 20051230 worldvista-logo-earth-3-256 fdsm.jpg Ported Indicates WorldVistA has completed porting to the XO
{{WorldVistA-Addon}} 20051230 worldvista-logo-earth-3-256 fdsm.jpg Add on additional components.
{{WorldVistA-OLPC-MustHave}} Xo icon.jpg Must Have Required for OLPC
{{WorldVistA-OLPC-Want}} Xo icon.jpg Want Wanted for OLPC
{{WorldVistA-OLPC-DontNeed}} Xo icon.jpgDon't Need Not needed for OLPC
{{WorldVistA-WHO-MustHave}} Who logo en.gif Must Have Required for WHO
{{WorldVistA-WHO-Want}} Who logo en.gif Want Wanted for WHO
{{WorldVistA-WHO-DontNeed}} Who logo en.gif Don't Need Not needed for WHO
Other Templates, etc.

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 and WHO folks need to tell us what components they need.
  • 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

For notes on how the MS Word .doc was converted to a wiki, See 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, obsolete!
  • 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. Email


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.


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

  • Coco/R
  • CocoPy
  • Delphi grammars
    • D6 Borland Help File Based
    • D5 USSD Pascal Based
  • Translators
    • DelPy Delphi -> Python
    • Delphi -> Lazarus

Developer - Lazarus/Free Pascal

  • Analyze WorldVistA client source.
  • Identify required components
    • TFrames
    • TRichEdit
    • ...
  • patch Free Pascal compile if necessary
  • Develop missing LCL components


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.