User-Driven Development
Custom Implementation
Responsive Support

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

$TXT by YAW,LINDA linda.yaw@vistaexpertise.net (KIDS) 2021-10-25t23:25z

Nashville Demo Patch

SAMI (VAPALS-ELCAP) 18-14

(SAMI*18.0*14 SEQ #14)

George P. Lilly, Domenic DiNatale, Larry G. Carlson & Frederick D. S. Marshall
2021-10-25

‍i. Front matter

App

SAMI (VAPALS-ELCAP)

Version

18-14

Vista ID

SAMI*18.0*14 SEQ #14: Version 18.0, Patch ID #14, Seq #14

Priority

High

Categories

Routine, File

Status

Released: sami-18-14.zip

Depends on

SAMI 18-1 (SAMI*18.0*1 SEQ #1)
SAMI 18-2 (SAMI*18.0*2 SEQ #2)
SAMI 18-3 (SAMI*18.0*3 SEQ #3)
SAMI 18-4 (SAMI*18.0*4 SEQ #4)
SAMI 18-5 (SAMI*18.0*5 SEQ #5)
SAMI 18-6 (SAMI*18.0*6 SEQ #6)
SAMI 18-8 (SAMI*18.0*8 SEQ #8)
SAMI 18-9 (SAMI*18.0*9 SEQ #9)
SAMI 18-10 (SAMI*18.0*10 SEQ #10)
SAMI 18-11 (SAMI*18.0*11 SEQ #11)
SAMI 18-12 (SAMI*18.0*12 SEQ #12)
SAMI 18-13 (SAMI*18.0*13 SEQ #13)

‍ii. Contents

1. Description

SAMI 18-14 adds 20 updates, most of them changes to the user reports.

The definitive source for the VAPALS-ELCAP application—codebase, package distributions (including this patch), and documentation—is a public GitHub repository.

These instructions are for your Vista environment’s sysadmin. As usual, please capture the complete dialog of your install and send it to your VAPALS-ELCAP support team.

The following list shows changes for:

1.1. Enrollment Report: Add inactive/active column

Issue 21-155: Add inactive/active column after name on the Enrollment report. Enrolled is defined as “eligible on intake form and marked as enrolled.”

Solution: Added column using definition.

Reported: 2021-08-23 by Henschke.

1.2. Activity Report: Rearrange columns.

Issues 21-156 and 21-126: Order of columns is: Name, SSN or PID, Form, Form Date, Followup, on Date. Remove When column.

Solution: Changed columns as requested.

Reported: 2021-08-23 and 2021-07-12 by Henschke.

1.3. Activity Report: Correct problem were "baseline" appears instead of follow up date

Issue 21-173: The word baseline shows up in the on Date column when CT scan is a baseline scan.

Solution: Fixed to put in date.

Reported: 2021-09-14 by Rukavena.

1.4. Activity Report: Form date doesn’t sort properly.

Issue 21-182: Dates are being sorted as text instead of dates.

Solution: Fixed to sort as date.

Reported: 2021-09-30 by Jarapatnakul.

1.5. Follow up Report: Rearrange columns, change title, add phone number

Issues 21-158, 21-157 and 21-120: Change followup report columns to F/U Date, Name, SSN or PID, Baseline Date, Last Form, Form Date, Recommendation, Contact Info. (Remove When.) Change title of Followup report to “Participant Follow-up,” add phone number to contact info, add other types of Follow-up.

Solution: Made changes as requested.

Reported: 2021-08-23 and 2021-07-09 by Henschke and Jirapatnakul.

1.6. Follow-up Report: Correct problem where baseline appears instead of follow-up date

Issue 21-168: The word baseline appears instead of the follow-up date sometimes.

Solution: Fix bug.

Reported: 2021-08-29 by Jirapatnakul.

1.7. Follow-up Report: Follow-up form is not being considered in calculating follow-up date

Issue 21-174: The follow-up date on the follow-up form is also the date of scheduled CT, so the field name (sidoct) was different than the field name in other forms (cefud). This meant that the date on the follow-up form was not included in algorithm to determine follow-up date.

Solution: Changed field name.

Reported: 2021-09-14 by Lily.

1.8. Follow-up Report: The baseline date is being used as the intake date

Issue 21-175: The wrong date was being used for the intake date.

Solution: Fix bug.

Reported: 2021-09-14 by Yaw.

1.9. Intake but no CT Evaluation Report: Wrong patients on report

Issue 21-165: Missing CT report is reporting patients who do have CT evaluations.

Solution: Fixed bug.

Reported: 2021-08-31 by Murphy

1.10. Intake but no CT Evaluation Report: There are patients with CT Evals in report

Issue 21-193: Patients who had a follow-up form after a CT Eval were shown on report because algorithm stopped looking for a CT Eval in the patient graph.

Solution: Included looking for earlier CT Eval form in algorithm

Reported: 2021-10-12 by Murphy.

1.11. User Reports: Inactive patients in wrong reports

Issue 21-164: Inactive patients are showing up in reports that they should not be in. They should only be in enrollment and inactive reports.

Solution: Fixed to keep inactive patients out of inappropriate reports.

Reported: 2021-08-31 by the Phoenix team.

1.12. User reports: Team decided to add inactive patients to Activity Report

Issue 21-181: If an inactive patient has a CT Scan or other intervention the Nurse Navigator will not be alerted. The team decided to add inactive patients to the activity report so they can correct status of patient if needed and will follow-up as appropriate.

Solution: Add inactive patients to Activity report.

Reported: 2021-09-30 by Murphy.

1.13. Data Dictionary: Add calculated CAC score to DD for CT Eval and Intervention forms

Issues 21-161: Include CAC score field from CT Eval form in Data Dictionary.

Solution: Added field to Data Dictionaries.

Reported: 2021-08-21 by Yip and Jirapatnakul.

1.14. Followup form: Make a way for clinicians to change the followup date

Issue 21-049: Allow clinicians other than the radiologist to reset the date to Followup (approximate date) on the Followup report. Change existing Followup Date field to Followup Form Date and add new date field called Next Followup Date. Computation of new CT Eval Form date will attend to this new field instead of the old one. Insert new field before Date of baseline CT.

Solution: Next CT Followup added and used to determine date for Participant Followup Report.

Reported: 2021-04-22 by Anil and Yaw.

1.15. User reports: Date formats are inconsistent in all user reports

Issues 21-181 through 21-188: Three date formats were in use in the user reports, so they were updated to consistently be MM/DD/YYYY.

Solution: Fixed inconsistencies.

Reported: 2021-09-30 by Yaw.

1.16. Report Menu: Change dropdown menu item to “Intake But No CT Evaluation”

Issues 21-159: Change dropdown menu item from Missing Image & CT Evaluation to Intake But No CT Evaluation.

Solution: Changed item.

Reported: 2021-08-23 by Henschke.

1.17. CT Evaluation Form: The smooth edge and spiculated boxes should be next to each other

Issue 21-146: Minor change in nodule grid to move Spiculated up under smooth edge since they are related.

Solution: Changed form.

Reported: 2021-07-25 by Chenoweth.

1.18. Participant Followup Form: Rename and move Next CT follow-up field

Issue 21-190: Next Change CT followup field name to New CT follow-up date if needed. Remove red star. Move field below Time since baseline box.

Solution: Changed field name and position.

Reported: 2021-10-14 by the Phoenix Team.

1.19. All pages: The submit feedback link does not work in the VA

Issue 21-154: The VA firewall blocks the link to Jira, so the team decided to remove that link for all pages in the VA.

Solution: Removed submit feedback link.

Reported: 2021-07-25 by Chenoweth.

1.20. Login page: Make login able to use username and password

Issue m015: To prepare for non-VA installations, access/verify needs to be changed to username/password.

Solution: Parameter created to change wording.

Reported: 2021-02-24 by Beyond VAPALS team.

2. Package elements

File Change

sami-18-14-recipe.txt

new

sami-18-14.kid

new

sami-18-14.txt

new

docs/form-fields/*

modified

docs/www/*

modified

upgrade-webapp

new

sami-18-14.zip

new

Routine Change

SAMICAS2

modified

SAMICUL

modified

SAMIPAT

modified

SAMISITE

modified

SAMIUR

modified

SAMIUR2

modified

SAMIURUL

modified

3. Prepare for installation

This involves creating a directory to work in, running a script to back up certain datafiles and web-application files, and then going through steps to back up M routines that will be replaced by the patch.

3.1. Assume the identity of your osehra Unix user

This step assumes you use a dzdo or sudo command to do this; here, the symbol $DEMAND will stand for whichever command you use. (Also, in all the command-line examples below, $ simply means your command-line prompt.) If your configuration is different, please adjust this step to match your configuration:

$ $DEMAND su - osehra
$ _

3.2. Prepare install directory

If this is your first time installling this, execute the following commands. They create a shell variable, and then creates the work directory and sets it as your current directory.

$ INDIR=~/run/in/sami/18-14
$ mkdir -p $INDIR
$ cd $INDIR

If you’ve already tried installing this once, you can use the following commands instead:

$ INDIR=~/run/in/sami/18-14
$ cd $INDIR
$ rm -rf ./sami*.{txt,kid} ./*webapp*

3.3. Download and prepare the archive file

You may safely download the archive file (sami-18-14.zip) in advance of the actual install. In the following text, [now] represents a time stamp representing your current time, and [bits/sec] is a data rate and [time] is how long the file took to transfer (both of which vary based on the user’s network conditions).

$ wget --no-verbose 'https://vistaexpertise.net/newsite/project/vapals-elcap/dist/18-14/sami-18-14.zip'
{now} URL:https://vistaexpertise.net/newsite/project/vapals-elcap/dist/18-14/sami-18-14.zip [{size}/{size}] -> "sami-18-14.zip" [1]
$ _

Then unzip the archive file with the following command.

$ unzip sami-18-14.zip
Archive:  sami-18-14.zip
  [... 552 files in archive, about 9.7 Mb ...]
$ _

3.4. Install web-application files

At this point, the web-application files must be installed. This is done with a script that backs up the affected directories before installing anything, then upgrades the web-application files. The output looks like this (where [x] represents a number).

$ ./upgrade-webapp
Backing up files to ./.webapp-backup:
[... lists of files backed up ...]
Compressing the backup:
[... list of files being compressed ...]
Cleaning up.
Done with backup of webapp files.

Updating from ./webapp-upgrade-files ...
[... list of files being updated ...]
Done with install.

You may now proceed with the KIDS installation.
$ _

Outside the VA firewall, VAPALS-ELCAP systems maintain up-to-date clones of the official GitHub repository, and this script will have different output.

$ ./upgrade-webapp
Backing up files to ./.webapp-backup:
[... lists of files backed up ...]
Compressing the backup:
[... list of files being compressed ...]
Cleaning up.
Done with backup of webapp files.

Found a valid Git repository; pulling updates ...
[... output varies ...]
Done with install.
$ _

3.5. Back up M routines

Before the installation, we also need to back up existing VAPALS-ELCAP routines that will be overwritten by this install. To do this, you will have to start a Caché or YottaDB session (depending on your particular installation), sign in to Vista, and then call the direct-mode interface ^%RO (“routine out”).

We have made efforts to display accurate instructions, but there are likely to be minor differences between implementations. Be sure to follow the correct dialog for your implementation.

3.5.1. Enter M

At the Unix prompt, enter the M environment in direct mode, using the csession command on Caché or the mumps command on YottaDB/GT.M:

On Caché

$ csession vapals

Node: vapalscache, Instance: VAPALS

>_

On YottaDB/GT.M

$ mumps -dir

>_

3.5.2. Sign into Vista

At the M prompt, call Vista’s direct-mode interface, enter your access code, and then just press return at the OPTION NAME prompt to return to direct mode. This sets up your authentication variables. Here’s a sample capture of this step:

>do ^XUP

Setting up programmer environment
This is a TEST account.

Access Code: *******
Terminal Type set to: C-VT100

Select OPTION NAME:
>_

3.5.3. List of routines

The routine names to save are listed below; you may copy the list and paste it at the appropriate Routine prompt. At the final Routine prompt, press return to indicate the list of routines is done.

SAMICAS2
SAMICUL
SAMIPAT
SAMISITE
SAMIUR
SAMIUR2
SAMIURUL

3.5.4. Run the backup

Creating the routine backup file differs by implementation.

On Caché

Note that routines that don’t currently exist will result in a warning message (specifically, the routine name will have [???] after it, and the line [does not exist] after that). These messages can be safely disregarded.

In addition to naming the routines and routine-out file, we also provide a Description and press return at the Parameters and Printer Format prompts to accept the defaults of WNS and No, respectively:

>do ^%RO

Routine output (please use %ROMF for object code output)
Routine(s): SAMICAS2
Routine(s): SAMICUL
Routine(s): SAMIPAT
Routine(s): SAMISITE
Routine(s): SAMIUR
Routine(s): SAMIUR2
Routine(s): SAMIURUL
Routine(s):

Description: SAMI*18.0*14 SEQ #14 routine backup

Output routines to
Device: /home/osehra/run/in/sami/18-14/sami-18-14-back.ro
Parameters? ("WNS") =>
Printer Format? No => No
SAMICAS2.INT    SAMICUL.INT     SAMIPAT.INT     SAMISITE.INT
SAMIUR.INT      SAMIUR2.INT     SAMIURUL.INT
>_

On YottaDB/GT.M

Note that routines that don’t currently exist will result in the routine name not appearing under the input line, and won’t count towards the number of routines. These can be safely disregarded.

In addition to naming the routines and routine-out file, we also provide a Header Label and press return at the Strip comments prompt to accept the default of no:

>do ^%RO

Routine Output - Save selected routines into RO file.

Routines: SAMICAS2
SAMICAS2
Current total of 1 routines.

Routines: SAMICUL
SAMICUL
Current total of 2 routines.

Routines: SAMIPAT
SAMIPAT
Current total of 3 routines.

Routines: SAMISITE
SAMISITE
Current total of 4 routines.

Routines: SAMIUR
SAMIUR
Current total of 5 routines.

Routines: SAMIUR2
SAMIUR2
Current total of 6 routines.

Routines: SAMIURUL
SAMIURUL
Current total of 7 routines.

Routine:

Output device <terminal>: /home/osehra/run/in/sami/18-14/sami-18-14-back.ro

Header Label: SAMI*18.0*14 SEQ #14 routine backup
Strip comments <No>?:
SAMICAS2  SAMICUL   SAMIPAT   SAMISITE  SAMIUR    SAMIUR2
SAMIURUL

Total of 3745 lines in 7 routines.

>_

You’ll remain in the M environment for the next section.

4. Main install instructions

This consists of loading and installing the KIDS package, and activating the new web-application files.

4.1. Installing the KIDS package

This installs the various M assets required by the application.

4.1.1. Enter the KIDS Installation menu

At the OPTION NAME prompt select XPD MAIN to enter the Kernel Installation & Distribution System main menu, and at the Select ... Option prompt select Installation:

>do ^XUP

Select OPTION NAME: XPD MAIN       Kernel Installation & Distribution System


      Edits and Distribution ...
      Utilities ...
      Installation ...
      Patch Monitor Main Menu ...

Select Kernel Installation & Distribution System <TEST ACCOUNT> Option: installation


   1      Load a Distribution
   2      Verify Checksums in Transport Global
   3      Print Transport Global
   4      Compare Transport Global to Current System
   5      Backup a Transport Global
   6      Install Package(s)
          Restart Install of Package(s)
          Unload a Distribution

Select Installation <TEST ACCOUNT> Option:_

4.1.2. Load KIDS package

Select option 1 and press return at the Continue prompt.

Select Installation <TEST ACCOUNT> Option: 1  Load a Distribution
Enter a Host File: /home/osehra/run/in/sami/18-14/sami-18-14.kid

   KIDS Distribution saved on Oct 15, 2021@11:40:34
   Comment: Released SAMI*18.0*14 SEQ #14 (sami-18-14)


This Distribution contains Transport Globals for the following Package(s):
   SAMI*18.0*14
Distribution OK!

Want to Continue with Load? YES//
   Loading Distribution...

   SAMI*18.0*14
Use INSTALL NAME: SAMI*18.0*14 to install this Distribution.


   1      Load a Distribution
   2      Verify Checksums in Transport Global
   3      Print Transport Global
   4      Compare Transport Global to Current System
   5      Backup a Transport Global
   6      Install Package(s)
          Restart Install of Package(s)
          Unload a Distribution

Select Installation <TEST ACCOUNT> Option:_

4.1.3. Install KIDS package

Select option 6, enter the space bar at the INSTALL NAME prompt, and press return at the next three prompts. Note that [now] denotes the current time when you’re doing the install.

Select Installation <TEST ACCOUNT> Option: 6  Install Packages(s)
Select INSTALL NAME:    SAMI*18.0*14     Loaded from Distribution    [now]
   => Released SAMI*18.0*14 SEQ #14 (sami-18-14)  ;Created on Oct 25, 2021@12:29:26

This Distribution was loaded on [now] with header of
   Released SAMI*18.0*14 SEQ #14 (sami-18-14)  ;Created on Oct 25, 2021@12:29:26
   It consisted of the following Install(s):
   SAMI*18.0*14
Checking Install for Package SAMI*18.0*14

Install Questions for SAMI*18.0*14



Want KIDS to INHIBIT LOGONs during the install? NO//
Want to DISABLE Scheduled Options, Menu Options, and Protocols? NO//

Enter the Device you want to print the Install messages.
You can queue the install by enter a 'Q' at the device prompt.
Enter a '^' to abort the install.

DEVICE: HOME// ;C-SCROLL  TELNET


 Install Started for SAMI*18.0*14 :
               [now]

Build Distribution Date: Oct 25, 2021

 Installing Routines:.....
               [now]

 Running Post-Install Routine: POS1814^SAMIPAT.

 Updating Routine file......

 Updating KIDS files.....

 SAMI*18.0*14 Installed.
               [now]

 No link to PACKAGE file

 NO Install Message sent

Install Completed


   1      Load a Distribution
   2      Verify Checksums in Transport Global
   3      Print Transport Global
   4      Compare Transport Global to Current System
   5      Backup a Transport Global
   6      Install Package(s)
          Restart Install of Package(s)
          Unload a Distribution

Select Installation <TEST ACCOUNT> Option:_

> halt
$ _

You now have VAPALS-ELCAP 18-14 (SAMI*18.0*14 SEQ #14) installed in your M environment. The install is now complete. We recommend running tests of your VAPALS-ELCAP application to confirm the environment is operational and bug-free, before notifying users that VAPALS-ELCAP is ready for their use.

5. Optional backout instructions

Should errors or other problems result from installing this package, contact the VAPALS-ELCAP development team for package-backout instructions.

6. Routines

Lines 2 and 3 of each of these routines now look like:

 ;;18.0;SAMI;[Patch List];2020-01;[optional build #]
 ;;18-14

The checksums below are Vista Type B checksums (do CHECK1^XTSUMBLD).

Name Checksum before Checksum after Patch list

SAMICAS2

B445469337

B447463890

**1,5,9,12,14**

SAMICUL

B134436

B135148

**9,11,12,14**

SAMIPAT

B761477

B9183353

**12,14**

SAMISITE

B91053774

B95807248

**5,12,14**

SAMIUR

B520612339

B655626702

**5,10,11,12,14**

SAMIUR2

B1265246653

B1360826675

**5,11,12,14**

SAMIURUL

B98717

B104949

**12,14**

7. Authors

Dates By

Developed

2021-10-13/14

George P. Lilly (VEN)
Dominic DiNatale (PAR)
Larry G. Carlson (VEN)
Frederick D. S. Marshall (VEN)
Kenneth W. McGlothlen (VEN)
Linda M. R. Yaw (VEN)

Tested

2021-10-14/24

George P. Lilly (VEN)
Dominic DiNatale (PAR)
Larry G. Carlson (VEN)
Claudia Henschke (VA-PHO)
Artit Jirapatnakul (VA-PHO)
Providencia Morales (VA-PHO)
Lorenza A. Murphy (VA-PHO)
Martha A. Rukavena (VA-PHO)
Frederick D. S. Marshall (VEN)
Kenneth W. McGlothlen (VEN)
Linda M. R. Yaw (VEN)

Released

2021-10-25

Frederick D. S. Marshall (VEN)
Kenneth W. McGlothlen (VEN)
Linda M. R. Yaw (VEN)

$END TXT