Export citation:


  • Views: 1041
  • Aggregate Downloads: 38



VFD*15.0*123 - Auto Resize Margins to fit Terminal Size
Revision: 2
Please use this identifier to cite or link to this publication:
DSS Incorporated is pleased to contribute this innovation to the VistA Community for the benefit of all patients who receive medications from VistA. It is believed that the change will improve patient safety.

# Introduction
Many modern applications that use terminals (e.g. Midnight Commander, vim, emacs) are able to resize themselves to take all the available real-estate on the screen. This has not been done in VISTA world by and large, except by creating special terminal types. The changes in build VFD*15.0*123 make a few adjustments in %ZIS3, %ZIS4, and VALM0 and VALM1 in order to be able to use all the available screen real estate.

# Pros and Cons
The most important benefit is for users of Listman applications, which don't display enough information for the user to act on. This is especially prominent in Pharmacy. Pharmacists viewing a patient's profile in Inpatient Pharmacy can only view 4 medications at a time; and in processing an individual medication, they don't see the provider comments and CPRS order checks except by scrolling down, which is a significant risk to patient safety.

Any applications taking advantage of the any Fileman utility will see a difference: Inquire into File Entries will show more information; Screenman forms can be taller; and the Fileman Browser will take up the whole screen.
The disadvantages of this are two:

• There are possibly some menu options that may rely on a hardcoded value of 80 x 24.
• Users have to know that they can resize the terminal. Alternately, IT must configure the terminal to start maximized.

To mitigate the disadvantages, the system will run normally (without any modifications) if your terminal size is 80 x 24.

The main routines responsible for this change are in %ZIS3 and %ZIS4. ZIS3, ZIS4ONT, and ZIS4GTM have been modified so that when a terminal is chosen, it is automatically queried for its size. If the query returns a value, then this value is used; otherwise, the default IOSL and IOM are used from the Terminal Type.

In addition, VALM0 was modified so that VALM("BM") (bottom margin) and VALM("RM") (Right Margin) are set to values that are appropriate.

VALM1 was modified to round down DX and DY used to call positioning code in IOXY, as they contained decimal points; and an IOXY call does not work if the values to call it have decimals. They have to be integers.

PSJ200 and PSOORUT3 were both edited to disable code that resizes pharmacy screens down to 21 or 19 lines.

Post install routine VFD15123P automatically renames ZIS3 and ZIS4ONT/ZIS4GTM to %ZIS3 and %ZIS4.

Post install routine VFD15123P also fixes a bug in Listman template [PSJU LM ACCEPT]: it says the max height is supposed to be 22. This is wrong. It is supposed to be 21. We need 1 line for divider, 1 for ED/AC, and one for prompt. That gives you 25 lines if we stay with original 22, when the actual maximum is 24.
Revision Version
Submitted By
Submission Date
2Samuel Habiel05-10-2017Level 3A bug was found during certification in VALM0. This update fixes it. Bug is not in DSS version--only the open source version.
1Samuel Habiel03-03-2017

Reviews (Phase: Complete)

Peer review by Joe Snyder:

Topic Completed
Compliant - Product Build Checklist
Compliant - Installation and Post-Installation
Functional - Before Patch Installation
Functional - Installation and Post-Installation
Safe - Installation and Post-Installation

Final review by Joe Snyder:

Topic Level Comments
Name/Number Space
Open Source License
Code Review
Test Installation
Regression Testing
Functional Testing
Recommended Certification Level3



Powered by Midas