User-Driven Development
Custom Implementation
Responsive Support

A non-profit network of experts helping
the medical community use Vista

This is based on a document that VEN and T3 TigerTech originally prepared for OSEHRA in May, 2013. It has been updated.

Vista Architecture

Purpose and Scope

This document outlines the best practices for Vista enterprise architecture, based on the experiences and expertise of the open-source Vista community. The intent of the document is to provide information guidance for organizations seeking to set up their own Vista system.

Each organization will have its own priorities and policies, and it is not the intent of this document to replace or revise them. Instead, this document simply provides a framework in which an organization’s policies can be deployed.

Executive Summary

A fully functioning Vista instance can be thought of as a series of layers, beginning with the hardware and working upward.

Each layer builds on the layers below it, so each layer must be robust and well-supported. Organizations should have protocols in place for maintaining and troubleshooting each of the layers. These protocols can, where appropriate, consist of contracts with expert vendors.

Layers 1–3: The Foundational Core

A Vista instance begins with its hardware, which provides the basic computing power the other layers will be relying on. Organizations will all have their own ideas about the best hardware solution. Any hardware strategy should, of course, include provisions for backups and failovers.

The next layer is the operating system, which provides a foundational state and behavior. Again, the choice of operating system is largely up to the organization. This layer also includes the network on which the hardware resides; the network provides frameworks for external services.

The final foundational layer is the M virtual machine. M is the language that Vista is written in; it provides Vista‘s DNA. There are reliable and robust implementations of M that run well under Linux, FreeBSD, and several other operating systems. This makes Vista remarkably portable, capable of running on most hardware. M uses the von Neumann principles to co-mingle code and data, allowing for much of Vista‘s power and efficiency.

Layers 4 and 5: The Integration Engine

Built on the foundation of the M language is layer 4: Vista‘s globals and routines. Vista is often described as a set of packages or modules. For certain administrative considerations, this model is a useful one, but it is not a correct description of how Vista is structured, and should not play any role in designing Vista‘s architecture. Vista‘s data, stored in globals, is completely integrated. The routines share this integrated data, so the routines are effectively integrated across all of Vista.

Sitting above the Vista layer is File Manager, nicknamed Fileman. Fileman is Vista’s database management system; it keeps track of all that integrated data, and allows users and developers to access and analyze it.

Layers 6 and 7: Vista’s Modular Architecture

The top layers allow Vista to interact with other software and other systems. Layer 6 consists of Vista’s suite of infrastructure packages. These packages allow developers to “wrap” code and data for import or export. This layer’s tools include the Kernel, the RPC Broker, extensible frameworks, and libraries.

The top layer is extensions and external systems. This is where external modules can be plugged into the basic Vista framework. In this way, external systems are interfacing through the infrastructure layer, so that their information can be readily understood and integrated into Vista’s own database.