File_man_advance_1

advertisement
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
Download