Produced by Araxis Merge on 11/9/2018 12:34:13 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 | CHMXV001B.m | Mon Nov 5 16:40:06 2018 UTC |
2 | CPEE_Build9_Sprint27.zip\HAC_CPE_CH | CHMXV001B.m | Mon Nov 5 17:53:33 2018 UTC |
Description | Between Files 1 and 2 |
|
---|---|---|
Text Blocks | Lines | |
Unchanged | 2 | 426 |
Changed | 1 | 4 |
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 | CHMXV001B ;HAC /jsg/jbm;V ENDOR IDEN TIFICATION DRIVER (H EALTH CARE CLAIMS);0 4/03/09 10 :10 AM | |
2 | ;; 1;AUTO VEN DOR SELECT ION;;Dec 2 1,2009;Bui ld 4 | |
3 | ;D EV002841-0 2;AUTO VEN DOR SELECT ION PROCES S for EDI/ OCR Claims ; | |
4 | ; 3/28/2012 DLB SET TH E CHNTT FL AG TO -1 TO INHIBIT SAVING TH E VENDOR L IST TO ^CH MIMAGE(I,1 00 | |
5 | ; 0 TEST MODE : WRITES T HE LIST TO IO, INHIB ITS SAVING TO ^CHMIM AGE(I,100 | |
6 | ; 1 PROD MOD: SAVES THE VENDOR LI ST TO ^CHM IMAGE(I,10 0 | |
7 | ; MTN016194- 01 09-20-1 2 jeh; Upd ate "Claim Check Pro cessing Er ror" distr ibution li st | |
8 | Q ; MU ST CALL A FUNCTION E NTRY POINT WITHIN TH IS ROUTINE | |
9 | ; | |
10 | ; | |
11 | QUEUES ; Entry poin t to cycle through P DIs in the AVS queue s (VEN-EDI ,VEN-OCR2) in global ^CHMIMG. | |
12 | Q:$D (^CHMZHOLD ("AVS-RUNN ING")) ; Alre ady runnni ng | |
13 | S ^C HMZHOLD("A VS-RUNNING ")="" ; Se t running flag | |
14 | N CH WEBFLG,CHW EBERR ; Web service fl ag and err or placeho lder | |
15 | S CH WEBFLG=1,C HWEBERR="" ,CHAVSPDI= "" ; Assumes th e web serv ice is wor king | |
16 | FOR CHQUE="VEN -EDI","VEN -OCR2" { | |
17 | S CHPD I=0 | |
18 | S CHNT T=1 ; CH NTT=1 stor e AVS resu lt in CHMI MAGE(I,100 ); -1 inhi bits store DLB 3/29/ 2012 | |
19 | WHILE $O(^CHMIMG (CHQUE,CHP DI))>0 { | |
20 | S CHPDI= $O(^CHMIMG (CHQUE,CHP DI)) | |
21 | I CHWEBF LG=1 S STA TUS=$$AVSp di(CHPDI,C HNTT,.CHAV SERR) ; On ly call if web servi ce has no errors rec eived, oth erwise it blow by we b service and load i nto edi/oc r queue | |
22 | I STATUS =99&(CHWEB FLG=1) S C HWEBFLG=0, CHWEBERR=C HAVSERR ; Tr aps first Web servic e error | |
23 | D QUpdat e(CHPDI) | |
24 | } | |
25 | } | |
26 | K ^C HMZHOLD("A VS-RUNNING ") ; Killing ru nning job node when finished | |
27 | I CH WEBFLG=0 { ; ERRO R OCCURRED IN THE AV Spdi WEB S ERVICE FUN CTION | |
28 | D VMAI L ; Send o ut an mail man for fi rst webser vice found during ru n | |
29 | S $ZE= CHWEBERR ; trig ger an err or in the error trap | |
30 | D ^%ZT ER | |
31 | } | |
32 | Q | |
33 | ; | |
34 | ; | |
35 | REPROCESS ; En try point to run all PDI'S fro m the EDI queue and OCR queue. | |
36 | N CH WEBFLG,CHW EBERR ; We b service flag and e rror place holder | |
37 | S CH WEBFLG=1,C HWEBERR="" ; As sumes the web servic e is worki ng | |
38 | FOR CHQUE="OCR -READY","O CR2-READY" { | |
39 | S CHPD I=0 | |
40 | S CHNT T=1 ; CH NTT=1 stor e AVS resu lt in CHMI MAGE(I,100 ); -1 inhi bits Store DLB 3/29/ 2012 | |
41 | WHILE $O(^CHMIMG (CHQUE,CHP DI))>0 { | |
42 | S CHPDI= $O(^CHMIMG (CHQUE,CHP DI)) | |
43 | I CHWEBF LG=1 S STA TUS=$$AVSp di(CHPDI,C HNTT,.CHAV SERR) ; On ly call if web servi ce has no errors rec eived, oth erwise it blow by we b service and load i nto edi/oc r queue | |
44 | I STATUS =99&(CHWEB FLG=1) S C HWEBFLG=0, CHWEBERR=C HAVSERR ; Tr aps first Web servic e error | |
45 | } | |
46 | } | |
47 | I CHWEBFLG= 0 { | |
48 | D VM AIL ; Send out an ma ilman for first webs ervice fou nd during run | |
49 | S $Z E=CHWEBERR ; tr igger an e rror in th e error tr ap | |
50 | D ^% ZTER | |
51 | } | |
52 | Q | |
53 | ; | |
54 | ; | |
55 | TEST ; | |
56 | N IN PDI,ERROR, RETVAL,XX | |
57 | X ^% ZOSF("ZSET WIDE") S X =132 X ^%Z OSF("RM") | |
58 | TEST1 | |
59 | W # | |
60 | W "********* ********** ********** ******" | |
61 | W !,"* A V S Testi ng Utility *" | |
62 | W !,"*Test O NLY - No u pdates to system *" | |
63 | W !, "********* ********** ********** ******" | |
64 | R !! ,"Enter PD I: ",INPDI :120 | |
65 | Q:IN PDI="" | |
66 | S RE TVAL=$$AVS pdi(INPDI, 0,.CHAVSER R) | |
67 | I RE TVAL=99 { | |
68 | W !!," AVS-ERROR: "_CHAVSER R | |
69 | } | |
70 | R !! ,?30,"<Ret urn to con tinue>",XX :60 | |
71 | G TE ST1 | |
72 | ; | |
73 | ; | |
74 | AVSpdi(PDI ,CHNTT,AVS ERR) ; Auto V ender sele ction call for a giv en PDI | |
75 | ; AV Spdi - Ret urns a sta tus 0 - Un succesful, not able to return selected v endors | |
76 | ; 1 - Succ essful, ab le to retu rn selecte d vendors) | |
77 | ; 99 - We b Service Error - Er ror discri ption retr uned varia ble set to parameter 3) | |
78 | ; | |
79 | ; Pa rmeter 1 ( Input): PD I | |
80 | ; Pa rmeter 2 ( Input): CH NTT - Test ing/Prod f lg...displ ay data as it runs | |
81 | ; Se t to 0 - T esting | |
82 | ; Se t to 1 - P rod - Stor e selected vendors t o ^CHMIMAG E(CHPDI,10 0) (AVS no de) | |
83 | ; Set to -1 - Pr od - inhib it storing the selec ted vendor s to ^CHMI MAGE(CHPDI ,100) DLB 3/29/2012 | |
84 | ; Pa rameter 3 (Output): variable p lace holde r for Retr un Error f rom AVS (c ache error or Web se rvice erro r) | |
85 | ; | |
86 | S:'$ D(CHNTT) C HNTT=0 ; If T est/Prod f lag is nul l set to z ero | |
87 | S:(C HNTT'=1 & CHNTT'=-1) CHNTT=0 ; Mu st send a 1 OR -1, e lse consid ered test DLB 3/29/ 2012 | |
88 | S $Z T="AVSERR^ CHMXV001" ;Error traps cat ches anyth ing within this func tion and b elow | |
89 | S U= "^" | |
90 | N RE T,PMT | |
91 | S RE T=0,AVSERR ="" | |
92 | IF $ $GetBillTo PosData(PD I,.PA,.P2P A,.SLA) { | |
93 | S:$P(P 2PA,"^",1) ="" P2PA=P A | |
94 | W:CHNT T=0 !!,"CH MXV001B TE ST CODE" | |
95 | W:CHNT T=0 !!,"P2 PA= ",P2PA | |
96 | W:CHNT T=0 !!,"SL A = ",SLA | |
97 | W:CHNT T=0 !!,"So urce Claim : ",!,"TIN : Remit Address : Physica l Zip : Fa cility Typ e" | |
98 | W:CHNT T=0 !,$P(P 2PA,U,1),? 14," : "_$ P(P2PA,U,2 )_" : "_$T R($P(P2PA, U,3,7),"^" ,",")_" : "_$P(SLA,U ,7)_" : "_ $P(P2PA,U, 9) | |
99 | S NPI C=$$Reques t^CHMXV012 (P2PA,SLA, PDI,.PICKE D) ;Auto S elect | |
100 | IF CH NTT=0 { ;**** FO R TESTING ONLY when CHNTT=0 ** ** ; | |
101 | W !!,"Total Selected b y ILOG: ", NPIC | |
102 | IF NPIC>0 { | |
103 | W !,"--- ---------- ---------- ---------- - " S V=0 | |
104 | WHILE $O(PICKED( V))>0 { | |
105 | S V=$O(P ICKED(V)) | |
106 | ;W !,V,? 8,": ",PIC KED(V,1),! ,?10,PICKE D(V,2) | |
107 | W !,$P(P ICKED(V,1) ,U)_"-"_$P ($G(^CHMVE N(V,0)),"^ ",23),?14, " : "_$P(P ICKED(V,1) ,U,2)_" : ",$TR($P(P ICKED(V,1) ,U,3,7),"^ ",",")_" : "_$P(PICK ED(V,2),U, 7)_" : "_$ P(PICKED(V ,1),U,9) | |
108 | } | |
109 | } | |
110 | } ;**** END OF TES TING ONLY SECTION ** ** ; | |
111 | IF NP IC>0 { ;Sav e Auto Sel ected vend or(s) and cleanup | |
112 | D:CH NTT>0 SAVE ^CHMXV002( PDI,NPIC,. PICKED) ;Put p icked to ^ CHMIMAGE; CHNTT>0 AL LOWS, ELSE INHIBIT D LB 3/29/20 12 | |
113 | S RET= 1 | |
114 | K PTIN,P2TI N,PICKED,N PIC ;Clean TIN s & picked arrays | |
115 | } | |
116 | } | |
117 | Q RE T ; Assu me success ful for no w | |
118 | ; | |
119 | GetBillToP osData(PDI ,PA,P2PA,S LA) | |
120 | ; PDI CURRENT PDI NUMBER BEING PRO CESSED | |
121 | ; PA MODIFIAB LE VARIABL E RETURNED W/PROVIDE R ADDRESS | |
122 | ; P2PA MODIFI ABLE VARIA BLE RETURN ED W/PAY T O PROVIDER DATA | |
123 | ; SLA MODIFIAB LE VARIABL E RETURNED W/SERVICE LOCATION ADDRESS | |
124 | ; Th is pulls t he Provide r, Pay-To- Provuider, and Servi ce/POS add ress infor mation | |
125 | ; fr om either OCR or the EDI elect ronic subm issions | |
126 | N RE T,PTRS,ADD R | |
127 | S (P A,P2PA,SLA ,ADDR)="" | |
128 | S RE T=0 | |
129 | I PD I="" Q RET | |
130 | S PT RS=$G(^CHM IMAGE(PDI, "BUFF")) I PTRS="" Q RET | |
131 | W:CH NTT=0 !,"T YPE= ",$P( PTRS,"^",1 )," A=",$P (PTRS,U,3) ," B=",$P( PTRS,U,4), " C=",$P(P TRS,U,5)," E=",$P(PTR S,U,6) | |
132 | IF $ P(PTRS,"^" ,1)="OCR" { | |
133 | N BT,P OS,NM,SLAD ATA,P2PADA TA | |
134 | IF $D( ^CHMIMAGE( PDI,200))& ($D(^CHMIM AGE(PDI,20 1))) { | |
135 | S BT=^CH MIMAGE(PDI ,200,1,0) ; Re ad the OCR "Bill To" data | |
136 | s POS=^C HMIMAGE(PD I,201,1,0) ; read the O CR "Place Of Service " Data | |
137 | S NM=$P( BT,U,5) ; Orga nization N ame | |
138 | I NM="" S NM=$P(BT ,U,2) S:NM ]"" NM=NM_ " " S:$P(B T,U,4)]"" NM=NM_$P(B T,U,4) S N M=NM_" "_$ P(BT,U,3) | |
139 | S P2PA=$ P(BT,U,1)_ U_NM_U_$P( BT,U,6,10) ; OCR BILL TO TIN^NA ME^ADDR1^A DDR2^CITY^ STATE^ZIP | |
140 | S NM=$P( POS,U,5) ; POS ORGANIZATI ON NAME | |
141 | I NM="" S NM=$P(PO S,U,2) S:N M]"" NM=NM _" " S:$P( POS,U,4)]" " NM=NM_$P (POS,U,4) S NM=NM_" "_$P(POS,U ,3) | |
142 | S SLA=$P (POS,U,1)_ U_NM_U_$P( POS,U,6,10 ) ; PLACE OF SERVICE T IN^NAME^AD DR1^ADDR2^ CITY^STATE ^ZIP | |
143 | ;If eith er the Ser vice locat ion data o r Bill-to data is bl ank then s et it to t he other | |
144 | ; Some times the provider o nly sends one. | |
145 | S P2PADA TA=0 F PC= 3:1:$L(P2P A,U) I $P( P2PA,U,PC) '="" S P2P ADATA=1 | |
146 | S SLADAT A=0 F PC=3 :1:$L(SLA, U) I $P(SL A,U,PC)'=" " S SLADAT A=1 | |
147 | S:SLADAT A=1&(P2PAD ATA=0) P2P A=SLA ; POS DATA P OPULATED, NO BILL TO DATA | |
148 | S:SLADAT A=0&(P2PAD ATA=1) SLA =P2PA ; BILL TO DA TA POPULAT ED, NO POS DATA | |
149 | S PA=P2P A ; Provid er should be same as Pay to (P 2PA) for O CR | |
150 | S RET=1 | |
151 | } | |
152 | } | |
153 | ELSE { ; 50 10 EDI PRO VIDER/PAY TO PROVIDE R FOR BILL ING PURPOS ES | |
154 | S CLAP =$P(PTRS,U ,3),CLBP=$ P(PTRS,U,4 ),CLCP=$P( PTRS,U,5), CLEP=$P(PT RS,U,6) | |
155 | S PTIN =$P($G(^CH MXCLB(CLBP ,0)),U,2) ;Get PRO VIDER TIN (LOOP 2010 AA) | |
156 | S PNA M=$P($G(^C HMXCLB(CLB P,0)),U,3) ;Get PR OVIDER LNA ME (LOOP 2 010AA) | |
157 | S PNP I=$P($G(^C HMXCLB(CLB P,0)),U,13 ) ;Get PRO VIDER SECO NDARY ID ( LOOP 2010A A) | |
158 | ;Get address: 1 RST CHOICE LOOP2010A B (PAY TO PROVIDER), DEFAULT:L OOP 2010AA (PROVIDER ) | |
159 | S ADD R=$$GetAdd r(CLBP) ;PREFER Pay To Pr ovider add r (LOOP 20 10AB) | |
160 | ;Get Place of S ervice Cod e (EDI) | |
161 | S EOF =$P($G(^CH MXCLA(CLAP ,80)),U,7) ;Get ED I/OCR Flag | |
162 | S POS TOB=$P(^CH MXCLE(CLEP ,0),U,4) ;Get Pla ce of Serv ice/TOB fi eld | |
163 | S POS TOBQ=$P(^C HMXCLE(CLE P,0),U,5) ;Get PSO TOB Qualif ier | |
164 | S VFT =POSTOB_U_ POSTOBQ ;POSTOB and quali fier | |
165 | S SLA =SLA_U_VFT _EOF ;POS /TOB+POS/T OB QUAL+ED I/OCR FLAG | |
166 | S PA= PTIN_U_PNA M_U_ADDR_U _VFT ; SET UP R ESULTS FOR "PROVIDER "/"PAY TO PROVIDER" | |
167 | S SLA =PA ; SE T UP SERVI CE LOCATIO N DATA | |
168 | S P2P A=PA,RET=1 ; ON LY 1 CORRE CT ANSWER FOR EDI | |
169 | } | |
170 | Q RE T | |
171 | ; ; | |
172 | GetAddr(CL P) ;Get PAY-TO PR OVIDER OR PROVIDER A DDRESS ; R ETURNS "^" DELIMITED STRING FO R ADDRESS | |
173 | ; CLP "I" IN DEX TO ^CH MXCLB (PR OVIDER BUF FER) | |
174 | N PA | |
175 | S (PA)="" | |
176 | S PA=$P($G(^ CHMXCLB(CL P,1)),U,3) ; "PAY T O PROVIDER " ADDRESS LINE 1 | |
177 | I PA'="" { ; IF "PAY TO P ROVIDER" P OPULATED U SE IT (LOO P 2010AB) | |
178 | S PA =$P($G(^CH MXCLB(CLP, 1)),U,3,8) ; "PAY T O PROVIDER " ADDRESS LINE 1:2,C ITY,STATE, ZIP,COUNTR Y | |
179 | W:CH NTT=0 !,"P AY TO PROV IDER ADDRE SS: ",PA | |
180 | } | |
181 | EL SE { ; NO "PAY TO P ROVIDER DA TA", USE " PROVIDER" DATA | |
182 | S PA =$P($G(^CH MXCLB(CLP, 0)),U,4,9) ; "PROVI DER" ADDRE SS LINE 1: 2,CITY,STA TE,ZIP,COU NTRY | |
183 | W:CH NTT=0 !,"P ROVIDER AD DRESS: ",P A | |
184 | } | |
185 | Q PA | |
186 | ; | |
187 | ; | |
188 | QUpdate(CH PDI) | |
189 | I $D (^CHMIMG(" VEN-EDI",C HPDI)) S ^ CHMIMG("OC R-READY",C HPDI)="" K ^CHMIMG(" VEN-EDI",C HPDI) | |
190 | I $D (^CHMIMG(" VEN-OCR2", CHPDI)) S ^CHMIMG("O CR2-READY" ,CHPDI)="" K ^CHMIMG ("VEN-OCR2 ",CHPDI) | |
191 | Q | |
192 | ; | |
193 | ; | |
194 | AVSERR ; Error trap for the w eb sevice | |
195 | ;N E rr | |
196 | I $G (%objlaste rror)]"" D Decompose Status^%ap iOBJ(%objl asterror,. Err) ; e xtract the error mes sage | |
197 | S:$G (CHAVSPDI) ="" CHAVSP DI=$G(PDI) | |
198 | S CH AVSERR="Er ror on PDI : "_CHAVSP DI_" - "_$ ZE | |
199 | S:$D (Err) CHAV SERR=CHAVS ERR_" : "_ $G(Err(Err )) | |
200 | Q 99 ; this indicates issues wi th the web service | |
201 | ; | |
202 | ; | |
203 | VMAIL ; Mails out WEB servic e error | |
204 | K ^U TILITY($J, "AVS-ERR") | |
205 | S ^U TILITY($J, "AVS-ERR", 1,1,0)="Au to Vendor Web Servic e Error:" | |
206 | S ^U TILITY($J, "AVS-ERR", 1,2,0)=" " | |
207 | S ^U TILITY($J, "AVS-ERR", 1,3,0)=CHW EBERR | |
208 | S XM DUZ=.5,XMS UB="Cache - AVS Web service ER ROR" | |
209 | S XM TEXT="^UTI LITY($J,"" AVS-ERR"", 1," | |
210 | S XM Y=("G.EDI TECH GROUP ") | |
211 | S XMY(" PII ")="" ; MTN01619 4-01 09-20 -12 jeh | |
212 | S XMY(" PII ")="" ; MTN01619 4-01 09-20 -12 jeh | |
213 | S U= "^" D ^XMD | |
214 | Q | |
215 |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.