- DINIT292 ;SFISC/MKO-FORM AND BLOCK FILES ;09DEC2015
- ;;22.2;VA FileMan;;Jan 05, 2016;Build 42
- ;;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 ^DINIT293
- Q Q
- ;;^DD(.4031,1,21,3,0)
- ;;=is unable to navigate to any of the fields on the header block.
- ;;^DD(.4031,1,21,4,0)
- ;;=
- ;;^DD(.4031,1,21,5,0)
- ;;=Starting with Version 21 of FileMan, there is no need to use header
- ;;^DD(.4031,1,21,6,0)
- ;;=blocks. Display-type blocks, with a coordinate of '1,1' relative to the
- ;;^DD(.4031,1,21,7,0)
- ;;=page, provide the same functionality as header blocks.
- ;;^DD(.4031,1,"DT")
- ;;=2930702
- ;;^DD(.4031,2,0)
- ;;=PAGE COORDINATE^F^^0;3^K:$L(X)>7!($L(X)<1)!'(X?.N1",".N) X
- ;;^DD(.4031,2,3)
- ;;=Enter the coordinate of the upper left corner of the page. Answer must be two positive integers separated by a comma (,), as follows: 'Upper left row,Upper left column'.
- ;;^DD(.4031,2,21,0)
- ;;=^^13^13^2940908^
- ;;^DD(.4031,2,21,1,0)
- ;;=The Page Coordinate property defines the location of the top left corner
- ;;^DD(.4031,2,21,2,0)
- ;;=of the page on the screen. The format of a coordinate is: Row,Column.
- ;;^DD(.4031,2,21,3,0)
- ;;=Regular pages normally have a Page Coordinate of "1,1". They do not have
- ;;^DD(.4031,2,21,4,0)
- ;;=a Lower Right Coordinate.
- ;;^DD(.4031,2,21,5,0)
- ;;=
- ;;^DD(.4031,2,21,6,0)
- ;;=The Page Coordinate of pop-up pages defines the position of the top left
- ;;^DD(.4031,2,21,7,0)
- ;;=corner of the border of the pop-up page. Pop-up pages must have a Lower
- ;;^DD(.4031,2,21,8,0)
- ;;=Right Coordinate, which defines the position of the bottom right corner of
- ;;^DD(.4031,2,21,9,0)
- ;;=the border of the pop-up page.
- ;;^DD(.4031,2,21,10,0)
- ;;=
- ;;^DD(.4031,2,21,11,0)
- ;;=All blocks on the page are positioned relative to the page on which they
- ;;^DD(.4031,2,21,12,0)
- ;;=are defined. If a page is moved -- that is, if the Page Coordinate is
- ;;^DD(.4031,2,21,13,0)
- ;;=changed -- all blocks and all fields on that page move with it.
- ;;^DD(.4031,2,"DT")
- ;;=2940908
- ;;^DD(.4031,3,0)
- ;;=NEXT PAGE^NJ5,1^^0;4^K:+X'=X!(X>999.9)!(X<1)!(X?.E1"."2N.N) X
- ;;^DD(.4031,3,3)
- ;;=Answer must be a Number between 1 and 999.9, 1 Decimal Digit.
- ;;^DD(.4031,3,21,0)
- ;;=^^9^9^2940908^
- ;;^DD(.4031,3,21,1,0)
- ;;=Enter the page to go to when the user presses <PF1><Down> or selects the
- ;;^DD(.4031,3,21,2,0)
- ;;=NEXT PAGE command from the Command Line.
- ;;^DD(.4031,3,21,3,0)
- ;;=
- ;;^DD(.4031,3,21,4,0)
- ;;=When the user attempts a Save, ScreenMan follows the Next Page links
- ;;^DD(.4031,3,21,5,0)
- ;;=starting with the first page displayed to the user. ScreenMan loads all
- ;;^DD(.4031,3,21,6,0)
- ;;=those pages, including any defaults, and checks that all required fields
- ;;^DD(.4031,3,21,7,0)
- ;;=have values. If any of the required fields have null values, no Save
- ;;^DD(.4031,3,21,8,0)
- ;;=occurs. If all required field have values, Screenman Saves the data,
- ;;^DD(.4031,3,21,9,0)
- ;;=including all defaults.
- ;;^DD(.4031,4,0)
- ;;=PREVIOUS PAGE^NJ5,1^^0;5^K:+X'=X!(X>999.9)!(X<1)!(X?.E1"."2N.N) X
- ;;^DD(.4031,4,3)
- ;;=Answer must be a Number between 1 and 999.9, 1 Decimal Digit.
- ;;^DD(.4031,4,21,0)
- ;;=^^1^1^2940907^
- ;;^DD(.4031,4,21,1,0)
- ;;=Enter the page to go to when the user presses <PF1><Up>.
- ;;^DD(.4031,5,0)
- ;;=IS THIS A POP UP PAGE?^S^0:NO;1:YES;^0;6^Q
- ;;^DD(.4031,5,1,0)
- ;;=^.1
- ;;^DD(.4031,5,1,1,0)
- ;;=.4031^AC^MUMPS
- ;;^DD(.4031,5,1,1,1)
- ;;=S:X $P(^DIST(.403,DA(1),40,DA,0),U,2)=""
- ;;^DD(.4031,5,1,1,2)
- ;;=Q
- ;;^DD(.4031,5,1,1,3)
- ;;=Programmer only
- ;;^DD(.4031,5,1,1,"%D",0)
- ;;=^^1^1^2940627^
- ;;^DD(.4031,5,1,1,"%D",1,0)
- ;;=If this is a pop up page, there can be no header block.
- ;;^DD(.4031,5,1,1,"DT")
- ;;=2940627
- ;;^DD(.4031,5,3)
- ;;=
- ;;^DD(.4031,5,21,0)
- ;;=^^8^8^2940908^
- ;;^DD(.4031,5,21,1,0)
- ;;=If the page is a pop-up page rather than a regular page, set this property
- ;;^DD(.4031,5,21,2,0)
- ;;=to 'YES'.
- ;;^DD(.4031,5,21,3,0)
- ;;=
- ;;^DD(.4031,5,21,4,0)
- ;;=ScreenMan displays pop-up pages with a border, on top of what is
- ;;^DD(.4031,5,21,5,0)
- ;;=already on the screen. The top left coordinate of the pop-up page
- ;;^DD(.4031,5,21,6,0)
- ;;=defines the location of the top left corner of the border. Pop-up
- ;;^DD(.4031,5,21,7,0)
- ;;=pages must also have a lower right coordinate, which defines the location
- ;;^DD(.4031,5,21,8,0)
- ;;=of the bottom left corner of the border.
- ;;^DD(.4031,5,"DT")
- ;;=2940627
- ;;^DD(.4031,6,0)
- ;;=LOWER RIGHT COORDINATE^F^^0;7^K:$L(X)>7!($L(X)<1)!'(X?.N1",".N) X
- ;;^DD(.4031,6,3)
- ;;=Enter the coordinate of the bottom right corner of the pop up page. Answer must be two positive integers separated by a comma (,), as follows: 'Lower right row,Lower right column'.
- ;;^DD(.4031,6,21,0)
- ;;=^^4^4^2940908^
- ;;^DD(.4031,6,21,1,0)
- ;;=The existence of a lower right coordinate implies that the page is a
- ;;^DD(.4031,6,21,2,0)
- ;;=pop-up page. The lower right coordinate and the page coordinate define
- ;;^DD(.4031,6,21,3,0)
- ;;=the position of the border ScreenMan displays when it paints a pop-up
- ;;^DD(.4031,6,21,4,0)
- ;;=page.
- ;;^DD(.4031,6,"DT")
- ;;=2940908
- ;;^DD(.4031,7,0)
- ;;=PAGE NAME^FX^^1;1^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>30!($L(X)<3)!(X=+$P(X,"E")) X
- ;;^DD(.4031,7,1,0)
- ;;=^.1
- ;;^DD(.4031,7,1,1,0)
- ;;=.4031^C^MUMPS
- ;;^DD(.4031,7,1,1,1)
- ;;=S ^DIST(.403,DA(1),40,"C",$$UP^DILIBF(X),DA)=""
- ;;^DD(.4031,7,1,1,2)
- ;;=K ^DIST(.403,DA(1),40,"C",$$UP^DILIBF(X),DA)
- ;;^DD(.4031,7,1,1,3)
- ;;=Programmer only
- ;;^DD(.4031,7,1,1,"%D",0)
- ;;=^^2^2^2930816^
- ;;^DD(.4031,7,1,1,"%D",1,0)
- ;;=This cross reference is a regular index of the page name converted to all
- ;;^DD(.4031,7,1,1,"%D",2,0)
- ;;=upper case characters.
- ;;^DD(.4031,7,1,1,"DT")
- ;;=2930816
- ;;^DD(.4031,7,3)
- ;;=Enter the name of the page, 3-30 characters in length.
- ;;^DD(.4031,7,21,0)
- ;;=^^5^5^2940907^^
- ;;^DD(.4031,7,21,1,0)
- ;;=Like the Page Number, you can use the Page Name to refer to a page in
- ;;^DD(.4031,7,21,2,0)
- ;;=ScreenMan functions and utilities. ScreenMan displays the Page Name to
- ;;^DD(.4031,7,21,3,0)
- ;;=the user if, during an attempt to file data, ScreenMan finds required
- ;;^DD(.4031,7,21,4,0)
- ;;=fields with null values. ScreenMan uses the Caption of the field and the
- ;;^DD(.4031,7,21,5,0)
- ;;=Page Name to inform the user of the location of the required field.
- ;;^DD(.4031,7,"DT")
- ;;=2931020
- ;;^DD(.4031,8,0)
- ;;=PARENT FIELD^FX^^1;2^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>92!($L(X)<5)!'(X?1.E1","1.E1","1.E) X I $D(X) D PFIELD^DDSIT
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDINIT292 7030 printed Feb 19, 2025@00:17:30 Page 2
- DINIT292 ;SFISC/MKO-FORM AND BLOCK FILES ;09DEC2015
- +1 ;;22.2;VA FileMan;;Jan 05, 2016;Build 42
- +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 ^DINIT293
- Q QUIT
- +1 ;;^DD(.4031,1,21,3,0)
- +2 ;;=is unable to navigate to any of the fields on the header block.
- +3 ;;^DD(.4031,1,21,4,0)
- +4 ;;=
- +5 ;;^DD(.4031,1,21,5,0)
- +6 ;;=Starting with Version 21 of FileMan, there is no need to use header
- +7 ;;^DD(.4031,1,21,6,0)
- +8 ;;=blocks. Display-type blocks, with a coordinate of '1,1' relative to the
- +9 ;;^DD(.4031,1,21,7,0)
- +10 ;;=page, provide the same functionality as header blocks.
- +11 ;;^DD(.4031,1,"DT")
- +12 ;;=2930702
- +13 ;;^DD(.4031,2,0)
- +14 ;;=PAGE COORDINATE^F^^0;3^K:$L(X)>7!($L(X)<1)!'(X?.N1",".N) X
- +15 ;;^DD(.4031,2,3)
- +16 ;;=Enter the coordinate of the upper left corner of the page. Answer must be two positive integers separated by a comma (,), as follows: 'Upper left row,Upper left column'.
- +17 ;;^DD(.4031,2,21,0)
- +18 ;;=^^13^13^2940908^
- +19 ;;^DD(.4031,2,21,1,0)
- +20 ;;=The Page Coordinate property defines the location of the top left corner
- +21 ;;^DD(.4031,2,21,2,0)
- +22 ;;=of the page on the screen. The format of a coordinate is: Row,Column.
- +23 ;;^DD(.4031,2,21,3,0)
- +24 ;;=Regular pages normally have a Page Coordinate of "1,1". They do not have
- +25 ;;^DD(.4031,2,21,4,0)
- +26 ;;=a Lower Right Coordinate.
- +27 ;;^DD(.4031,2,21,5,0)
- +28 ;;=
- +29 ;;^DD(.4031,2,21,6,0)
- +30 ;;=The Page Coordinate of pop-up pages defines the position of the top left
- +31 ;;^DD(.4031,2,21,7,0)
- +32 ;;=corner of the border of the pop-up page. Pop-up pages must have a Lower
- +33 ;;^DD(.4031,2,21,8,0)
- +34 ;;=Right Coordinate, which defines the position of the bottom right corner of
- +35 ;;^DD(.4031,2,21,9,0)
- +36 ;;=the border of the pop-up page.
- +37 ;;^DD(.4031,2,21,10,0)
- +38 ;;=
- +39 ;;^DD(.4031,2,21,11,0)
- +40 ;;=All blocks on the page are positioned relative to the page on which they
- +41 ;;^DD(.4031,2,21,12,0)
- +42 ;;=are defined. If a page is moved -- that is, if the Page Coordinate is
- +43 ;;^DD(.4031,2,21,13,0)
- +44 ;;=changed -- all blocks and all fields on that page move with it.
- +45 ;;^DD(.4031,2,"DT")
- +46 ;;=2940908
- +47 ;;^DD(.4031,3,0)
- +48 ;;=NEXT PAGE^NJ5,1^^0;4^K:+X'=X!(X>999.9)!(X<1)!(X?.E1"."2N.N) X
- +49 ;;^DD(.4031,3,3)
- +50 ;;=Answer must be a Number between 1 and 999.9, 1 Decimal Digit.
- +51 ;;^DD(.4031,3,21,0)
- +52 ;;=^^9^9^2940908^
- +53 ;;^DD(.4031,3,21,1,0)
- +54 ;;=Enter the page to go to when the user presses <PF1><Down> or selects the
- +55 ;;^DD(.4031,3,21,2,0)
- +56 ;;=NEXT PAGE command from the Command Line.
- +57 ;;^DD(.4031,3,21,3,0)
- +58 ;;=
- +59 ;;^DD(.4031,3,21,4,0)
- +60 ;;=When the user attempts a Save, ScreenMan follows the Next Page links
- +61 ;;^DD(.4031,3,21,5,0)
- +62 ;;=starting with the first page displayed to the user. ScreenMan loads all
- +63 ;;^DD(.4031,3,21,6,0)
- +64 ;;=those pages, including any defaults, and checks that all required fields
- +65 ;;^DD(.4031,3,21,7,0)
- +66 ;;=have values. If any of the required fields have null values, no Save
- +67 ;;^DD(.4031,3,21,8,0)
- +68 ;;=occurs. If all required field have values, Screenman Saves the data,
- +69 ;;^DD(.4031,3,21,9,0)
- +70 ;;=including all defaults.
- +71 ;;^DD(.4031,4,0)
- +72 ;;=PREVIOUS PAGE^NJ5,1^^0;5^K:+X'=X!(X>999.9)!(X<1)!(X?.E1"."2N.N) X
- +73 ;;^DD(.4031,4,3)
- +74 ;;=Answer must be a Number between 1 and 999.9, 1 Decimal Digit.
- +75 ;;^DD(.4031,4,21,0)
- +76 ;;=^^1^1^2940907^
- +77 ;;^DD(.4031,4,21,1,0)
- +78 ;;=Enter the page to go to when the user presses <PF1><Up>.
- +79 ;;^DD(.4031,5,0)
- +80 ;;=IS THIS A POP UP PAGE?^S^0:NO;1:YES;^0;6^Q
- +81 ;;^DD(.4031,5,1,0)
- +82 ;;=^.1
- +83 ;;^DD(.4031,5,1,1,0)
- +84 ;;=.4031^AC^MUMPS
- +85 ;;^DD(.4031,5,1,1,1)
- +86 ;;=S:X $P(^DIST(.403,DA(1),40,DA,0),U,2)=""
- +87 ;;^DD(.4031,5,1,1,2)
- +88 ;;=Q
- +89 ;;^DD(.4031,5,1,1,3)
- +90 ;;=Programmer only
- +91 ;;^DD(.4031,5,1,1,"%D",0)
- +92 ;;=^^1^1^2940627^
- +93 ;;^DD(.4031,5,1,1,"%D",1,0)
- +94 ;;=If this is a pop up page, there can be no header block.
- +95 ;;^DD(.4031,5,1,1,"DT")
- +96 ;;=2940627
- +97 ;;^DD(.4031,5,3)
- +98 ;;=
- +99 ;;^DD(.4031,5,21,0)
- +100 ;;=^^8^8^2940908^
- +101 ;;^DD(.4031,5,21,1,0)
- +102 ;;=If the page is a pop-up page rather than a regular page, set this property
- +103 ;;^DD(.4031,5,21,2,0)
- +104 ;;=to 'YES'.
- +105 ;;^DD(.4031,5,21,3,0)
- +106 ;;=
- +107 ;;^DD(.4031,5,21,4,0)
- +108 ;;=ScreenMan displays pop-up pages with a border, on top of what is
- +109 ;;^DD(.4031,5,21,5,0)
- +110 ;;=already on the screen. The top left coordinate of the pop-up page
- +111 ;;^DD(.4031,5,21,6,0)
- +112 ;;=defines the location of the top left corner of the border. Pop-up
- +113 ;;^DD(.4031,5,21,7,0)
- +114 ;;=pages must also have a lower right coordinate, which defines the location
- +115 ;;^DD(.4031,5,21,8,0)
- +116 ;;=of the bottom left corner of the border.
- +117 ;;^DD(.4031,5,"DT")
- +118 ;;=2940627
- +119 ;;^DD(.4031,6,0)
- +120 ;;=LOWER RIGHT COORDINATE^F^^0;7^K:$L(X)>7!($L(X)<1)!'(X?.N1",".N) X
- +121 ;;^DD(.4031,6,3)
- +122 ;;=Enter the coordinate of the bottom right corner of the pop up page. Answer must be two positive integers separated by a comma (,), as follows: 'Lower right row,Lower right column'.
- +123 ;;^DD(.4031,6,21,0)
- +124 ;;=^^4^4^2940908^
- +125 ;;^DD(.4031,6,21,1,0)
- +126 ;;=The existence of a lower right coordinate implies that the page is a
- +127 ;;^DD(.4031,6,21,2,0)
- +128 ;;=pop-up page. The lower right coordinate and the page coordinate define
- +129 ;;^DD(.4031,6,21,3,0)
- +130 ;;=the position of the border ScreenMan displays when it paints a pop-up
- +131 ;;^DD(.4031,6,21,4,0)
- +132 ;;=page.
- +133 ;;^DD(.4031,6,"DT")
- +134 ;;=2940908
- +135 ;;^DD(.4031,7,0)
- +136 ;;=PAGE NAME^FX^^1;1^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>30!($L(X)<3)!(X=+$P(X,"E")) X
- +137 ;;^DD(.4031,7,1,0)
- +138 ;;=^.1
- +139 ;;^DD(.4031,7,1,1,0)
- +140 ;;=.4031^C^MUMPS
- +141 ;;^DD(.4031,7,1,1,1)
- +142 ;;=S ^DIST(.403,DA(1),40,"C",$$UP^DILIBF(X),DA)=""
- +143 ;;^DD(.4031,7,1,1,2)
- +144 ;;=K ^DIST(.403,DA(1),40,"C",$$UP^DILIBF(X),DA)
- +145 ;;^DD(.4031,7,1,1,3)
- +146 ;;=Programmer only
- +147 ;;^DD(.4031,7,1,1,"%D",0)
- +148 ;;=^^2^2^2930816^
- +149 ;;^DD(.4031,7,1,1,"%D",1,0)
- +150 ;;=This cross reference is a regular index of the page name converted to all
- +151 ;;^DD(.4031,7,1,1,"%D",2,0)
- +152 ;;=upper case characters.
- +153 ;;^DD(.4031,7,1,1,"DT")
- +154 ;;=2930816
- +155 ;;^DD(.4031,7,3)
- +156 ;;=Enter the name of the page, 3-30 characters in length.
- +157 ;;^DD(.4031,7,21,0)
- +158 ;;=^^5^5^2940907^^
- +159 ;;^DD(.4031,7,21,1,0)
- +160 ;;=Like the Page Number, you can use the Page Name to refer to a page in
- +161 ;;^DD(.4031,7,21,2,0)
- +162 ;;=ScreenMan functions and utilities. ScreenMan displays the Page Name to
- +163 ;;^DD(.4031,7,21,3,0)
- +164 ;;=the user if, during an attempt to file data, ScreenMan finds required
- +165 ;;^DD(.4031,7,21,4,0)
- +166 ;;=fields with null values. ScreenMan uses the Caption of the field and the
- +167 ;;^DD(.4031,7,21,5,0)
- +168 ;;=Page Name to inform the user of the location of the required field.
- +169 ;;^DD(.4031,7,"DT")
- +170 ;;=2931020
- +171 ;;^DD(.4031,8,0)
- +172 ;;=PARENT FIELD^FX^^1;2^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>92!($L(X)<5)!'(X?1.E1","1.E1","1.E) X I $D(X) D PFIELD^DDSIT