Produced by Araxis Merge on 11/9/2018 12:34:12 AM Central Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
# | Location | File | Last Modified |
---|---|---|---|
1 | CPEE_Build9_Sprint27.zip\HAC_CPE_CH | CHMXRP22.m | Mon Nov 5 16:40:04 2018 UTC |
2 | CPEE_Build9_Sprint27.zip\HAC_CPE_CH | CHMXRP22.m | Fri Nov 9 03:34:18 2018 UTC |
Description | Between Files 1 and 2 |
|
---|---|---|
Text Blocks | Lines | |
Unchanged | 3 | 894 |
Changed | 2 | 8 |
Inserted | 0 | 0 |
Removed | 0 | 0 |
Whitespace | |
---|---|
Character case | Differences in character case are significant |
Line endings | Differences in line endings (CR and LF characters) are ignored |
CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
1 | CHMXRP22 ;JBM /HIPAA Rea dy;SXC Cla im Reversa l Driver;1 2/03/2007 14:21 AM | |
2 | ;; V1.0;;;;Bu ild 15 | |
3 | ; ; | |
4 | ;H R-PBM-PHAS E 1-Begin JBM | |
5 | ;N ew routine for SXC R eversals | |
6 | EPAUTO ;C ALLED FROM CHMXWT1 ( Wait Routi ne) | |
7 | ;E nters in w ith CHFILE defined. | |
8 | S $ZT="ERROR " | |
9 | D INIT | |
10 | D LOADFL | |
11 | ; PROCESS ro utine is c alled from error tra p after re aching the EOF see " Error" FUN CTION | |
12 | Q | |
13 | ; | |
14 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;; | |
15 | ; TEST ENTRY POINT tHI S ENTRY WI LL PROMPT USER FOR F ILES TO US E, THEN | |
16 | ; USES THE S AME FUNCTI ONS A S TH E PRODUCTI ON ENTRY P OINT TO PR OCESS THE CLAIM | |
17 | ; REVERSALS. | |
18 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;; | |
19 | ; | |
20 | EP ;E ntry Point to run ma nually - P RODUCTION should be run VIA EP AUTO. | |
21 | S $ZT="ERROR " | |
22 | D GETFILE Q: POP | |
23 | D INIT | |
24 | D LOADFL | |
25 | ;P ROCESS rou tine is ca ll after r eaching th e EOF see "Error" FU NCTION | |
26 | Q | |
27 | INIT ; INITIALIZE THE FILEM AN VARIABL ES | |
28 | S: '$D(DUZ) D UZ=1,DUZ(0 )="" I '$D (DT) S %DT ="",X="T" D ^%DT S D T=Y | |
29 | S: '$D(IOZFO) IOZFO="^^ " S:'$D(IO ZBK) IOZBK ="^" S:'$D (DTIME) DT IME=60 | |
30 | I '$D(IOZ) S %ZIS="N", IOP="HOME" D HOME^%Z IS S IOZ=I O,IOZL=IOS L,IOZW=IOM ,IOZF=IOF, IOZT=IOST, IOZN=ION,I OZS=IOS | |
31 | S POP=0 | |
32 | K ^CHMZHOLD( $J),^CITIR EV($J),DBG REV | |
33 | D NOW^%DTC | |
34 | S CHDDMMYY=$ E(%,2,7) | |
35 | Q | |
36 | LOADFL ; LOAD T HE DATA FR OM THE FIL E INTO THE ^CHMXHOLD ARRAY | |
37 | O CHFILE:"R" :1 | |
38 | S RESULT=$T | |
39 | I 'RESULT Q | |
40 | U CHFILE | |
41 | F SEQ=1:1 D | |
42 | .R REC | |
43 | .Q :REC="" | |
44 | .Q :REC["XXXX XXXX" | |
45 | .S ^CHMZHOLD ($J,"SXC_R EVERSAL",S EQ)=REC | |
46 | Q | |
47 | ; | |
48 | PROCESS ;T HIS FUNCTI ON "PROCES SES THE RE VERSAL CLA IMS. THIS IS CALLED FROM "END- OF-FILE" E RROR TRAP | |
49 | N GTOT,RTOT, GCNT,RCNT, CHFYARR,CH RPDT,IDX | |
50 | S GTOT=0,GCN T=0,RTOT=0 ,RCNT=0,CH RPDT="" | |
51 | O CHFILE2:"N WS":1 | |
52 | S RESULT=$T | |
53 | I 'RESULT Q | |
54 | S SEQ="" | |
55 | F IDX=1:1 S SEQ=$O(^CH MZHOLD($J, "SXC_REVER SAL",SEQ)) Q:SEQ="" D | |
56 | .S DATA=$G(^ CHMZHOLD($ J,"SXC_REV ERSAL",SEQ )) | |
57 | .Q :DATA="" | |
58 | .D CHECKREC ; DE TERMINE IF THE CLAIM REVERSAL WAS SUCCES SFUL | |
59 | .I STAT=1 D ; SU CCESSFUL R EVERSAL RE TURNS STAT =1 | |
60 | .. D MAIN^CHM XRP23 | |
61 | .. S:$P(^CHMX RX(CHI,0), "^",8)="Z" ^CITIREV( $J,IDX)=ED IDATA ; IF CITI, SAV E CLM INDI CES FOR EM AIL | |
62 | .D OUTPUT ; RESP ONSE FILE OUTPUT | |
63 | D END ; SHUT DOWN & CL EAN UP OPE RATIONS | |
64 | Q | |
65 | ; | |
66 | CHECKREC ;Th is checks to see if it is a va lid record | |
67 | ;1 - Claim R eversal Su ccessful | |
68 | ;2 - Invalid Claim | |
69 | ;3 - SSN Mis match | |
70 | ;4 - RX Numb er Mismatc h | |
71 | ;5 - Claim P reviously Reversed | |
72 | ;6 - Claim N ot Complet e | |
73 | ; checks tha t the ssn /rx number matches R X Batch da ta | |
74 | ; CHECK that it's an S XC claim | |
75 | ; Check to s ee that cl aim is in a complete status... no need to reverse r ejects | |
76 | ; Check to s ee if alre ady revers ed/recoupe d | |
77 | S STAT="" | |
78 | S: CHRPDT="" CHRPDT=$E( DATA,1,8) | |
79 | S INBSSN=$E( DATA,75,83 ) ; MO DIFIED 12/ 21/2011 DL B EXTRACT INDEX: WAS 70,78 | |
80 | S INRXNUM=$E (DATA,17,2 8) ; MODI FIED 12/21 /2011 DLB EXTRACT IN DEX: WAS 1 7,23 | |
81 | S INRXNUM=$$ TRIM^CHTFL IB(INRXNUM ) ; MO DIFIED 12/ 21/2011 DL B REMOVE T RAILING SP ACES | |
82 | S INCLMX=$E( DATA,127,1 46) ; MODI FIED 12/21 /2011 DLB EXTRACT IN DEX: WAS 1 22,141 | |
83 | S INVAMT=+$E (DATA,147, 154) ; MODI FIED 12/21 /2011 DLB EXTRACT IN DEX: WAS 1 42,149 | |
84 | S INCLM=$P(D ATA,"/",2) | |
85 | D DEBUG("CHM XRP22: CHE CKREC: CLM #: ",INCLM ) | |
86 | S: $E(INCLM,1 ,3)="CHV" INCLM=$E(I NCLM,($L(I NCLM)-6),$ L(INCLM)) ; FIRST 3 LETTERS AR E CHAMPVA ID: "CHV" | |
87 | D DEBUG("CHM XRP22: CHE CKREC: EXT RACTED CLM #: ",INCLM ) | |
88 | I INCLM="" S STAT=2 Q | |
89 | S X1=0,X1=$O (^CHMINDEX ("B",INCLM ,X1)) ; MASTER C LAIM INDEX FILE: "I" VALUE FOR CLAIM NUM BER | |
90 | D DEBUG("CHM XRP22: CHM INDEX(""B" ",INCLM,X1 )= ",X1) | |
91 | I X1="" S ST AT=2 Q | |
92 | S OCPT=X1 | |
93 | D PROGTYP^CH FCD001 | |
94 | S CHEDI=$O(@ (GLPAY_"OC PT,""ZEMC" ",""SXC"", """")")) ; UNDOCU MENTED XRE F TO ^CHMP AY() | |
95 | D DEBUG("CHM XRP22: CHE CKREC: CHE DI= ",CHED I) | |
96 | I CHEDI="" S STAT=2 Q | |
97 | S EDIDATA=$P ($G(@(GLPA Y_"OCPT,"" ZEMC"",""S XC"",CHEDI )")),"^",1 ) | |
98 | D DEBUG("CHM XRP22: CHE CKREC: EDI DATA= ",ED IDATA) | |
99 | I $P(@(GLPAY _"OCPT,0)" ),"^",2)'= "4" S STAT =6 Q ; 4=COMPLE TE; CANNOT REVERSE I NCOMPLETE CLAIM | |
100 | D DEBUG("CHM XRP22: CHE CKREC: CHM PAY= ",$P( $G(@(GLPAY _"OCPT,5)" )),"^",6)) | |
101 | I $P($G(^CHM PAY(OCPT,5 )),"^",6)= "1" S STAT =5 Q ; 1= RESET MCCR RESE T FLAG | |
102 | S CHI=$P(EDI DATA,"*",1 ) | |
103 | S CHJ=$P(EDI DATA,"*",2 ) | |
104 | S CHK=$P(EDI DATA,"*",3 ) | |
105 | I CHI=""!(CH J="")!(CHK ="") S STA T=2 Q | |
106 | D DEBUG("CHM XRX: I^J^K = ",CHI_"^ "_CHJ_"^"_ CHK) | |
107 | S BSSN=$P($G (^CHMXRX(C HI,100,CHJ ,100,CHK,0 )),"^",4) | |
108 | S RXNUM=$P($ G(^CHMXRX( CHI,100,CH J,100,CHK, 1)),"^",1) | |
109 | D DEBUG("CHM XRP22: CHE CKREC: INB SSN/RXNUM= ",BSSN_"^ "_RXNUM) | |
110 | I INBSSN'=BS SN S STAT= 3 Q ; FAIL ED TO MATC H BENE SSN | |
111 | I INRXNUM'=R XNUM S STA T=4 Q ; FA ILED TO MA TCH PRESCR IPTION NUM BER | |
112 | S STAT=1 | |
113 | Q | |
114 | ; | |
115 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;; | |
116 | ; CREATE THE RESPONSE FILE | |
117 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;; | |
118 | ; | |
119 | OUTPUT | |
120 | N PDT,CLM,VA MT,CHKNUM | |
121 | S PDT="",VAM T="",CHKNU M="",CLM=" " | |
122 | I STAT=1 D | |
123 | .S TXDATE=$E ($P(^CHMXR X(CHI,0)," ^",2),1,7) | |
124 | .S VAL=$P(@( GLPAY_"OCP T,0)"),"^" ,10) | |
125 | .S CHFY=$$FY R4^CHTFLIB ($P(VAL,". ",1)) | |
126 | .S YR=$$FMYR ^CHTFLIB(V AL) | |
127 | .S PDT=YR_$E (VAL,4,5)_ $E(VAL,6,7 ) | |
128 | .S CHKNUM=$P ($G(@(GLPA Y_"OCPT,1) ")),"^",16 ) | |
129 | .S CLM=$P($G (@(GLPAY_" OCPT,0)")) ,"^",1) | |
130 | .S VAMT=$FN( $P($G(@(GL PAY_"OCPT, 1)")),"^", 14),"",2) | |
131 | .S RTOT=RTOT +VAMT,RCNT =RCNT+1 | |
132 | .S FYARR(CHF Y)=$G(FYAR R(CHFY))+V AMT | |
133 | S DATA2=$$LJ (CLM,7)_$$ LJ(PDT,8)_ $$RJ(VAMT, 8)_$$LJ(CH KNUM,10)_$ $LJ(STAT,1 ) | |
134 | U CHFILE2 | |
135 | W DATA_DATA2 ,! | |
136 | Q | |
137 | ; | |
138 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; | |
139 | ; CLOSED FIL ES AND KIL L WORKING ARRAYS | |
140 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; | |
141 | ; | |
142 | END ; | |
143 | U CHFILE2 | |
144 | W !,"/////// ////////// / [End Of File - Tot Recoupmen t = $"_$FN (RTOT,"",2 )_" - ("_$ E(CHRPDT,5 ,6)_"/"_$E (CHRPDT,7, 8)_"/"_$E( CHRPDT,1,4 )_")] //" | |
145 | C CHFILE2 ; CLOSE REPORT FIL E | |
146 | I $D(^CITIRE V($J)) D B LDCITI(RTO T,GTOT,CHR PDT) ; BUILD UTILITY($J ) BODY OF EMAIL FOR CITI | |
147 | E D BLDSXC( RTOT,GTOT, CHRPDT) ; BUILD ^UTI LITY($J)BO DY OF EMAI L FOR SXC | |
148 | K ^CHMZHOLD( $J),^CITIR EV($J) | |
149 | C: $D(DBGREV) DBGREV ; CL OSE DEBUG LOGFILE | |
150 | Q | |
151 | ; | |
152 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;; | |
153 | ; UTILITY FU NCTIONS US ED IN THE REVERSAL P ROCESSING | |
154 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;; | |
155 | ; | |
156 | RJ(VAL,LEN ) ; RIGHT JUSTIFY FU NCTION | |
157 | N X,Y | |
158 | S Y=VAL | |
159 | F X=$L(VAL)+ 1:1:LEN S Y=" "_Y | |
160 | Q Y | |
161 | LJ(VAL,LEN ) ; LEFT J USTIFY FUN CTION | |
162 | N X,Y | |
163 | S Y=VAL | |
164 | F X=$L(VAL)+ 1:1:LEN S Y=Y_" " | |
165 | Q Y | |
166 | ; | |
167 | ERROR ; MUST GET T O END OF F ILE ERROR, THEN PROC ESS THE DA TA RECEIVE D | |
168 | I $ZE["ENDOF FILE" C CH FILE D PRO CESS Q | |
169 | C CHFILE | |
170 | G ^%ET | |
171 | Q | |
172 | ;H R-PBM-PHAS E 1-End | |
173 | ; CONVERT FI LEMAN DATE TO EXTERN AL MM-DD-Y YYY FORMAT | |
174 | DTCVRT(FMD ATE) | |
175 | N EXTDATE | |
176 | S EXTDATE=$E (FMDATE,4, 5)_"-"_$E( FMDATE,6,7 )_"-"_($E( FMDATE,1,3 )+1700) | |
177 | Q EXTDATE | |
178 | ; | |
179 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ; | |
180 | ; BLDSXC LOA DS THE ^UT ILITY ARRA Y WITH THE INFORMATI ON TO BE S ENT VIA MA ILMAN | |
181 | ; FOR THE RE VERSAL PRO CESSES (SX C, CITI) | |
182 | ; VARIABLE D ESCRIPTION S: | |
183 | ; RTOT REVERS AL TOTAL F OR THIS CL AIM REVERS AL FILE | |
184 | ; GTOT GRAND TOTAL OF C LAIMS $$ | |
185 | ; CHRPDT DATE O F PROCESSI NG | |
186 | ; CHFY FISCAL YEAR TOTA LS $$ | |
187 | ; AMT AMOUNT REVERSED FOR A FISC AL YEAR $$ | |
188 | ; CNT COUNTE R USED TO INDEX THE ^UTILITY($ J) ARRAY | |
189 | ; SUBJECT MAILMA N SUBJECT LINE | |
190 | ; TEXT BODY O F THE MAIL MAN MESSAG E (^UTILIT Y($J, SXC- REV)) | |
191 | ; GROUP MAIL MAN ADDRES S GROUP | |
192 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ; | |
193 | ; | |
194 | BLDSXC(RTO T,GTOT,CHR PDT) | |
195 | N CHFY,AMT,C NT,SUBJECT ,TEXT,GROU P | |
196 | N CHI,CHJ,CH K,UCNT,CLM IDX,MXRXI, NPIARRAY,N PICNT,TVEN DI,TCLMID, TNPI,TAMT, N1,N2,NPIR EC,TESTAMT | |
197 | S (AMT,CNT)= 0,CHFY="" ; INIT THE NEW VARIA BLES | |
198 | K ^UTILITY($ J,"SXC-REV ") | |
199 | S CNT=CNT+1, ^UTILITY($ J,"SXC-REV ",1,CNT,0) ="Tot Reco upment = $ "_$FN(RTOT ,"",2)_" o f $ "_$FN( GTOT,"",2) _" - ("_$E (CHRPDT,5, 6)_"/"_$E( CHRPDT,7,8 )_"/"_$E(C HRPDT,1,4) _")" | |
200 | S CNT=CNT+1, ^UTILITY($ J,"SXC-REV ",1,CNT,0) =" " | |
201 | F S CHFY=$O (FYARR(CHF Y)) Q:CHFY ="" D | |
202 | .S AMT=FYARR (CHFY) | |
203 | .S CNT=CNT+1 ,^UTILITY( $J,"SXC-RE V",1,CNT,0 )="Fiscal Year "_CHF Y_": "_"$ "_$FN(AMT, "",2) | |
204 | S CNT=CNT+1, ^UTILITY($ J,"SXC-REV ",1,CNT,0) =" " | |
205 | S CNT=CNT+1, ^UTILITY($ J,"SXC-REV ",1,CNT,0) ="Please i nitiate ap propriate recoupment procedure s." | |
206 | S CNT=CNT+1, ^UTILITY($ J,"SXC-REV ",1,CNT,0) =" " | |
207 | S CNT=CNT+1, ^UTILITY($ J,"SXC-REV ",1,CNT,0) =" E N D - O F - R E P O R T " | |
208 | S SUBJECT="S XC Recoupm ent Notice ",TEXT="^U TILITY($J, ""SXC-REV" ",1,",GROU P="G.EDI T ECH GROUP" | |
209 | D VMAIL(SUBJ ECT,TEXT,G ROUP) | |
210 | Q | |
211 | ; | |
212 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;; | |
213 | ; BUILD THE ^UTILITY($ J) ARRAY F OR CITI RE VERSALS & SEND EMAIL | |
214 | ; RTOT REVERS AL TOTAL F OR THIS CL AIM REVERS AL FILE | |
215 | ; GTOT GRAND TOTAL OF C LAIMS $$ | |
216 | ; CHRPDT DATE O F PROCESSI NG | |
217 | ; CHFY FISCAL YEAR TOTA LS $$ | |
218 | ; AMT AMOUNT REVERSED FOR A FISC AL YEAR $$ | |
219 | ; CNT COUNTE R USED TO INDEX THE ^UTILITY($ J) ARRAY | |
220 | ; SUBJECT MAILMA N SUBJECT LINE | |
221 | ; TEXT BODY O F THE MAIL MAN MESSAG E (^UTILIT Y($J, SXC- REV)) | |
222 | ; GROUP MAIL MAN ADDRES S GROUP | |
223 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;; | |
224 | ; | |
225 | BLDCITI(RT OT,GTOT,CH RPDT) | |
226 | N CHFY,AMT,C NT,NTAB,SU BJECT,TEXT ,GROUP | |
227 | N CHI,CHJ,CH K,UCNT,CLM IDX,MXRXI, NPIARRAY,N PICNT,TVEN DI,TCLMID, PAYI,TNPI, TAMT,N1,N2 ,NPIREC,TE STAMT | |
228 | S (AMT,CNT,N PICNT)=0,C HFY="",NTA B=" " ; IN IT THE NEW VARIABLES | |
229 | K ^UTILITY($ J,"SXC-REV ") | |
230 | ;S CNT=CNT+1 ,^UTILITY( $J,"SXC-RE V",1,CNT,0 )="Tot Rec oupment = $"_$FN(RTO T,"",2)_" of $ "_$FN (GTOT,"",2 )_" - ("_$ E(CHRPDT,5 ,6)_"/"_$E (CHRPDT,7, 8)_"/"_$E( CHRPDT,1,4 )_")" | |
231 | ;S CNT=CNT+1 ,^UTILITY( $J,"SXC-RE V",1,CNT,0 )=" " | |
232 | ;F S CHFY=$ O(FYARR(CH FY)) Q:CHF Y="" D | |
233 | .; S AMT=FYAR R(CHFY) | |
234 | .; S CNT=CNT+ 1,^UTILITY ($J,"SXC-R EV",1,CNT, 0)="Fiscal Year "_CH FY_": "_"$ "_$FN(AMT ,"",2) | |
235 | S CNT=CNT+1, ^UTILITY($ J,"SXC-REV ",1,CNT,0) =" " | |
236 | S CNT=CNT+1, ^UTILITY($ J,"SXC-REV ",1,CNT,0) ="Please i nitiate ap propriate recoupment procedure s for the following CITI Pharm acy claims sent by S XC on "_$E (CHRPDT,5, 6)_"/"_$E( CHRPDT,7,8 )_"/"_$E(C HRPDT,1,4) _")" | |
237 | S CNT=CNT+1, ^UTILITY($ J,"SXC-REV ",1,CNT,0) =" " | |
238 | S CLMIDX=0 F S CLMIDX =$O(^CITIR EV($J,CLMI DX)) Q:CLM IDX="" D ; GET CLM REVERSAL I NDICES | |
239 | . S MXRXI=^C ITIREV($J, CLMIDX),CH I=$P(MXRXI ,"*",1),CH J=$P(MXRXI ,"*",2),CH K=$P(MXRXI ,"*",3) | |
240 | . S TVENDI=$ P(^CHMXRX( CHI,100,CH J,2),"^",1 ) ; PT R TO ^CHMV EN() VENDO R ID | |
241 | . S PAYI=$P( ^CHMXRX(CH I,100,CHJ, 100,CHK,2) ,"^",1) ; CH AMPVA CLAI M ID | |
242 | . S TCLMID=$ P(^CHMPAY( PAYI,0),"^ ",1) ; CHAM PVA CLAIM ID->CHMPAY CLAIM NUM BER | |
243 | . S TNPI=$P( ^CHMVEN(TV ENDI,1),"^ ",19) ; VEND OR NPI VAL UE ^CHMVEN (I,1),"^", 19 | |
244 | . S TAMT=$P( ^CHMXRX(CH I,100,CHJ, 100,CHK,1) ,"^",4) ; TO TAL AMOUNT DUE | |
245 | . S NPICNT=N PICNT+1,NP IARRAY(TNP I,NPICNT)= TNPI_U_TCL MID_U_TAMT ; BUILD NP I ARRAY FO R SORT(LOW TO HIGH) | |
246 | . I $G(TNPI) ']"" D DEB UG("VMAIL2 : NPI not defined fo r BATCH [" ,CHI_"]") | |
247 | . D DEBUG("N PIARRAY: ^ CHMXRX:"_C HI_",100," _CHJ_",100 ,"_CHK_",2 )=NPI^CLAI M ID^AMOUN T: ",TNPI_ "^"_TCLMID _"^"_TAMT) | |
248 | I '$D(NPIARR AY) D DEBU G("NPIARRA Y NOT DEFI NED; we ha ve a probl em","") Q | |
249 | S N1=0 F S N1=$O(NPIA RRAY(N1)) Q:N1']"" D ;NEE D TWO LOOP S TO ENSUR E MULTIPLE PHARMACY #s HANDLED | |
250 | . S N2=0 F S N2=$O(NP IARRAY(N1, N2)) Q:'N2 D | |
251 | . . S NPIREC =NPIARRAY( N1,N2) | |
252 | . . S TESTAM T=$P(NPIRE C,"^",3) I $E(TESTAM T,1)'="$" S $P(NPIRE C,"^",3)=" $"_TESTAMT | |
253 | . . S CNT=CN T+1,^UTILI TY($J,"SXC -REV",1,CN T,0)="NPI: " _$P(NPI REC,"^")_N TAB_"CLAIM #: "_$P(NP IREC,"^",2 )_NTAB_"AM OUNT: "_$P (NPIREC,"^ ",3) | |
254 | . . W !,^UTI LITY($J,"S XC-REV",1, CNT,0) | |
255 | S CNT=CNT+1, ^UTILITY($ J,"SXC-REV ",1,CNT,0) =" E N D - O F - R E P O R T " | |
256 | S SUBJECT="C ITI Recoup ment Notic e",TEXT="^ UTILITY($J ,""SXC-REV "",1,",GRO UP="G.CITI EDI REVER SAL" | |
257 | D VMAIL(SUBJ ECT,TEXT,G ROUP) | |
258 | Q | |
259 | ||
260 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;; | |
261 | ; EMAIL UTIL ITIES SEND THE REVER SAL INFORM ATION TO T HE GROUPS DEFINED. T HIS REPLAC ES | |
262 | ; INDIVIDUAL EMAIL ADD RESES THAT REQUIRE O UTLOOK CON NECTIONS | |
263 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;; | |
264 | ; | |
265 | VMAIL(SUBJ ECT,TEXT,G ROUP) | |
266 | D DEBUG("SUB JECT: ",SU BJECT) | |
267 | D DEBUG("GRO UP: ",GROU P) | |
268 | D DEBUG("TEX T: ",TEXT) | |
269 | D DMPUTL(CNT ) ; LOG THE ^UTILITY($ J) CONTENT S | |
270 | S DUZ=.5 ; DEFAULT DU Z | |
271 | S XMDUZ=.5 ; POSTMAN DU Z | |
272 | S XMSUB=SUBJ ECT ; SET SU BJECT LINE FOR EMAIL | |
273 | S XMTEXT=TEX T ; SET TEXT ARRAY FOR BODY OF E MAIL | |
274 | S XMY(GROUP) ="" ; SET TH E GROUP TO RECEIVE E MAIL | |
275 | S U="^" D ^X MD ; SEND IT OFF | |
276 | Q | |
277 | ; | |
278 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;; | |
279 | ; TEST SETUP FOR RUNNI NG THE BLD SXC FUNCTI ON | |
280 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;; | |
281 | ; | |
282 | TSTSXC | |
283 | N RTOT,GTOT, CHRPDT,FYA RR | |
284 | S RTOT=17555 .53,GTOT=3 051.22,CHR PDT=201203 21,FYARR=" " | |
285 | D BLDSXC(RTO T,GTOT,CHR PDT) | |
286 | C: $D(DBGREV) DBGREV | |
287 | K DBGREV | |
288 | Q | |
289 | ; | |
290 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ; | |
291 | ; TEST FILE RETRIEVAL FROM USER FOR TESTIN G THE REVE RSAL PROCE SS | |
292 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ; | |
293 | ; | |
294 | GETFILE ; GETF ILE FUNCTI ON USED FO R TESTING; ALLOWS US ER TO SPEC IFY FILENA MES | |
295 | S POP=0 | |
296 | R "ENTER INP UT FILE NA ME W/EXT: ",INFILE | |
297 | R !,"ENTER O UTPUT FILE NAME W/EX T: ",INFIL E2 | |
298 | I INFILE="" S POP=1 Q | |
299 | I INFILE2="" S POP=1 Q | |
300 | S CHFILE="HA C_HFS$:[KE RMIT.REVER SAL]"_INFI LE | |
301 | S CHFILE2="H AC_HFS$:[K ERMIT.REVE RSAL]"_INF ILE2 | |
302 | Q | |
303 | ; | |
304 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ; | |
305 | ; TEST ENTRY POINT FOR THE BLDCI TI() FUNCT ION | |
306 | ; ^CHMXRX(17 335 NODE I N DEV HAS MULTIPLE C LAIMS SET UP FOR TES TING | |
307 | ; THE REMAIN ING VARIAB LES HAVE B EEN INITIA LIZED TO E NSURE NO C RASHES FOR TEST | |
308 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;; | |
309 | ; | |
310 | TSTCITI | |
311 | N RTOT,GTOT, CHRPDT,FYA RR,CIDX | |
312 | K DBGREV | |
313 | S RTOT=17555 .53,GTOT=3 051.22,CHR PDT=201203 21,FYARR=" " | |
314 | F IDX=1:1 Q: IDX>12 S ^CITIREV($ J,IDX)="17 335*1*"_ID X | |
315 | S CIDX=IDX | |
316 | F IDX=1:1 Q: IDX>2 S ^ CITIREV($J ,CIDX+IDX) ="17336*1* "_IDX | |
317 | D BLDCITI(RT OT,GTOT,CH RPDT) | |
318 | C: $D(DBGREV) DBGREV | |
319 | K DBGREV | |
320 | K ^CITIREV($ J) | |
321 | Q | |
322 | ; | |
323 | ;X XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXX | |
324 | ; THE FOLLOW ING FUNCTI ONS HAVE B EEN OBSOLE TED IN FAV OR OF A MO RE MODULAR APPROACH | |
325 | ; TO BUILDIN G THE VMAI L MESSAGIN G. | |
326 | ;X XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXX | |
327 | ; | |
328 | VMAILX | |
329 | K ^UTILITY($ J,"SXC-REV ") | |
330 | S ^UTILITY($ J,"SXC-REV ",1,1,0)=" Tot Recoup ment = $"_ $FN(RTOT," ",2)_" of $ "_$FN(GT OT,"",2)_" - ("_$E(C HRPDT,5,6) _"/"_$E(CH RPDT,7,8)_ "/"_$E(CHR PDT,1,4)_" )" | |
331 | S ^UTILITY($ J,"SXC-REV ",1,2,0)=" " | |
332 | S CNT=3 | |
333 | S CHFY="" | |
334 | F S CHFY=$O (FYARR(CHF Y)) Q:CHFY ="" D | |
335 | .S AMT=FYARR (CHFY) | |
336 | .S ^UTILITY( $J,"SXC-RE V",1,CNT,0 )="Fiscal Year "_CHF Y_": "_"$ "_$FN(AMT, "",2) | |
337 | .S CNT=CNT+1 | |
338 | S CNT=CNT+1 | |
339 | S ^UTILITY($ J,"SXC-REV ",1,CNT,0) =" " | |
340 | S CNT=CNT+1 | |
341 | S ^UTILITY($ J,"SXC-REV ",1,CNT,0) ="Please i nitiate ap propriate recoupment procedure s." | |
342 | S DUZ=.5 ; DEFAULT DUZ | |
343 | S XMDUZ=.5,X MSUB=SUBJE CT ; POSTMA N DUZ | |
344 | S XMTEXT=TEX T | |
345 | I $$ENVIR^CH TFLIB()="L IVE" S XMY (" PI I
|
|
346 | I $$ENVIR^CH TFLIB()="T ST" S XMY( "
|
|
347 | I $$ENVIR^CH TFLIB()="D EV" S XMY( 450978)="" | |
348 | S U="^" D ^X MD | |
349 | Q | |
350 | ; | |
351 | VMAIL2X | |
352 | N N1,N2,NPIA RRAY,NPICN T,NPIREC | |
353 | N NTAB,TAMT, TPHARMX,TC LMID,TCLMI EN,TNPI,TV ENDI,UCNT | |
354 | S (UCNT,NPIC NT)=0,NTAB =" ",U="^" | |
355 | S TXDATE=$$D TCVRT^CHMX RP22(TXDAT E) | |
356 | K ^UTILITY($ J,"SXC-CIT IREV") | |
357 | S UCNT=UCNT+ 1,^UTILITY ($J,"SXC-C ITIREV",1, UCNT,0)="P lease init iate appro priate rec oupment pr ocedures f or the fol lowing CIT I Pharmacy claims se nt by SXC on "_TXDAT E | |
358 | ;W !,^UTILIT Y($J,"SXC- CITIREV",1 ,UCNT,0) | |
359 | S UCNT=UCNT+ 1,^UTILITY ($J,"SXC-C ITIREV",1, UCNT,0)="" | |
360 | ;W !,^UTILIT Y($J,"SXC- CITIREV",1 ,UCNT,0) | |
361 | ; Note you n eed one fo r loop at the Phamar cy Number #100 | |
362 | ; then you need anoth er LOOP at the EDI C LAIM Multi ple. | |
363 | ; Sort By NP I in ascen ding order | |
364 | S TPHARMX=0 F TPHARMX= $O(^CHMXRX (TBATIEN,1 00,TPHARMX )) Q:TPHAR MX="" D | |
365 | . ;Could you have mult iple pharm acy Number s within t he same ba tch | |
366 | . S TVENDI=$ P(^CHMXRX( TBATIEN,10 0,TPHARMX, 2),"^") | |
367 | . S TCLMIEN= 0 | |
368 | . F S TCLMI EN=$O(^CHM XRX(TBATIE N,100,TPHA RMX,100,TC LMIEN)) Q: 'TCLMIEN D | |
369 | . . S TCLMID =$P(^CHMXR X(TBATIEN, 100,TPHARM X,100,TCLM IEN,0),"^" ) | |
370 | . . S TNPI=$ P(^CHMVEN( TVENDI,1), "^",19) ; VENDOR NPI VALUE ^CH MVEN(D0,1) = P19 | |
371 | . . S TAMT=$ P(^CHMXRX( TBATIEN,10 0,TPHARMX, 100,TCLMIE N,2),"^",1 0) | |
372 | . . S NPICNT =NPICNT+1 | |
373 | . . I $G(TNP I)']"" D D EBUG("VMAI L2: NPI no t defined for BATCH [",TBATIEN _"]") | |
374 | . . S NPIARR AY(TNPI,NP ICNT)=TNPI _U_TCLMID_ U_TAMT | |
375 | . . D DEBUG( "NPIARRAY: ^CHMXRX:" _TBATIEN_" ,100,"_TPH ARMX_",100 ,"_TCLMIEN _",2)=NPI^ CLAIM ID^A MOUNT: ",T NPI_"^"_TC LMID_"^"_T AMT) | |
376 | I '$D(NPIARR AY) D DEBU G("NPIARRA Y NOT DEFI NED in VMA IL3 we hav e a proble m","") Q | |
377 | S N1=0 F S N1=$O(NPIA RRAY(N1)) Q:N1']"" D ;NEE D TWO LOOP S TO ENSUR E MULTIPLE PHARMACY #s HANDLED | |
378 | . S N2=0 F S N2=$O(NP IARRAY(N1, N2)) Q:'N2 D | |
379 | . . S NPIREC =NPIARRAY( N1,N2) | |
380 | . . S TESTAM T=$P(NPIRE C,"^",3) I $E(TESTAM T,1)'="$" S $P(NPIRE C,"^",3)=" $"_TESTAMT | |
381 | . . S UCNT=U CNT+1,^UTI LITY($J,"S XC-CITIREV ",1,UCNT,0 )="NPI: " _$P(NPIREC ,"^")_NTAB _"CLAIM#: "_$P(NPIRE C,"^",2)_N TAB_"AMOUN T: "_$P(NP IREC,"^",3 ) | |
382 | . . ;W !,^UT ILITY($J," SXC-CITIRE V",1,UCNT, 0) | |
383 | S UCNT=UCNT+ 1,^UTILITY ($J,"SXC-C ITIREV",1, UCNT,0)="" | |
384 | ;W !,^UTILIT Y($J,"SXC- CITIREV",1 ,UCNT,0) | |
385 | S UCNT=UCNT+ 1,^UTILITY ($J,"SXC-C ITIREV",1, UCNT,0)=" E N D - O F - R E P O R T " | |
386 | ;W !,^UTILIT Y($J,"SXC- CITIREV",1 ,UCNT,0) ; UTILITY CO NTAINS REV ERSAL INFO | |
387 | I $D(TSTVMAI L2) D DMPU TL(UCNT) | |
388 | S XMDUZ=.5,D UZ=.5,U="^ " ; MAILMA N DUZ, MAK E SURE "U" INITIALIZ ED | |
389 | S XMSUB="CIT I Recoupme nt Notice" ; SU BJECT LINE FOR EMAIL | |
390 | S XMTEXT="^U TILITY($J, ""SXC-CITI REV"",1," ; NPI VALUES FOR REVER SAL | |
391 | I $$ENVIR^CH TFLIB()="L IVE" S XMY (" PI I
|
|
392 | ;I $$ENVIR^C HTFLIB()=" TST" S XMY (" PI I
|
|
393 | I $$ENVIR^CH TFLIB()="T ST" S XMY( "G.EDI TEC H GROUP")= "" ; "TEST" MAIL LIST | |
394 | I $$ENVIR^CH TFLIB()="D EV" S XMY( "G.EDI TEC H GROUP")= "" ; "DEV" MAIL LIST | |
395 | D ^XMD | |
396 | Q | |
397 | ; | |
398 | ;X XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXX | |
399 | ; END OF OBS OLETED VMA IL FUNCTIO NS | |
400 | ;X XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX XXXXX | |
401 | ; | |
402 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;; | |
403 | ; OUTPUT DEB UG STATEME NTS TO A L OGFILE.TXT IN THE TA RGET DIREC TORY FOR T HE | |
404 | ; PRIMARY ST ATUS. THIS FUNCTION USES A PRE VIOUSLY CR EATED IO ( "LOGFILE") , OR | |
405 | ; IF "LOGFIL E" IS NOT DEFINED, O PENS A FIL E AN USES THAT IO FO R DEBUG LO GGING. | |
406 | ; NOTE: THE SXC (PHARM ACY) CLAIM S ALL USE THE SAME O UTPUT DIRE CTORY | |
407 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;; | |
408 | ; EXAMPLE US AGE: D DEB UG("DEBUG OUTPUT= ", VARIABLE) | |
409 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;; | |
410 | ||
411 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;; | |
412 | ; DEBUG LOGG ING ROUTIN E USED TO LOG THE FR ONT END ED IT PROCESS , INCLUDIN G THE | |
413 | ; RECORDS RE AD FROM TH E CLAIM FI LE, THE FU NCTIONS CA LLED TO PE RFORM THE EDITS, | |
414 | ; AND THE LO GGING OF T HE ERRORS ENCOUNTERE D FROM THE EDIT PROC ESS. | |
415 | ; THE INTEND ED USE FOR THIS FUNC TION IS IN THE DEVE LOPMENT OR TEST ENVI RONMENTS | |
416 | ; AND TO ENS URE THAT I T IS NOT E XECUTED IN THE "PROD UCTION" EN VIRONMENT | |
417 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;; | |
418 | ||
419 | DEBUG(STR, VALUE) | |
420 | ; STR A USER P ROVIDED ST RING DESCR IBING THE VALUE (I.E . "RECORD INFORMATIO N=", | |
421 | ; VALUE THE VA LUE TO BE DISPLAYED IN THE LOG FOR THE L OGGING ENT RY. | |
422 | Q: $$ENVIR^CH TFLIB()="L IVE" ; CHECK TH E CURRENT WORKING EN VIRONMENT | |
423 | N TMPIO | |
424 | S TMPIO=$IO ; SAVE THE CURRE NT IO VARI ABLE | |
425 | I '$D(DBGREV ) D ; IF NO LOGFIL E CREATED, CREATE ON E | |
426 | .S DBGREV="H AC_HFS$:[K ERMIT.SXC] DBGREV.TXT " ; TARGET OUTPUT DI R/FILENAME | |
427 | .O DBGREV:"N WS":5 ; DE BUG OUTPUT FILE ; OPEN THE LOGFILE | |
428 | .I $D(CHFIO) U DBGREV W !,"TEST FILE= ",CH FIO ; RECORD THE CLAIM FILE BEIN G LOGGED | |
429 | .U DBGREV W !,"PROCES S ID= ",$J ; RECORD THE PROCESS I D | |
430 | U DBGREV W ! ,STR,VALUE ; OUTPUT LOG GING STATE MENT | |
431 | U TMPIO ; REST ORE TO THE ORIGINAL IO | |
432 | Q | |
433 | ||
434 | USERDUZ | |
435 | S CHMFDUZ=0, CHMFDUZ=$O (^VA(200," B","USER,E DI",CHMFDU Z)) S:CHMF DUZ="" CHM FDUZ=9944 | |
436 | I CHMFDUZ'=9 944 D | |
437 | .I CHMFDUZ=1 1422 S CHF ILE="DLB_" _CHFILE,CH FILE2="DLB _"_CHFILE2 Q ; DA VE B. DUZ | |
438 | Q | |
439 | ||
440 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ; | |
441 | ; UTILITY FU NCTION FOR VERIFYING THE CONTE NTS OF THE ^UTILITY( $J) ARRAY, | |
442 | ; THE BODY O F THE EMAI L (XMTEXT) . | |
443 | ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ; | |
444 | ; | |
445 | DMPUTL(UCN T) | |
446 | N CNT,VALUE | |
447 | F CNT=1:1 Q: CNT>UCNT D | |
448 | .D DEBUG("UT ILITY DUMP ",CNT_": "_$G(^UTIL ITY($J,"SX C-REV",1,C NT,0))) | |
449 | Q | |
450 | ; | |
451 |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.