DINIT220 ;SFISC/DPC - LOAD DATA FOR DATA TYPE FILE ;25NOV2016
;;22.2;VA FileMan;**2**;Jan 05, 2016;Build 139
;;Per VA Directive 6402, this routine should not be modified.
;;Submitted to OSEHRA 5 January 2015 by the VISTA Expertise Network.
;;Based on Medsphere Systems Corporation's MSC FileMan 1051.
;;Licensed under the terms of the Apache License, Version 2.0.
;
F I=1:2 S X=$T(ENTRY+I) G:X="" ^DINIT24 S Y=$E($T(ENTRY+I+1),5,999),X=$E(X,4,999),@X=Y
Q
;
POST23 ;POST-INIT FOR EXTENDED-DATA-TYPE PATCH. SO WE DO NOT HAVE TO BRING ALONG THE DINIT ROUTINE ITSELF
D CLEANDEF^DIETLIB
D NOASK^DINIT
S DIMODE="y" F DIFILE=.81,.81101,.81201,.86,.87 F DIFIELD=0:0 S DIFIELD=$O(^DD(DIFILE,DIFIELD)) Q:'DIFIELD D ON^DIAUTL
;I $G(^DIC(9.4,13,0))["FILEMAN" S ^("VERSION")="23.0"
Q
;
ENTRY ;
;;^DI(.81,0)
;;=DATA TYPE^.81^
;;^DI(.81,1,0)
;;=DATE/TIME^D
;;^DI(.81,2,0)
;;=NUMERIC^N
;;^DI(.81,3,0)
;;=SET OF CODES^S
;;^DI(.81,1,0)
;;=DATE/TIME^D
;;^DI(.81,2,0)
;;=NUMERIC^N
;;^DI(.81,3,0)
;;=SET OF CODES^S
;;^DI(.81,4,0)
;;=FREE TEXT^F
;;^DI(.81,5,0)
;;=WORD-PROCESSING^W
;;^DI(.81,6,0)
;;=COMPUTED^C
;;^DI(.81,7,0)
;;=POINTER TO A FILE^P
;;^DI(.81,8,0)
;;=VARIABLE-POINTER^V
;;^DI(.81,9,0)
;;=MUMPS^K
;;^DI(.81,99,0)
;;=RESERVED FOR FILEMAN
;;^DI(.87,0)
;;=DATA TYPE METHOD^.87^
;;^DI(.87,1,0)
;;=VALIDATE INTERNAL FORM
;;^DI(.87,2,0)
;;=INPUT TRANSFORM
;;^DI(.87,2,11)
;;=MUMPS CODE THAT TRANSFORMS X TO X, AND KILLS X IF IT IS INVALID
;;^DI(.87,2,21,0)
;;=^.871
;;^DI(.87,2.1,0)
;;=CODE TO SET POINTER SCREEN
;;^DI(.87,2.1,11)
;;=MUMPS CODE THAT SETS DIC("S")
;;^DI(.87,2.1,21,0)
;;=^.871
;;^DI(.87,2.1,41)
;;=1
;;^DI(.87,2.1,42)
;;=FOUr^3:245^D ^DIM
;;^DI(.87,3,0)
;;=OUTPUT TRANSFORM
;;^DI(.87,3,11)
;;=MUMPS CODE THAT TRANSFORMS Y TO Y.
;;^DI(.87,3,21,0)
;;=^.871
;;^DI(.87,3,21,1,0)
;;='Y COMES IN AS THE INTERNAL VALUE OF THE FIELD. THE TRANSFORMED 'Y' IS THE USUAL EXTERNAL VALUE.
;;^DI(.87,4,0)
;;=XECUTABLE HELP
;;^DI(.87,4,11)
;;=MUMPS CODE THAT DOES A 'WRITE' TO TELL THE USER HOW TO ENTER DATA FOR THE FIELD
;;^DI(.87,4,21,0)
;;=^.871
;;^DI(.87,4,21,1,0)
;;=AT THE TIME THE XECUTABLE HELP IS EXECUTED, D0 IS THE ENTRY NUMBER IN THE FILE
;;^DI(.87,23,0)
;;=TRANSFORM FOR SORT
;;^DI(.87,23,11)
;;=MUMPS CODE THAT TRANSFORMS X TO X.
;;^DI(.87,23,21,0)
;;=^.871
;;^DI(.87,23,21,1,0)
;;=THE TRANSFORMED X IS THE VALUE USED FOR SORTING PURPOSES FOR FIELDS DEFINED WITH THIS METHOD. 'SET X=X' MEANS USE THE INTERNAL VALUE, AS WITH A DATE
;;^DI(.86,0)
;;=DATA TYPE PROPERTY^.86
;;^DI(.86,1,0)
;;=FIELD LENGTH
;;^DI(.86,1,11)
;;=THIS IS THE MAXIMUM LENGTH OF THE EXTERNAL VALUE OF THE FIELD. E.G., '6' FOR MALE/FEMALE
;;^DI(.86,1,41)
;;=2
;;^DI(.86,1,42)
;;=N^1:999
;;^DI(.86,2,0)
;;=DECIMAL DEFAULT
;;^DI(.86,2,11)
;;=MAXIMUM NUMBER OF DECIMAL DIGITS THAT CAN OCCUR IN THE FIELD
;;^DI(.86,2,41)
;;=2
;;^DI(.86,2,42)
;;=N^1:3
;;^DI(.86,3,0)
;;=INTERNAL LENGTH
;;^DI(.86,3,11)
;;=THIS IS THE MAXIMUM LENGTH OF THE INTERNAL VALUE OF THE FIELD. E.G., '1' FOR M/F
;;^DI(.86,3,41)
;;=2
;;^DI(.86,3,42)
;;=N^1:999
;;^DI(.86,4,0)
;;=POINTER
;;^DI(.86,4,11)
;;=A File number or an open global reference without the "^" (e.g., "DPT(")
;;^DI(.86,4,41)
;;=4
;;^DI(.86,4,42)
;;=F^1:30^S:X X=$P($G(^DIC(X,0,"GL")),U,2),Y=X K:X'["("!("(,"'[$E(X,$L(X))) X I $D(X),$D(@("^"_X_"0)")) W " (",$P(^(0),U),")"
;;^DI(.86,5,0)
;;=SET OF CODES
;;^DI(.86,5,41)
;;=4
;;^DI(.86,5,42)
;;=FU^5:245^I $L(X,";")<2!($L(X,";")-$L(X,":")) K X
;;^DI(.86,1.1,0)
;;=LEFT SIDE MINIMUM
;;^DI(.86,1.1,11)
;;=LOWEST NUMERIC VALUE OF LEFT SIDE
;;^DI(.86,1.1,41)
;;=2
;;^DI(.86,1.1,42)
;;=N^0:9999
;;^DI(.86,1.2,0)
;;=LEFT SIDE MAXIMUM
;;^DI(.86,1.2,11)
;;=HIGHEST NUMERIC VALUE OF LEFT SIDE
;;^DI(.86,1.2,41)
;;=2
;;^DI(.86,1.2,42)
;;=N^1:99999
;;^DI(.86,1.3,0)
;;=RIGHT SIDE MINIMUM
;;^DI(.86,1.3,11)
;;=LOWEST NUMERIC VALUE OF RIGHT SIDE
;;^DI(.86,1.3,41)
;;=2
;;^DI(.86,1.3,42)
;;=N^1:9999
;;^DI(.86,1.4,0)
;;=RIGHT SIDE MAXIMUM
;;^DI(.86,1.4,11)
;;=HIGHEST NUMERIC VALUE OF RIGHT SIDE
;;^DI(.86,1.4,41)
;;=2
;;^DI(.86,1.4,42)
;;=N^1:99999
;;^DI(.86,4.1,0)
;;=LAYGO
;;^DI(.86,4.1,11)
;;='YES' IF ADDING A NEW ENTRY TO THE POINTED-TO FILE IS PERMITTED
;;^DI(.86,4.1,41)
;;=3
;;^DI(.86,4.1,42)
;;=SOB^1:YES;0:NO
;;^DI(.86,7.1,0)
;;=PARAMETERS ALLOWED
;;^DI(.86,7.1,11)
;;='YES' if a label reference is allowed to include parameters in parentheses following the tag
;;^DI(.86,7.1,41)
;;=3
;;^DI(.86,7.1,42)
;;=SOB^1:YES;0:NO
;;^DI(.86,6.1,0)
;;=SECONDS ALLOWED
;;^DI(.86,6.1,11)
;;='YES' if a time value may be entered including SECONDS (e.g., '10:33:45')
;;^DI(.86,6.1,41)
;;=3
;;^DI(.86,6.1,42)
;;=SOB^1:YES;0:NO
;;^DI(.86,6.2,0)
;;=EARLIEST DATE
;;^DI(.86,6.2,11)
;;=A date value representing the lowest possible value to be entered (e.g. '1/1/1841')
;;^DI(.86,6.2,41)
;;=1
;;^DI(.86,6.2,42)
;;=DO^
;;^DI(.86,6.3,0)
;;=TIME REQUIRED
;;^DI(.86,6.3,11)
;;='YES' if a time value must be entered
;;^DI(.86,6.3,41)
;;=3
;;^DI(.86,6.3,42)
;;=SOB^1:YES;0:NO
;;^DI(.86,6.4,0)
;;=IMPRECISE DATE
;;^DI(.86,6.4,11)
;;='YES' if the date being entered does NOT require a day of the month
;;^DI(.86,6.4,41)
;;=3
;;^DI(.86,6.4,42)
;;=SOB^1:YES;0:NO
;;^DI(.86,6.5,0)
;;=TIME OF DAY
;;^DI(.86,6.5,11)
;;='YES' if a time value MAY be entered along with the date
;;^DI(.86,6.5,41)
;;=3
;;^DI(.86,6.5,42)
;;=SOB^1:YES;0:NO
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDINIT220 5699 printed Nov 22, 2024@18:00:46 Page 2
DINIT220 ;SFISC/DPC - LOAD DATA FOR DATA TYPE FILE ;25NOV2016
+1 ;;22.2;VA FileMan;**2**;Jan 05, 2016;Build 139
+2 ;;Per VA Directive 6402, this routine should not be modified.
+3 ;;Submitted to OSEHRA 5 January 2015 by the VISTA Expertise Network.
+4 ;;Based on Medsphere Systems Corporation's MSC FileMan 1051.
+5 ;;Licensed under the terms of the Apache License, Version 2.0.
+6 ;
+7 FOR I=1:2
SET X=$TEXT(ENTRY+I)
if X=""
GOTO ^DINIT24
SET Y=$EXTRACT($TEXT(ENTRY+I+1),5,999)
SET X=$EXTRACT(X,4,999)
SET @X=Y
+8 QUIT
+9 ;
POST23 ;POST-INIT FOR EXTENDED-DATA-TYPE PATCH. SO WE DO NOT HAVE TO BRING ALONG THE DINIT ROUTINE ITSELF
+1 DO CLEANDEF^DIETLIB
+2 DO NOASK^DINIT
+3 SET DIMODE="y"
FOR DIFILE=.81,.81101,.81201,.86,.87
FOR DIFIELD=0:0
SET DIFIELD=$ORDER(^DD(DIFILE,DIFIELD))
if 'DIFIELD
QUIT
DO ON^DIAUTL
+4 ;I $G(^DIC(9.4,13,0))["FILEMAN" S ^("VERSION")="23.0"
+5 QUIT
+6 ;
ENTRY ;
+1 ;;^DI(.81,0)
+2 ;;=DATA TYPE^.81^
+3 ;;^DI(.81,1,0)
+4 ;;=DATE/TIME^D
+5 ;;^DI(.81,2,0)
+6 ;;=NUMERIC^N
+7 ;;^DI(.81,3,0)
+8 ;;=SET OF CODES^S
+9 ;;^DI(.81,1,0)
+10 ;;=DATE/TIME^D
+11 ;;^DI(.81,2,0)
+12 ;;=NUMERIC^N
+13 ;;^DI(.81,3,0)
+14 ;;=SET OF CODES^S
+15 ;;^DI(.81,4,0)
+16 ;;=FREE TEXT^F
+17 ;;^DI(.81,5,0)
+18 ;;=WORD-PROCESSING^W
+19 ;;^DI(.81,6,0)
+20 ;;=COMPUTED^C
+21 ;;^DI(.81,7,0)
+22 ;;=POINTER TO A FILE^P
+23 ;;^DI(.81,8,0)
+24 ;;=VARIABLE-POINTER^V
+25 ;;^DI(.81,9,0)
+26 ;;=MUMPS^K
+27 ;;^DI(.81,99,0)
+28 ;;=RESERVED FOR FILEMAN
+29 ;;^DI(.87,0)
+30 ;;=DATA TYPE METHOD^.87^
+31 ;;^DI(.87,1,0)
+32 ;;=VALIDATE INTERNAL FORM
+33 ;;^DI(.87,2,0)
+34 ;;=INPUT TRANSFORM
+35 ;;^DI(.87,2,11)
+36 ;;=MUMPS CODE THAT TRANSFORMS X TO X, AND KILLS X IF IT IS INVALID
+37 ;;^DI(.87,2,21,0)
+38 ;;=^.871
+39 ;;^DI(.87,2.1,0)
+40 ;;=CODE TO SET POINTER SCREEN
+41 ;;^DI(.87,2.1,11)
+42 ;;=MUMPS CODE THAT SETS DIC("S")
+43 ;;^DI(.87,2.1,21,0)
+44 ;;=^.871
+45 ;;^DI(.87,2.1,41)
+46 ;;=1
+47 ;;^DI(.87,2.1,42)
+48 ;;=FOUr^3:245^D ^DIM
+49 ;;^DI(.87,3,0)
+50 ;;=OUTPUT TRANSFORM
+51 ;;^DI(.87,3,11)
+52 ;;=MUMPS CODE THAT TRANSFORMS Y TO Y.
+53 ;;^DI(.87,3,21,0)
+54 ;;=^.871
+55 ;;^DI(.87,3,21,1,0)
+56 ;;='Y COMES IN AS THE INTERNAL VALUE OF THE FIELD. THE TRANSFORMED 'Y' IS THE USUAL EXTERNAL VALUE.
+57 ;;^DI(.87,4,0)
+58 ;;=XECUTABLE HELP
+59 ;;^DI(.87,4,11)
+60 ;;=MUMPS CODE THAT DOES A 'WRITE' TO TELL THE USER HOW TO ENTER DATA FOR THE FIELD
+61 ;;^DI(.87,4,21,0)
+62 ;;=^.871
+63 ;;^DI(.87,4,21,1,0)
+64 ;;=AT THE TIME THE XECUTABLE HELP IS EXECUTED, D0 IS THE ENTRY NUMBER IN THE FILE
+65 ;;^DI(.87,23,0)
+66 ;;=TRANSFORM FOR SORT
+67 ;;^DI(.87,23,11)
+68 ;;=MUMPS CODE THAT TRANSFORMS X TO X.
+69 ;;^DI(.87,23,21,0)
+70 ;;=^.871
+71 ;;^DI(.87,23,21,1,0)
+72 ;;=THE TRANSFORMED X IS THE VALUE USED FOR SORTING PURPOSES FOR FIELDS DEFINED WITH THIS METHOD. 'SET X=X' MEANS USE THE INTERNAL VALUE, AS WITH A DATE
+73 ;;^DI(.86,0)
+74 ;;=DATA TYPE PROPERTY^.86
+75 ;;^DI(.86,1,0)
+76 ;;=FIELD LENGTH
+77 ;;^DI(.86,1,11)
+78 ;;=THIS IS THE MAXIMUM LENGTH OF THE EXTERNAL VALUE OF THE FIELD. E.G., '6' FOR MALE/FEMALE
+79 ;;^DI(.86,1,41)
+80 ;;=2
+81 ;;^DI(.86,1,42)
+82 ;;=N^1:999
+83 ;;^DI(.86,2,0)
+84 ;;=DECIMAL DEFAULT
+85 ;;^DI(.86,2,11)
+86 ;;=MAXIMUM NUMBER OF DECIMAL DIGITS THAT CAN OCCUR IN THE FIELD
+87 ;;^DI(.86,2,41)
+88 ;;=2
+89 ;;^DI(.86,2,42)
+90 ;;=N^1:3
+91 ;;^DI(.86,3,0)
+92 ;;=INTERNAL LENGTH
+93 ;;^DI(.86,3,11)
+94 ;;=THIS IS THE MAXIMUM LENGTH OF THE INTERNAL VALUE OF THE FIELD. E.G., '1' FOR M/F
+95 ;;^DI(.86,3,41)
+96 ;;=2
+97 ;;^DI(.86,3,42)
+98 ;;=N^1:999
+99 ;;^DI(.86,4,0)
+100 ;;=POINTER
+101 ;;^DI(.86,4,11)
+102 ;;=A File number or an open global reference without the "^" (e.g., "DPT(")
+103 ;;^DI(.86,4,41)
+104 ;;=4
+105 ;;^DI(.86,4,42)
+106 ;;=F^1:30^S:X X=$P($G(^DIC(X,0,"GL")),U,2),Y=X K:X'["("!("(,"'[$E(X,$L(X))) X I $D(X),$D(@("^"_X_"0)")) W " (",$P(^(0),U),")"
+107 ;;^DI(.86,5,0)
+108 ;;=SET OF CODES
+109 ;;^DI(.86,5,41)
+110 ;;=4
+111 ;;^DI(.86,5,42)
+112 ;;=FU^5:245^I $L(X,";")<2!($L(X,";")-$L(X,":")) K X
+113 ;;^DI(.86,1.1,0)
+114 ;;=LEFT SIDE MINIMUM
+115 ;;^DI(.86,1.1,11)
+116 ;;=LOWEST NUMERIC VALUE OF LEFT SIDE
+117 ;;^DI(.86,1.1,41)
+118 ;;=2
+119 ;;^DI(.86,1.1,42)
+120 ;;=N^0:9999
+121 ;;^DI(.86,1.2,0)
+122 ;;=LEFT SIDE MAXIMUM
+123 ;;^DI(.86,1.2,11)
+124 ;;=HIGHEST NUMERIC VALUE OF LEFT SIDE
+125 ;;^DI(.86,1.2,41)
+126 ;;=2
+127 ;;^DI(.86,1.2,42)
+128 ;;=N^1:99999
+129 ;;^DI(.86,1.3,0)
+130 ;;=RIGHT SIDE MINIMUM
+131 ;;^DI(.86,1.3,11)
+132 ;;=LOWEST NUMERIC VALUE OF RIGHT SIDE
+133 ;;^DI(.86,1.3,41)
+134 ;;=2
+135 ;;^DI(.86,1.3,42)
+136 ;;=N^1:9999
+137 ;;^DI(.86,1.4,0)
+138 ;;=RIGHT SIDE MAXIMUM
+139 ;;^DI(.86,1.4,11)
+140 ;;=HIGHEST NUMERIC VALUE OF RIGHT SIDE
+141 ;;^DI(.86,1.4,41)
+142 ;;=2
+143 ;;^DI(.86,1.4,42)
+144 ;;=N^1:99999
+145 ;;^DI(.86,4.1,0)
+146 ;;=LAYGO
+147 ;;^DI(.86,4.1,11)
+148 ;;='YES' IF ADDING A NEW ENTRY TO THE POINTED-TO FILE IS PERMITTED
+149 ;;^DI(.86,4.1,41)
+150 ;;=3
+151 ;;^DI(.86,4.1,42)
+152 ;;=SOB^1:YES;0:NO
+153 ;;^DI(.86,7.1,0)
+154 ;;=PARAMETERS ALLOWED
+155 ;;^DI(.86,7.1,11)
+156 ;;='YES' if a label reference is allowed to include parameters in parentheses following the tag
+157 ;;^DI(.86,7.1,41)
+158 ;;=3
+159 ;;^DI(.86,7.1,42)
+160 ;;=SOB^1:YES;0:NO
+161 ;;^DI(.86,6.1,0)
+162 ;;=SECONDS ALLOWED
+163 ;;^DI(.86,6.1,11)
+164 ;;='YES' if a time value may be entered including SECONDS (e.g., '10:33:45')
+165 ;;^DI(.86,6.1,41)
+166 ;;=3
+167 ;;^DI(.86,6.1,42)
+168 ;;=SOB^1:YES;0:NO
+169 ;;^DI(.86,6.2,0)
+170 ;;=EARLIEST DATE
+171 ;;^DI(.86,6.2,11)
+172 ;;=A date value representing the lowest possible value to be entered (e.g. '1/1/1841')
+173 ;;^DI(.86,6.2,41)
+174 ;;=1
+175 ;;^DI(.86,6.2,42)
+176 ;;=DO^
+177 ;;^DI(.86,6.3,0)
+178 ;;=TIME REQUIRED
+179 ;;^DI(.86,6.3,11)
+180 ;;='YES' if a time value must be entered
+181 ;;^DI(.86,6.3,41)
+182 ;;=3
+183 ;;^DI(.86,6.3,42)
+184 ;;=SOB^1:YES;0:NO
+185 ;;^DI(.86,6.4,0)
+186 ;;=IMPRECISE DATE
+187 ;;^DI(.86,6.4,11)
+188 ;;='YES' if the date being entered does NOT require a day of the month
+189 ;;^DI(.86,6.4,41)
+190 ;;=3
+191 ;;^DI(.86,6.4,42)
+192 ;;=SOB^1:YES;0:NO
+193 ;;^DI(.86,6.5,0)
+194 ;;=TIME OF DAY
+195 ;;^DI(.86,6.5,11)
+196 ;;='YES' if a time value MAY be entered along with the date
+197 ;;^DI(.86,6.5,41)
+198 ;;=3
+199 ;;^DI(.86,6.5,42)
+200 ;;=SOB^1:YES;0:NO