Conventions for displaying TEST data in this document are as follows: The first three digits (prefix) of any Social Security Numbers (SSN) begin with either “000” or “666”. Patient and user names are formatted as follows: <Application Name/Abbreviation/Namespace>PATIENT,<N> <Application Name/Abbreviation/Namespace>USER,<N> Where: <Application Name/Abbreviation/Namespace> is defined in the Approved Application Abbreviations document. <N> represents the first name as a number spelled out and incremented with each new entry. For example, in Kernel (DI or FM) test patient and user names would be documented as follows: FMPATIENT,ONE; FMPATIENT,TWO; FMPATIENT,THREE; … FMPATIENT,14; etc. FMUSER,ONE; FMUSER,TWO; FMUSER,THREE; … FMUSER,14; etc. “Snapshots” of computer online displays (i.e., screen captures/dialogues) and computer source code, if any, are shown in a non-proportional font and enclosed within a box. User’s responses to online prompts are bold typeface and highlighted in yellow (e.g., <Enter>). Emphasis within a dialogue box is bold typeface and highlighted in blue (e.g., STANDARD LISTENER: RUNNING). Some software code reserved/key words are bold typeface with alternate color font. References to “<Enter>” within these snapshots indicate that the user should press the Enter key on the keyboard. Other special keys are represented within < > angle brackets. For example, pressing the PF1 key can be represented as pressing <PF1>. Author’s comments are displayed in italics or as “callout” boxes. NOTE: Callout boxes refer to labels or descriptions usually enclosed within a box, which point to specific areas of a displayed image. All uppercase is reserved for the representation of M code, variable names, or the formal name of options, field/file names, and security keys (e.g., DIEXTRACT). NOTE: Other software code (e.g., Delphi/Pascal and Java) variable names and file/folder names can be written in lower or mixed case (e.g., CamelCase).
In the example below, the file and field specifications in the SELECTED EXPORT FIELDS template example (Figure 7) are combined with the 123 Import Numbers FOREIGN FORMAT: Figure 8: Import and Export Tools—Creating the Export template Select DATA EXPORT TO FOREIGN FORMAT OPTION: CREATE EXPORT TEMPLATE OUTPUT FROM WHAT FILE: PATIENT <Enter> (10 entries) Enter SELECTED EXPORT FIELDS Template: PATIENT TEST **SELECTED EXPORT FIELDS** (OCT 30, 1992@11:32) USER #7 FILE #99002 Do you want to see the fields stored in the PATIENT TEST template? Enter Yes or No: NO// YES FIRST PRINT FIELD: NAME// <Enter> THEN PRINT FIELD: INTERNAL(SEX)// <Enter> THEN PRINT FIELD: $E(RELIGION:CLASSIFICATION,1,5)// <Enter> THEN PRINT FIELD: DIAGNOSIS// <Enter> THEN PRINT DIAGNOSIS SUB-FIELD: DIAGNOSIS// <Enter> THEN PRINT DIAGNOSIS SUB-FIELD: AGE AT ONSET// <Enter> THEN PRINT DIAGNOSIS SUB-FIELD: // <Enter> THEN PRINT FIELD: // <Enter> Do you want to use this template? Enter Yes or No: YES// <Enter> Do you want to delete the PATIENT TEST template after the export template is created? Enter Yes or No: NO// <Enter> When asked if you want the SELECTED EXPORT FIELDS template deleted, answer YES only if you know you do not need the template again. If an EXPORT template is not successfully created, the SELECTED EXPORT FIELDS template is not deleted. Next, identify the FOREIGN FORMAT to use, and name the EXPORT template that you are creating. You cannot overwrite an existing PRINT template: Figure 9: Import and Export Tools—Identifying the Foreign Format and Export templates Select FOREIGN FORMAT: 123 IMPORT NUMBERS <Enter> **DISTRIBUTED BY VA FILEMAN** Enter name for EXPORT Template: PATIENT TO 123 Are you adding ‘PATIENT TO 123’ as a new PRINT TEMPLATE (the 197TH)? No// Y <Enter> (Yes)
FILE TRAILER You can use this field like the FILE HEADER field. The literal or M code is output after the exported data. Variables Available for Developer Use Some of the fields in the FOREIGN FORMAT file (#.44) allow you to enter M code, if you have programmer access. You can use data stored in the EXPORT template entry at the time the export is performed. You can also access information in the FOREIGN FORMAT file (#.44) entry used for the export. Two variables are available for use in the M code entered in the FOREIGN FORMAT file (#.44) fields: DDXPXTNO—Internal entry number of the EXPORT template in the PRINT TEMPLATE file. DDXPFFNO—Internal entry number of the Foreign Format in the FOREIGN FORMAT file (#.44). Consult the data dictionaries of the two files for fields that can contain useful information about either the format or the specific export itself. The EXPORT FIELD Multiple field (#100) in the PRINT TEMPLATE file (#.4) might be of particular interest. This Multiple contains information about each field being exported. Print Format Documentation Option Figure 25: Import and Export Tools—Print Format Documentation option VA FileMan ... [DIUSER] Other Options ... [DIOTHER] Data Export to Foreign Format ... [DDXP EXPORT MENU] Print Format Documentation [DDXP FORMAT DOCUMENTATION] You can list the available FOREIGN FORMAT file (#.44) entries on the system using the Print Format Documentation option. When you use this option, you are given the choice of specifying individual formats or of printing all of the formats on your system. Since your system can contain many formats, try to select individual ones.
patient in your report from the PATIENT file? The attending physician’s phone number is stored in the (fictitious) DOCTOR file, not the PATIENT file. You can include the attending physician’s phone number for each patient in your report, by using a simple extended pointer at the “PRINT FIELD:” prompt: Figure 35: Relational Navigation—Example of a simple extended pointer PRINT FIELD: ATTENDING PHYSICIAN:PHONE NUMBER You can use simple extended pointers in many places in VA FileMan, including: Reports (Print Fields, Sort Criteria, Search Criteria) Editing Records (edit information in related files, not just current file) Computed Expressions COMPUTED Fields Within word-processing |Windows| The syntax for simple extended pointers is described below. Simple Extended Pointer Syntax (Short form) With simple extended pointers, there must be an existing relationship based on a pointer field from the current file to the file you are interested in. In this case, you can reference a field in a pointed-to entry by using the following syntax: pfield:element “pfield” is the name (or number, preceded by #) of a pointer field in the current file. “element” is an element that exists in the field to which pfield points. This is called the short form of extended pointer syntax. For example, since ATTENDING PHYSICIAN is a pointer field in the current file to the (fictitious) DOCTOR file, the short form of extended pointer syntax to reference the PHONE NUMBER field in the (fictitious) DOCTOR file would be: ATTENDING PHYSICIAN:PHONE NUMBER
Figure 73: Computed Expressions—Example of dialogue encountered with a COMPUTED field with expected numeric result (2 of 3) SHOULD VALUE ALWAYS BE INTERNALLY ROUNDED TO 0 DECIMAL PLACES? No// <Enter> (No) Since the value of a COMPUTED field can be used in other calculations, you need to indicate when rounding should occur. If you accept the default (i.e., “No”), rounding is not done when the COMPUTED field is used in other calculations. A YES answer to this prompt means that you do want the rounded value used in calculations. Usually, you do not want values rounded at interim steps in a series of calculations. Thus, usually, you accept the “No” default. When a COMPUTED field is printed, the value is always rounded to the number of decimal places you specify. Figure 74: Computed Expressions—Example of dialogue encountered with a COMPUTED field with expected numeric result (3 of 3) WHEN TOTALLING THIS FIELD, SHOULD THE SUM BE COMPUTED FROM THE SUMS OF THE COMPONENT FIELDS? No// <Enter> (No) If your computed expression involves division or multiplication, you are asked how the field should be totaled. (You can total the values of a field in the Print File Entries option.): A NO answer to this prompt means that the COMPUTED field’s expression is evaluated for each entry and those results are added. A YES answer means that values of each of the fields in the COMPUTED field’s expression is added first and then the COMPUTED field’s expression is applied to those totals. For example, suppose A and B are the names of two fields and A/B is a computed expression. The table below shows the results of printing A, B, and A/B with different answers to the “WHEN TOTALLING THIS FIELD, ...” question: Table 10: Computed Expressions—Example Indicating Possible Results of Computed Expression Based on Different Entries to “Totaling” Prompt A B A/B (YES: Total from totals of component fields) A/B (NO: Total from results for each entry) 10 5 2 2 100 50 2 2 2 1 2 2 Total 112 56 [112/56=] 2 [2+2+2=] 6 To summarize, if you want the total to be the ratio or product of the total of the component fields, then answer this question YES. Otherwise, a NO answer is appropriate.
Table 85 lists the variables returned by %ZISS: Table 85: System Management—%ZISS variables returned Variable Description IOAWM0 Auto wrap mode off IOAWM1 Auto wrap mode on IOCOMMA Keypad’s comma key IOCUB Cursor backward IOCUD Cursor down IOCUF Cursor forward IOCUU Cursor up IODCH Delete character IODL Delete line IODO Do key IOEDALL Erase in display entire page IOEDEOP Erase in display from cursor to end of page IOELALL Erase in line entire line IOELEOL Erase in line from cursor to end of line IOENTER Keypad’s enter key IOFIND Find key IOHELP Help key IOICH Insert character IOIL Insert line IOINHI High intensity IOINLOW Low intensity IOINORM Normal intensity IOINSERT Insert key
Creating Fields For any file, you can create fields describing logically related data that pertains to entries in that file. When created, every file automatically receives one field: a NAME field (the #.01 field). You must explicitly define any other fields. All such definitions are made (and changed) with the Modify File Attributes option. When you create a file, after you give the new file a name, you are asked: Select FIELD: Enter a new field name and respond with YES when VA FileMan asks: Are you adding ‘xxxxxxxx’ as a new FIELD? The “xxxxxxxx” represents the name of the field you entered. After answering YES to this prompt, you are now ready to specify what sort of data the new field contains. A field can only be one type of data; the choices are listed in Table 91. Screen Mode Field Editing When using the Modify File Attributes option you can make your field entries in the traditional Scrolling Mode or choose to create, modify, or review a file’s field attributes easily by running the Modify File Attributes option in Screen Mode. To make your entries in Screen Mode, simply press the Enter key to accept the default response at the “Do you want to use the screen-mode version? YES//” prompt. Figure 115 illustrates using Screen Mode when editing the .01 field of the ORDER file (#100): Figure 115: Creating Files and Fields—Choosing Screen Mode when using the Modify File Attributes option Select OPTION: MOD <Enter> ify File Attributes Do you want to use the screen-mode version? YES// <Enter> MODIFY WHAT FILE: ORDER Select FIELD: .01 <Enter> ORDER #
Examples of File and Field Creation The following examples of creating files/fields or editing fields in a file are illustrated using Screen Mode. File Creation DATE/TIME Fields SET OF CODES Field FREE TEXT Field Carets (“^”) in a FREE TEXT Field WORD-PROCESSING Field COMPUTED Field POINTER TO A FILE Field VARIABLE-POINTER Field Error! Reference source not found. Subfields Numeric Subfield NOTE: These examples assume that the user does not have programmer access. REF: For explanations of additional capabilities available to the developer, see the “Advanced File Definition” section in the VA FileMan Developer’s Guide.
File Utilities Various file utilities are provided as options on VA FileMan’s Utility Functions menu [DIUTILITY]. NOTE: Some additional functionality for modifying files is contained in the separate Modify File Attributes option, which is on the main VA FileMan menu. Verify Fields The Verify Fields option uses a field’s definition to verify the data stored in a file. After invoking this option, you can ask to verify all existing values of a particular field by entering its label at the “VERIFY WHICH FIELD:” prompt; or you can ask that all fields at a given file level be verified by entering ALL at the prompt. In addition to checking the validity of the data stored in a file, Verify Fields checks the cross-references on the file’s data. Among the items checked for are: Dangling pointers in cross-references. Cross-reference values exceeding 30 characters if a field’s Label has been translated into the user’s language, the report of errors for that field will show the translated Label. If more than one discrepancy is found between the current definition and the data on file, you are asked if you want to save the list of those entries containing the inconsistent data in a template. Later, you would be able to “SORT BY:” the entries in this template to display or edit them. REF: For information on how to execute or avoid executing any part of the INPUT transform when the Verify Fields option is being run, see the “Input Transform” section in the “Advanced File Definition” section in the VA FileMan Developer’s Guide. NOTE: Some parts of a field’s INPUT transform (whose main purpose is to validate data as a user enters it) may be inappropriate when being executed in the context of the Verify Fields option. NOTE: The “DISPLAY OPTION?” field for the Verify Fields [DIVERIFY] option must be set to “YES” in order to display a final “Press RETURN to continue” at the end of the report.
Tracking Data Field Audits Use the Fields Being Audited option to list the audited fields from a file or a specified range of files. After selecting the Fields Being Audited option, give a file (or a range) at the “START WITH WHAT FILE:” and “GO TO WHAT FILE:” prompts. You receive a report with the file number, field number, field name, type of field being audited, and the type of audit being performed. The listing below shows all fields flagged for auditing in a file range: Figure 220: Auditing—Sample listing showing fields flagged for auditing AUDITED FIELDS JAN 20, 1989 10:10 PAGE 1 FILE NUMBER LABEL TYPE AUDIT --------------------------------------------------------------------- 16 2 DOB DATE/TIME YES, ALWAYS 40.5 10 LOCATION POINTER EDITED OR DELETED 1036 1 SEX SET EDITED OR DELETED 1036 7 SSN FREE TEXT YES, ALWAYS Purging a Data Field Audit Trail Use the Purge Data Audits option to purge the audit trail. It purges the records used for auditing data fields for a specified file. Purging audit trails is not an automatic feature; it must be done manually. You should do either of the following: Turn auditing off on the files you are purging while you are doing the purge. Or Leave auditing on but purge the file when not many users are on the system. If you purge when auditing is on and people are using the file in question, it is possible that you might end up with incomplete audit records on the audited file. CAUTION: Purged audit records cannot be recovered! Figure 221 illustrates purging selected records from the audit trail: Figure 221: Auditing—Choosing to purge only selected data audit records Select OPTION: OTHER <Enter> OPTION Select OTHER OPTION: AUDITING Select AUDIT OPTION: PURGE DATA AUDITS AUDIT FROM WHAT FILE: PATIENT DO YOU WANT TO PURGE ALL DATA AUDIT RECORDS? NO// <Enter> Answering NO to the “DO YOU WANT TO PURGE ALL DATA AUDIT RECORDS? NO//” prompt allows you to specify which entries to purge.
selected entries to the SEARCH template. Although specifying print fields is not required, the print process must be run to completion. Simply press the Enter key at the “PRINT FIELD” prompt or specify actual fields to print a report of identifying information for the extracted records. In the sample dialogue that follows, notice the sequence in which the search, sort, and print prompts appear: Figure 254: Extract Tool—Search, Sort, and Print options when selecting entries to extract EXTRACT FROM WHAT FILE: CHANGE -A- SEARCH FOR CHANGE FIELD: .01 <Enter> NO. -A- CONDITION: LESS THAN -A- LESS THAN: 900 -B- SEARCH FOR CHANGE FIELD: <Enter> IF: A// <Enter> NO. LESS THAN 900 STORE RESULTS OF SEARCH IN TEMPLATE: ZZTEST TEMPLATE Are you adding ‘ZZTEST TEMPLATE’ as a new SORT TEMPLATE? No// Y <Enter> (Yes) SORT BY: VERSION START WITH VERSION: FIRST// <Enter> WITHIN VERSION, SORT BY: <Enter> FIRST PRINT FIELD: .01 <Enter> NO. THEN PRINT FIELD: VERSION THEN PRINT FIELD: PROGRAMMER THEN PRINT FIELD: <Enter> HEADING: CHANGE EXTRACT SEARCH Replace <Enter> DEVICE: <Enter> The resulting output looks like: Figure 255: Extract Tool—Select entries to extract output CHANGE EXTRACT SEARCH AUG 30, 1992 10:59 PAGE 1 NO. VERSION PROGRAMMER ------------------------------------------------------------------ 101 17.10 FMPROGRAMMER,25 102 17.32 FMPROGRAMMER,26 103 17.35 FMPROGRAMMER,26 3 MATCHES FOUND. After you use this option, VA FileMan marks the ARCHIVAL ACTIVITY file (#1.11) entry with a status of SELECTED. If an unfinished extract activity exists for a file and you select this same file for a subsequent extract activity, you see the message shown in Figure 256: Figure 256: Extract Tool—Example of a notice regarding an outstanding extract activity There is already an outstanding extract activity. Please finish it or CANCEL it.
EXPORT Templates, 15 Multiples, 14 Numbers, 13 Send Export Data to a Device, 12 Send Export Data to a Host File, 12 Sorting with Multiples, 15 Step 1, 5 Step 2, 5 Step 3, 8 Step 4, 10 Expressions Computed, 60 Expr, 36 Extended Pointer Simple, 35 Syntax Long Form, 36 Extended Pointer, Simple Syntax, 36 External Format Importing Data, 16 EXTRACT Templates, 253, 255, 262, 263, 264, 265, 269 Extract Tool, 253 ARCHIVAL ACTIVITY File (#1.11), 256 Destination File, 254 Important Items to Note, 253 Mapping Information, 255 Overview, 253 Source File, 254 Step 1, 258 Step 2, 260 Step 3, 261 Step 4, 262 Step 5, 263 Step 6, 265 Step 7, 267 Step 8, 268 Step 9, 269 Steps, 257 Extract Tool Menu, 257 Extract Tool Option, 253, 256, 257 F FIELD DELIMITER Field, 23 Field- or Record-Level Execution Cross-references, 201 Field Selection PAGE/IMPORT Template Importing Data, 16 Field Value Stuffing Advanced Edit Techniques, 47 Computed Expressions, 70 Fields Changing Attributes, 171 Changing DATA TYPE Values, 174 Creating, 153, 154 Data Types, 156 DATE FORMAT, 27 Deleting, 174 EXPORT FIELD Multiple (#100), 28 FIELD DELIMITER, 23 FILE HEADER, 28 FILE TRAILER, 28 FOREIGN FIELD NAMES?, 25 Making a Field Mandatory, 169 MAXIMUM OUTPUT LENGTH, 25 NAME OF FOREIGN FIELD, 25 Number (#.001), 169 Number Sequences, 169 PROMPT FOR DATA TYPE?, 13, 26 Protection for Fields in a File, 240 QUOTE NON-NUMERIC FIELDS?, 26 RECORD DELIMITER, 24 RECORD LENGTH FIXED?, 24 Screen Mode Field Editing, 154 SEND LAST FIELD DELIMITER?, 24 SUBSTITUTE FOR NULL Field, 27 Fields Being Audited Option, 230 File and File Data Functions, 86 COUNT, 86 DUPLICATED, 87 FILE, 88 INTERNAL, 88 LAST, 89 MAXIMUM, 89 MINIMUM, 90 NEXT, 91 nTH, 91 PREVIOUS, 92 TOTAL, 92 File Attributes, Listing, 132 File Edit Option, 225 File Entries Alternate Editors, 127 FILE Function, 88 FILE HEADER Field, 28 FILE TRAILER Field, 28 FILEGRAM HISTORY File (#1.12), 270, 276, 277 FILEGRAM HISTORY File (#1.12), 269 Filegram Menu, 279, 285
Importing Data, 16 Print Format Documentation Option, 29 Variables Available for Developer Use, 28 Formats Data, 2 Foreign, 22 Formatting Text with Word-processing Windows Frames, 57 Frames Formatting Text with Word-processing Windows, 57 FREE TEXT Data Type, 160 FUNCTION File (#.5), 64, 73, 162 Functions $A[SCII], 102 $C[HAR], 103 $E[XTRACT], 103 $F[IND], 104 $H[OROLOG], 104 $I[O], 105 $J[OB], 105 $J[USTIFY], 106 $L[ENGTH], 106 $P[IECE], 107 $R[ANDOM], 107 $S[ELECT], 108 $S[TORAGE], 108 $X, 109 $Y, 109 ABS, 93 As Elements Computed Expressions, 64 BETWEEN, 76, 93 BREAKABLE, 83 CLOSE, 84 COUNT, 86 DATE, 76 Date/Time, 76 DAYOFWEEK, 77 Documentation Conventions, 73 DUP, 97 DUPLICATED, 87 Environmental, 83 FILE, 88 File and File Data, 86 INTERNAL, 88 IOM, 96 LAST, 89 LOWERCASE, 97 Mathematical, 93 MAX, 94 MAXIMUM, 89 MID, 77 MIN, 94 MINIMUM, 90 MINUTES, 78 MODULO, 95 MONTH, 78 MONTHNAME, 78 M-Related Functions, 102 NEXT, 91 NOON, 79 NOW, 79 nTH, 91 NUMDATE, 80 NUMDATE4, 80 NUMDAY, 80 NUMMONTH, 81 NUMYEAR, 81 NUMYEAR4, 81 PADRIGHT, 98 PAGE, 96 PARAM, 100 PREVIOUS, 92 Printing Related, 96 RANGEDATE, 82 REPLACE, 98 REVERSE, 99 SET, 102 SETPARAM, 101 SITENUMBER, 84 SQUAREROOT, 95 String, 97 STRIPBLANKS, 99 Temporary Data Storage, 100 TIME, 82 TODAY, 82 TOTAL, 92 TRANSLATE, 99 UPPERCASE, 100 USER, 85, 124 VA FileMan, 73 VAR, 101 YEAR, 83 G Generate Filegram Option, 270, 275 Generate Statistics from Reports, How to, 110 Global Map
Unvalidated Stuffs Advanced Edit Techniques, 48 Update Destination File Option, 253, 254, 263, 265, 268 Extract Tool, 265 UPPERCASE Function, 100 URLs Acronyms Intranet Website, 306 Adobe Website, xxix Glossary Intranet Website, 305 VA Software Document Library (VDL) Website, xxix USER Function, 85, 124 Utilities, 196 Cross-Reference a Field or File option, 197 Verify Fields Option, 196 VMS CONVERT, 22 UTILITIES Menu, 127 Utility Functions Menu, 15, 137, 174, 196, 197, 201, 207, 210, 211, 214, 239 V VA FileMan Functions, 73 How to use, 73 What is it?, xxii VA FileMan File Importing Data, 16 VA FileMan Functions Listed by Category, 74 VA Software Document Library (VDL) Website, xxix Validate Extract Template Option, 269 Extract Tool, 269 VAR Function, 101 Variable Pointer Field Relational Navigation, 37 Variable Stuffs Advanced Edit Techniques, 48 VARIABLE-POINTER Data Type, 164 Variables Available for Developer Use (Foreign Formats), 28 Verify Fields Option, 174, 196 View Filegram Option, 270, 277 VMS CONVERT Utility, 22 VMS File, 12, 287 VMS files Importing from, 22 Vpfield, 37 W Websites Acronyms Intranet Website, 306 Adobe Website, xxix Glossary Intranet Website, 305 VA Software Document Library (VDL), xxix What is VA FileMan?, xxii Where to Use Computed Expressions, 65 Word Wrapping, 57 WORD-PROCESSING Data Type, 161 WORD-PROCESSING Field Backward Pointer Relational Navigation, 45 Multiples Relational Navigation, 44 Relational Navigation, 44 WORD-PROCESSING Field Stuffing Advanced Edit Techniques, 49 Word-processing Windows Computed Expressions, 71 Formatting Text with Frames, 57 Text Formatting Expressions, 58 WRITE Access, 46, 52, 208, 215, 239, 240, 241 Write Entries to Temporary Storage Option, 280, 283, 285, 286 X X, X1, and X2 Arrays Cross-references, 202 XMODEM, 12 Y YEAR Function, 83