$TXT by MARSHALL,RICK DS@vapalsyotta.fiscientific.org (KIDS) 2021-06-04T18:00Z
Critical and high-priority fixes to CT Eval, Intake forms and reports
SAMI (VAPALS-ELCAP) 18.11
(SAMI*18.0*11 SEQ #11)
George P. Lilly, Domenic DiNatale, Larry G. Carlson & Frederick D. S. Marshall
2021-06-04
i. Front matter
App |
SAMI (VAPALS-ELCAP) |
Revision |
SAMI*18.0*11 SEQ #11: Version 18.0, Patch ID #11, Seq #11 |
Priority |
regular |
Categories |
Routine, File |
Status |
released: sami-18.11.zip |
Depends on |
SAMI 1.18.0.2+i2 (SAMI*18.0*2 SEQ #2) |
ii. Contents
Description
SAMI*18.0*11 SEQ #11 fixes a number of critical and high-priority bugs.
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.
There are 30 bug fixes related to the following functionality:
-
HL7 (2)
-
Intake (4)
-
Export (1)
-
CT (12)
-
Intervention (2)
-
PET and Biopsy (4)
-
Reports (5)
HL7: Make HL7 patient name match case insensitive
Problem: If mixed-case names were entered during manual registration of a patient. If an HL7 patient record uses uppercase names, this can result in the creation of duplicate patient records.
Solution: The VAPALS-ELCAP HL7 interface was changed to a case-insensitive matching process. Names are temporarily converted to uppercase to ensure matches are found, to avoid creating duplicates when HL7 brings over a patient who ought to match an existing patient.
HL7: Make HL7 match include patient name suffix
Problem: HL7 was registering patients without the Suffix field, which caused later HL7 messages involving those patients to fail to match, because the incoming HL7 message included Suffix, but the patient’s entry in the VAPALS-ELCAP graphstore did not.
Solution: VAPALS-ELCAP HL7 interface now handles Suffix.
Intake: some Clinical Indications text not transmitted by HL7
Problem: On Intake Form, in the Clinical Indications text box, HL7 does not transmit some text after a line break.
Solution: Fixed.
Intake: VAP-483: Need N/A option for Shared Decision Making
Problem: On Intake Form, Shared Decision Making should either be done or N/A. If N/A, the Intake Note should say Shared decision making is not applicable.
Solution: The checkboxes were converted to radio buttons, and the functionality fixed.
Intake: VAP-482: Update Shared Decision Making text
Problem: New wording desired: include . . . In addition, the Veteran has been educated today about the imporance of adhering to annual lung screening, the possible . . .
Solution: Updated.
Intake: Export has extra line breaks
Problem: One of the Comment fields causes extra line breaks in the export.
Solution: Fixed.
Data export: Needs to correctly handle quotes in text
Problem: If a text field has a quote in it, this quote is passed through to the output unescaped. This in turn causes problems for other programs that import the file (e.g., Excel). The CSV specifiction requests for embedded quotes to be double quoted.
Solution: Fixed.
CT: Prior Scans field should not be compulsory
Problem: Prior Scans field should be pre-filled with prior dates, but also be editable to enter scans not in system. Prior Scans, Most Recent, and Comparison Scan need to be editable even for baseline. If there is no baseline CT form, then the Baseline CT, Most Recent Comparative Study, and Prior Scans fields should be empty. In some cases, the baseline CT scan will not be the first CT scan.
Solution: Fixed.
CT: VAP-480: Add 1.25 mm slice thickness as option
Problem: In the Reconstructed Thickness drop-down field, 1.25 mm needs to be an option for slice thickness.
Solution: Added.
CT: VAP-481: Low-dose protocol should be default
Problem: In CT Protocol field, set default to Low-dose.
Solution: Done.
CT: VAP-489: Only require single image number
Problem: In Image Number field, only require the lower image number rather than both lower and upper. Most radiologists only provide a single image number.
Solution: Fixed.
CT: VAP-478: Don’t display single CAC score if I-ELCAP protocol
Problem: Remove Coronary Artery Calcification radio options for ELCAP users.
Solution: Removed.
CT: VAP-479: Enter Additional . . . Nodules checkboxes if no nodule 1
Problem: Need to be able to enter additional small nodules if participant doesn’t have a nodule 1. Unable to enter Additional Calcified Nodules or Additional Non-calcified Nodules without first entering a nodule. We need a way to enter those two items without a nodule (for example, if a veteran has a lot of very small nodules but none are big enough to note on the grid).
Solution: Moved the Additional . . .Nodules checkboxes outside the nodule grid. Removed the word Additional.
CT: VAP-491: Clear some fields when copy-forward to new form
Problem: When copying the nodule grid forward from a previous form to a new form, if a nodule status is set to Prev Seen, Resolved or Prev Seen, Resected or Not a Nodule, the nodule grid should only keep the Is It New, Nodule Status, and Likely Location fields. The rest should be cleared in the new form.
At present, copy-forward requires all the additional nodule info. If previous report had a nodule, then when copying forward to the new form, if you select Prev Seen, Resolved, we want to zero out most of the values and just keep Nodule Status and Likely Location interactively while working on the nodule grid. This change must be made to the HTML grid and to the copy-forward. This rule should only apply from one CT Evaluation form to another CT Evaluation form.
Solution: Implemented.
CT Report: Bad text if C/NC Nodules checked
Problem: When CT Evaluation form field Calcified/Non-calcified Nodules if checked, the CT Report incorrectly says no . . . nodule. It should say small calcified/non-calcified nodules are present.
Solution: Fixed.
CT: VAP-484: Override annual repeat date
Problem: When Low-dose CT Follow-up is set to Annual Repeat, typing a date into its Date field resets Low-dose CT Follow-up to Other.
Solution: Fixed.
CT: Non-CT follow-up now
Problem: In cases where non-CT interventions are recommended (such as PET, biopsy, etc.), the follow-up Date should be now. It should be able to be the only recommendation in the impression.
Solution: Fixed.
CT: VAP-488: Ascending Aorta Width should allow decimals
Problem: Under Cardiac and Aorta, Ascending Aorta Width is forced to be a whole number. It should allow decimals. (The Pulmonary Artery Width already works this way.)
Solution: Fixed.
CT: VAP-490: Move three fields from Cardiac and Aorta
Problem: On the CT and Intervention forms, three fields (Pulmonary Artery Width, Ascending Artery Width, and a third field) should be moved from Cardiac and Aorta to Emphysema/Coronary Calcifications.
Solution: Moved.
Intervention: Form date incorrect
Problem: The intervention date on the Case Review Page uses the date the form was created, but it should use the date of the intervention, or if not filled out, the date of the first intervention.
Solution: Fixed.
Intervention: Nodule grid copy-forward
Problem: The nodule grid copy-forward isn’t working.
Solution: Fixed.
PET and Biopsy: Form dates incorrect
Problem: The PET and Biopsy dates on the Case Review Page use the date the form was created, but it should use the date of the PET scan or biopsy, respectively, or if not filled out, the date of the first PET scan or biopsy.
Solution: Fixed.
PET and Biopsy: Auto-fill dates for new forms
Problem: The Baseline CT Date and Most Recent CT Date fields are not automatically filled in when creating a new PET or Biopsy form.
Solution: Fixed.
PET and Biopsy: Nodule grid copy-forward
Problem: PET and Biopsy form copy-forward aren’t working.
Solution: Fixed.
PET and Biopsy Follow-up should not be required
Problem: On the PET and Biopsy forms, follow-up is required, but it should not be.
Solution: Fixed.
Case Review: Reorder new-form list
Problem: On the Case Review Page, in the New Form drop-down field list, move PET Evaluation ahead of Biopsy, and move Follow-up ahead of CT Evaluation.
Solution: Reordered.
Enrollment Report: Case-insensitive alphabetical order
Problem: In the Enrollment Report, patient names are out of order in a case-sensitive way. Uppercase letters come before lowercase letters, e.g., GZ comes before Ga.
Solution: Re-sorted to be case-insensitive.
Enrollment Report: Empty Gender and Race
Problem: On the Enrollment Report, the Gender and Race fields are empty. At least Gender should be filled in; we may not have a source for Race.
Solution: Gender now consistently filled in for Enrollment Report. Race reserved until we have a data source.
Inactive Report
Problem: VAPALS-ELCAP users would like a report that shows which patients are inactive or have withdrawn from the program.
Solution: Created.
Reports: Move Last Exam field ahead of Recommended Follow-up
Problem: The Last Exam field seems to be redundant if it follows the Recommended Follow-up. The fields should exchange places.
Solution: Re-ordered.
Package elements
File | Change |
---|---|
sami-18.11-recipe.txt |
new |
sami-18.11.txt |
new |
sami-18.11.kid |
new |
www/* |
modified |
sami-18.11.zip |
new |
Routine | Change |
---|---|
SAMICAS3 |
modified |
SAMICSV |
modified |
SAMICTC1 |
modified |
SAMICTT0 |
modified |
SAMICTT1 |
modified |
SAMICTTA |
modified |
SAMICTUL |
modified |
SAMICUL |
modified |
SAMIHL7 |
modified |
SAMINOT1 |
modified |
SAMINUL |
modified |
SAMIORM |
modified |
SAMIORR |
new |
SAMIORU |
modified |
SAMISAV |
modified |
SAMIUR |
modified |
SAMIUR2 |
modified |
Backup instructions
It is important when installing packages to back up the existing package elements that are about to be changed, so that if anything goes wrong with the install, these package elements can be restored. For this patch, it’s M routines and www files we will back up.
Assume the identity of your osehra Unix user
This step assumes you type a sudo command to do this. If your configuration is different, please adjust this step to match your configuration:
$ sudo su - osehra
Prepare install directory
Create install and backup directories:
$ mkdir -p ~/run/in/sami/18.11/back/www/
Back up www files
Back up existing www files that will be overwritten by this install. Do this by copying the www directory to the install backup directory:
$ cp -r ~/lib/silver/a-sami-vapals-elcap--vo-osehra-github/docs/www/* \ ~/run/in/sami/18.11/back/www/ $ _
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 >_
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: >_
Back up routines
Back up existing VAPALS-ELCAP routines that will be overwritten by this install. Do this by calling direct-mode interface ^%RO (routine out), selecting the list of routines to save, selecting sami-18.11.back.ro to save to, and answering any other additional prompts.
The prompts vary between M implementations, so be sure to follow the correct dialog for yours. The routine names to save are listed below under each implementation; copy the list and paste it at the Routine prompt. At the final Routine prompt, press return to indicate the list of routines is done.
List of routines
SAMICAS3 SAMICSV SAMICTC1 SAMICTT0 SAMICTT1 SAMICTTA SAMICTUL SAMICUL SAMIHL7 SAMINOT1 SAMINUL SAMIORM SAMIORR SAMIORU SAMISAV SAMIUR SAMIUR2
On Caché
Note that routines that don’t currently exist will result in a warning message; these messages can be 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): SAMICTC1 Routine(s): SAMICTT0 Routine(s): SAMICTT1 Routine(s): SAMICTTA Routine(s): SAMICTUL Routine(s): SAMICUL Routine(s): SAMIHL7 Routine(s): SAMINOT1 Routine(s): SAMINUL Routine(s): SAMIORM Routine(s): SAMIORR Routine(s): SAMIORU Routine(s): SAMISAV Routine(s): SAMIUR Routine(s): SAMIUR2 Routine(s): Description: SAMI 18.11 routine backup Output routines to Device: /home/osehra/run/in/sami/18.11/back/sami-18.11-back.ro Parameters? ("WNS") => Printer Format? No => No SAMICAS3.INT SAMICSV.INT SAMICTC1.INT SAMICTT0.INT SAMICTT1.INT SAMICTTA.INT SAMICTUL.INT SAMICUL.INT SAMIHL7.INT SAMINOT1.INT SAMINUL.INT SAMIORM.INT SAMIORR.INT SAMIORU.INT SAMISAV.INT SAMIUR.INT SAMIUR2.INT >_
On YottaDB/GT.M
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. Routine: SAMICAS3 SAMICAS3 Current total of 1 routine. Routine: SAMICSV SAMICSV Current total of 2 routines. Routine: SAMICTC1 SAMICTC1 Current total of 3 routines. Routine: SAMICTT0 SAMICTT0 Current total of 4 routines. Routine: SAMICTT1 SAMICTT1 Current total of 5 routines. Routine: SAMICTTA SAMICTTA Current total of 6 routines. Routine: SAMICTUL SAMICTUL Current total of 7 routines. Routine: SAMICUL SAMICUL Current total of 8 routines. Routine: SAMIHL7 SAMIHL7 Current total of 9 routines. Routine: SAMINOT1 SAMINOT1 Current total of 10 routines. Routine: SAMINUL SAMINUL Current total of 11 routines. Routine: SAMIORM SAMIORM Current total of 12 routines. Routine: SAMIORR SAMIORR Current total of 13 routines. Routine: SAMIORU SAMIORU Current total of 14 routines. Routine: SAMISAV SAMINUL Current total of 15 routines. Routine: SAMIUR SAMIUR Current total of 16 routines. Routine: SAMIUR2 SAMIUR2 Current total of 17 routines. Routine: Output device: <terminal>: /home/osehra/run/in/sami/18.11/back/sami-18.11-back.ro Header Label: SAMI 18.11 routine backup Strip comments <No>?: SAMICAS3 SAMICSV SAMICTC1 SAMICTT0 SAMICTT1 SAMICTTA SAMICTUL SAMICUL SAMIHL7 SAMINOT1 SAMINUL SAMIORM SAMIORR SAMIORU SAMISAV SAMIUR SAMIUR2 Total of 8942 lines in 17 routines. >_
Exit M and the osehra user environment
To return to your normal account, exit the M environment, and then the osehra shell session.
>halt $ exit $ _
Package-retrieval instructions
Your VAPALS-ELCAP environment is now ready to install VAPALS-ELCAP 18.11 (SAMI*18.0*11 SEQ #11), so next, retrieve the package.
All VAPALS-ELCAP instances in VA retrieve this package by downloading it from this official patch webpage.
All VAPALS-ELCAP instances outside VA retrieve this package by cloning the official GitHub repository and pulling updates.
Download and prepare the archive file
You may safely download the archive file (sami-18.11.zip) in advance of the actual install.
Once the file is on the VAPALS-ELCAP instance server, use sudo to move the archive file from whatever directory it’s in (here referred to as $WHATEVERDIR, which should be replaced with the actual directory where the archive file is stored) to the osehra user install directory, change the ownership of the file to osehra, and then assume the osehra user identity and change directories to that install directory:
$ sudo mv $WHATEVERDIR/sami-18.11.zip \ /home/osehra/run/in/sami/18.11/ $ sudo chown osehra:osehra \ /home/osehra/run/in/sami/18.11/sami-18.11.zip $ sudo su - osehra $ cd ~/run/in/sami/18.11/
Expand the KIDS archive
Change directories to the install directory, and expand the archive file, using the Unix unzip command:
$ unzip sami-18.11.zip Archive: sami-18.11.zip inflating: sami-18.11-recipe.txt inflating: sami-18.11.kid inflating: sami-18.11.txt inflating: www/... [9 MB of www files] $ cd $ _
Main install instructions
This consists of entering the Vista menu system, loading and installing the KIDS package, exiting M, and installing and activating the new www files.
Enter Vista menu system
Enter M
Repeat the instructions in Enter M to re-enter M.
Sign in and select the KIDS Installation menu
At the M prompt, call Vista’s direct-mode interface, enter your access code, 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 Setting up programmer environment This is a TEST account. Access Code: ******* Terminal Type set to: C-VT100 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 dSelect Installation <TEST ACCOUNT> Option:_
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.11/sami-18.11.kid KIDS Distribution saved on Jun 4, 2021@18:00:00 Comment: Released SAMI*18.0*11 SEQ #11 (18.11) This Distribution contains Transport Globals for the following Package(s): SAMI*18.0*11 Distribution OK! Want to Continue with Load? YES// Loading Distribution... SAMI*18.0*11 Use INSTALL NAME: SAMI*18.0*11 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:_
Install KIDS package
Select option 6, enter the space bar at the INSTALL NAME prompt, and press return at the next three prompts.
Select Installation <TEST ACCOUNT> Option: 6 Install Package(s) Select INSTALL NAME: SAMI*18.0*11 Loaded from Distribution 6/4/21@13:00:00 => Released SAMI*18.0*11 SEQ #11 (18.11) ;Created on Jun 4, 2021@18:00 This Distribution was loaded on Jun 4, 2021@20:00:00 with header of Released SAMI*18.0*11 SEQ #11 (18.11) ;Created on Jun 4, 2021@18:00 It consisted of the following Install(s): SAMI*18.0*11 Checking Install for Package SAMI*18.0*11 Install Questions for SAMI*18.0*11 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// VMS Install Started for SAMI*18.0*11 : Jun 4, 2021@13:01:00 Build Distribution Date: May 21, 2021 Installing Routines:......... Jun 4, 2021@13:01:00 Updating Routine file...... Updating KIDS files....... SAMI*18.0*11 Installed. Jun 4, 2021@13:01:00 NO Install Message sent 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:_
Exit M
At the Select . . . Option prompt, select the halt option, and at the M prompt enter the halt command.
Select Installation <TEST ACCOUNT> Option: halt Logged out at Jun 4, 2021 1:05 pm [...] $ _
Install the www files
At this point in the install process, the VAPALS-ELCAP routines have been updated, but the corresponding www files have not. Those www files must first be installed.
VA VAPALS-ELCAP sysadmins should follow the For VA VAPALS-ELCAP systems step. Non-VA sysadmins should follow the For Non-VA VAPALS-ELCAP systems step.
For VA VAPALS-ELCAP systems
The VA firewall blocks access to the official VAPALS-ELCAP GitHub repository, so VA VAPALS-ELCAP systems do not maintain clones of that repo. Instead, they manually copy the www files into place by running these commands:
$ rm -rf ~/lib/silver/a-sami-vapals-elcap--vo-osehra-github/docs/www/* $ cp -r ~/run/in/sami/18.11/www/* \ ~/lib/silver/a-sami-vapals-elcap--vo-osehra-github/docs/www/
For Non-VA VAPALS-ELCAP systems
Outside the VA firewall, VAPALS-ELCAP systems maintain up-to-date clones of the official GitHub repository. Performing a git pull from that repo will automatically update the system’s live www files, which are accessed via a symlink to the clone’s files. Run these commands:
$ cd ~/lib/silver/a-sami-vapals-elcap--vo-osehra-github/ $ git pull
Activate the www files and exit M
Both the VAPALS-ELCAP routines and www files have been updated at this point, but the routines are using cached copies of the www files. This step refreshes that cache to activate the www files.
Enter M
Repeat the instructions in Enter M to re-enter M.
Sign into Vista
Repeat the instructions in Sign into Vista to sign into Vista.
Rebuild M-Web’s cached www files
To improve performance, M-Web maintains cached copies of the HTML templates used by its services, so every time we update those HTML files in Unix, we must also direct M-Web to update its cached copies.
>do CLRWEB^SAMIADMN >_
Exit M
>halt $
You now have VAPALS-ELCAP 18.11 (SAMI*18.0*11 SEQ #11) 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.
Optional backout instructions
Should errors or other problems result from installing this package contact the VAPALS-ELCAP development team for package-backout instructions.
Routines
Lines 2 and 3 of each of these routines now look like:
;;18.0;SAMI;[Patch List];2020-01;[optional build #] ;;18.11
The checksums below are Vista Type B checksums (do CHECK1^XTSUMBLD).
Name | Checksum after | Patch list |
---|---|---|
SAMICAS3 |
B482086967 |
**3,9,11** |
SAMICSV |
B60401322 |
**7,11** |
SAMICTC1 |
B248960846 |
**11** |
SAMICTT0 |
B97674764 |
**4,10,11** |
SAMICTT1 |
B122873178 |
**4,10,11** |
SAMICTTA |
B35698365 |
**4,10,11** |
SAMICTUL |
B104985 |
**10,11** |
SAMICUL |
B138062 |
**9,11** |
SAMIHL7 |
B234597214 |
**11** |
SAMINOT1 |
B444173065 |
**2,6,8,10,11** |
SAMINUL |
B102256 |
**9,10,11** |
SAMIORM |
B179292122 |
**11** |
SAMIORR |
B365219423 |
**11** |
SAMIORU |
B377186470 |
**8,11** |
SAMISAV |
B121113964 |
**5,11** |
SAMIUR |
B536135066 |
**5,10,11** |
SAMIUR2 |
B1106323315 |
**5,11** |
Authors
Dates | By | |
---|---|---|
Developed |
2021-03-25/2021-06-04 |
George P. Lilly (VEN) |
Tested |
2021-03-25/2021-06-04 |
George P. Lilly (VEN) |
Released |
2021-03-25/2021-06-04 |
Frederick D. S. Marshall (VEN) |
$END TXT