When the Medsphere OpenVista Kernel inits are run, they create a FileMan file named “File” and it is given file number 1. This is the file of files which means that any file that is created within FileMan stuffs it’s file attributes here. This is a read only file and is not to be modified by human hands.
This file (#1) creates the globals ^DIC(, which is called the “lookup” global, and the ^DD(, which is called the Data Dictionary global. So, any file that is created will have these same globals created under the file’s internal entry number (IEN). The following is an example of File #1 and it’s globals:
GTM>D Q^DI
VA FileMan 22.0
Select OPTION: INQUIRE TO FILE ENTRIES
OUTPUT FROM WHAT FILE: NEW PERSON// 1 FILE (2135 entries)
Select FILE: ?
Answer with FILE NUMBER, or NAME
Do you want the entire 2135-Entry FILE List? Y (Yes)
Choose from:
.11 INDEX
.2 DESTINATION
.31 KEY
.4 PRINT TEMPLATE
.401 SORT TEMPLATE
.402 INPUT TEMPLATE
.403 FORM
.404 BLOCK
.44 FOREIGN FORMAT
.46 IMPORT TEMPLATE
.5 FUNCTION
.6 DD AUDIT
.7 MUMPS OPERATING SYSTEM
.81 DATA TYPE
.83 COMPILED ROUTINE
.84 DIALOG
.85 LANGUAGE
1 FILE
1.1 AUDIT
1.11 ARCHIVAL ACTIVITY
1.12 FILEGRAM HISTORY
1.13 FILEGRAM ERROR LOG
1.2 ALTERNATE EDITOR
…
Global ^DIC(1,
DIC(1,
^DIC(1,0)=”FILE^1″
^DIC(1,0,”DD”)=”^”
^DIC(1,0,”GL”)=”^DIC(”
^DIC(1,0,”LAYGO”)=”^”
^DIC(1,0,”RD”)=”^”
^DIC(1,0,”WR”)=”^”
^DIC(1,”%D”,0)=”^^2^2^2940908^”
^DIC(1,”%D”,1,0)=”This file stores the descriptive information for all files in the FileMan”
^DIC(1,”%D”,2,0)=”managed database.”
Note that this file’s access codes are set to the “^”, which means that no one but the system installs can change this file.
When a file is created the system not only creates the ^DIC( and ^DD( globals, but a global that the actual data is stored. The default name for this global is ^DIZ(filenumber,. This global has already been placed within the operating system (OS) by the Kernel inits and given it’s system security attributes for security. You may want to create a global with a specific name other than ^DIZ. Prior to creating the file, this global must be placed on a specific volume set or disk, be given it’s security attributes and translated so that the production or test accounts can see it. This is normally done by the systems manager or a programmer that has permission to place globals. The attributes to set at the system level are normally:
(S)ystem
(W)orld
(G)roup
(U)ser
Each one of these would be set to any of four security levels:
(R)ead
(W)rite
(E)xecute
(D)elete
When you create a file or a field through FileMan, the system assigns the File Access Code equal to yours, so if you create the file or field in programmer mode or if you hold the “@” in your FileMan Access Code, the system will assign an “@” to the Data Dictionary (DD), Audit, Delete, LAYGO, Read and Write access of the file and it’s fields. In order to allow non-programmers access to the file or fields, you must either change the File Access Code or, if File Access Security (Part III of the Kernel) is running, assign access to the individual users.
File access security codes are set according to the group of applications:
Ex:
@ – Programmers access
# – IT specialists access
D – ADT users access
d – ADT supervisors access
S – Scheduling users access
s – Scheduling supervisors access
P – Pharmacy users access
p – Pharmacy supervisors access
F – Dietetics users access
f – Dietetics supervisors access
and so on…
Let’s look at how the New Person file (^VA,200) is set up:
Select FILE: 200 NEW PERSON
ANOTHER ONE:
STANDARD CAPTIONED OUTPUT? Yes// Y (Yes)
.
.
.
GLOBAL NAME (c): ^VA(200, ENTRIES (c): 97
DD ACCESS (c): @ RD ACCESS (c): #
WR ACCESS (c): # DEL ACCESS (c): #
LAYGO ACCESS (c): # VERSION (c): 8.0
DISTRIBUTION PACKAGE (c): XU COMPILED CROSS-REFERENCES (c): NO
Note that only a programmer (someone who has been assigned the “@” can change the data dictionary of this file, however, someone with the “#” can read, write, delete or add to this file.
To look at the data dictionary of a file, follow these procedures using your filename or filenumber:
GTM>D Q^DI
VA FileMan 22.0
Select OPTION: DATA DICTIONARY UTILITIES
Select DATA DICTIONARY UTILITY OPTION: LIST FILE ATTRIBUTES
START WITH WHAT FILE: NEW PERSON//<CR>
GO TO WHAT FILE: NEW PERSON//<CR>
Select SUB-FILE:<CR>
Select LISTING FORMAT: STANDARD// GLOBAL MAP
DEVICE: 0;;999 TELNET
GLOBAL MAP DATA DICTIONARY #200 — NEW PERSON FILE OCT 13,2004@10:12:48 PAGE1
STORED IN ^VA(200, (97 ENTRIES) SITE: ODVA UCI: VAH,ROU (VERSION 8.0)
——————————————————————————-
This file contains data on employees, users, practitioners, etc. who were previously in Files 3,6,16 and others.
DHCP packages must check with the KERNEL developers to see that a given number/namespace is clear for them to use.
Field numbers 53-59.9 reserved for Pharm.
Nodes and X-ref ‘PS*’. Field numbers 70-79.9 reserved for Radiology
Nodes and X-ref ‘RA*’. Field numbers 720-725 reserved for DSSM
Nodes and X-ref ‘EC*’ and ‘AEC*’. Field numbers 740-749.9 reserved for QA
Nodes and X-ref ‘QA*’. Field numbers 654-654.9 reserved for Social work
Node 654 and X-ref ‘SW*’. Field numbers 500-500.9 reserved for mailman
Node 500 and X-ref ‘XM*’ and ‘AXM*’.
CROSS
REFERENCED BY: ACCESS CODE(A), PERSON FILE POINTER(A16), KEY(AB),
TYPE-AHEAD(AB2), HINQ EMPLOYEE NUMBER(AC), SURROGATE(ACSW),
SECONDARY MENU OPTIONS(AD), NAME(AE),
PRIMARY MENU OPTION(AF), ACCESSIBLE FILE(AFOF), NAME(AG),
DIVISION(AH), PRIMARY MENU OPTION(AI), SSN(AJ), KEY(AK),
SECONDARY MENU OPTIONS(AOA), SYNONYM(AOB), ACCESS CODE(AOLD),
PRIMARY MENU OPTION(AP), ARA VALUE(ARA),
SOCIAL WORKER ?(ASWB), IMMEDIATE SUPERVISOR(ASWC),
SOCIAL WORKER’S NUMBER(ASWD), POSITION/TITLE(ASWE),
NAME(ASX), PACKAGE ID(AXQA), PACKAGE ID(AXQAN), ALIAS(BB),
SSN(BS), NAME(BS5), SSN(BS55), INITIAL(C), NICK NAME(D),
SERVICE/SECTION(E), DEA#(PS1), VA#(PS2), SSN(SSN),
VERIFY CODE(VOLD)
INDEXED BY: DEGREE (ADEG), NAME (ANAME), NAME & STREET ADDRESS 1 & STREET
ADDRESS 2 & STREET ADDRESS 3 & CITY & STATE & ZIP CODE & SSN &
EMAIL ADDRESS & CURRENT DEGREE LEVEL & PROGRAM OF STUDY & LAST
TRAINING YEAR & SERVICE/SECTION & TITLE & TERMINATION DATE & DOB
(ATR), VISITED FROM & DUZ AT HOME SITE (AVISIT), NAME &
TERMINATION DATE & DOB & SSN (AXUHUI), KEY (AXUHUIKEY), NAME (B)
^VA(200,D0,0)= (#.01) NAME [1F] ^ (#1) INITIAL [2F] ^ (#2) ACCESS CODE [3F] ^
==>(#3) FILE MANAGER ACCESS CODE [4F] ^ (#9.21) DELETE ALL MAIL
==>ACCESS [5S] ^ (#9.22) DELETE KEYS AT TERMINATION [6S] ^ (#7)
==>DISUSER [7S] ^ (#7.2) VERIFY CODE never expires [8S] ^ (#8)
==>TITLE [9P:3.1] ^ ^ (#9.2) TERMINATION DATE [11D] ^ (#15)
==>PROHIBITED TIMES FOR SIGN-ON [12F] ^ (#9.4) Termination Reason
==>[13F] ^ ^ ^ (#8980.16) PERSON FILE POINTER [16P:16] ^
^VA(200,D0,.1)= (#11.2) DATE VERIFY CODE LAST CHANGED [1F] ^ (#11) VERIFY
==>CODE [2F] ^ ^ (#13) NICK NAME [4F] ^ (#14) PAC [5F] ^
==>(#11.6) ALLOW ARA ACCESS [6S] ^ (#11.7) ARA VALUE [7F] ^ ^
==>(#14.9) HINQ EMPLOYEE NUMBER [9F] ^ (#2.1) Want to edit
==>ACCESS CODE (Y/N) [10F] ^ (#11.1) Want to edit VERIFY CODE
==>(Y/N) [11F] ^
.
.
.
INPUT TEMPLATE(S):
^DIE(12)= *XUFILERANGE
^DIE(11)= *XUFILESINGLE
.
.
.
PRINT TEMPLATE(S):
^DIPT(.01)= CAPTIONED
^DIPT(1227)= DG MISSING SSN PRINT
.
.
.
^DIPT(30)= XUFILEINQ Compiled: ^XUFILE0
.
.
.
SORT TEMPLATE(S):
^DIBT(689)= DG MISSING SSN SORT
.
.
.
FORM(S)/BLOCK(S):
^DIST(.403,93)= XU-CLINICAL TRAINEE
^DIST(.404,356)= XU-CLINICAL TRAINEE HDR
.
.
.
Note that the system gives you the name of the global, where all of the information is stored and the input, print, sort and forms templates.
Also, note that there are fields that are restricted to certain applications.
The Cross-references or X-refs are used for easier lookups of certain fields.
We will now break this structure down:
Globals are made up of nodes and pieces. The global node is everything to the left of the equal sign and the pieces are everything to the right and are separated by the delimiter “^”.
So if I said I wanted to look at the zeroth node, I would look at ^VA(200,D0,0).
If I wanted to look at the 3rd piece of the zeroth node, I would be looking at the Access Code.
Take the first node or line:
Piece 1 Piece 2 Piece 3
| | |
^VA(200,D0,0)= (#.01) NAME [1F] ^ (#1) INITIAL [2F] ^ (#2) ACCESS CODE [3F] ^
==>(#3) FILE MANAGER ACCESS CODE [4F] ^ (#9.21) DELETE ALL MAIL
==>ACCESS [5S] ^ (#9.22) DELETE KEYS AT TERMINATION [6S] ^ (#7)
==>DISUSER [7S] ^ (#7.2) VERIFY CODE never expires [8S] ^ (#8)
==>TITLE [9P:3.1] ^ ^ (#9.2) TERMINATION DATE [11D] ^ (#15)
==>PROHIBITED TIMES FOR SIGN-ON [12F] ^ (#9.4) Termination Reason
==>[13F] ^ ^ ^ (#8980.16) PERSON FILE POINTER [16P:16] ^
D0 is the internal entry number (IEN) of the .01 field or the person’s name. So, if I was looking up my user information, I would first have to know my IEN:
GTM>D Q^DI
VA FileMan 22.0
Select OPTION: INQUIRE TO FILE ENTRIES
OUTPUT FROM WHAT FILE: NEW PERSON//
Select NEW PERSON NAME: CRAFT,ADAM S CSK
ANOTHER ONE:
STANDARD CAPTIONED OUTPUT? Yes// N (No)
FIRST PRINT FIELD: NUMBER
THEN PRINT FIELD:
Heading (S/C): NEW PERSON LIST//
DEVICE: TELNET
NEW PERSON LIST OCT 13,2004 10:23 PAGE 1
NUMBER
——————————————————————————–
91
I can then go and look at the global:
GTM>D ^%G
Output device: <terminal>:
List ^VA(200,91,0)
P1 P2 P3
| | |
^VA(200,91,0)=”CRAFT,ADAM S^CSK^ACCESSCODE^@”
When a new file is created, the default global is set to ^DIZ(filenumber,. If the creator wishes to, they can change the name to whatever is applicable (ex. ^VA(200,.
The following examples are given to create, modify and edit a File within FileMan:
1. CREATING A NEW FILE
Select VA FileMan Option: MODify File Attributes
Do you want to use the screen-mode version? YES// NO
MODIFY WHAT FILE: STUDENT// NEW STUDENT
Are you adding ‘NEW STUDENT’ as a new FILE? No//Y (Yes)
FILE NUMBER: 999026//
INTERNAL GLOBAL REFERENCE: ^DIZ(999026,// This can be changed to your needs
…EXCUSE ME, JUST A MOMENT PLEASE…
A FreeText NAME Field (#.01) has been created.
>D ^%G
Global ^DIZ(999026
^DIZ(999026,0) = NEW STUDENT^999026^
Global ^DD(999026
^DD(999026,0) = FIELD^^.01^1
^DD(999026,0,”IX”,”B”,999026,.01) =
^DD(999026,0,”NM”,”NEW STUDENT“) =
^DD(999026,.01,0) = NAME^RF^^0;1^K:$L(X)>30!(X?.N)!($L(X)<3)!'(X’?1P.E) X
^DD(999026,.01,1,0) = ^.1
^DD(999026,.01,1,1,0) = 999026^B
^DD(999026,.01,1,1,1) = S ^DIZ(999026,”B”,$E(X,1,30),DA)=””
^DD(999026,.01,1,1,2) = K ^DIZ(999026,”B”,$E(X,1,30),DA)
^DD(999026,.01,3) = NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PUNCTUATION
^DD(999026,”B”,”NAME”,.01) =
^DD(999026,”GL”,0,1,.01) =
^DD(999026,”IX”,.01) =
^DD(999026,”RQ”,.01) =
Global ^DIC(999026
DIC(999026
^DIC(999026,0) = NEW STUDENT^999026
^DIC(999026,0,”AUDIT”) = @
^DIC(999026,0,”DD”) = @
^DIC(999026,0,”DEL”) = @
^DIC(999026,0,”GL”) = ^DIZ(999026,
^DIC(999026,0,”LAYGO”) = @
^DIC(999026,0,”RD”) = @
^DIC(999026,0,”WR”) = @
^DIC(999026,”%A”) = 1028^3020401
2. ENTERING DATA INTO THE FILE
Select OPTION: ENTER OR EDIT FILE ENTRIES
INPUT TO WHAT FILE: NEW STUDENT//
Select NEW STUDENT NAME: SMITH,MARY
Are you adding ‘SMITH,MARY’ as a new NEW STUDENT (the 1ST)? No// Y(Yes)
>D ^%G
Global ^DIZ(999026
^DIZ(999026,0) = NEW STUDENT^999026^1^1
^DIZ(999026,1,0) = SMITH,MARY
^DIZ(999026,”B”,”SMITH,MARY”,1) =
Global ^
>D P^DI
VA FileMan 22.0
Select OPTION: ENTER OR EDIT FILE ENTRIES
INPUT TO WHAT FILE: NEW STUDENT//
Select NEW STUDENT NAME: MOONEY,JANE
Are you adding ‘MOONEY,JANE’ as a new NEW STUDENT (the 2ND)? No// Y(Yes)
Select NEW STUDENT NAME:
>D ^%G
Global ^DIZ(999026
^DIZ(999026,0) = NEW STUDENT^999026^2^2
^DIZ(999026,1,0) = SMITH,MARY
^DIZ(999026,2,0) = MOONEY,JANE
^DIZ(999026,”B”,”MOONEY,JANE”,2) =
^DIZ(999026,”B”,”SMITH,MARY”,1) =
Global ^
3. CREATE AND FILL A NEW FIELD
Select OPTION: MODIFY FILE ATTRIBUTES
Do you want to use the screen-mode version? YES// NO
MODIFY WHAT FILE: NEW STUDENT//
Select FIELD: 1
Are you adding a new FIELD (the 2ND)? No// Y(Yes)
LABEL: SSN
FIELD NUMBER: 1//
DATA TYPE OF SSN: FREE TEXT
MINIMUM LENGTH: 9
MAXIMUM LENGTH: 11
(OPTIONAL) PATTERN MATCH (IN ‘X’):
WILL SSN FIELD BE MULTIPLE? No// (No)
SUBSCRIPT: 0//
^-PIECE POSITION: 2//
IS SSN ENTRY MANDATORY (Y/N): NO// Y YES
….
‘HELP’-PROMPT: Answer must be 9-11 characters in length.
Replace
XECUTABLE ‘HELP’:
DESCRIPTION:
No existing text
Edit? NO//
Select FIELD:
Select OPTION: ENTER OR EDIT FILE ENTRIES
INPUT TO WHAT FILE: NEW STUDENT//
EDIT WHICH FIELD: ALL//
Select NEW STUDENT NAME: MOONEY,JANE
NAME: MOONEY,JANE//
SSN: 222334567
Select NEW STUDENT NAME: SMITH,MARY
NAME: SMITH,MARY//
SSN: 333-44-5678
4. CREATE AND FILL A NEW FIELD (2)
Select OPTION: MODIFY FILE ATTRIBUTES
Do you want to use the screen-mode version? YES// NO
MODIFY WHAT FILE: NEW STUDENT//
Select FIELD: SEX
Are you adding ‘SEX’ as a new FIELD (the 3RD)? No// Y(Yes)
FIELD NUMBER: 2//
DATA TYPE OF SEX: SET OF CODES
INTERNALLY-STORED CODE: M WILL STAND FOR: MALE
INTERNALLY-STORED CODE: F WILL STAND FOR: FEMALE
INTERNALLY-STORED CODE:
SHOULD ‘SEX’ ENTRIES BE SCREENED? No// (No)
WILL SEX FIELD BE MULTIPLE? No// (No)
SUBSCRIPT: 0//
^-PIECE POSITION: 3//
IS SEX ENTRY MANDATORY (Y/N): NO// NO
….
‘HELP’-PROMPT:
XECUTABLE ‘HELP’:
DESCRIPTION:
No existing text
Edit? NO//
Select FIELD:
Select OPTION: ENTER OR EDIT FILE ENTRIES
INPUT TO WHAT FILE: NEW STUDENT//
EDIT WHICH FIELD: ALL//
Select NEW STUDENT NAME: SMITH,MARY
NAME: SMITH,MARY//
SSN: 333-44-5678//
SEX: F FEMALE
Select NEW STUDENT NAME: MOONEY,JANE
NAME: MOONEY,JANE//
SSN: 222334567//
SEX: F FEMALE
Select NEW STUDENT NAME:
5. THE GLOBALS NOW (Raw data lookup)
>D ^%G
Global ^DIZ(999026
^DIZ(999026,0) = NEW STUDENT^999026^2^2
^DIZ(999026,1,0) = SMITH,MARY^333-44-5678^F
^DIZ(999026,2,0) = MOONEY,JANE^222334567^F
^DIZ(999026,”B”,”MOONEY,JANE”,2) =
^DIZ(999026,”B”,”SMITH,MARY”,1) =
Global ^
>D ^%G
Global ^DD(999026
DD(999026
^DD(999026,0) = FIELD^^2^3
^DD(999026,0,”DT”) = 3020401
^DD(999026,0,”IX”,”B”,999026,.01) =
^DD(999026,0,”NM”,”NEW STUDENT”) =
^DD(999026,.01,0) = NAME^RF^^0;1^K:$L(X)>30!(X?.N)!($L(X)<3)!’(X’?1P.E) X
^DD(999026,.01,1,0) = ^.1
^DD(999026,.01,1,1,0) = 999026^B
^DD(999026,.01,1,1,1) = S ^DIZ(999026,”B”,$E(X,1,30),DA)=””
^DD(999026,.01,1,1,2) = K ^DIZ(999026,”B”,$E(X,1,30),DA)
^DD(999026,.01,3) = NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PUNCTUATION
^DD(999026,1,0) = SSN^RF^^0;2^K:$L(X)>11!($L(X)<9) X
^DD(999026,1,3) = Answer must be 9-11 characters in length.
^DD(999026,1,”DT”) = 3020401
^DD(999026,2,0) = SEX^S^M:MALE;F:FEMALE;^0;3^Q
^DD(999026,2,”DT”) = 3020401
^DD(999026,”B”,”NAME”,.01) =
^DD(999026,”B”,”SEX”,2) =
^DD(999026,”B”,”SSN”,1) =
^DD(999026,”GL”,0,1,.01) =
^DD(999026,”GL”,0,2,1) =
^DD(999026,”GL”,0,3,2) =
^DD(999026,”IX”,.01) =
^DD(999026,”RQ”,.01) =
^DD(999026,”RQ”,1) =
Global ^
6. ADDING SOME MORE FIELDS
Select OPTION: MODIFY FILE ATTRIBUTES
Do you want to use the screen-mode version? YES// NO
MODIFY WHAT FILE: NEW STUDENT// NEW STUDENT(2 entries)
Select FIELD: ACTIVITY ATTENDED
Are you adding ‘ACTIVITY ATTENDED’ as a new FIELD (the 4TH)? No// Y(Yes)
FIELD NUMBER: 3//
DATA TYPE OF ACTIVITY ATTENDED: POINTER TO A FILE
POINT TO WHICH FILE: STUDENT ACTIVITY
SHOULD ‘ADDING A NEW STUDENT ACTIVITY FILE ENTRY’ (“LAYGO“)
BE ALLOWED WHEN ANSWERING THE ACTIVITY ATTENDED’ QUESTION? No// (No)
SHOULD ‘STUDENT ACTIVITY’ ENTRIES BE SCREENED? No// (No)
WILL ACTIVITY ATTENDED FIELD BE MULTIPLE? No// (No)
SUBSCRIPT: 0//
^-PIECE POSITION: 4//
IS ACTIVITY ATTENDED ENTRY MANDATORY (Y/N): NO// Y YES
….
‘HELP’-PROMPT:
XECUTABLE ‘HELP’:
DESCRIPTION:
No existing text
Edit? NO//
Select FIELD: DATE ATTENDED
Are you adding ‘DATE ATTENDED’ as a new FIELD (the 5TH)? No// Y(Yes)
FIELD NUMBER: 4//
DATA TYPE OF DATE ATTENDED: DATE/TIME
EARLIEST DATE (OPTIONAL): ?
Examples of Valid Dates:
JAN 20 1957 or 20 JAN 57 or 1/20/57 or 012057
T (for TODAY),T+1 (for TOMORROW),T+2,T+7,etc.
T-1 (for YESTERDAY),T-3W (for 3 WEEKS AGO), etc.
If the year is omitted, the computer uses CURRENT YEAR.Two digit year
assumes no more than 20 years in the future, or 80 years in the past.
You may omit the precise day, as:JAN, 1957
EARLIEST DATE (OPTIONAL):
CAN DATE BE IMPRECISE (Y/N): YES//
CAN TIME OF DAY BE ENTERED (Y/N): NO//
WILL DATE ATTENDED FIELD BE MULTIPLE? No// (No)
SUBSCRIPT: 0//
^-PIECE POSITION: 5//
IS DATE ATTENDED ENTRY MANDATORY (Y/N): NO// Y YES
….
‘HELP’-PROMPT:
XECUTABLE ‘HELP’:
DESCRIPTION:
No existing text
Edit? NO//
7. FILLING THOSE FIELDS
Select OPTION: ENTER OR EDIT FILE ENTRIES
INPUT TO WHAT FILE: NEW STUDENT//
EDIT WHICH FIELD: ALL//
Select NEW STUDENT NAME: SMITH,MARY
NAME: SMITH,MARY//
SSN: 333-44-5678//
SEX: FEMALE//
ACTIVITY ATTENDED: MUMPS
DATE ATTENDED: T (APR 01, 2002)
Select NEW STUDENT NAME: MOONEY,JANE
NAME: MOONEY,JANE//
SSN: 222334567//
SEX: FEMALE//
ACTIVITY ATTENDED: FILEMAN FOR PROGRAMMERS
DATE ATTENDED: T-3W (MAR 11, 2002)
Select NEW STUDENT NAME:
8. THE GLOBALS AGAIN (Raw data lookup)
>D ^%G
Global ^DIZ(999026
^DIZ(999026,0) = NEW STUDENT^999026^2^2
^DIZ(999026,1,0) = SMITH,MARY^333-44-5678^F^2^3020401
^DIZ(999026,2,0) = MOONEY,JANE^222334567^F^1^3020311
^DIZ(999026,”B”,”MOONEY,JANE”,2) =
^DIZ(999026,”B”,”SMITH,MARY”,1) =
Global ^
Global ^DIZ(999029
DIZ(999029
^DIZ(999029,0) = STUDENT ACTIVITY^999029^3^3
^DIZ(999029,1,0) = FILEMAN FOR PROGRAMMERS
^DIZ(999029,2,0) = MUMPS
^DIZ(999029,3,0) = INTRODUCTION TO FILEMAN
>D ^%G
Global ^DD(999026
^DD(999026,0) = FIELD^^4^5
^DD(999026,0,”DT”) = 3020401
^DD(999026,0,”IX”,”B”,999026,.01) =
^DD(999026,0,”NM”,”NEW STUDENT”) =
^DD(999026,.01,0) = NAME^RF^^0;1^K:$L(X)>30!(X?.N)!($L(X)<3)!'(X’?1P.E) X
^DD(999026,.01,1,0) = ^.1
^DD(999026,.01,1,1,0) = 999026^B
^DD(999026,.01,1,1,1) = S ^DIZ(999026,”B”,$E(X,1,30),DA)=””
^DD(999026,.01,1,1,2) = K ^DIZ(999026,”B”,$E(X,1,30),DA)
^DD(999026,.01,3) = NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PUNCTUATION
^DD(999026,1,0) = SSN^RF^^0;2^K:$L(X)>11!($L(X)<9) X
^DD(999026,1,3) = Answer must be 9-11 characters in length.
^DD(999026,1,”DT”) = 3020401
^DD(999026,2,0) = SEX^S^M:MALE;F:FEMALE;^0;3^Q
^DD(999026,2,”DT”) = 3020401
^DD(999026,3,0) = ACTIVITY ATTENDED^RP999029’^DIZ(999029,^0;4^Q
^DD(999026,3,”DT”) = 3020401
^DD(999026,4,0) = DATE ATTENDED^RD^^0;5^S %DT=”E” D ^%DT S X=Y K:Y<1 X
^DD(999026,4,”DT”) = 3020401
^DD(999026,”B”,”ACTIVITY ATTENDED”,3) =
^DD(999026,”B”,”DATE ATTENDED”,4) =
^DD(999026,”B”,”NAME”,.01) =
^DD(999026,”B”,”SEX”,2) =
^DD(999026,”B”,”SSN”,1) =
^DD(999026,”GL”,0,1,.01) =
^DD(999026,”GL”,0,2,1) =
^DD(999026,”GL”,0,3,2) =
^DD(999026,”GL”,0,4,3) =
^DD(999026,”GL”,0,5,4) =
^DD(999026,”IX”,.01) =
^DD(999026,”RQ”,.01) =
^DD(999026,”RQ”,1) =
^DD(999026,”RQ”,3) =
^DD(999026,”RQ”,4) =
9. DATA TYPES
MODIFY WHAT FILE: NEW STUDENT//
Select FIELD: NEW
Are you adding ‘NEW’ as a new FIELD (the 6TH)? No// Y (Yes)
FIELD NUMBER: 5//
DATA TYPE OF NEW: ?
Answer with DATA TYPE NUMBER, or NAME
Choose from:
1 DATE/TIME
2 NUMERIC
3 SET OF CODES
4 FREE TEXT
5 WORD-PROCESSING
6 COMPUTED
7 POINTER TO A FILE
8 VARIABLE-POINTER
9 MUMPS
10. SCREEN-MODE VERSION
Field #.01 in File #999026
FIELD LABEL: NAME DATA TYPE… FREE TEXT
TITLE:
AUDIT:
AUDIT CONDITION:
READ ACCESS:
DELETE ACCESS:
WRITE ACCESS:
SOURCE:
DESCRIPTION… TECHNICAL DESCRIPTION…
IS THIS FIELD MULTIPLE… NO
MANDATORY: YES
HELP-PROMPT: NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PU
XECUTABLE HELP:
11. MULTIPLES
MODIFY WHAT FILE: NEW STUDENT//
Select FIELD: TEST FIELD
Are you adding ‘TEST FIELD’ as a new FIELD (the 6TH)? No// Y (Yes)
FIELD NUMBER: 5// 999
DATA TYPE OF TEST FIELD: FREE TEXT
MINIMUM LENGTH: 3
MAXIMUM LENGTH: 90
(OPTIONAL) PATTERN MATCH (IN ‘X’):
WILL TEST FIELD FIELD BE MULTIPLE? No// Y (Yes)
SUBSCRIPT: 1//
IS TEST FIELD ENTRY MANDATORY (Y/N): NO// NO
SHOULD USER SEE AN “ADDING A NEW TEST FIELD?” MESSAGE FOR NEW ENTRIES (Y/N): Y YES
HAVING ENTERED OR EDITED ONE TEST FIELD, SHOULD USER BE ASKED ANOTHER (Y/N): Y YES
SUB-DICTIONARY NUMBER: 999026.0999//
….
….
‘HELP’-PROMPT: Answer must be 3-90 characters in length.
Replace
XECUTABLE ‘HELP’:
DESCRIPTION:
No existing text
Edit? NO//
INPUT TO WHAT FILE: NEW STUDENT//
EDIT WHICH FIELD: ALL// TEST FIELD (multiple)
EDIT WHICH TEST FIELD SUB-FIELD: ALL//
THEN EDIT FIELD:
Select NEW STUDENT NAME: MOONEY,JANE
Select TEST FIELD: FIRST ENTRY
Are you adding ‘FIRST ENTRY’ as a new TEST FIELD (the 1ST for this NEW STUDENT)? No// Y
(Yes)
Select TEST FIELD: SECOND ENTRY
Are you adding ‘SECOND ENTRY’ as a new TEST FIELD (the 2ND for this NEW STUDENT)? No// Y
(Yes)
Select TEST FIELD:
12. MULTIPLES AND GLOBALS
>D ^%G
Global ^DIZ(999026
^DIZ(999026,0) = NEW STUDENT^999026^2^2
^DIZ(999026,1,0) = SMITH,MARY^333-44-5678^F^2^3020401
^DIZ(999026,2,0) = MOONEY,JANE^222334567^F^1^3020311
^DIZ(999026,2,1,0) = ^999026.0999^2^2
^DIZ(999026,2,1,1,0) = FIRST ENTRY
^DIZ(999026,2,1,2,0) = SECOND ENTRY
^DIZ(999026,2,1,”B”,”FIRST ENTRY”,1) =
^DIZ(999026,2,1,”B”,”SECOND ENTRY”,2) =
^DIZ(999026,”B”,”MOONEY,JANE”,2) =
^DIZ(999026,”B”,”SMITH,MARY”,1) =
Global ^DD(999026
^DD(999026,0) = FIELD^^999^6
^DD(999026,0,”DT”) = 3020401
^DD(999026,0,”IX”,”B”,999026,.01) =
^DD(999026,0,”NM”,”NEW STUDENT”) =
^DD(999026,.01,0) = NAME^RF^^0;1^K:$L(X)>30!(X?.N)!($L(X)<3)!'(X’?1P.E) X
^DD(999026,.01,1,0) = ^.1
^DD(999026,.01,1,1,0) = 999026^B
^DD(999026,.01,1,1,1) = S ^DIZ(999026,”B”,$E(X,1,30),DA)=””
^DD(999026,.01,1,1,2) = K ^DIZ(999026,”B”,$E(X,1,30),DA)
^DD(999026,.01,3) = NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PUNCTUATION
^DD(999026,1,0) = SSN^RF^^0;2^K:$L(X)>11!($L(X)<9) X
^DD(999026,1,3) = Answer must be 9-11 characters in length.
^DD(999026,1,”DT”) = 3020401
^DD(999026,2,0) = SEX^S^M:MALE;F:FEMALE;^0;3^Q
^DD(999026,2,”DT”) = 3020401
^DD(999026,3,0) = ACTIVITY ATTENDED^RP999029’^DIZ(999029,^0;4^Q
^DD(999026,3,”DT”) = 3020401
^DD(999026,4,0) = DATE ATTENDED^RD^^0;5^S %DT=”E” D ^%DT S X=Y K:Y<1 X
^DD(999026,4,”DT”) = 3020401
^DD(999026,999,0) = TEST FIELD^999026.0999^^1;0
^DD(999026,”B”,”ACTIVITY ATTENDED”,3) =
^DD(999026,”B”,”DATE ATTENDED”,4) =
^DD(999026,”B”,”NAME”,.01) =
^DD(999026,”B”,”SEX”,2) =
^DD(999026,”B”,”SSN”,1) =
^DD(999026,”B”,”TEST FIELD”,999) =
^DD(999026,”GL”,0,1,.01) =
^DD(999026,”GL”,0,2,1) =
^DD(999026,”GL”,0,3,2) =
^DD(999026,”GL”,0,4,3) =
^DD(999026,”GL”,0,5,4) =
^DD(999026,”GL”,1,0,999) =
^DD(999026,”IX”,.01) =
^DD(999026,”RQ”,.01) =
^DD(999026,”RQ”,1) =
^DD(999026,”RQ”,3) =
^DD(999026,”RQ”,4) =
^DD(999026,”SB”,999026.0999,999) =
13. SUB GLOBAL DD
Global ^DD(999026.0999
DD(999026.0999
^DD(999026.0999,0) = TEST FIELD SUB-FIELD^^.01^1
^DD(999026.0999,0,”DT”) = 3020401
^DD(999026.0999,0,”IX”,”B”,999026.0999,.01) =
^DD(999026.0999,0,”NM”,”TEST FIELD”) =
^DD(999026.0999,0,”UP”) = 999026
^DD(999026.0999,.01,0) = TEST FIELD^MF^^0;1^K:$L(X)>90!($L(X)<3) X
^DD(999026.0999,.01,1,0) = ^.1
^DD(999026.0999,.01,1,1,0) = 999026.0999^B
^DD(999026.0999,.01,1,1,1) = S ^DIZ(999026,DA(1),1,”B”,$E(X,1,30),DA)=””
^DD(999026.0999,.01,1,1,2) = K ^DIZ(999026,DA(1),1,”B”,$E(X,1,30),DA)
^DD(999026.0999,.01,3) = Answer must be 3-90 characters in length.
^DD(999026.0999,.01,”DT”) = 3020401
^DD(999026.0999,”B”,”TEST FIELD”,.01) =
^DD(999026.0999,”GL”,0,1,.01) =
^DD(999026.0999,”IX”,.01) =
1903 Wright Place, Suite 120
Carlsbad, CA 92008
Toll-Free (877) 633-7743
Email customercare@medsphere.com