Class: 140H VA Filemanager I for Clinical Informatics Support 2 3 4 FILEMANAGER: The VA’s database program 5 9 Options 1. 2. 3. 4. 5. 6. 7. 8. 9. Enter or Edit File Entries Print File Entries Search File Entries Modify File Attributes Inquire to File Entries Utility Functions ... Data Dictionary Utilities ... Transfer Entries Other Options ... 6 Enter/edit Print Search Modify Inquire Utility Data Dictionary Transfer Other Options Print Search Inquire List File Attributes Which really means: Sort: Pull entries out of the file in a list in a certain order Search: Look through the file for individual entries that match a filter pattern. Print: Output individual or multiple entries in a standard format or a specialized format chosen by the user. List File Attributes: Show the fields of the file, how they are set up and what gets entered into them. 8 List File Attributes We will only play with List file attributes for now so we can look at field types and file information. 9 1 2 3 4 Print File Entries Search File Entries Inquire to File Entries List File Attributes Select Filemanager Options Option: 4 List File Attributes START WITH WHAT FILE: PATIENT// GO TO WHAT FILE: PATIENT// Select SUB-FILE: Select LISTING FORMAT: STANDARD// ? Answer with LISTING FORMAT NUMBER, or NAME Choose from: 1 STANDARD 2 BRIEF 3 CUSTOM-TAILORED 4 MODIFIED STANDARD 5 TEMPLATES ONLY 6 GLOBAL MAP 7 CONDENSED 8 INDEXES ONLY 9 KEYS ONLY Select LISTING FORMAT: STANDARD// CONDENSED DATA DICTIONARY---PATIENT FILE (#2) UCI: DVA,ROU STORED IN: ^DPT( 04/21/06 PAGE 1 -------------------------------------------------------------------------------FILE SECURITY DD SECURITY : @ DELETE SECURITY: Dd READ SECURITY : d LAYGO SECURITY : Dd WRITE SECURITY : Dd (NOTE: Kernel's File Access Security has been installed in this UCI.) CROSS REFERENCED BY: ICN HISTORY(AAICN) ATTENDING PHYSICIAN(AAP) … FIELD FIELD NUMBER NAME .01 NAME (RFXa), [0;1] .02 SEX (RSa), [0;2] .03 DATE OF BIRTH (RDXOa), [0;3] .033 AGE (CJ3X,0), [ ; ] … 1100.05 FFF DATE REMOVED (D), [FFP;5] 1100.09 FFF REMOVAL REMARKS (F), [FFP;9] 1900 APPOINTMENT (Multiple-2.98), [S;0] .001 APPOINTMENT DATE/TIME (D), [ ] .01 CLINIC (MP44'X), [0;1] .02 TELEPHONE OF CLINIC (CJ14), [ ; ] 3 STATUS (S), [0;2] … 28 FOLLOW-UP VISIT (S), [1;2] 100 CURRENT STATUS (CJ35), [ ; ] 1901 VETERAN (Y/N)? (RSXa), [VET;1] 1903 ARCHIVED DATA (Multiple-2.12), [ARCH;0] .01 DATA TYPE (S), [0;1] 1 DATE OF ARCHIVE (Multiple-2.13), [1;0] .01 DATE OF ARCHIVE (D), [0;1] 1 TAPE # (F), [0;2] 2 BEGIN ARCHIVE DATE (D), [0;3] 3 END ARCHIVE DATE (D), [0;4] 4 NUMBER OF RECORDS ARCHIVED (NJ6,0), [0;5] 11500.01 INITIAL ODS TREATMENT RECEIVED (D), [ODS;1] 11500.02 RECALLED TO ACTIVE DUTY (S), [ODS;2] 11500.03 RANK (*P25002.1'), [ODS;3] VERSION: 4.0 Databases 12 Definitions Database File Record Field 13 Database A collection of files. Can be relational or non-relational. Vista. 14 File Individual groupings of data that are relatively egocentric, in that they are concerned about their own data area. Files are made up of records. Example of files: Patient file Consult file Order file Prescription file 15 Record An individual entry in a file. Made up of fields. Patient IMAGpatient,One’s patient record: Name: IMAGpatient,One SSN: 000-00-0001 Street Address: Any Street City: Any town State: Vermont 16 Field NAME: A data element in a record. Example of fields: Name SSN Street Address City State 17 Mandatory field • A field that you must enter data into • The record must have this data to be complete 18 Non Mandatory field • A field that is not needed for the record to exist. • Example; • Name: mandatory • Occupation: non mandatory You can’t have a record without a name, but you can have a record without an occupation. 19 Field types for files 1. Free Text: Can be a mix of numbers and letters within a fixed length. 2. Numeric: Numbers within fixed guidelines ergo: from 1 to 9999 no decimal places. 3. Set of codes: Fixed codes that a user can select from for that field 4. WP: Word processing. That is you can type in as much as you want. 5. Pointer: Allows you to pick entries from another file. 6. Variable pointer: Allows you to pick entries from a file and if there is nothing in that file you like you get presented with another file to choose from. 7. Computed: Example: Age. It changes from day to day therefore there is no way to make it a regular field so when someone asks for age the computer subtracts date of birth from today’s date. 8. Mumps: Special fields for programmers. 9. Multiple field: Like a file inside a file. 20 1. Free Text fields. Any allowable text up to a certain length limit STANDARD DATA DICTIONARY #2 -- PATIENT FILE MAY 12,2006@13:55:20 PAGE 1 STORED IN ^DPT( (1210 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 4.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------2,.114 CITY .11;4 FREE TEXT (audited) INPUT TRANSFORM: K:$L(X)>15!($L(X)<2) X LAST EDITED: JUN 09, 2003 HELP-PROMPT: Answer must be 2-15 characters in length DESCRIPTION: Enter the city in which this applicant resides [2-15 characters]. If the space provided is not sufficient please abbreviate the city to the best of your ability. WHITE RIV JCT WHITE RIVER JCT WHITE RIVER JUN WRJ WHITE RIVER WH. RIVER JCT HARTFORD WHITERIVER JCT WR JCT ........ White River Jct WHIRE RIVER JCT White River JCT WHITE RIVER,JCT WHITE RVR.JCT. STANDARD DATA DICTIONARY #2 -- PATIENT FILE APR 21,2006@09:38:25 PAGE 1 STORED IN ^DPT( (1210 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 4.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------2,.09 SOCIAL SECURITY NUMBER 0;9 FREE TEXT (Required) (audited) SSN INPUT TRANSFORM: K:X[""""!($A(X)=45) X I $D(X) S:'$D(DPTX) DFN=D A D SSN^DGINP Q I $L(X)>10 OUTPUT TRANSFORM: S:$L(Y)=11 Y=$E(Y,10,11)_$E(Y,1,9) STANDARD DATA DICTIONARY #2 -- PATIENT FILE APR 21,2006@09:41:25 PAGE 1 STORED IN ^DPT( (1210 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 4.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------2,.116 ZIP CODE .11;6 FREE TEXT INPUT TRANSFORM: K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>5!($L(X)< 5)!'(X?5N) X STORED IN ^DGPM( (221 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 5.3) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------405,.1 DIAGNOSIS [SHORT] 0;10 FREE TEXT (Required) INPUT TRANSFORM: K:$L(X)>30!($L(X)<3)!(X[";") X LAST EDITED: FEB 04, 1992 HELP-PROMPT: Enter a 3-30 character description of the diagnosis associated with this movement excluding semi-colons. DESCRIPTION: When admitting a patient, you will be asked to provide a brief description of the diagnosis of this patient upon admission. PATIENT MOVEMENT LIST APR 21,2006 08:42 NUMBER DIAGNOSIS [SHORT] -------------------------------------------------------------------------------1 PSYCHOTIC 4 PSYCHOTIC 6 UNKNOWN 8 CONVULSIONS 10 UNKNOWN 12 PSYCHOTIC 17 PSYCH 19 CRAZY 21 ADMIT DIAGNOSIS 23 WAIT AND SEE 27 CRA 29 CRAZY 31 CRAZY 33 PERICARDITIS 36 APPENDICITIS 39 PSYCHOTIC PAGE 1 2. Numeric fields: Composed of numbers from fractional to what ever you like. STANDARD DATA DICTIONARY #2 -- PATIENT FILE APR 21,2006@10:05:51 PAGE 1 STORED IN ^DPT( (1210 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 4.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------2,.302 SERVICE CONNECTED PERCENTAGE .3;2 NUMBER (audited) INPUT TRANSFORM: S DFN=DA D EV^DGLOCK Q:'$D(X) K:+X'=X!(X>100)! (X<0)!(X?.E1"."1N.N) X I $D(X),$D(^DPT(DA,.3)), $P(^(.3),U,1)'="Y" W !?4,*7,"Only applies to service-connected applicants." K X STANDARD DATA DICTIONARY #408.31 -- ANNUAL MEANS TEST FILE STORED IN ^DGMT(408.31, (10 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 5.3) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------408.31,.05 NET WORTH 0;5 NUMBER INPUT TRANSFORM: S:X["$" X=$P(X,"$",2) K:X'?.N.1".".2N!(X>999999999)!(X<0) X LAST EDITED: DEC 06, 1994 HELP-PROMPT: Type a Dollar Amount between 0 and 999999999, 2 Decimal Digits DESCRIPTION: This field is computed by the system. Is a summation of the veteran and spouse (If applicable) net worth minus any debts in the Individual Annual 3. Set Of Codes: Fixed codes that a user can select from. STORED IN ^DPT( (1210 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 4.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------2,.02 SEX 0;2 SET (Required) (audited) 'M' FOR MALE; 'F' FOR FEMALE; LAST EDITED: JAN 05, 1999 HELP-PROMPT: Enter 'M' for MALE, or 'F' for FEMALE. DESCRIPTION: Enter 'M' if this applicant is a male, or 'F’ if female. STORED IN ^DPT( (1210 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 4.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------2,.12105 TEMPORARY ADDRESS ACTIVE? .121;9 SET (Required) WANT TO ENTER TEMP ADDR 'Y' FOR YES; 'N' FOR NO; INPUT TRANSFORM: S DFN=DA I X="N" D TADD^DGLOCK LAST EDITED: JAN 08, 2001 HELP-PROMPT: Enter 'Y' if you want to enter/edit Temporary address data, 'N' if not. 4. WP: Word processing. Type in as much as you need. STORED IN ^DPT( (1210 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 4.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------2,.16 MISSING OR INELIGIBLE .16;0 WORD-PROCESSING #2.16 DESCRIPTION: This is a word processing field to contain information on the patient's ineligibility or information about this missing patient. 5. Pointer: Allows you to pick entries from another file (but only those entries). STANDARD DATA DICTIONARY #2 -- PATIENT FILE APR 21,2006@13:52:46 PAGE 1 STORED IN ^DPT( (1210 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 4.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------2,.115 STATE .11;5 POINTER TO STATE FILE (#5) (audited) LAST EDITED: HELP-PROMPT: JUN 09, 2003 Select from the available listing the state in which this applicant resides. DESCRIPTION: From the available listing choose the state in which this applicant resides. STATE LIST APR 21,2006 13:56 PAGE 1 NUMBER NAME -------------------------------------------------------------------------------1 2 4 5 6 8 9 10 11 12 13 15 ALABAMA ALASKA ARIZONA ARKANSAS CALIFORNIA COLORADO CONNECTICUT DELAWARE DISTRICT OF COLUMBIA FLORIDA GEORGIA HAWAII STORED IN ^GMR(123, (118 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 3.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------123,.03 OE/RR FILE NUMBER 0;3 POINTER TO ORDER FILE (#100) LAST EDITED: NOV 03, 1998 HELP-PROMPT: Enter the File 100 internal entry number of this record. STANDARD DATA DICTIONARY #55 -- PHARMACY PATIENT FILE APR 21,2006@14:10:48 PAGE 1 STORED IN ^PS(55, (33 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 1.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------55,.01 NAME 0;1 POINTER TO PATIENT FILE (#2) (Required) INPUT TRANSFORM: S DINUM=X LAST EDITED: MAR 08, 1989 DESCRIPTION: This is the name of a patient that has some type of pharmacy order. 7. Computed Field: Why figure something out for yourself when you have a computer? STORED IN ^DPT( (1210 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 4.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------2,.033 AGE ; COMPUTED MUMPS CODE: X ^DD(2,.033,9.5) S X=$E(Y(2,.033,15),Y(2,.033, 16),X) S Y=X,X=Y(2,.033,13),X=X<Y,Y=X,X=Y(2,.03 3,8),X=X-Y YADA,YADA,YADA…… Basically this means: Take date of birth and subtract it from todays date, unless the person has a date of death and then subtract date of birth from date of death. Remember, fileman uses … c yymmdd 3 06 04 21 - 2 55 03 02 --------------------------51 01 19 51 YEARS 1 MONTH 19 DAYS CYYMMDD format where C is 0 for 1800’s, 1 for 1900’s, 2 for 2000’s $H (Number of days since 1841) 60376 41698 -------------18678 18678 / 365.25 = 51.14 6. Variable Pointer: of files. Allows you to select entries from a number STANDARD DATA DICTIONARY #100 -- ORDER FILE MAY 8,2006@15:35:32 PAGE 1 STORED IN ^OR(100, (1226 ENTRIES) SITE: IMGDemo UCI: DVA,ROU (VERSION 3.0) DATA NAME GLOBAL DATA ELEMENT TITLE LOCATION TYPE ------------------------------------------------------------------------------100,.02 OBJECT OF ORDER FILE ORDER PREFIX 2 1 P 67 6 R 0;2 VARIABLE POINTER (Required) LAYGO MESSAGE n PATIENT n REFERRAL This is another example of a computed field. In this case, it pulls the information from the pointed to file when you look at the field. CONDENSED DATA DICTIONARY---PHARMACY PATIENT FILE (#55)UCI: DVA,ROU VERSION: 1.0 STORED IN: ^PS(55, 05/19/06 PAGE 1 ------------------------------------------------------------------------------52 PRESCRIPTION PROFILE (Multiple-55.03), [P;0] .01 PRESCRIPTION PROFILE (P52'), [0;1] 1 DRUG (CJ32), [ ; ] 2 STATUS (CJ9X), [ ; ] 3 ACTIVE (BC), [ ; ] 32 A: GOOD: 1.Pointers: a. Always point to the same thing b. You are limiting the user to what they can pick 2.Sets of codes a. Totally limited to certain items b. Search results are predictable 3.Numeric, Date/Time or Computed fields a. Numbers are logical, you can use them like math b. Numbers are locked in; also, user has to choose numbers according to rules which makes them predictable B: NOT GOOD 1.Free Text a. Too much freedom given to user; too hard to predict what they can put in b. Can be used only if you use rules to limit what a user can put in 2.Word processing a. Too much freedom given to user when inputting data b. Just forget it; you can’t sort on WP text. You can search it, but it is time consuming. 3. Variable pointer a. where does it go? RELATIONSHIPS 35 Relationships between files 36 CONDENSED DATA DICTIONARY---PATIENT FILE (#2) UCI: DVA,ROU VERSION: 4.0 STORED IN: ^DPT( 06/08/06 PAGE 1 -------------------------------------------------------------------------------FILE SECURITY DD SECURITY : @ DELETE SECURITY: Dd READ SECURITY : d LAYGO SECURITY : Dd WRITE SECURITY : Dd (NOTE: Kernel's File Access Security has been installed in this UCI.) FILE STRUCTURE FIELD FIELD NUMBER NAME ONE .01 NAME (RFXa), [0;1] ONE… .02 SEX (RSa), [0;2] .03 DATE OF BIRTH (RDXOa), [0;3] .033 AGE (CJ3X,0), [ ; ] .04 *EMPLOYMENT STATUS (SX), [0;4] .05 MARITAL STATUS (RP11'a), [0;5] .06 RACE (P10'IX), [0;6] .07 OCCUPATION (F), [0;7] .08 RELIGIOUS PREFERENCE (P13'a), [0;8] . .092 PLACE OF BIRTH [CITY] (F), [0;11] .093 PLACE OF BIRTH [STATE] (P5'), [0;12] . .105 CURRENT ADMISSION (*P405'), [.105;1] . .5291 COMBAT SERVICE INDICATED? (RSX), [.52;11] .5292 COMBAT SERVICE LOCATION (RP22'X), [.52;12] .5293 COMBAT FROM DATE (RDX), [.52;13] .5294 COMBAT TO DATE (RDX), [.52;14] .5295 COMBAT VETERAN END DATE (D), [.52;15] . 1010.15 RECEIVED VA CARE PREVIOUSLY? (RS), [1010.15;5] . 1900 APPOINTMENT (Multiple-2.98), [S;0] .001 APPOINTMENT DATE/TIME (D), [ ] MANY .01 CLINIC (MP44'X), [0;1] .02 TELEPHONE OF CLINIC (CJ14), [ ; ] 3 STATUS (S), [0;2] . 1901 VETERAN (Y/N)? (RSXa), [VET;1] One to one One to many One to one 38 One to One Many to One 39 OUTPUT FROM WHAT FILE: PATIENT// Select PATIENT NAME: EIGHTEEN,PATIENT 1-1-30 000006666 NO NSC VETERAN ANOTHER ONE: STANDARD CAPTIONED OUTPUT? Yes// N (No) FIRST PRINT FIELD: .01;L25 NAME THEN PRINT FIELD: 1900 APPOINTMENT (multiple) THEN PRINT APPOINTMENT SUB-FIELD: .001;L25 APPOINTMENT DATE/TIME THEN PRINT APPOINTMENT SUB-FIELD: .01;L15 CLINIC THEN PRINT APPOINTMENT SUB-FIELD: THEN PRINT FIELD: Heading (S/C): PATIENT LIST// STORE PRINT LOGIC IN TEMPLATE: DEVICE: TELNET Right Margin: 80// PATIENT LIST JUN 12,2006 11:02 PAGE 1 APPOINTMENT NAME DATE/TIME CLINIC -------------------------------------------------------------------------------EIGHTEEN,PATIENT JUN 4,1993 12:00 TOEARLY JUN 11,1993 12:00 TOEARLY JUN 18,1993 12:00 TOEARLY JUN 25,1993 12:00 TOEARLY JUN 30,1993 08:00 PRIMARY CARE JUN 30,1993 12:00 PRIMARY CARE JUL 2,1993 12:00 TOEARLY JUL 9,1993 12:00 TOEARLY OUTPUT FROM WHAT FILE: PATIENT// Select PATIENT NAME: EIGHTEEN,PATIENT 2-3-33 000000001 NO NSC VETERAN 1A ANOTHER ONE: STANDARD CAPTIONED OUTPUT? Yes// N (No) FIRST PRINT FIELD: .01 NAME THEN PRINT FIELD: REQUEST/CONSULTATION: make sure to enter a colon here! By 'REQUEST', do you mean the REQUEST/CONSULTATION File, pointing via its 'PATIENT NAME' Field ("F" Cross-reference)? Yes// (Yes) THEN PRINT REQUEST/CONSULTATION FIELD: .01 FILE ENTRY DATE THEN PRINT REQUEST/CONSULTATION FIELD: THEN PRINT FIELD: Heading (S/C): PATIENT LIST// STORE PRINT LOGIC IN TEMPLATE: DEVICE: TELNET Right Margin: 80// PATIENT LIST JUN 12,2006 15:26 PAGE 1 NAME FILE ENTRY DATE -------------------------------------------------------------------------------EIGHTEEN,PATIENT MAR 7,1995 07:51 MAR 7,1995 07:52 MAR 7,1995 07:52 MAR 7,1995 07:53 MAR 7,1995 07:53 MAR 7,1995 07:54 MAY 21,2000 09:50 APR 1,2004 23:43 APR 1,2004 23:43 OUTPUT FROM WHAT FILE: PATIENT// Select PATIENT NAME: EIGHTEEN,PATIENT 2-3-33 ANOTHER ONE: STANDARD CAPTIONED OUTPUT? Yes// N (No) 000000000 NO FIRST PRINT FIELD: REQUEST/CONSULT: make sure to enter By 'REQUEST', do you mean the REQUEST/CONSULTATION File, pointing via its 'PATIENT NAME' Field ("F" Cross-reference)? Yes// (Yes) THEN PRINT REQUEST/CONSULTATION FIELD: .01 FILE ENTRY DATE THEN PRINT REQUEST/CONSULTATION FIELD: .03: NSC VETERAN 1A a colon here! make sure to enter a colon here! By '#.03', do you mean REQUEST/CONSULTATION 'OE/RR FILE NUMBER'? Yes// (Yes) THEN PRINT ORDER FIELD: .01 ORDER # THEN PRINT ORDER FIELD: THEN PRINT REQUEST/CONSULTATION FIELD: THEN PRINT FIELD: Heading (S/C): PATIENT LIST// STORE PRINT LOGIC IN TEMPLATE: DEVICE: TELNET Right Margin: 80// PATIENT LIST JUN 12,2006 15:30 PAGE 1 FILE ENTRY DATE ORDER # -------------------------------------------------------------------------------MAR 7,1995 07:51 MAR 7,1995 07:52 MAR 7,1995 07:52 MAR 7,1995 07:53 MAR 7,1995 07:53 MAR 7,1995 07:54 MAY 21,2000 09:50 12292 APR 1,2004 23:43 15499 APR 1,2004 23:43 15500 One to one One to one One to one 43 FILE SECURITY LIMITING ACCESS TO FILES IN FILEMAN 1. Fileman Access codes 2. Kernel File Access Security (Fileman Part III) 44 45 46 47 48 49 Security note: While we are on the subject of security I would like to make a few points: 1. Make sure people get permission to access Fileman data: Fileman allows people to get aggregated information they would normally not have access to. 2. Be especially careful about putting SSNS in outputs 3. Ask people what they want the data for: If they want to take the data off station, they need to see the Medical Center Director’s office, or more depending on station policy. When in doubt talk to the Privacy Officer. 4. Even with all kinds of permission, people need to understand the gravity of what they do with data. When you look at information, that is one thing; when you export it, that is a horse of a different color. Dropping a report or spreadsheet to a floppy or a thumb drive (OR A LAPTOP!) puts you in a whole different world with big time consequences. Make sure the person getting the data understands this and has acquired the requisite permissions. 5. Lists with names, SSNS, diagnoses, ICD9 codes, etc are extremely sensitive. Partake in those kinds of reports with care. Counts and numbers are less sensitive, though you still don’t want to be responsible for letting the outside world know how many of something the VA does. Even just saying the XXX VA had XX numbers of HIV positive patients would likely get you into trouble. Releasing information is the job of the Public relations officer. Tread carefully in these areas! Fileman Print: Sort order: Produces ordered subsets of a file: For example: The Patient file has 1210 entries: Of the 1210 entries 83 entries are female. of those 83 females 13 have a period of service containing Vietnam. How did I figure that out? Try this: 1 2 3 4 Print File Entries Search File Entries Inquire to File Entries List File Attributes Select Filemanager Options Option: 1 Print File Entries OUTPUT FROM WHAT FILE: PATIENT// SORT BY: NAME// +SEX the plus mark means do subtotals by this field START WITH SEX: FIRST// by not putting any criteria at this point we are saying we want WITHIN SEX, SORT BY: all entries, not a subset. FIRST PRINT FIELD: !.01 NAME the exclamation mark means count these items THEN PRINT FIELD: the combination of the ‘+’ and the ‘!’ Will get you Heading (S/C): PATIENT STATISTICS// subtotals of Name by Sex. 52 OUTPUT FROM WHAT FILE: PATIENT// SORT BY: NAME// ? Answer with FIELD NUMBER, or LABEL Do you want the entire FIELD List? N (No) TYPE '-' IN FRONT OF NUMERIC-VALUED FIELD TO SORT FROM HI TO LO TYPE '+' IN FRONT OF FIELD NAME TO GET SUBTOTALS BY THAT FIELD, '#' TO PAGE-FEED ON EACH FIELD VALUE, '!' TO GET RANKING NUMBER, '@' TO SUPPRESS SUB-HEADER, ']' TO FORCE SAVING SORT TEMPLATE TYPE ';TXT' AFTER FREE-TEXT FIELDS TO SORT NUMBERS AS TEXT TYPE [TEMPLATE NAME] IN BRACKETS TO SORT BY PREVIOUS SEARCH RESULTS TYPE 'BY(0)' TO DEFINE RECORD SELECTION AND SORT ORDER SORT BY: NAME// START WITH NAME: FIRST// FIRST PRINT FIELD: ? Answer with FIELD NUMBER, or LABEL Do you want the entire 471-Entry FIELD List? N (No) TYPE '&' IN FRONT OF FIELD NAME TO GET TOTAL FOR THAT FIELD, '!' TO GET COUNT, '+' TO GET TOTAL & COUNT, '#' TO GET MAX & MIN, ']' TO FORCE SAVING PRINT TEMPLATE TYPE '[TEMPLATE NAME]' IN BRACKETS TO USE AN EXISTING PRINT TEMPLATE YOU CAN FOLLOW FIELD NAME WITH ';' AND FORMAT SPECIFICATION(S) FIRST PRINT FIELD: Let’s try to count the number of female vets with a period of service of Vietnam Era: 1 Print File Entries 2 Search File Entries 3 Inquire to File Entries 4 List File Attributes Select Filemanager Options Option: 1 Print File Entries OUTPUT FROM WHAT FILE: PATIENT// SORT BY: NAME// SEX -------------------------| START WITH SEX: FIRST// F FEMALE |this assures us we get only females GO TO SEX: LAST// F FEMALE---------------| WITHIN SEX, SORT BY: +PERIOD OF SERVICE this gets us subtotals by POS START WITH PERIOD OF SERVICE: FIRST// WITHIN PERIOD OF SERVICE, SORT BY: FIRST PRINT FIELD: !.01 NAME and again, this gets us subtotals by name THEN PRINT FIELD: Heading (S/C): PATIENT STATISTICS// START AT PAGE: 1// DEVICE: 0;80;9999 TELNET ...EXCUSE ME, LET ME PUT YOU ON 'HOLD' FOR A SECOND... OK…. 55 56 57 Now that we have done this report in two runs, let’s try it in one run: 1 Print File Entries 2 Search File Entries 3 Inquire to File Entries 4 List File Attributes Select Filemanager Options Option: 1 Print File Entries OUTPUT FROM WHAT FILE: PATIENT// SORT BY: NAME// SEX START WITH SEX: FIRST// F FEMALE GO TO SEX: LAST// F FEMALE WITHIN SEX, SORT BY: +PERIOD OF SERVICE START WITH PERIOD OF SERVICE: FIRST// VIET Start with Viet anything GO TO PERIOD OF SERVICE: LAST// VIETzz zz is the last possible alpha WITHIN PERIOD OF SERVICE, SORT BY: STORE IN 'SORT' TEMPLATE: FIRST PRINT FIELD: !.01 NAME THEN PRINT FIELD: Heading (S/C): PATIENT STATISTICS// START AT PAGE: 1// DEVICE: 0;80;999 TELNET 59 OUTPUT FROM WHAT FILE: PATIENT// SORT BY: NAME// SEX START WITH SEX: FIRST// NOT RESTRICTING DUE TO LOW NUMBERS WITHIN SEX, SORT BY: PERIOD OF SERVICE START WITH PERIOD OF SERVICE: FIRST// VIET GO TO PERIOD OF SERVICE: LAST// VIETzzz This confines to ‘VIETNAMS’. WITHIN PERIOD OF SERVICE, SORT BY: REQUEST/CONSULTATION: Jump By 'REQUEST', do you mean the REQUEST/CONSULTATION File, pointing via its 'PATIENT NAME' Field ("F" Cross-reference)? Yes// (Yes) REQUEST/CONSULTATION FIELD: +.05 ORDERING FACILITY common field By '#.05', do you mean REQUEST/CONSULTATION 'ORDERING FACILITY'? Yes// (Yes) START WITH ORDERING FACILITY: FIRST// WITHIN ORDERING FACILITY, SORT BY: STORE IN 'SORT' TEMPLATE: FIRST PRINT FIELD: !.01 NAME THEN PRINT FIELD: Heading (S/C): PATIENT STATISTICS// START AT PAGE: 1// DEVICE: 0;80;999 TELNET this is common to all records. 61 Fileman Search: The filter with a save feature: Searching is like building a filter and then trying to pass each record in the file through the filter. If the record passes the filter it is included in the list of successes. Search allows you to do ‘OR’s’ which is not easy to do in sort. ‘OR’s’ allow you to say: I want all of these “OR” all or that “OR” all of that. Sorts allow you to do ‘AND’s’ which is to say I want all the Female vets ‘and’ of those I want all the period’s of service that are VIETNAMS, ‘and’ of those yada yada yada…. Sorts don’t deal with OR’s well. Let’s look at an example of a data request that would require OR’s: 62 OR’s I want: all live Vietnam vets that have had an appointment in the last two years with an ICD9 code of PTSD that live in one of 5 zip codes. To set that up you would have to say: 1. POS Vietnam AND Visit in last 2 years with ICD9 code of PTSD AND 1st zip code OR 2. POS Vietnam AND Visit in last 2 years with ICD9 code of PTSD AND 2nd zip code OR 3. POS Vietnam AND Visit in last 2 years with ICD9 code of PTSD AND 3rd zip code OR 4. POS Vietnam AND Visit in last 2 years with ICD9 code of PTSD AND 4th zip code OR 5. POS Vietnam AND Visit in last 2 years with ICD9 code of PTSD AND 5th zip code You could do that in 5 separate sorts, but with Search and OR you can do it in one search. 63 Remember when we were doing the sort on female Vietnam vets did you notice that we had to run the whole sort every time we wanted to see the numbers? That is ok when you have a database of 1,210 patients. When it is over 100,000 you will not be running that in a couple of minutes. When you run a search you have the opportunity to save the search results. Once you have done that you can run a print of the search results only, so you are not running the entire database each time but just the results of the search. Let’s try a search. Due to the small number of patients let’s do a search on WWII Males that are in certain Zip Codes. I will be using the following Zips: 00001 00002 00003 00004 00005 64 1 2 3 4 Print File Entries Search File Entries Inquire to File Entries List File Attributes Select Filemanager Options Option: 2 Search File Entries OUTPUT FROM WHAT FILE: PATIENT// -A- SEARCH FOR PATIENT FIELD: SEX -A- CONDITION: = EQUALS IF YOU SAY ‘CONTAINS MALE’ YOU WILL GET FEMALES -A- EQUALS: MALE -B- SEARCH FOR PATIENT FIELD: PERIOD OF SERVICE -B- CONDITION: CONTAINS -B- CONTAINS: WORLD WAR II -C- SEARCH FOR PATIENT FIELD: ZIP CODE -C- CONDITION: CONTAINS -C- CONTAINS: 00001 -D- SEARCH FOR PATIENT FIELD: -D- CONDITION: CONTAINS -D- CONTAINS: 00002 ZIP CODE -E- SEARCH FOR PATIENT FIELD: -E- CONDITION: CONTAINS -E- CONTAINS: 00003 ZIP CODE -F- SEARCH FOR PATIENT FIELD: -F- CONDITION: CONTAINS -F- CONTAINS: 00004 ZIP CODE -G- SEARCH FOR PATIENT FIELD: -G- CONDITION: CONTAINS -G- CONTAINS: 00005 ZIP CODE IF: ABC SEX EQUALS "M" (MALE) and PERIOD OF SERVICE CONTAINS " and ZIP CODE CONTAINS “00001" OR: ABD Or SEX EQUALS "M" (MALE) and PERIOD OF SERVICE CONTAINS " and ZIP CODE CONTAINS “00002" OR: ABE Or SEX EQUALS "M" (MALE) and PERIOD OF SERVICE CONTAINS " and ZIP CODE CONTAINS “00003" OR: ABF Or SEX EQUALS "M" (MALE) and PERIOD OF SERVICE CONTAINS " and ZIP CODE CONTAINS “00004" OR: ABG Or SEX EQUALS "M" (MALE) and PERIOD OF SERVICE CONTAINS " and ZIP CODE CONTAINS “00005" OR: (case-insensitive) "WORLD WAR II (case-insensitive) "WORLD WAR II (case-insensitive) "WORLD WAR II (case-insensitive) "WORLD WAR II (case-insensitive) "WORLD WAR II STORE RESULTS OF SEARCH IN TEMPLATE: ZDF MALE WWII ZIPS Are you adding 'ZDF MALE WWII ZIPS' as a new SORT TEMPLATE? No// Y (Yes) DESCRIPTION: 1> SORT BY: NAME// START WITH NAME: FIRST// FIRST PRINT FIELD: Heading (S/C): PATIENT SEARCH// DEVICE: TELNET Right Margin: 80// PATIENT SEARCH JUL 13,2006 12:43 -------------------------------------------------------------------------------24 MATCHES FOUND. PAGE 1 OUTPUT FROM WHAT FILE: PATIENT// SORT BY: NAME// [ ZDF MALE WWII ZIPS (Jul 13, 2006@12:43) User #1369 File #2 SEARCH WITHIN 'ZDF MALE WWII ZIPS' NUMBER, SORT BY: NUMBER START WITH NUMBER: FIRST// WITHIN NUMBER, SORT BY: FIRST PRINT FIELD: !NUMBER;L6 THEN PRINT FIELD: AGE;L3 1 AGE 2 AGENCY/ALLIED COUNTRY 3 AGENT ORANGE EXAM DATE 4 AGENT ORANGE EXPOS. INDICATED? 5 AGENT ORANGE EXPOSURE LOCATION Press <RETURN> to see more, '^' to exit this list, OR CHOOSE 1-5: 1 AGE THEN PRINT FIELD: SEX;L6 THEN PRINT FIELD: PERIOD OF SERVICE;L15 THEN PRINT FIELD: ZIP CODE;L5 THEN PRINT FIELD: Heading (S/C): PATIENT STATISTICS// STORE PRINT LOGIC IN TEMPLATE: ZDF ZIP CODE Are you adding 'ZDF ZIP CODE' as a new PRINT TEMPLATE? No// Y (Yes) DEVICE: 0;0;9999 TELNET Right Margin: 80// PATIENT STATISTICS JUL 13,2006 13:54 PAGE 1 PERIOD OF ZIP NUMBER AGE SEX SERVICE CODE -------------------------------------------------------------------------------24 103 MALE WORLD WAR II 00001 28 88 MALE WORLD WAR II 00002 42 86 MALE WORLD WAR II 00003 46 81 MALE WORLD WAR II 00004 66 98 MALE WORLD WAR II 00005 150 82 MALE WORLD WAR II 00006 155 95 MALE WORLD WAR II 00007 240 84 MALE WORLD WAR II 00008 248 99 MALE WORLD WAR II 00009 331 88 MALE WORLD WAR II 00010 387 92 MALE WORLD WAR II 00011 394 102 MALE WORLD WAR II 00012 415 85 MALE WORLD WAR II 00013 417 85 MALE WORLD WAR II 00014 513 89 MALE WORLD WAR II 00015 519 70 MALE WORLD WAR II 00016 543 78 MALE WORLD WAR II 00017 649 85 MALE WORLD WAR II 00018 756 91 MALE WORLD WAR II 00019 787 92 MALE WORLD WAR II 00020 875 86 MALE WORLD WAR II 00021 884 67 MALE WORLD WAR II 00022 899 95 MALE WORLD WAR II 00023 902 97 MALE WORLD WAR II 00024 -----COUNT 24 QUESTIONS? Please use the provided 3x5 cards. 70