Development Tools Discussion Group

The mission of the development tools group is to provide a state of the art suite of software development tools that assist software developers to write, test, maintain, and document code for inclusion in the codebase at a velocity and volume not previously attainable. 

These tools are designed to ensure that code improvements are “Safe, Compliant, and Functional”, and include:

Code Repository

The Code and database structure will be placed into an internal master code repository built with the open source Git” distributed version control tool. Initially this Git repository will incorporate all code provided by VA in a directory structure, and provide history of modification to individual routines and globals, allowing developers to use open source tools to obtain copies of the code, and to inspect its history. OSEHRA will push copies of this repository to a variety of mirror sites, where the general public may download and inspect the source code with Git capable tools.  Our first two public mirrors will be on Gitorious and on Github, a “social coding” site that allows anyone to make, share, and discuss proposed changes with the community.

OSEHRA Tools

These tools will include Automated Regression Testing, Stress Testing, Architectural Verification, Interoperability Testing, Section 508 Validation, Standards and Conventions (SAC) compliance, Privacy and Systems Security, Functionality Mapping, Performance Testing, and Customer Satisfaction Measurement.

Instructions for Installing and Testing the OSEHRA Code Base

Web Based Code Review

OSEHR - Software Quality Certification Dashboard

Eventually, OSEHRA's toolset will include CTest and CDash to provide automated checking of proposed changes, and “Gerrit” to provide web-based code review. This will facilitate distributed review of proposed changes by domain experts, coupled with some automated testing using CDash to aggregate test results. Branches of development will be able to be supported at sites using distributed development processes, and later merged if appropriate.

OSEHRA Development Tools Group End State Objectives

These development tools will be augmented to simplify the cloning of the codebase, and inspection of history. The critical aspect of this work will be  augmenting the KIDS subsystem to allow two-way conversion of procedures and globals from the M[UMPS] representation to a canonical on disk format and back again. This will allow for development to continue much as it has for many years and provide an easy path into and out of version control for developers. Once this functionality is present then changes can be uploaded for review, tested in pristine VistA installations and integrated once ready.

FOIA VistA Patches by Package

Group Email: 

development-tools@groups.osehra.org

Chair(s): 

like0

scripts - something went wrong downloading ydbinstall

While yesterday I had manually installed some of the components that the script seemed to struggle with, today, I started over with a fresh box (joy of Vagrant :o). With "set -x" in the bash files, I have more info to go on. And have attached the shell output as a txt file.

I was able to install GTM manually and get a MUMPS prompt yesterday, so I may try that and then "vagrant up --provision" to see if I can get past this. Otherwise I'll work through the scripts and see what needs to change.

Any suggestions appreciated!

David

Vagrant script issue with $PATH

I had this issue with each attempt with Vagrant - can't find MUMPS. Pretty likely it's an issue with the $PATH. Even when I manually entered a path so GT.M would start, other files are unavailable, also due to path issues.

I'll look at it again in a few days, but does anyone know where the paths are set during the install?

Vagrant script issue with $PATH

I had this issue with each attempt with Vagrant - can't find MUMPS. Pretty likely it's an issue with the $PATH. Even when I manually entered a path so GT.M would start, other files are unavailable, also due to path issues.

I'll look at it again in a few days, but does anyone know where the paths are set during the install?

Difficulty getting system up and running

I'll admit to just giving up on virtualbox for now. I had more luck with the Docker instances and will probably try just building in a RHEL virtual machine...

I'm having some difficulty, even though I've followed the instructions to the letter. It seems that Mumps is missing?

$ ssh -p 2222 osehratied@localhost
osehratied@localhost's password:
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-62-generic x86_64)

YottaDB LLC bakes Raspberry Pi

OSEHRA is pleased to share with our community that Organizational Member YottaDB LLC has released YottaDB r1.10. This release adds support for GT.M, on which YottaDB is based, to run successfully on Advanced Reduced Instruction Set Computer (RISC) Machine processor chips, commonly known as ARM. ARM licenses both 32-bit and 64-bit RISC multi-core processors that are designed to operate at a high speeds, and are extensively used in consumer electronic devices such as smartphones, tablets, multimedia players, and other mobile devices including wearables.

scripts - something went wrong downloading ydbinstall

While yesterday I had manually installed some of the components that the script seemed to struggle with, today, I started over with a fresh box (joy of Vagrant :o). With "set -x" in the bash files, I have more info to go on. And have attached the shell output as a txt file.

I was able to install GTM manually and get a MUMPS prompt yesterday, so I may try that and then "vagrant up --provision" to see if I can get past this. Otherwise I'll work through the scripts and see what needs to change.

Any suggestions appreciated!

David

Vagrant script issue with $PATH

I had this issue with each attempt with Vagrant - can't find MUMPS. Pretty likely it's an issue with the $PATH. Even when I manually entered a path so GT.M would start, other files are unavailable, also due to path issues.

I'll look at it again in a few days, but does anyone know where the paths are set during the install?

Vagrant script issue with $PATH

I had this issue with each attempt with Vagrant - can't find MUMPS. Pretty likely it's an issue with the $PATH. Even when I manually entered a path so GT.M would start, other files are unavailable, also due to path issues.

I'll look at it again in a few days, but does anyone know where the paths are set during the install?

Difficulty getting system up and running

I'll admit to just giving up on virtualbox for now. I had more luck with the Docker instances and will probably try just building in a RHEL virtual machine...

I'm having some difficulty, even though I've followed the instructions to the letter. It seems that Mumps is missing?

$ ssh -p 2222 osehratied@localhost
osehratied@localhost's password:
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-62-generic x86_64)

YottaDB LLC bakes Raspberry Pi

OSEHRA is pleased to share with our community that Organizational Member YottaDB LLC has released YottaDB r1.10. This release adds support for GT.M, on which YottaDB is based, to run successfully on Advanced Reduced Instruction Set Computer (RISC) Machine processor chips, commonly known as ARM. ARM licenses both 32-bit and 64-bit RISC multi-core processors that are designed to operate at a high speeds, and are extensively used in consumer electronic devices such as smartphones, tablets, multimedia players, and other mobile devices including wearables.

No questions have been added to this group.

Proposal to use RDF/SPARQL to define Foundation Schema to map VistA elements

At the last Architecture phone call, I suggested using semantic web/ontology technology to describe the VistA architecture, which would give us a formal, common platform for discussing everything required to install and operate a VistA instance.  

Attached is the proposal, which points to the RDFS of the schema at http://www.metavista.name/foundation/foundation.rdfs

 

Proposal

An RDF approach to managing the VistA software foundation

 

Tom Munnecke

Development Tools - Getting Started with Git - Part II

 

This document is the continuation of an introduction to the Distributed Version Control System Git.

The first session of this tutorial is available here:

You are encouraged to go throught the first session before you look at this current one.

No previous knowledge of Git or revision control systems is assumed in this presentation.

Development Tools - Getting Started with Git

This document provides an introduction to the Distributed Version Control System Git.

No previous knowledge of Git or revision control systems is assumed in this presentation.

This is intended to be an easy session to become familiar with the use of Git, following a hands-on pragmatic approach.

 

Once you cover this first introducton,
you may want to continue with the next sessions at

CWG Testing Tutorial Series

Certification Work Group Tutorials

Since early November, the Certification Working Group (CWG) has been running a series of tutorials during its bi-weekly meetings.  These tutorials have touched upon the creation of tests for the OSEHRA Testing harness and the tools that are currently used.  Each approximately hour long meeting has been recorded and linked below.  In time, these files will be edited down to a more concise video, which will be posted here when completed. 

GT.M UTF-8 Solutions

Over the course of debugging the premature end of the routine import on a GTM environment with  UTF-8 enabled, we discovered that the OSEHRA code base contains characters that UTF-8 cannot properly encode.  When exporting the routines from the Cache database, it is encoded in Latin1, which causes the UTF-8 read to fail.

To create a code base that can be impored into the UTF-8 instance, there are two options:

virtual-machine-with-testing-osehra-code-base-pre-configured-2

NOTE:

OSEHRA has a new process for generating Virtual Machines for testing which utilizes the Vagrant tool to create the VM and populate it with the appropriate tools and repositories.  There is a set of instructions available from the OSEHRA VistA repository which can be found here:
https://github.com/OSEHRA/VistA/blob/master/Documentation/Install/Vagrant.rst

EWD: a web app framework for GT.M and Cache

I've just submitted a techincal report on EWD which some of you may find interesting.

In summary:

EWD is a web application development framework that has been specifically designed for use with GT.M and Caché.  It can be used to not only develop new web applications, but also web-enable existing legacy applications.  As such it is an ideal framework for modernizing VistA.

EWD has been specifically designed to:

Using CPRS with VistA

A new installation of FOIA VistA with the CPRS GUI is enough to get started learning VistA, but not to actually use the system to record patient medical data. There are a number of additional components required, as well as significant configuration procedures, in order to achieve an application that is clinically useful. Specifically, the following data items are not available in a freshly installed FOIA VistA instance:

  • test patients
  • care provider profiles
  • pharmacy formulary (Drug File)
  • locations (facilities and clinics)

CPRS-connection-to-the-VM


This Wiki page describes how to connect CPRS to the Virtual Machine.

 

[Update: Please note that a newer version of the Virtual Machine is here:]

http://osehra.org/wiki/virtual-machine-testing-osehra-code-base-pre-configured-2

This newer version contains the FOIA version of December 6th.

 

For the instructions in this page,

please use the Virtual Machine that is described here

M-Tools-For-Code-Reformatting

MUMPS level of flexibility allows developers to write very compact expressions, that can sometimes be difficult to read for others. It is therefore convenient to have at hand a code re-formatting tool capable of re-writting M expressions in a more verbose and human-readable format.

Joel Ivey has developed and kindly shared this kind of tools at.

https://github.com/OSEHRA-Sandbox/M-Tools

The XTMREDO.m routine in the CodeFormatter directory is the central piece of the tool.