DINIT2A4 ;SFISC/MKO-KEY AND INDEX FILES ;3:01 PM 10 Jan 2000
;;22.2;VA FileMan;**14**;Jan 05, 2016;Build 8
;;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(Q+I) Q:X="" S Y=$E($T(Q+I+1),4,999),X=$E(X,4,999) S:$A(Y)=126 I=I+1,Y=$E(Y,2,999)_$E($T(Q+I+1),5,99) S:$A(Y)=61 Y=$E(Y,2,999) S @X=Y
G ^DINIT2A5
Q Q
;;^DD(.114,5.3,0)
;;=TRANSFORM FOR LOOKUP^K^^4;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
;;^DD(.114,5.3,3)
;;=This is Standard MUMPS code. Answer '??' for more help.
;;^DD(.114,5.3,9)
;;=@
;;^DD(.114,5.3,21,0)
;;=^^10^10^3000106^
;;^DD(.114,5.3,21,1,0)
;;=Used only during lookup.
;;^DD(.114,5.3,21,2,0)
;;=
;;^DD(.114,5.3,21,3,0)
;;=Answer should be M code that sets the variable X to a new value. X is the
;;^DD(.114,5.3,21,4,0)
;;=only input variable that is guaranteed to be defined and is equal to the
;;^DD(.114,5.3,21,5,0)
;;=lookup value entered by the user.
;;^DD(.114,5.3,21,6,0)
;;=
;;^DD(.114,5.3,21,7,0)
;;=During lookup, if the lookup value is not found in the index, FileMan will
;;^DD(.114,5.3,21,8,0)
;;=execute the TRANSFORM FOR LOOKUP code to transform the lookup value X. It
;;^DD(.114,5.3,21,9,0)
;;=will then search this index looking for a match to the transformed lookup
;;^DD(.114,5.3,21,10,0)
;;=value.
;;^DD(.114,5.3,"DT")
;;=3000105
;;^DD(.114,5.5,0)
;;=TRANSFORM FOR DISPLAY^K^^3;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
;;^DD(.114,5.5,3)
;;=This is Standard MUMPS code. Answer '??' for more help.
;;^DD(.114,5.5,9)
;;=@
;;^DD(.114,5.5,21,0)
;;=^^16^16^3000106^
;;^DD(.114,5.5,21,1,0)
;;=Used only during lookup.
;;^DD(.114,5.5,21,2,0)
;;=
;;^DD(.114,5.5,21,3,0)
;;=Answer should be M code that sets the variable X to a new value. X is the
;;^DD(.114,5.5,21,4,0)
;;=only variable that is guaranteed to be defined and is equal to the value
;;^DD(.114,5.5,21,5,0)
;;=of the subscript from the index.
;;^DD(.114,5.5,21,6,0)
;;=
;;^DD(.114,5.5,21,7,0)
;;=TRANSFORM FOR DISPLAY should be set only for an index value that has been
;;^DD(.114,5.5,21,8,0)
;;=transformed using the code in the TRANSFORM FOR STORAGE prior to storing
;;^DD(.114,5.5,21,9,0)
;;=the value in the index.
;;^DD(.114,5.5,21,10,0)
;;=
;;^DD(.114,5.5,21,11,0)
;;=The code should take the internal value from the index subscript X, and
;;^DD(.114,5.5,21,12,0)
;;=convert it back to a format that can be displayed to an end user. During
;;^DD(.114,5.5,21,13,0)
;;=lookup, if a match or matches are made to a lookup value that was
;;^DD(.114,5.5,21,14,0)
;;=transformed using the TRANSFORM FOR LOOKUP code on this index, then
;;^DD(.114,5.5,21,15,0)
;;=FileMan will execute the TRANSFORM FOR DISPLAY code before displaying the
;;^DD(.114,5.5,21,16,0)
;;=index value(s) to the end user.
;;^DD(.114,5.5,"DT")
;;=2980731
;;^DD(.114,6,0)
;;=MAXIMUM LENGTH^NJ3,0^^0;5^K:+X'=X!(X>999)!(X<1)!(X?.E1"."1N.N) X
;;^DD(.114,6,3)
;;=Answer must be between 1 and 999, with no decimal digits. Answer '??' for more help.
;;^DD(.114,6,21,0)
;;=^^7^7^2980911^
;;^DD(.114,6,21,1,0)
;;=Answer must be the maximum length this cross-reference value should have
;;^DD(.114,6,21,2,0)
;;=when stored as a subscript in the index. FileMan's lookup utilties
;;^DD(.114,6,21,3,0)
;;=account for lookup values longer than the maximum length.
;;^DD(.114,6,21,4,0)
;;=
;;^DD(.114,6,21,5,0)
;;=Specify a MAXIMUM LENGTH when an untruncated subscript may cause the
;;^DD(.114,6,21,6,0)
;;=length of a global reference in the index to exceed the M Portability
;;^DD(.114,6,21,7,0)
;;=Requirements.
;;^DD(.114,6,"DT")
;;=2960219
;;^DD(.114,7,0)
;;=COLLATION^S^F:forwards;B:backwards;^0;7^Q
;;^DD(.114,7,3)
;;=Answer '??' for more help.
;;^DD(.114,7,21,0)
;;=^^7^7^2980911^
;;^DD(.114,7,21,1,0)
;;=Answer with the direction FileMan's lookup utilities should $ORDER through
;;^DD(.114,7,21,2,0)
;;=this subscript when entries are returned or displayed to the user. If for
;;^DD(.114,7,21,3,0)
;;=example, you have a compound index on a Date of Birth field and a Name
;;^DD(.114,7,21,4,0)
;;=field, and you specify a COLLATION of 'backwards' on the Date of Birth
;;^DD(.114,7,21,5,0)
;;=value, the Lister and the Finder will return entries in reverse-date
;;^DD(.114,7,21,6,0)
;;=order. Likewise, question mark (?) help and partial matches in interactive
;;^DD(.114,7,21,7,0)
;;=^DIC lookups will display entries in reverse-date order.
;;^DD(.114,7,"DT")
;;=2970213
;;^DD(.114,8,0)
;;=LOOKUP PROMPT^F^^0;8^K:$L(X)>30!($L(X)<1) X
;;^DD(.114,8,3)
;;=Answer must be 1-30 characters in length. Answer '??' for more help.
;;^DD(.114,8,21,0)
;;=^^3^3^2980911^
;;^DD(.114,8,21,1,0)
;;=The text entered here will become a prompt for the user when this index is
;;^DD(.114,8,21,2,0)
;;=used for lookup (i.e., in the Classic FileMan calls to ^DIC.) If the text
;;^DD(.114,8,21,3,0)
;;=is missing, then the FIELD LABEL will be used as a default.
;;^DD(.114,8,"DT")
;;=2970506
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDINIT2A4 5319 printed Dec 13, 2024@02:51:28 Page 2
DINIT2A4 ;SFISC/MKO-KEY AND INDEX FILES ;3:01 PM 10 Jan 2000
+1 ;;22.2;VA FileMan;**14**;Jan 05, 2016;Build 8
+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(Q+I)
if X=""
QUIT
SET Y=$EXTRACT($TEXT(Q+I+1),4,999)
SET X=$EXTRACT(X,4,999)
if $ASCII(Y)=126
SET I=I+1
SET Y=$EXTRACT(Y,2,999)_$EXTRACT($TEXT(Q+I+1),5,99)
if $ASCII(Y)=61
SET Y=$EXTRACT(Y,2,999)
SET @X=Y
+8 GOTO ^DINIT2A5
Q QUIT
+1 ;;^DD(.114,5.3,0)
+2 ;;=TRANSFORM FOR LOOKUP^K^^4;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+3 ;;^DD(.114,5.3,3)
+4 ;;=This is Standard MUMPS code. Answer '??' for more help.
+5 ;;^DD(.114,5.3,9)
+6 ;;=@
+7 ;;^DD(.114,5.3,21,0)
+8 ;;=^^10^10^3000106^
+9 ;;^DD(.114,5.3,21,1,0)
+10 ;;=Used only during lookup.
+11 ;;^DD(.114,5.3,21,2,0)
+12 ;;=
+13 ;;^DD(.114,5.3,21,3,0)
+14 ;;=Answer should be M code that sets the variable X to a new value. X is the
+15 ;;^DD(.114,5.3,21,4,0)
+16 ;;=only input variable that is guaranteed to be defined and is equal to the
+17 ;;^DD(.114,5.3,21,5,0)
+18 ;;=lookup value entered by the user.
+19 ;;^DD(.114,5.3,21,6,0)
+20 ;;=
+21 ;;^DD(.114,5.3,21,7,0)
+22 ;;=During lookup, if the lookup value is not found in the index, FileMan will
+23 ;;^DD(.114,5.3,21,8,0)
+24 ;;=execute the TRANSFORM FOR LOOKUP code to transform the lookup value X. It
+25 ;;^DD(.114,5.3,21,9,0)
+26 ;;=will then search this index looking for a match to the transformed lookup
+27 ;;^DD(.114,5.3,21,10,0)
+28 ;;=value.
+29 ;;^DD(.114,5.3,"DT")
+30 ;;=3000105
+31 ;;^DD(.114,5.5,0)
+32 ;;=TRANSFORM FOR DISPLAY^K^^3;E1,245^K:$L(X)>245 X D:$D(X) ^DIM
+33 ;;^DD(.114,5.5,3)
+34 ;;=This is Standard MUMPS code. Answer '??' for more help.
+35 ;;^DD(.114,5.5,9)
+36 ;;=@
+37 ;;^DD(.114,5.5,21,0)
+38 ;;=^^16^16^3000106^
+39 ;;^DD(.114,5.5,21,1,0)
+40 ;;=Used only during lookup.
+41 ;;^DD(.114,5.5,21,2,0)
+42 ;;=
+43 ;;^DD(.114,5.5,21,3,0)
+44 ;;=Answer should be M code that sets the variable X to a new value. X is the
+45 ;;^DD(.114,5.5,21,4,0)
+46 ;;=only variable that is guaranteed to be defined and is equal to the value
+47 ;;^DD(.114,5.5,21,5,0)
+48 ;;=of the subscript from the index.
+49 ;;^DD(.114,5.5,21,6,0)
+50 ;;=
+51 ;;^DD(.114,5.5,21,7,0)
+52 ;;=TRANSFORM FOR DISPLAY should be set only for an index value that has been
+53 ;;^DD(.114,5.5,21,8,0)
+54 ;;=transformed using the code in the TRANSFORM FOR STORAGE prior to storing
+55 ;;^DD(.114,5.5,21,9,0)
+56 ;;=the value in the index.
+57 ;;^DD(.114,5.5,21,10,0)
+58 ;;=
+59 ;;^DD(.114,5.5,21,11,0)
+60 ;;=The code should take the internal value from the index subscript X, and
+61 ;;^DD(.114,5.5,21,12,0)
+62 ;;=convert it back to a format that can be displayed to an end user. During
+63 ;;^DD(.114,5.5,21,13,0)
+64 ;;=lookup, if a match or matches are made to a lookup value that was
+65 ;;^DD(.114,5.5,21,14,0)
+66 ;;=transformed using the TRANSFORM FOR LOOKUP code on this index, then
+67 ;;^DD(.114,5.5,21,15,0)
+68 ;;=FileMan will execute the TRANSFORM FOR DISPLAY code before displaying the
+69 ;;^DD(.114,5.5,21,16,0)
+70 ;;=index value(s) to the end user.
+71 ;;^DD(.114,5.5,"DT")
+72 ;;=2980731
+73 ;;^DD(.114,6,0)
+74 ;;=MAXIMUM LENGTH^NJ3,0^^0;5^K:+X'=X!(X>999)!(X<1)!(X?.E1"."1N.N) X
+75 ;;^DD(.114,6,3)
+76 ;;=Answer must be between 1 and 999, with no decimal digits. Answer '??' for more help.
+77 ;;^DD(.114,6,21,0)
+78 ;;=^^7^7^2980911^
+79 ;;^DD(.114,6,21,1,0)
+80 ;;=Answer must be the maximum length this cross-reference value should have
+81 ;;^DD(.114,6,21,2,0)
+82 ;;=when stored as a subscript in the index. FileMan's lookup utilties
+83 ;;^DD(.114,6,21,3,0)
+84 ;;=account for lookup values longer than the maximum length.
+85 ;;^DD(.114,6,21,4,0)
+86 ;;=
+87 ;;^DD(.114,6,21,5,0)
+88 ;;=Specify a MAXIMUM LENGTH when an untruncated subscript may cause the
+89 ;;^DD(.114,6,21,6,0)
+90 ;;=length of a global reference in the index to exceed the M Portability
+91 ;;^DD(.114,6,21,7,0)
+92 ;;=Requirements.
+93 ;;^DD(.114,6,"DT")
+94 ;;=2960219
+95 ;;^DD(.114,7,0)
+96 ;;=COLLATION^S^F:forwards;B:backwards;^0;7^Q
+97 ;;^DD(.114,7,3)
+98 ;;=Answer '??' for more help.
+99 ;;^DD(.114,7,21,0)
+100 ;;=^^7^7^2980911^
+101 ;;^DD(.114,7,21,1,0)
+102 ;;=Answer with the direction FileMan's lookup utilities should $ORDER through
+103 ;;^DD(.114,7,21,2,0)
+104 ;;=this subscript when entries are returned or displayed to the user. If for
+105 ;;^DD(.114,7,21,3,0)
+106 ;;=example, you have a compound index on a Date of Birth field and a Name
+107 ;;^DD(.114,7,21,4,0)
+108 ;;=field, and you specify a COLLATION of 'backwards' on the Date of Birth
+109 ;;^DD(.114,7,21,5,0)
+110 ;;=value, the Lister and the Finder will return entries in reverse-date
+111 ;;^DD(.114,7,21,6,0)
+112 ;;=order. Likewise, question mark (?) help and partial matches in interactive
+113 ;;^DD(.114,7,21,7,0)
+114 ;;=^DIC lookups will display entries in reverse-date order.
+115 ;;^DD(.114,7,"DT")
+116 ;;=2970213
+117 ;;^DD(.114,8,0)
+118 ;;=LOOKUP PROMPT^F^^0;8^K:$L(X)>30!($L(X)<1) X
+119 ;;^DD(.114,8,3)
+120 ;;=Answer must be 1-30 characters in length. Answer '??' for more help.
+121 ;;^DD(.114,8,21,0)
+122 ;;=^^3^3^2980911^
+123 ;;^DD(.114,8,21,1,0)
+124 ;;=The text entered here will become a prompt for the user when this index is
+125 ;;^DD(.114,8,21,2,0)
+126 ;;=used for lookup (i.e., in the Classic FileMan calls to ^DIC.) If the text
+127 ;;^DD(.114,8,21,3,0)
+128 ;;=is missing, then the FIELD LABEL will be used as a default.
+129 ;;^DD(.114,8,"DT")
+130 ;;=2970506