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) 2024-09-11t00:43z

CT Eval Recommendation Report

SAMI (Screening+) 18-17-b9

(SAMI*18.0*17 SEQ #17 b9)

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

‍i. Front matter

App

SAMI (Screening+)

Version

18-17-b9

Vista ID

SAMI*18.0*17 SEQ #17 b9: Version 18.0, Patch ID #17, Seq #17, Build 9

Priority

High

Categories

Routine, File

Status

Release: SAMI-18-17-b9.zip

Depends on

SAMI 18-1 (SAMI*18.0*1 SEQ #1)
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-7 (SAMI*18.0*6 SEQ #7)
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-14 (SAMI*18.0*14 SEQ #14)
SAMI 18-15 (SAMI*18.0*15 SEQ #15)
SAMI 18-16 (SAMI*18.0*16 SEQ #16)

‍ii. Contents

1. Description

SAMI 18-17-b9 adds two high-priority updates to accomodate Mt. Sinai’s workflow as well as updates to allow single sign-on or to improve output of reports.

The definitive source for the Screening+ application—codebase, package distributions (including this one), 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 Screening+ support team.

The changes in this patch are:

  • Insert clinical information string in CT Eval form (high-priority, A-1a)

  • Provide support for user-controlled MRN and Study ID (A-2 and A-3)

  • Login: Implement single sign-on (21-218)

  • Logout: Upon sign-out, redirect to the correct web page (21-221)

  • Include name and last5 in every CSV file on every row (B-1)

  • Add a user report to show CT Eval recommendations (B-2)

1.1. Insert clinical information string in CT Eval form

Unnumbered Issue A-1a (high priority): Clinical information field on the CT Eval form to be auto-filled based on responses to questions in the background form format to be:

  • Age xx; [Asymptomatic for lung cancer]; Current Smoker; xx Pack Years

or

  • Age xx; [Asymptomatic for lung cancer]; Former Smoker; xx Pack Years; Quit xx years ago

Solution: Developed clinical information string from background form and inserted into new CT Eval form.

Reported: 2024-07-11 by iELCAP team.

1.2. Provide support for user-controlled MRN and Study ID

Unnumbered Issues A-2 and A-3 (high priority): iELCAP uses the Epic MRN and Study ID instead of Social Security Number to identify patients. Screening+ needs to support the use of these patient IDs in the correct places.

Solutions: Support the entering of the MRN on the registration page, allow the modification of the MRN on the Intake form, allow the entering and changing of the StudyID on the intake form, support displaying of the MRN and Study ID (if assigned) on the page header.

Reported: 2024-07-11 by iELCAP team.

1.3. Login: Implement single sign-on

Issue 21-218: When using single sign-on, user should not be prompted to log in to VAPALS-ELCAP separately. However, user must be matched to single sign-on SECID.

Solution: Require user to sign in once using Access and Verify created by system administrator. This allows SECID to be captured and tied to user. For this testing version, where we don’t yet have access to SECID, the IP address is used instead. Note: for testing, if user does not have a stable IP address, they will be required to sign in with Access and Verify to update the IP address.

Reported: 2021-03 by Lilly.

1.4. Logout: Upon sign-out, redirect to the correct web page

Issue 21-221: Currently users are being directed to the home page of the clinical site they just logged out of.

Solution: User is redirected to correct logout page.

Reported: 2022-04 by Jirapatnakul.

1.5. Include name and last5 in every csv file on every row

Unnumbered issue B-1: A report is available to be run by the sysadmin that outputs all patient data for statistical analysis. Lines did not include patient ID.

Solution: Add saminame (full patient name) and last5 (First letter of last name and last four digits of SSN) in each line of report.

Reported: 2022-12-09 by Henschke and Yip.

1.6. Add a user report to show CT Eval recommendations

Unnumbered issue B-2: Develop a new user report that shows recommendations from completed CT Evaluations. Allow sorting by type of recommendation and put totals at top of columns.

Solution: Added report.

Reported: 2022-12-09 by Henschke and Avila.

2. Package elements

File Change

sami-18-17-b9-recipe.txt

new

sami-18-17-b9.kid

new

sami-18-17-b9.txt

new

sami-18-17-b9.zip

new

upgrade-auxfiles

new

docs/mockups/*

modified

docs/src/layout.jinja2

new

docs/www/*

modified

Routine Change

SAMICAS3

modified

SAMICAS4

new

SAMICSV

modified

SAMICUL

modified

SAMIDCM1

modified

SAMIFLD

modified

SAMIFUL

modified

SAMIHOM4

modified

SAMIHUL

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 create the work directory and sets it as your current directory.

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

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

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

3.3. Download and prepare the archive file

You may safely download the archive file (sami-18-17-b9.zip) in advance of the actual install.

$ curl -# -O 'https://vistaexpertise.net/project/vapals-elcap/dist/18-17/b9/sami-18-17-b9.zip'
######################################################################## 100.0%
$ _

Then unzip the archive file with the following command.

$ unzip sami-18-17-b9.zip
Archive:  sami-18-17-b9.zip
  ...
$ _

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.

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

Updating from ./auxfiles
[... list of files being updated ...]
Done with install.

You may now proceed with the KIDS installation.
$ _

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

$ ./upgrade-auxfiles
Backing up files to ./.aux-backup
[... lists of files backed up ...]
Compressing the backup:
[... list of files being compressed ...]
Cleaning up.
Done with backup of auxiliary 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 Screening+ 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.

SAMICAS3
SAMICSV
SAMICUL
SAMIDCM1
SAMIFLD
SAMIFUL
SAMIHOM4
SAMIHUL
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): SAMICAS3
Routine(s): SAMICSV
Routine(s): SAMICUL
Routine(s): SAMIDCM1
Routine(s): SAMIFLD
Routine(s): SAMIFUL
Routine(s): SAMIHOM4
Routine(s): SAMIHUL
Routine(s): SAMIPAT
Routine(s): SAMISITE
Routine(s): SAMIUR
Routine(s): SAMIUR2
Routine(s): SAMIURUL
Routine(s):

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

Output routines to
Device: /home/osehra/run/in/sami/18-17/b9/sami-18-17-b9-back.ro
Parameters? ("WNS") =>
Printer Format? No => No
SAMICAS3.INT    SAMICSV.INT     SAMICUL.INT     SAMIDCM1.INT
SAMIFLD.INT     SAMIFUL.INT     SAMIHOM4.INT    SAMIHUL.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: SAMICAS3
SAMICAS3
Current total of 1 routines.

Routines: SAMICSV
SAMICSV
Current total of 2 routines.

Routines: SAMICUL
SAMICUL
Current total of 3 routines.

Routines: SAMIDCM1
SAMIDCM1
Current total of 4 routines.

Routines: SAMIFLD
SAMIFLD
Current total of 5 routines.

Routines: SAMIFUL
SAMIFUL
Current total of 6 routines.

Routines: SAMIHOM4
SAMIHOM4
Current total of 7 routines.

Routines: SAMIHUL
SAMIHUL
Current total of 8 routines.

Routines: SAMIPAT
SAMIPAT
Current total of 9 routines.

Routines: SAMISITE
SAMISITE
Current total of 10 routines.

Routines: SAMIUR
SAMIUR
Current total of 11 routines.

Routines: SAMIUR2
SAMIUR2
Current total of 12 routines.

Routines: SAMIURUL
SAMIURUL
Current total of 13 routines.

Routine:

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

Header Label: SAMI*18.0*17 SEQ #17 routine backup
Strip comments <No>?:
SAMICAS3  SAMICSV   SAMICUL   SAMIDCM1  SAMIFLD   SAMIFUL
SAMIHOM4  SAMIHUL   SAMIPAT   SAMISITE  SAMIUR    SAMIUR2
SAMIURUL

Total of 6808 lines in 13 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-17/b9/sami-18-17-b9.kid

KIDS Distribution saved on Sep 10, 2024@17:21:14
Comment: Released SAMI*18.0*17 SEQ #17

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

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

   SAMI*18.0*17
Use INSTALL NAME: SAMI*18.0*17 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*17     Loaded from Distribution    [now]
   => Released SAMI*18.0*17 SEQ #17  ;Created on Sep 10, 2024@17:21:14

This Distribution was loaded on [now] with header of
   Released SAMI*18.0*17 SEQ #17  ;Created on Sep 10, 2024@17:21:14
   It consisted of the following Install(s):
   SAMI*18.0*17
Checking Install for Package SAMI*18.0*17

Install Questions for SAMI*18.0*17



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*17 :
               [now]

Build Distribution Date: Sep 10, 2024

 Installing Routines:.....
               [now]

 Running Post-Install Routine: POS1817^SAMIPAT.

 Updating Routine file......

 Updating KIDS files.....

 SAMI*18.0*17 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:_

> _

You now have Screening+ 18-17-b9 (SAMI*18.0*17 SEQ #17 b9) installed in your M environment. The install is now complete. You may leave the M environment by typing

>halt
$ _

We recommend running tests of your Screening+ application to confirm the environment is operational and bug-free, before notifying users that Screening+ is ready for their use.

5. Optional backout instructions

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

6. Routines

Line 2 of each of these routines now look like:

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

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

Name Checksum before Checksum after Patch list

SAMICAS3

B497699119

B334055891

**3,9,11,12,15,17**

SAMICAS4

B0

B106133479

**17**

SAMICSV

B60401322

B104029869

**7,11,17**

SAMICUL

B136079

B147284

**9,11,12,14,15,17**

SAMIDCM1

B102701967

B200371935

**16,17**

SAMIFLD

B215961445

B288543997

**10,17**

SAMIFUL

B129116

B129814

**10,17**

SAMIHOM4

B977083192

B1262443514

**1,4,5,6,9,12,15,16,17**

SAMIHUL

B117874

B131888

**9,12,15,16,17**

SAMIPAT

B8328663

B17344032

**12,14,15,17**

SAMISITE

B96347521

B212460993

**5,12,14,17**

SAMIUR

B672809912

B1025197513

**5,10,11,12,14,15,17**

SAMIUR2

B1367473447

B1536139436

**5,11,12,14,15,17**

SAMIURUL

B107481

B116379

**12,14,15,17**

7. Authors

Dates By

Developed

2024-07-01/08-10

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

2024-08-06/09-05

George P. Lilly (VEN)
Artit Jirapatnakul (VA-PHO)
Linda M. R. Yaw (VEN)

Released

2024-09-10

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

$END TXT