1 | OOPSGUI2 ;WIOFO/CVW-RPC routines ;9/19/01
|
---|
2 | ;;2.0;ASISTS;**2,4,8**;Jun 03, 2002
|
---|
3 | ;
|
---|
4 | GET(RESULTS,INPUT) ; Get Case data from 2260 or 2264
|
---|
5 | ;NOTE: changed in patch 5 to set the file to retrieve data from
|
---|
6 | ; based on the form sent in.
|
---|
7 | ; Input: INPUT - IEN^FORM where IEN = ASISTS IEN and
|
---|
8 | ; FORM = Either "CA1","CA2","CA7","2162", or "DUAL"
|
---|
9 | ; Output: RESULTS - Array of data from the file, each element in the
|
---|
10 | ; is based on the field number in the file.
|
---|
11 | N NODE,PIECE,FNUM,IEN,VAR,FORM,FLDCNT,INVFLDS,FILE
|
---|
12 | ;Define fields that should never be returned
|
---|
13 | S INVFLDS="^19^20^21^22^23^24^25^122^224^"
|
---|
14 | S IEN=+$G(INPUT),FORM=$P($G(INPUT),U,2),FLDCNT=0
|
---|
15 | I '$G(IEN) Q
|
---|
16 | S FILE=2260 I $G(FORM)="CA7" S FILE=2264,INVFLDS=""
|
---|
17 | I '$D(^OOPS(FILE,$G(IEN),0)) D Q
|
---|
18 | . S (RESULTS,RESULTS(1))="-1^IEN:"_IEN_" not found in the file"
|
---|
19 | I "CA1^CA2^CA7^2162^DUAL"'[FORM!(FORM="") D Q
|
---|
20 | . S (RESULTS,RESULTS(1))="-2^FORM:"_FORM_" not valid, must be CA1, CA2, CA7, DUAL or 2162"
|
---|
21 | S NODE="" F S NODE=$O(^DD(FILE,"GL",NODE)) Q:NODE="" D
|
---|
22 | .S PIECE=0 F S PIECE=$O(^DD(FILE,"GL",NODE,PIECE)) Q:PIECE="" D
|
---|
23 | ..S FNUM=0 F S FNUM=$O(^DD(FILE,"GL",NODE,PIECE,FNUM)) Q:FNUM="" D
|
---|
24 | ...I INVFLDS[("^"_FNUM_"^") Q
|
---|
25 | ...I ($E(NODE,1,$L(FORM))'=FORM),(NODE'=0),(NODE'="CA"),(NODE'["WC"),(NODE'["DUAL") Q
|
---|
26 | ...;patch 5 if form = DUAL, only get DUAL nodes (there are 2) data
|
---|
27 | ...I FORM["DUAL",($E(NODE,1,4)="DUAL") D
|
---|
28 | ....S RESULTS(FNUM)=$$GET1^DIQ(FILE,IEN,FNUM)
|
---|
29 | ...I FORM'="DUAL",($E(NODE,1,4)'="DUAL") D
|
---|
30 | ....S RESULTS(FNUM)=$$GET1^DIQ(FILE,IEN,FNUM)
|
---|
31 | ....I FILE=2260 D
|
---|
32 | .....I FNUM=13 S RESULTS(FNUM)=RESULTS(FNUM)_" = "_$$GET1^DIQ(2260,IEN,FNUM_":99")
|
---|
33 | .....I FNUM=53!(FNUM=53.1) S RESULTS(FNUM)=RESULTS(FNUM)_"^"_$$GET1^DIQ(2260,IEN,FNUM,"I")
|
---|
34 | .....I FNUM=76!(FNUM=79) S RESULTS(FNUM)=$$GET1^DIQ(2260,IEN,FNUM,"I")
|
---|
35 | ...S FLDCNT=FLDCNT+1
|
---|
36 | Q
|
---|
37 | WITR(RESULTS,IEN) ;Return entries from the witness multiple
|
---|
38 | ; Input: IEN - The ASISTS IEN used to pull info from file 2260.
|
---|
39 | ; Output: RESULTS - array with Witness data and associated comment
|
---|
40 | ;
|
---|
41 | N SUBN,COUNT,STATE,WDT
|
---|
42 | S (SUBN,COUNT)=0,(STATE,WDT)=""
|
---|
43 | F S SUBN=$O(^OOPS(2260,IEN,"CA1W",SUBN)) Q:'SUBN D
|
---|
44 | . S RESULTS(COUNT)=$G(^OOPS(2260,IEN,"CA1W",SUBN,0))
|
---|
45 | . S STATE=$$EXTERNAL^DILFD(2260.0125,3,"",$P(RESULTS(COUNT),U,4))
|
---|
46 | . S WDT=$$EXTERNAL^DILFD(2260.0125,5,"",$P(RESULTS(COUNT),U,6))
|
---|
47 | . S $P(RESULTS(COUNT),U,4)=STATE,$P(RESULTS(COUNT),U,6)=WDT
|
---|
48 | . S $P(RESULTS(COUNT),U,7)=SUBN
|
---|
49 | . S COUNT=COUNT+1
|
---|
50 | . S RESULTS(COUNT)=$G(^OOPS(2260,IEN,"CA1W",SUBN,1))
|
---|
51 | . S COUNT=COUNT+1
|
---|
52 | Q
|
---|
53 | DEFMD(RESULTS,IEN) ;
|
---|
54 | ;Send in the Case IEN, return an array of
|
---|
55 | ;(0)="1^Valid Results" or "0^No Valid Results"
|
---|
56 | ;(1)=PROVIDER NAME
|
---|
57 | ;(2)=PROVIDER ADDRESS
|
---|
58 | ;(3)=PROVIDER CITY
|
---|
59 | ;(4)=PROVIDER STATE
|
---|
60 | ;(5)=PROVIDER ZIP CODE
|
---|
61 | ;(6)=PROVIDER TITLE
|
---|
62 | N STA,PSTA,PIEN
|
---|
63 | S (STA,PSTA,PIEN)=""
|
---|
64 | S RESULTS(0)="0^No Valid Results"
|
---|
65 | Q:+IEN'>0
|
---|
66 | S STA=$P($G(^OOPS(2260,IEN,"2162A")),U,9)
|
---|
67 | Q:+STA'>0
|
---|
68 | S PIEN=$O(^OOPS(2262,1,1,"B",STA,PIEN))
|
---|
69 | Q:+PIEN'>0
|
---|
70 | I $P($G(^OOPS(2262,1,1,PIEN,0)),U,2)'="" D
|
---|
71 | .S RESULTS(0)="1^Valid Results"
|
---|
72 | .S RESULTS(1)=$P($G(^OOPS(2262,1,1,PIEN,0)),U,2)
|
---|
73 | .S RESULTS(2)=$P($G(^OOPS(2262,1,1,PIEN,0)),U,3)
|
---|
74 | .S RESULTS(3)=$P($G(^OOPS(2262,1,1,PIEN,0)),U,4)
|
---|
75 | .S PSTA=$$FIND1^DIC(2262.03,",1,","Q",STA)
|
---|
76 | .I PSTA S PSTA=PSTA_",1," S RESULTS(4)=$$GET1^DIQ(2262.03,PSTA,"4:.01")
|
---|
77 | .S RESULTS(5)=$P($G(^OOPS(2262,1,1,PIEN,0)),U,6)
|
---|
78 | .S RESULTS(6)=$P($G(^OOPS(2262,1,1,PIEN,0)),U,7)
|
---|
79 | .S RESULTS(6)=$$EXTERNAL^DILFD(2262.03,6,"",RESULTS(6))
|
---|
80 | Q
|
---|
81 | REPLWP(RESULTS,INPUT,DATA) ;
|
---|
82 | ;Replace Word Processing Fields
|
---|
83 | ; Input: INPUT - The file, field and IEN of record to WP field to
|
---|
84 | ; be changed in the format FILE^FIELD^IEN
|
---|
85 | ; Input DATA - List or pointer for data that is to replace the
|
---|
86 | ; existing WP data.
|
---|
87 | ; Output: RESULTS - array with results or messages.
|
---|
88 | ; Retrieve file and field information.
|
---|
89 | N FILE,FIELD,IEN,ROOT,NODE,LINE,CNT,NEWTXT
|
---|
90 | S FILE=$P($G(INPUT),U),FIELD=$P($G(INPUT),U,2),IEN=$P($G(INPUT),U,3)
|
---|
91 | S ROOT=$$ROOT^DILFD(FILE,0,"GL")
|
---|
92 | S NODE=$$GET1^DID(FILE,FIELD,"","GLOBAL SUBSCRIPT LOCATION")
|
---|
93 | S NODE=$P(NODE,";",1)
|
---|
94 | ; Kill the existing WP data/node
|
---|
95 | K @(ROOT_"IEN,NODE)")
|
---|
96 | ; Insert the new data
|
---|
97 | S (LINE,CNT)=0
|
---|
98 | K NEWTXT
|
---|
99 | F D Q:+LINE'>0
|
---|
100 | .S LINE=$O(DATA(LINE)) Q:+LINE'>0 S CNT=LINE
|
---|
101 | .S NEWTXT=$G(DATA(LINE))
|
---|
102 | .S @(ROOT_"IEN,NODE,LINE,0)")=NEWTXT
|
---|
103 | S @(ROOT_"IEN,NODE,0)")="^^"_CNT_"^"_CNT_"^"_DT_"^^"
|
---|
104 | Q
|
---|
105 | DTVALID(RESULTS,IDT,PDT,FLAG) ;Compare Date(s)/Time(s)
|
---|
106 | ; Input IDT - This is the base date/time in external form
|
---|
107 | ; PDT - This is the compare date/time in external form
|
---|
108 | ; FLAG - -2 means PDT must be < IDT (The DAY only)
|
---|
109 | ; FLAG - -1 means PDT must be < IDT (The DAY&TIME)
|
---|
110 | ; FLAG - 1 means PDT must be > IDT (The DAY&TIME)
|
---|
111 | ; FLAG - 2 means PDT must be > IDT (The DAY only)
|
---|
112 | ;Output RESULTS - "VALID DATE" for valid, "DATE ERROR" for invalid
|
---|
113 | S FLAG=+$G(FLAG)
|
---|
114 | I FLAG="" S RESULTS(0)="FLAG ERROR" Q
|
---|
115 | I IDT="" S RESULTS(0)="DATE ERROR" Q
|
---|
116 | I PDT="" S RESULTS(0)="DATE ERROR" Q
|
---|
117 | S IDT=$$DTI^OOPSGUI2(IDT)
|
---|
118 | S PDT=$$DTI^OOPSGUI2(PDT)
|
---|
119 | I FLAG=-2 D
|
---|
120 | .S IDT=$P(IDT,"."),PDT=$P(PDT,".")
|
---|
121 | .I (PDT<IDT)!(PDT=IDT) S RESULTS(0)="VALID DATE" Q
|
---|
122 | .I PDT>IDT S RESULTS(0)="DATE ERROR" Q
|
---|
123 | I FLAG=-1 D
|
---|
124 | .I PDT<IDT S RESULTS(0)="VALID DATE" Q
|
---|
125 | .I (PDT>IDT)!(PDT=IDT) S RESULTS(0)="DATE ERROR" Q
|
---|
126 | I FLAG=0 D
|
---|
127 | .I PDT=IDT S RESULTS(0)="VALID DATE" Q
|
---|
128 | .I (PDT<IDT)!(PDT>IDT) S RESULTS(0)="DATE ERROR" Q
|
---|
129 | I FLAG=1 D
|
---|
130 | .I PDT>IDT S RESULTS(0)="VALID DATE" Q
|
---|
131 | .I (PDT<IDT)!(PDT=IDT) S RESULTS(0)="DATE ERROR" Q
|
---|
132 | I FLAG=2 D
|
---|
133 | .S IDT=$P(IDT,"."),PDT=$P(PDT,".")
|
---|
134 | .I (PDT>IDT)!(PDT=IDT) S RESULTS(0)="VALID DATE" Q
|
---|
135 | .I PDT<IDT S RESULTS(0)="DATE ERROR" Q
|
---|
136 | Q
|
---|
137 | DTI(X) ;Convert and External date to an internal one
|
---|
138 | N Y,%DT
|
---|
139 | S %DT="T" D ^%DT
|
---|
140 | Q Y
|
---|
141 | SETFIELD(RESULTS,INPUT,VALUE) ;Set a single field in file 2260
|
---|
142 | ;Input - INPUT Contains the IEN of the record and the field number to
|
---|
143 | ; be modified in the format IEN^FIELD
|
---|
144 | ; VALUE This required parm is the external value to be used.
|
---|
145 | ;Output - RESULTS - status message of the file/set.
|
---|
146 | N DA,DIE,DR,IEN,FLDNUM
|
---|
147 | S DR=""
|
---|
148 | S RESULTS(0)="UPDATE FAILED"
|
---|
149 | S IEN=$P($G(INPUT),U)
|
---|
150 | I '$G(IEN) Q
|
---|
151 | S FLDNUM=$P($G(INPUT),U,2)
|
---|
152 | I '$D(^OOPS(2260,IEN,0))!(FLDNUM="") Q
|
---|
153 | S DIE="^OOPS(2260,",DA=IEN
|
---|
154 | S DR(1,2260,1)=FLDNUM_"///^S X=VALUE"
|
---|
155 | D ^DIE
|
---|
156 | I $G(Y)="" D
|
---|
157 | . S RESULTS(0)="UPDATE COMPLETE"
|
---|
158 | . ; if setting field 71, need to send bulletin
|
---|
159 | . I FLDNUM=71,($$GET1^DIQ(2260,IEN,71,"I")'="Y") D WCPBOR^OOPSMBUL(IEN)
|
---|
160 | . ; 01/02/04 Patch 4 llh - if case closed, sent bulletin
|
---|
161 | . I FLDNUM=51,(VALUE="Closed") D CLSCASE^OOPSMBUL(IEN)
|
---|
162 | Q
|
---|
163 | ADDWITN(RESULTS,IEN,INFO,COMMENT) ;Add Witness info for IEN in 2260
|
---|
164 | ; Input - IEN - IEN of case that needs witness info created.
|
---|
165 | ; INFO - Name, Street, City, State, Zip, Date of Witness in
|
---|
166 | ; format, NAME^STREET^CITY^STATE^ZIP
|
---|
167 | ; COMMENT - Witness Comment Text
|
---|
168 | ; Output - RESULTS Text indicating status of insert
|
---|
169 | N DR,DIE,DA,DIC,DD,DO,DLAYGO,INPUT,NAME,STREET,CITY,STATE,ZIP,WITDATE
|
---|
170 | S RESULTS(0)="WITNESS CREATION FAILED"
|
---|
171 | I '$G(IEN) Q
|
---|
172 | I '$D(^OOPS(2260,IEN,0)) Q
|
---|
173 | S DA(1)=IEN
|
---|
174 | S DLAYGO=2260,DIC="^OOPS(2260,"_DA(1)_",""CA1W"","
|
---|
175 | S DIC(0)="L"
|
---|
176 | S X=$P(INFO,U)
|
---|
177 | D FILE^DICN
|
---|
178 | S DA=+Y
|
---|
179 | S DIE="^OOPS(2260,"_DA(1)_",""CA1W"",",DR=""
|
---|
180 | I DA=-1 Q
|
---|
181 | S NAME=$P($G(INFO),U)
|
---|
182 | S STREET=$P($G(INFO),U,2)
|
---|
183 | S CITY=$P($G(INFO),U,3)
|
---|
184 | S STATE=$P($G(INFO),U,4)
|
---|
185 | S ZIP=$P($G(INFO),U,5)
|
---|
186 | S WITDATE=$P($G(INFO),U,6)
|
---|
187 | S DR(1,2260.0125,1)=".01///^S X=NAME"
|
---|
188 | S DR(1,2260.0125,2)="1///^S X=STREET"
|
---|
189 | S DR(1,2260.0125,3)="2///^S X=CITY"
|
---|
190 | S DR(1,2260.0125,4)="3///^S X=STATE"
|
---|
191 | S DR(1,2260.0125,5)="4///^S X=ZIP"
|
---|
192 | S DR(1,2260.0125,6)="5///^S X=WITDATE"
|
---|
193 | D ^DIE
|
---|
194 | S DR="6///^S X=COMMENT"
|
---|
195 | D ^DIE
|
---|
196 | S RESULTS(0)="WITNESS CREATION SUCCESSFUL"
|
---|
197 | Q
|
---|
198 | DELWITN(RESULTS,INPUT) ;Deletes the Witness information for a claim
|
---|
199 | ; Input - INPUT, this is the IEN for the case and the witness number
|
---|
200 | ; format IEN^witness number for the selected witness
|
---|
201 | ; Output - RESULTS - String indicating the status of the delete
|
---|
202 | N DA,DIK,IEN,WITNO
|
---|
203 | S RESULTS(0)="DELETION FAILED"
|
---|
204 | I INPUT="" Q
|
---|
205 | S IEN=$P($G(INPUT),U)
|
---|
206 | I '$G(IEN) Q
|
---|
207 | S WITNO=$P($G(INPUT),U,2)
|
---|
208 | I '$G(WITNO) Q
|
---|
209 | I '$D(^OOPS(2260,IEN,"CA1W",WITNO,0)) Q
|
---|
210 | S DA(1)=IEN
|
---|
211 | S DA=WITNO
|
---|
212 | S DIK="^OOPS(2260,"_DA(1)_",""CA1W"","
|
---|
213 | D ^DIK
|
---|
214 | I $G(Y)'="" D Q
|
---|
215 | .S RESULTS(0)="SUCCESSFULLY DELETED"
|
---|
216 | Q
|
---|
217 | EDTWITN(RESULTS,INPUT,INFO,COMMENT) ;Update Witness Info for 2260 rec
|
---|
218 | ; Input:INPUT - IEN and Witness Number in format IEN^WIT
|
---|
219 | ; INFO - Name, Street, City, State, Zip, Date of Witness in
|
---|
220 | ; format, NAME^STREET^CITY^STATE^ZIP
|
---|
221 | ; COMMENT - Text of Witness comment
|
---|
222 | ; Output:RESULTS - String listing result of update.
|
---|
223 | N DA,DIE,DR,NAME,STREET,CITY,STATE,ZIP,WITDATE,IEN,WITNO
|
---|
224 | S RESULTS(0)="EDIT FAILED"
|
---|
225 | S IEN=$P($G(INPUT),U)
|
---|
226 | S WITNO=$P($G(INPUT),U,2)
|
---|
227 | I '$D(^OOPS(2260,IEN,"CA1W",WITNO,0)) Q
|
---|
228 | S DA(1)=IEN,DR=""
|
---|
229 | S DA=WITNO
|
---|
230 | S DIE="^OOPS(2260,"_DA(1)_",""CA1W"","
|
---|
231 | S NAME=$P($G(INFO),U)
|
---|
232 | S STREET=$P($G(INFO),U,2)
|
---|
233 | S CITY=$P($G(INFO),U,3)
|
---|
234 | S STATE=$P($G(INFO),U,4)
|
---|
235 | S ZIP=$P($G(INFO),U,5)
|
---|
236 | S WITDATE=$P($G(INFO),U,6)
|
---|
237 | S DR(1,2260.0125,1)=".01///^S X=NAME"
|
---|
238 | S DR(1,2260.0125,2)="1///^S X=STREET"
|
---|
239 | S DR(1,2260.0125,3)="2///^S X=CITY"
|
---|
240 | S DR(1,2260.0125,4)="3///^S X=STATE"
|
---|
241 | S DR(1,2260.0125,5)="4///^S X=ZIP"
|
---|
242 | S DR(1,2260.0125,6)="5///^S X=WITDATE"
|
---|
243 | D ^DIE
|
---|
244 | S DR="6///^S X=COMMENT"
|
---|
245 | D ^DIE
|
---|
246 | S RESULTS(0)="EDIT SUCCESSFULL"
|
---|
247 | Q
|
---|