source: IHS-VA_UTILITIES-XB/XBARRAY0.m@ 641

Last change on this file since 641 was 641, checked in by Sam Habiel, 15 years ago

Initial commit of XB, move away from sf.net.
Includes kids file and documentation.

File size: 6.0 KB
Line 
1XBARRAY0 ; IHS/ADC/GTH - Documentation for XBARRAY ; [ 02/07/97 3:02 PM ]
2 ;;4.0;XB;;Jul 20, 2009;Build 2
3 ;
4 ; This utility provides a word processing format of free
5 ; text and local variable references to build an array.
6 ;
7 ; A file is necessary that has a .01 field for the form
8 ; name and a WP field to hold the WP form.
9 ;
10 ; Two Entry points
11 ;
12 ; EDIT^XBARRAY(.NAME,DIC,FIELD) Edits and Displays the
13 ; form. Place the call to EDIT in the code where
14 ; the data or variables have been gathered.
15 ; Typically this is one line previous to the call
16 ; to $$GEN^XBARRAY. Once the form is designed the
17 ; EDIT call is commented out.
18 ;
19 ; $$GEN^XBARRAY(.NAME,DIC,FIELD,ROOT,FORMAT,LINE)
20 ; Generates the form into the ARRAY indicated by
21 ; the ROOT. The call to $$GEN must have all
22 ; variables used gathered. The return value of
23 ; $$GEN is equal to the last line set in the array.
24 ;
25 ; VARIABLES
26 ; .NAME - The name space variable that holds the name
27 ; of the form to be used. A pass by reference is
28 ; needed for efficiency so that the pre-compilation of
29 ; the form is held for repetitive use. The compilation
30 ; is stored in the sub array as NAME(@NAME,line,.....,).
31 ; IE one local variable can be used for all form
32 ; references.
33 ; Ex: S BARFORM="A/R BILL" will store and use
34 ; the form compilation in BARFORM("A/R BILL",line,....,)
35 ; When finished KILL BARFORM(BARFORM) will retrieve the
36 ; local variable space from the last form used.
37 ;
38 ; DIC - The root or file number of the file holding the
39 ; forms.
40 ;
41 ; FIELD ; The field number of the WP field holding the
42 ; form.
43 ;
44 ; ROOT - The root of the target array to be built.
45 ; Either a global or a variable root as in the format
46 ; used for a %XY^%RCR call. (%RCR is actually used)
47 ;
48 ; FORMAT
49 ; null or zero The array is built ROOT(line)="...
50 ; 1 The array is built ROOT(line,0)="....
51 ;
52 ; LINE - The offset in line numbers in building the
53 ; array. The array will start construction at LINE +1.
54 ; The value of the last line created is returned $$GEN.
55 ;
56 ; WP FORMAT INSTRUCTIONS
57 ;
58 ; Free Text: Free text is key striked in where desired.
59 ; Do not use ~ as it is used to mark variables.
60 ;
61 ; Variables: The reference to a variable is marked with
62 ; a beginning ~ and a trailing ~. The trailing ~ is
63 ; always required even if the variable is last item
64 ; on the line.
65 ;
66 ; Mnemonics: A short hand for variables is available.
67 ;
68 ; Comments: Programmers comments can be put into the form
69 ; which are ignored by the generator.
70 ;
71 ; Output Transform: Mumps output transforms can be
72 ; indicated for execution upon selected variables.
73 ;
74 ; WP SPECIAL FUNCTIONS Located at the top of the form.
75 ;
76 ; Comment line Begin the line with a ';'
77 ;
78 ; Variable Mneumonic Reference: Name spaced variables can
79 ; be long. A mnemonic reference is available to make
80 ; life simple. Multiple mnemonic lines can be used
81 ; if desired.
82 ;
83 ; SETUP
84 ;
85 ; #mnemonic1|variable1*mnemonic2|variable2*...
86 ; #mnemonicZ|variableZ*.....
87 ;
88 ; Example: #D|DUZ*V|BARVPT
89 ; #I|BARIPT
90 ;
91 ; (BARIPT array is storing IHS Patient Information)
92 ; (BARVPT array is storing VA Patient Information)
93 ;
94 ;
95 ; '#' Marker placed in the first column
96 ;
97 ; mnemonic1 User's choice
98 ; ex: D to denote DUZ
99 ; '|' Separator
100 ;
101 ; variable1 User's choice of the local variable
102 ; ex: DUZ
103 ; '*' Repetative marker if more than one
104 ; mnemonic is indicated
105 ;
106 ; USE The mnemonic reference can be used any where
107 ; in the WP form.
108 ;
109 ; Format ~mnemonic|variable subscript~
110 ;
111 ; '~' Beginning marker for the variable
112 ;
113 ; mnemonic1 User's mnemonic
114 ;
115 ; '|' Separator
116 ;
117 ; subscript The subscript of the variable to be used
118 ;
119 ; '~' Ending marker for the variable
120 ;
121 ; ex: ~D|~ for DUZ
122 ; ~D|0~ for DUZ(0)
123 ; ~I|.01~ for BARIPT(.01)
124 ;
125 ; MUMPS OUTPUT TRANSFORM
126 ; A simple mumps output transform is also provided to aid
127 ; in form design. A variable or mnemonic indicated will
128 ; have its output transformed prior to being put into the
129 ; form.
130 ;
131 ; SETUP
132 ;
133 ; *var1!mumps code1*var2!mumps code2
134 ; *mnemonic3!mumps code3*mnemonic4!mumps code4
135 ;
136 ; Ex: *DUZ(2)!$J(X,10,2) will output $J(DUZ(2),10,2)
137 ; *D | 2!$J(X,10,2) mnemonic notation of same
138 ;
139 ; '*' Output Transform marker in column one. At TOF
140 ;
141 ; Variable/ Variable or mnemonic as it would appear in the
142 ; Mneumonic form between '~'s.
143 ;
144 ; '!' Separator
145 ;
146 ; mumps code Mumps code expression as a function of x.
147 ; Do not state 'S X=f(x)'
148 ; Enter the function only, f(x).
149 ;
150 ; '*' Separator if more than one is put on one line.
151 ;
152 ; SPECIAL OUTPUT TRANSFORMS provided by XBARRAY
153 ;
154 ; xxx!$$MDY(X) a literal ~"NOW"~ or variable ~IT|9~
155 ; ex: *"NOW"!$$MDY(X) or *IT|9!$$MDY(X)
156 ; returns mm/dd/yy
157 ;
158 ; xxx!$$WP("X") for a word processing field
159 ; NOTE: "X" IS ABSOLUTELY NECESSARY
160 ; The variable array must have the form
161 ; VAR(subcript,n) where n = 1:1
162 ;
163DOCE ;
164 ;
165TEST ; If you have A/R installed, uncomment the following lines for a
166 ; demonstration.
167 ; D INIT^BARUTL
168 ; D ENP^XBDIQ1(200,DUZ,".01:.116","BARU(")
169 ; S BARFORM="PW TEST"
170 ; D EDIT^XBARRAY(.BARFORM,90053.01,1000)
171 ; S Y=$$GEN^XBARRAY(.BARFORM,90053.01,1000,"BARFM",0,10)
172 ; KILL BARFORM(BARFORM)
173 ; Q
174 ;
Note: See TracBrowser for help on using the repository browser.