Produced by Araxis Merge on 11/9/2018 12:33:48 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 | CHICDOL.m | Mon Nov 5 16:42:16 2018 UTC |
2 | CPEE_Build9_Sprint27.zip\HAC_CPE_CH | CHICDOL.m | Mon Nov 5 17:41:19 2018 UTC |
Description | Between Files 1 and 2 |
|
---|---|---|
Text Blocks | Lines | |
Unchanged | 5 | 1234 |
Changed | 4 | 38 |
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 | CHICDOL ;; MJ/HARRIS; ICD-10 Fil e Loads (C MS, Optum, Mapping) | |
2 | ;; V1.0;Jan 2 012;HARRIS TEAM | |
3 | ; | |
4 | ;DEF01654 4 - JSE 7/ 31/15 CONV ERT DECNET TO FTP / ALLOW OLD VMS OPEN/C LOSE NOT T O ERROR | |
5 | ;DEF01655 4 - SBB 9/ 29/15 fix for decnet | |
6 | ; | |
7 | K TYPE | |
8 | GO K AR,SU B | |
9 | S RFILE=$ $MENU(.TYP E,.AR) I R FILE="" Q | |
10 | S WNAME=A R("WNAME") | |
11 | I AR("FIL ETYPE")="O " D Q | |
12 | . S SUB=$ G(AR("FY") )_"_"_$P(R FILE,"]",2 ) S:SUB[". TAB" SUB=$ P(SUB,".TA B") | |
13 | . ;R !,"S tore in Ar ea: ",SUB | |
14 | . O RFILE :("R") | |
15 | . D OPT^C HICDOL | |
16 | . C RFILE | |
17 | I AR("FIL ETYPE")="C " D Q | |
18 | . S SUB=" CMS"_$S(AR ("CODETYPE ")="C":"CM ",1:"PCS") _$S(WNAME[ 2011:2011, WNAME[2012 :2012,1:"2 0XX") | |
19 | . O RFILE :("R") | |
20 | . D CMS^C HICDOL | |
21 | . C RFILE | |
22 | I AR("FIL ETYPE")="M " D Q | |
23 | . ; for n ow, just M apping Too l. | |
24 | . S SUB=" MT"_$S(AR( "CODETYPE" )="C":"CM" ,1:"PCS")_ "2010" | |
25 | . O RFILE :("R") | |
26 | . D MTOOL ^CHICDOL | |
27 | . C RFILE | |
28 | I AR("FIL ETYPE")="R "!(AR("FIL ETYPE")="G ") D Q | |
29 | . S YEAR= 20_$P(RFIL E,20,2)+0 | |
30 | . S SUB=$ S(AR("FILE TYPE")="G" :"GEM",1:" REIMB")_YE AR | |
31 | . S TP=$S (AR("CODET YPE")="C": "CM",1:"PC S") | |
32 | . ; reimb ursement / gem | |
33 | . S RG=AR ("FILETYPE ") | |
34 | . S YEAR= 20_$P(RFIL E,20,2)+0 | |
35 | . D GO^CH ICDML | |
36 | . C RFILE | |
37 | Q | |
38 | ; Load Op tum | |
39 | ;LOPTUM ; | |
40 | ;D INIT K DISPLAY | |
41 | ; loading Optum dat a | |
42 | ;GO F R !,"(B)a se or (C)h ange file: ",BC S BC =$E(BC) Q: "BC"[BC | |
43 | ;S TYPE=$ S(BC="B":1 ,BC="C":2, 1:"") G EX IT:TYPE="" | |
44 | ;S DIR=DI R(TYPE) | |
45 | ;FIL F I=1:1 Q:$G (FILE(TYPE ,I))="" W !,I,") ", FILE(TYPE, I) | |
46 | ;R !,"Cho ice # ",CH G EXIT:CH ="" G FIL: $G(FILE(TY PE,CH))="" | |
47 | ;S FILE=F ILE(TYPE,C H) | |
48 | ;S RFILE= DIR_FILE | |
49 | ;W !,"Ope ning ",FIL E,! | |
50 | ;O RFILE: "R" | |
51 | ;W !,"Rea ding ",FIL E,! | |
52 | ;D STORE | |
53 | ;C RFILE | |
54 | ;G GO | |
55 | ;EXIT Q | |
56 | ;DISPLAY ; | |
57 | ;D INIT S DISPLAY=1 0 | |
58 | ;G GO | |
59 | FILES ; | |
60 | ; obsolet e. Remov e | |
61 | ;;O;Optum CM 2011;C M;OPCM2011 ;D INIT^CH ICDOL S RF ILE=DIR(1) _FILE(1,1) | |
62 | ;;O;Optum PCS 2011; PCS;OPPCS2 011;D INIT ^CHICDOL S RFILE=DIR (1)_FILE(1 ,3) | |
63 | ;;O;Optum CM 2012 F eb 6;CM;OP CM2012F6;C HAMPVA_USE R:[ DNS BRA DNS ]INGENIX_I CD10CM_BAS E_20120101 .TAB;1 | |
64 | ;;O;Optum PCS 2012 Feb 6;PCS; OPPCS2012F 6;CHAMPVA_ USER:[ DNS BRA DNS ]INGENIX_I CD10PCS_BA SE_2012010 1.TAB;1 | |
65 | ;;O;Optum CM 2012 F eb 22;CM;O PCM2012F22 ;CHAMPVA_U SER:[ DNS BRA DNS ]INGENIX_I CD10CM_BAS E_20120101 _2.TAB;1 | |
66 | ;;O;Optum PCS 2012 Feb 22;PCS ;OPPCS2012 F22;CHAMPV A_USER:[ DNS BRA DNS ]INGENIX_I CD10PCS_BA SE_2012010 1_2.TAB;1 | |
67 | ;;C;CMS C M 2011;CM; CMSCM2011; CHAMPVA_US ER:[ DNS GLAZAY]ICD 10CM_ORDER _2011.TXT; 1 | |
68 | ;;C;CMS C M 2012;CM; CMSCM2012; CHAMPVA_US ER:[ DNS GLAZAY]ICD 10CM_ORDER _2012.TXT; 1 | |
69 | ;;C;CMS P CS 2012;PC S;CMSPCS20 12;CHAMPVA _USER:[ DNS GLAZAY]ICD 10PCS_ORDE R_2012.TXT ;1 | |
70 | ;;M;Mappi ng Tool CM #1;CM;MTC M2010V2;D INIT^CHICD OL S RFILE =DIR(3)_FI LE(3,1) | |
71 | ;;M;Mappi ng Tool CM #2;CM;MTC M2010V2;D INIT^CHICD OL S RFILE =DIR(3)_FI LE(3,2) | |
72 | ;;M;Mappi ng Tool CM #3;CM;MTC M2010V2;D INIT^CHICD OL S RFILE =DIR(3)_FI LE(3,3) | |
73 | ;;M;Mappi ng Tool PC S #1;PCS;M TPCS2010V2 ;D INIT^CH ICDOL S RF ILE=DIR(3) _FILE(3,4) | |
74 | ;;M;Mappi ng Tool PC S #2;PCS;M TPCS2010V2 ;D INIT^CH ICDOL S RF ILE=DIR(3) _FILE(3,5) | |
75 | ;;M;Mappi ng Tool PC S #3;PCS;M TPCS2010V2 ;D INIT^CH ICDOL S RF ILE=DIR(3) _FILE(3,6) | |
76 | ;;M;Discr epancy Rep ort CM Sin gle;CM;DRC M2010S;D I NIT^CHICDO L S RFILE= DIR(4)_FIL E(4,1) | |
77 | ;;M;Discr epancy Rep ort PCS Si ngle;PCS;D RPCS2010S; D INIT^CHI CDOL S RFI LE=DIR(4)_ FILE(4,2) | |
78 | ;;R;Mappi ng CMS CM 2011 (Reim b);CM;TBD; CHAMPVA_US ER:[ DNS GLAZAY]CM_ 10_9_R_201 1.TXT;1 | |
79 | ;;R;Mappi ng CMS CM 2011 (GEM) ;CM;TBD;CH AMPVA_USER :[ DNS GLAZAY]CM_ 10_9_GEM_2 011.TXT;1 | |
80 | ;;R;Mappi ng CMS CM 2012 (Reim b);CM;TBD; CHAMPVA_US ER:[ DNS GLAZAY]CM_ 10_9_R_201 2.TXT;1 | |
81 | ;;R;Mappi ng CMS PCS 2011 (Rei mb);PCS;TB D;CHAMPVA_ USER:[ DNS GLAZAY]PCS _10_9_R_20 11.TXT;1 | |
82 | ;;R;Mappi ng CMS PCS 2011 (GEM );PCS;TBD; CHAMPVA_US ER:[ DNS GLAZAY]PCS _10_9_GEM_ 2011.TXT;1 | |
83 | ;;R;Mappi ng CMS PCS 2012 (Rei mb);PCS;TB D;CHAMPVA_ USER:[ DNS GLAZAY]PCS _10_9_R_20 12.TXT;1 | |
84 | ;;R;Mappi ng CMS PCS 2012 (GEM );PCS;TBD; CHAMPVA_US ER:[ DNS GLAZAY]PCS _10_9_GEM_ 2012.TXT;1 | |
85 | ;;ZZZ | |
86 | ; Those a re obsolet e, maybe | |
87 | ;;M;Mappi ng Tool CM #1;CM;MTC M2010;D IN IT^CHICDOL S RFILE=D IR(3)_FILE (3,1) | |
88 | ;;M;Mappi ng Tool CM #2;CM;MTC M2010;D IN IT^CHICDOL S RFILE=D IR(3)_FILE (3,2) | |
89 | ;;M;Mappi ng Tool CM #3;CM;MTC M2010;D IN IT^CHICDOL S RFILE=D IR(3)_FILE (3,3) | |
90 | ;;M;Mappi ng Tool PC S #1;PCS;M TPCS2010;D INIT^CHIC DOL S RFIL E=DIR(3)_F ILE(3,4) | |
91 | ;;M;Mappi ng Tool PC S #2;PCS;M TPCS2010;D INIT^CHIC DOL S RFIL E=DIR(3)_F ILE(3,5) | |
92 | ;;M;Mappi ng Tool PC S #3;PCS;M TPCS2010;D INIT^CHIC DOL S RFIL E=DIR(3)_F ILE(3,6) | |
93 | ;;O;Optum CM 2011 C hange;OPCC M2011;D IN IT^CHICDOL S RFILE=D IR(2)_FILE (2,1) | |
94 | ;;O;Optum PCS 2011 Change;OPC PCS2011;D INIT^CHICD OL S RFILE =DIR(2)_FI LE(2,3) | |
95 | ;;O;Optum CM 2012 F eb 6 Chang e;OPCCM201 2F6;CHAMPV A_USER:[ DNS BRA DNS ]INGENIX_I CD10CM_CHA NGE_201201 01.TAB;1 | |
96 | ;;O;Optum PCS 2012 Feb 6 Chan ge;OPCPCS2 012F6;CHAM PVA_USER:[ DNS BRA DNS ]INGENIX_I CD10PCS_CH ANGE_20120 101.TAB;1 | |
97 | ;;O;Optum CM 2012 F eb 22 Chan ge;OPCCM20 12F22;CHAM PVA_USER:[ DNS BRA DNS ]INGENIX_I CD10CM_CHA NGE_201201 01_2.TAB;1 | |
98 | ;;O;Optum PCS 2012 Feb 22 Cha nge;OPCPCS 2012F22;CH AMPVA_USER :[ DNS BRA DNS ]INGENIX_I CD10PCS_CH ANGE_20120 101_2.TAB; 1 | |
99 | MENU(IN,OU T,TXFLAG) ; | |
100 | Q $$MENUF Y(.IN,.OUT ,$G(TXFLAG )) | |
101 | ; IN - in put parame ters | |
102 | ; IN = string con taining ty pes of fil es to read . Choice s are (O)p tum, (C)ms ICD files | |
103 | ; (M)apping tool sprea dsheet and (R)eimbur sement/Gem . (C)ms ICD is obs olete. | |
104 | ; IN("D IR") = dir ectory if we want to specify i s explicit ely. | |
105 | ; IN ("FILES")= file mask if we wan t to speci fy that. | |
106 | ; IN("F TRANS")= t ranslation routine. We are n ot using t his featur e anymore | |
107 | ; OUT - O utput para meters | |
108 | ; OUT = Area to s tore in, i n case we are readin g raw file s into ^IC D10RAW | |
109 | ; OUT(" CODETYPE") ="C" for C M (diagnos is), "P" f or PCS (pr ocedures) | |
110 | ; OUT(" FILETYPE") = | |
111 | ; TXTFLAG = flag sa ying we wa nt TXT ins tead of TA B files (o nly needed for Optum ) | |
112 | OLDMENU(IN ,OUT,TXFLA G) ; | |
113 | I $G(IN)= "" D | |
114 | . W !,"(O )ptum, (C) ms, (M)app ing tool o r (R)eimbu rsement/GE M mapping: " | |
115 | . R IN S IN=$ZU(28, IN,5) | |
116 | D GETENV^ %ZOSV S EN V=$P(Y,"^" ,2) | |
117 | K MTCMC,M TPCSC | |
118 | S ENV=$S( ENV="ROU": "LIVE",ENV ="XOU":"TR AIN",ENV=" TOU":"TEST ",ENV="DOU ":"DEV") | |
119 | I $G(IN(" DIR"))'="" S FDIR=IN ("DIR") | |
120 | E S FDIR ="HAC_HFS$ :[SCR.TEMP _FILES.FS3 BIG.CODEUP DT.ICD10UP DT."_ENV_" ]" | |
121 | ; set fil e specs | |
122 | K UFILE | |
123 | I $D(IN(" FILES")) D GETF(FDIR ,IN("FILES "),$G(IN(" FTRANS")), .UFILE) | |
124 | I '$D(IN( "FILES")) D | |
125 | . S INC=I N | |
126 | . F D Q :INC="" | |
127 | . . I $E( INC)="O" D GETF(FDIR ,"*_ICD10* ."_$S($G(T XFLAG)=1:" TXT",1:"TA B"),"$$OPF T^CHICDOL" ,.UFILE,"O ") | |
128 | . . I $E( INC)="M" D GETF("HAC _HFS$:[SCR .TEMP_FILE S.FS3BIG.C ODEUPDT.IC D10MAPPING TOOL.07171 2REPORTS]" ,"*.CSV"," $$MTFT^CHI CDOL",.UFI LE,"M") | |
129 | . . I $E( INC)="C" D GETF("HAC _HFS$:[SCR .TEMP_FILE S.FS3BIG.C ODEUPDT.IC D10MAPPING TOOL]","*_ ORDER_*.*" ,"$$CMSFT^ CHICDOL",. UFILE,"C") | |
130 | . . I $E( INC)="R" D GETF("HAC _HFS$:[SCR .TEMP_FILE S.FS3BIG.C ODEUPDT.IC D10UPDT.AR CHIVE]","* .*","$$RMB FT^CHICDOL ",.UFILE," R") | |
131 | . . S INC =$E(INC,2, 99) | |
132 | I '$D(UFI LE) Q "" | |
133 | F I=1:1:U FILE W ! W :I<10 " " W I," ", $P(UFILE(I ),";") | |
134 | R !,"Sele ct: ",FS:3 00 | |
135 | I FS="" Q "" | |
136 | I FS="^" Q "" | |
137 | I '$D(UFI LE(FS)) Q "" | |
138 | ;; fix la ter | |
139 | S SLT=$G( UFILE(FS)) I SLT="" Q "" | |
140 | S OUT("FI LETYPE")=$ P(SLT,";", 3) | |
141 | S OUT("CO DETYPE")=$ E($P(SLT," ;",2)) | |
142 | ;I FX["IN IT^" X FX S:$G(TXFLA G)&($P(SLT ,";")="O") RFILE=$$T TXT(RFILE) Q RFILE | |
143 | ;I $G(TXF LAG),$P(UF ILE(FS),"; ")="O" S F X=$$TTXT(F X) | |
144 | ;W !,FX | |
145 | Q $P(SLT, ";",4) | |
146 | ; | |
147 | MENU1(IN,O UT,TXFLAG) ; | |
148 | ; IN - in put parame ters | |
149 | ; IN = string con taining ty pes of fil es to read . Choice s are (O)p tum, (C)ms ICD files | |
150 | ; (M)apping tool sprea dsheet and (R)eimbur sement/Gem . (C)ms ICD is obs olete. | |
151 | ; IN("D IR") = dir ectory if we want to specify i s explicit ely. | |
152 | ; IN ("FILES")= file mask if we wan t to speci fy that. | |
153 | ; IN("F TRANS")= t ranslation routine. We are n ot using t his featur e anymore | |
154 | ; OUT - O utput para meters | |
155 | ; OUT = Area to s tore in, i n case we are readin g raw file s into ^IC D10RAW | |
156 | ; OUT(" CODETYPE") ="C" for C M (diagnos is), "P" f or PCS (pr ocedures) | |
157 | ; OUT(" FILETYPE") = | |
158 | ; TXTFLAG = flag sa ying we wa nt TXT ins tead of TA B files (o nly needed for Optum ) | |
159 | I $D(IN)< 10,$G(IN)= "" D | |
160 | . W !,"(O )ptum, (C) ms, (M)app ing tool o r (R)eimbu rsement/GE M mapping: " | |
161 | . R IN S IN=$ZU(28, IN,5) | |
162 | D GETENV^ %ZOSV S EN V=$P(Y,"^" ,2) | |
163 | S ENV=$S( ENV="ROU": "LIVE",ENV ="XOU":"TR AIN",ENV=" TOU":"TEST ",ENV="DOU ":"DEV") | |
164 | ; now bui ld specs t o check | |
165 | K SPECS,U FILE | |
166 | S FROOT=" HAC_HFS$:[ SCR.TEMP_F ILES.FS3BI G.CODEUPDT " | |
167 | I $D(IN)> 10 D | |
168 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_".I CD10UPDT." _ENV_"]") | |
169 | . S SPECS (SPECS,"FI LES")=$G(I N("FILES") ) | |
170 | . S SPECS (SPECS,"FT RANS")=$G( IN("FTRANS ")) | |
171 | I $G(IN)[ "O" D | |
172 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_".I CD10UPDT." _ENV_"]") | |
173 | . S SPECS (SPECS,"FI LES")="*_I CD10*."_$S ($G(TXFLAG )=1:"TXT", 1:"TAB") | |
174 | . S SPECS (SPECS,"FT RANS")="$$ OPFT^CHICD OL" | |
175 | . S SPECS (SPECS,"TY PE")="O" | |
176 | I $G(IN)[ "M" D | |
177 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_".I CD10MAPPIN GTOOL.0717 12REPORTS] ") | |
178 | . S SPECS (SPECS,"FI LES")="*.C SV" | |
179 | . S SPECS (SPECS,"FT RANS")="$$ OPFT^CHICD OL" | |
180 | . S SPECS (SPECS,"TY PE")="M" | |
181 | I $G(IN)[ "C" D | |
182 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_".I CD10UPDT.A RCHIVE]") | |
183 | . S SPECS (SPECS,"FI LES")="*_O RDER_*.*" | |
184 | . S SPECS (SPECS,"FT RANS")="$$ CMSFT^CHIC DOL" | |
185 | . S SPECS (SPECS,"TY PE")="C" | |
186 | I $G(IN)[ "R" D | |
187 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_".I CD10UPDT.A RCHIVE]") | |
188 | . S SPECS (SPECS,"FI LES")="*.* " | |
189 | . S SPECS (SPECS,"FT RANS")="$$ RMBFT^CHIC DOL" | |
190 | . S SPECS (SPECS,"TY PE")="" | |
191 | ; TEMP di sable SPEC S(FSP,"FTR ANS") | |
192 | F FSP=1:1 :SPECS D G ETF(SPECS( FSP,"DIR") ,SPECS(FSP ,"FILES"), "",.UFILE, $G(SPECS(F SP,"TYPE") )) | |
193 | I '$D(UFI LE) Q "" | |
194 | F I=1:1:U FILE W ! W :I<10 " " W I," ", $P(UFILE(I ),";") | |
195 | R !,"Sele ct: ",FS:3 00 | |
196 | I FS="" Q "" | |
197 | I FS="^" Q "" | |
198 | I '$D(UFI LE(FS)) Q "" | |
199 | S SLT=$G( UFILE(FS)) I SLT="" Q "" | |
200 | S OUT("FI LETYPE")=$ P(SLT,";", 3) | |
201 | S OUT("CO DETYPE")=$ E($P(SLT," ;",2)) | |
202 | S OUT("WN AME")=$P(S LT,";") | |
203 | Q $P(SLT, ";",4) | |
204 | ; | |
205 | MENUFY(IN, OUT,TXFLAG ) ; | |
206 | ; IN - in put parame ters | |
207 | ; IN = string con taining ty pes of fil es to read . Choice s are (O)p tum, (C)ms ICD files | |
208 | ; (M)apping tool sprea dsheet, (r )eimbursem ent, and ( R)eimburse ment+Gem. | |
209 | ; No te: (C)ms ICD is obs olete. | |
210 | ; IN ("YEAR") = Year if w e want to specify it explicite ly. Can be 13, 201 3 or FY201 3 | |
211 | ; IN("D IR") = dir ectory if we want to specify i t explicit ely. | |
212 | ; IN ("FILES")= file mask if we wan t to speci fy it expl icitely. | |
213 | ; IN("F TRANS")= t ranslation routine. | |
214 | ; OUT - O utput para meters | |
215 | ; OUT = Area to s tore in, i n case we are readin g raw file s into ^IC D10RAW | |
216 | ; OUT(" CODETYPE") ="C" for C M (diagnos is), "P" f or PCS (pr ocedures) | |
217 | ; OUT(" FILETYPE") =TBD | |
218 | ; TXTFLAG = flag sa ying we wa nt TXT ins tead of TA B files (o nly needed for Optum ) | |
219 | K SPECS,U FILE | |
220 | S FROOT=" HAC_HFS$:[ SCR.TEMP_F ILES.FS3BI G.CODEUPDT .ICD10UPDT " | |
221 | S YR=$G(I N("YEAR")) | |
222 | I YR'="" D | |
223 | . I YR?2N S YR="FY2 0"_YR,FROO T=FROOT_". "_YR | |
224 | . I YR?1" 20"2N S YR ="FY"_YR,F ROOT=FROOT _"."_YR | |
225 | . I YR?1" FY20"2N S FROOT=FROO T_"."_YR Q | |
226 | . S YR="" | |
227 | I YR="" D I YR="" Q "" | |
228 | . S FC=$$ FDIR^CHIUT IL(FROOT_" ]","FY*.DI R",.FYDIRS ,0) | |
229 | . D NOW^% DTC S CURF Y="FY20"_( $E(%I(3),2 ,3)+(%I(1) >9)) | |
230 | . W !,"Av ailable Fi scal Year Load Direc tories are :" | |
231 | . S FYDEF ="",FY="" F I=1:1 S FY=$O(FYDI RS(FY)) Q: FY="" W ! ,I,")",?8, FY I FY=CU RFY S FYDE F=I | |
232 | . F W !, "Choice: " W:FYDEF F YDEF," (", CURFY,")// " R FY Q: FY="" Q:F Y="^" Q:$ D(FYDIRS(F Y)) I FY? 1.N,FY>0,F Y<I Q | |
233 | . I FY="" ,'FYDEF S YR="" Q | |
234 | . I FY="" S FY=FYDE F | |
235 | . I FY="^ " S YR="" Q | |
236 | . I $D(FY DIRS(FY)) S FROOT=FR OOT_"."_FY ,YR=FY Q | |
237 | . S YR="" F I=1:1:F Y S YR=$O( FYDIRS(YR) ) | |
238 | . S FROOT =FROOT_"." _YR | |
239 | W " (",Y R,")",! | |
240 | I $D(IN)< 10,$G(IN)= "" D | |
241 | . W !,"(O )ptum, (C) ms, (M)app ing tool o r (R)eimbu rsement/GE M mapping: " | |
242 | . R IN | |
243 | . ;S IN=$ ZU(28,IN,5 ) | |
244 | ; now bui ld specs t o check | |
245 | I $D(IN)> 10 D | |
246 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_"]" ) | |
247 | . S SPECS (SPECS,"FI LES")=$G(I N("FILES") ) | |
248 | . S SPECS (SPECS,"FT RANS")=$G( IN("FTRANS ")) | |
249 | I $G(IN)[ "O" D | |
250 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_"]" ) | |
251 | . S SPECS (SPECS,"FI LES")="OPT UM*."_$S($ G(TXFLAG)= 1:"TXT",1: "TAB") | |
252 | . S SPECS (SPECS,"FT RANS")="$$ OPFT^CHICD OL" | |
253 | . S SPECS (SPECS,"TY PE")="O" | |
254 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_"]" ) | |
255 | . S SPECS (SPECS,"FI LES")="ING ENIX*."_$S ($G(TXFLAG )=1:"TXT", 1:"TAB") | |
256 | . S SPECS (SPECS,"FT RANS")="$$ OPFT^CHICD OL" | |
257 | . S SPECS (SPECS,"TY PE")="O" | |
258 | I $G(IN)[ "M" D | |
259 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_"]" ) | |
260 | . S SPECS (SPECS,"FI LES")="*.C SV" | |
261 | . S SPECS (SPECS,"FT RANS")="$$ MAPFT^CHIC DOL" | |
262 | . S SPECS (SPECS,"TY PE")="M" | |
263 | I $G(IN)[ "C" D | |
264 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_"]" ) | |
265 | . S SPECS (SPECS,"FI LES")="*_O RDER_*.*" | |
266 | . S SPECS (SPECS,"FT RANS")="$$ CMSFT^CHIC DOL" | |
267 | . S SPECS (SPECS,"TY PE")="C" | |
268 | ; Big R i s Reimburs ement/Gem | |
269 | I $G(IN)[ "R" D | |
270 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_"]" ) | |
271 | . S SPECS (SPECS,"FI LES")="REI MB*.TXT" | |
272 | . S SPECS (SPECS,"FT RANS")="$$ RMBFT^CHIC DOL" | |
273 | . S SPECS (SPECS,"TY PE")="R" | |
274 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_"]" ) | |
275 | . S SPECS (SPECS,"FI LES")="*GE M*.TXT" | |
276 | . S SPECS (SPECS,"FT RANS")="$$ RMBFT^CHIC DOL" | |
277 | . S SPECS (SPECS,"TY PE")="R" | |
278 | ; Little r is just Reimbursem ent | |
279 | I $G(IN)[ "r" D | |
280 | . S SPECS ($I(SPECS) ,"DIR")=$S ($G(IN("DI R"))'="":I N("DIR"),1 :FROOT_"]" ) | |
281 | . S SPECS (SPECS,"FI LES")="REI MB*.TXT" | |
282 | . S SPECS (SPECS,"FT RANS")="$$ RMBFT^CHIC DOL" | |
283 | . S SPECS (SPECS,"TY PE")="R" | |
284 | F FSP=1:1 :SPECS D G ETF(SPECS( FSP,"DIR") ,SPECS(FSP ,"FILES"), SPECS(FSP, "FTRANS"), .UFILE,$G( SPECS(FSP, "TYPE"))) | |
285 | ;W !,! ZW SPECS W ! ,! ZW UFIL E | |
286 | I '$D(UFI LE) Q "" | |
287 | F I=1:1:U FILE W ! W :I<10 " " W I," ", $P(UFILE(I ),";") | |
288 | R !,"Sele ct: ",FS:3 00 | |
289 | I FS="" Q "" | |
290 | I FS="^" Q "" | |
291 | I '$D(UFI LE(FS)) Q "" | |
292 | S SLT=$G( UFILE(FS)) I SLT="" Q "" | |
293 | S OUT("FI LETYPE")=$ P(SLT,";", 3) | |
294 | S OUT("CO DETYPE")=$ E($P(SLT," ;",2)) | |
295 | S OUT("WN AME")=$P(S LT,";") | |
296 | S OUT("FY ")=$G(YR) | |
297 | Q $P(SLT, ";",4) | |
298 | ; | |
299 | GETF(FDIR, FMASK,FTRA NS,FLIST,F TYPE) ; | |
300 | ; FDIR = directory | |
301 | ; FMASK = file mask | |
302 | ; FTRANS = file tra nslation l ogic if an y | |
303 | ; FLIST = return ar ray (pass by referen ce) | |
304 | ; (#) =file name for user display; C /P (CM/PCS ); FTYPE ; Full Name | |
305 | ; FTYPE = file type selected (Reimburse ment, Gem, Optum, Cm s, MT, etc ) | |
306 | N FILES,F C,FFILE,FD XPCS | |
307 | S FC=$$FD IR^CHIUTIL (FDIR,FMAS K,.FILES,0 ) | |
308 | S FFILE=" " | |
309 | F I=1:1:F C D | |
310 | . S FLIST =$G(FLIST) +1,FFILE=$ O(FILES(FF ILE)) | |
311 | . S WFILE =FFILE | |
312 | . I $G(FT RANS)'="" X "S WFILE ="_FTRANS_ "(FFILE)" | |
313 | . S FLIST (FLIST)=WF ILE | |
314 | . S FDXPC S=$S(FFILE ["PCS":"P" ,FFILE["CM ":"C",FFIL E["DX":"C" ,FFILE["_P R":"P",1:" ") | |
315 | . I FDXPC S="" S FDX PCS=$S(WFI LE["PCS":" P",WFILE[" CM":"C",1: "") | |
316 | . S FLIST (FLIST)=FL IST(FLIST) _";"_FDXPC S | |
317 | . I $G(FT YPE)'="" S FLIST(FLI ST)=FLIST( FLIST)_";" _FTYPE | |
318 | . E D | |
319 | . . I FFI LE["INGENI X" S FLIST (FLIST)=FL IST(FLIST) _";O" Q | |
320 | . . I FFI LE["OPTUM" S FLIST(F LIST)=FLIS T(FLIST)_" ;O" Q | |
321 | . . I FFI LE[".CSV" S FLIST(FL IST)=FLIST (FLIST)_"; M" Q | |
322 | . . I FFI LE["_GEM" S FLIST(FL IST)=FLIST (FLIST)_"; G" Q | |
323 | . . I FFI LE["REIMB" S FLIST(F LIST)=FLIS T(FLIST)_" ;R" Q | |
324 | . . I FFI LE["_10_9_ " S FLIST( FLIST)=FLI ST(FLIST)_ ";R" Q | |
325 | . . S FLI ST(FLIST)= FLIST(FLIS T)_";*" | |
326 | . ;S FLIS T(FLIST)=F LIST(FLIST )_";"_$S(F FILE["PCS" :"P",1:"C" ) | |
327 | . S FLIST (FLIST)=FL IST(FLIST) _";"_FDIR_ FFILE | |
328 | Q | |
329 | TTXT(FN) ; | |
330 | ;W !,FN | |
331 | Q:FN'[".T AB" FN | |
332 | Q $P(FN," .TAB")_".T XT"_$P(FN, ".TAB",2) | |
333 | INIT ; | |
334 | K DIR,FIL E | |
335 | S DIR(1)= "HAC_HFS$: [SCR.TEMP_ FILES.FS3B IG.CODEUPD T.ICD10UPD T.OPTUM_IC D10_BASE_D EC2011_EXT RACT]" | |
336 | S DIR(2)= "HAC_HFS$: [SCR.TEMP_ FILES.FS3B IG.CODEUPD T.ICD10UPD T.OPTUM_IC D10_CHANGE _DEC2011_E XTRACT]" | |
337 | S DIR(3)= "HAC_HFS$: [SCR.TEMP_ FILES.FS3B IG.CODEUPD T.ICD10MAP PINGTOOL.0 71712REPOR TS]" | |
338 | S DIR(4)= "CHAMPVA_U SER:[ DNS GLAZAY]" | |
339 | S I=1 | |
340 | F F="OPTU M_ICD10CM_ BASE.TAB", "OPTUM_ICD 10CM_BASE. TXT","OPTU M_ICD10PCS _BASE.TAB" ,"OPTUM_IC D10PCS_BAS E.TXT" S F ILE(1,I)=F ,I=I+1 | |
341 | S I=1 | |
342 | F F="OPTU M_ICD10CM_ CHANGE.TAB ","OPTUM_I CD10CM_CHA NGE.TXT"," OPTUM_ICD1 0PCS_CHANG E.TAB","OP TUM_ICD10P CS_CHANGE. TXT" S FIL E(2,I)=F,I =I+1 | |
343 | S I=1 | |
344 | ;F F="ICD 10CM_CSVex port02_22_ 2012_15_36 _44.csv"," ICD10CM_CS Vexport02_ 22_2012_15 _48_57.csv ","ICD10CM _CSVexport 02_22_2012 _15_50_51. csv" S FIL E(3,I)=F,I =I+1 | |
345 | ;F F="ICD 10PCS_CSVe xport02_22 _2012_15_5 1_43.csv", "ICD10PCS_ CSVexport0 2_22_2012_ 15_52_03.c sv","ICD10 PCS_CSVexp ort02_22_2 012_15_52_ 17.csv" S FILE(3,I)= F,I=I+1 | |
346 | F F="ICD1 0CM_A00_TH RU_R99_071 72012.csv" ,"ICD10CM_ S0000_THRU _S909365_0 7072012.cs v","ICD10C M_S91_thru _END_07172 012.csv" S FILE(3,I) =F,I=I+1 | |
347 | F F="ICD1 0PCS_0D20X 0Z_THRU_0R GX42207172 012.csv"," ICD10PCS_0 RH003Z_THR U_END_0717 2012.csv", "ICD10PCS_ 16070_THRU _0D1N3J4_0 7172012.cs v" S FILE( 3,I)=F,I=I +1 | |
348 | ;F F="ICD 10CM_CSVex port02_22_ 2012_15_36 _44.csv"," ICD10CM_CS Vexport02_ 22_2012_15 _48_57.csv ","ICD10CM _CSVexport 02_22_2012 _15_50_51. csv" S FIL E(3,I)=F,I =I+1 | |
349 | ;F F="ICD 10PCS_CSVe xport02_22 _2012_15_5 1_43.csv", "ICD10PCS_ CSVexport0 2_22_2012_ 15_52_03.c sv","ICD10 PCS_CSVexp ort02_22_2 012_15_52_ 17.csv" S FILE(3,I)= F,I=I+1 | |
350 | ;F F="DIS C_REPORT_C M_SINGLE.T XT","DISC_ REPORT_PCS _SINGLE.TX T" S FILE( 3,I)=F,I=I +1 | |
351 | S FILE(4, 1)="DISC_C M_APPROVED _TEXT.TXT" | |
352 | S FILE(4, 2)="DISC_P CS_APPROVE D_TEXT.TXT " | |
353 | Q | |
354 | OPT ; | |
355 | ;S $ZT="E RR^CHICDOL " | |
356 | ;; ^D D(741033,. 01,0)="MAI NTENANCE L OAD NAME^R F^^0;1^K:$ L(X)>50!($ L(X)<3) X" | |
357 | ;; ^D D(741033,. 02,0)="FIL E NAME^F^^ 0;2^K:$L(X )>48!($L(X )<3) X" | |
358 | ;; ^D D(741033,. 03,0)="FIS CAL YEAR^R NJ4,0^^0;3 ^K:+X'=X!( X>3000)!(X <2000)!(X? .E1"".""1N .N) X" | |
359 | ;; ^D D(741033,. 04,0)="COD E TYPE^RS^ D:DIAGNOSI S;P:PROCED URE;^0;4^Q " | |
360 | ;; ^D D(741033,. 05,0)="LOA D TYPE^S^B :BASE;M:MA INTENANCE; ^0;5^Q" | |
361 | ;; ^D D(741033,. 06,0)="DAT E/TIME OF LOAD^RD^^0 ;6^S %DT=" "ESTR"" D ^%DT S X=Y K:Y<1 X" | |
362 | ;I $G(SUB )="" S SUB =BC_$P($P( FILE,10,2) ,"_") | |
363 | S LOADNAM E=$G(AR("F Y"))_"_"_A R("WNAME") | |
364 | I $D(^CHM DIC(741033 ,"B",LOADN AME)) S LI EN=$O(^CHM DIC(741033 ,"B",LOADN AME,"")) | |
365 | E D | |
366 | . S LIEN= $O(^CHMDIC (741033,"A "),-1)+1 | |
367 | . S ^CHMD IC(741033, 0)="^74103 3^"_LIEN_" ^"_LIEN | |
368 | . S ^CHMD IC(741033, "B",LOADNA ME,LIEN)=" " | |
369 | S GL="^CH MDIC(74103 3,"_LIEN_" )" | |
370 | S SUB=LIE N | |
371 | U 0 W !,! ,"Storing ",GL,!,"Re ading ",R FILE,"..." ,! | |
372 | ;I $G(DIS PLAY) D Q | |
373 | ;. F II=1 :1 U RFILE R RST I I I<DISPLAY U 0 W !,$T R(RST,$C(9 ),"^") ;F I=0:1:$L(R ST)\100+1 W !,$E(RST ,I*100+1,I *100+100), "\" | |
374 | S A=$ZUTI L(68,40,1) | |
375 | K @GL@(SU B) | |
376 | ;S @GL@(S UB,"FILE") =RFILE | |
377 | ;S @GL@(S UB,"FILETY PE")=AR("F ILETYPE") | |
378 | ;S @GL@(S UB,"CODETY PE")=AR("C ODETYPE") | |
379 | I '$G(DT) ?7N D NOW^ %DTC S DT= X | |
380 | S @GL@(0) =LOADNAME_ "^"_AR("WN AME")_"^"_ $G(AR("FY" ))_"^"_AR( "CODETYPE" )_"^M^"_$G (DT) | |
381 | F U RFIL E R RST S RST=$TR(RS T,$C(10,13 )) Q:$ZEOF =-1 D PAR SE(GL,RST, RFILE) | |
382 | ;U 0 W !, @GL@(SUB), " records loaded int o ",GL,"(" "",SUB,""" )" | |
383 | Q | |
384 | ERR ; | |
385 | I $ZE'["E NDOFFILE" W !,$ZE | |
386 | ;I $G(DIS PLAY) Q | |
387 | U 0 I $D( GL),$D(SUB ) W !,@GL@ (SUB)," re cords load ed into ", GL,"(""",S UB,""")" | |
388 | I RFILE'= "" C RFILE | |
389 | ZQ | |
390 | ; | |
391 | COMPARE ; | |
392 | K CODES | |
393 | S AR1=1,A R2=2,AR3=2 | |
394 | M CODES=^ CHMDIC(741 033,AR1,1, "B") | |
395 | M CODES=^ CHMDIC(741 033,AR2,1, "B") | |
396 | M CODES=^ CHMDIC(741 033,AR3,1, "B") | |
397 | S CODE="" | |
398 | F S CODE =$O(CODES( CODE)) Q:C ODE="" D | |
399 | . S I1="" ,I2="",I3= "",N1="",N 2="",N3="" | |
400 | . S I1=$O (^CHMDIC(7 41033,AR1, 1,"B",CODE ,"")) I I1 S N1=^CHM DIC(741033 ,AR1,1,I1, 0) | |
401 | . S I2=$O (^CHMDIC(7 41033,AR2, 1,"B",CODE ,"")) I I2 S N2=^CHM DIC(741033 ,AR2,1,I2, 0) | |
402 | . S I3=$O (^CHMDIC(7 41033,AR3, 1,"B",CODE ,"")) I I3 S N3=^CHM DIC(741033 ,AR3,1,I3, 0) | |
403 | . I N1=N2 ,N2=N3 Q | |
404 | . W ! S C HAR=" " | |
405 | . I $P(N1 ,"^",4)'=$ P(N2,"^",4 ) S CHAR=" ++" | |
406 | . I $P(N1 ,"^",4)'=$ P(N3,"^",4 ) S CHAR=" ++" | |
407 | . W !,I1, CHAR,N1 | |
408 | . W !,I2, CHAR,N2 | |
409 | . W !,I3, CHAR,N3 | |
410 | . S DIFF= $P(N1,"^", 6)_"^"_$P( N2,"^",6)_ "^"_$P(N3, "^",6) | |
411 | . ;I DIFF '="^U^U",D IFF'="^^U" R !,">>> ",GLAZ | |
412 | . I CHAR' =" ",DIFF' ="^^U" R ! ,"+++ ",GL AZ | |
413 | Q | |
414 | COMPARESD ; | |
415 | K CODES | |
416 | S AR1=4,A R2=8 | |
417 | M CODES=^ CHMDIC(741 033,AR1,1, "B") | |
418 | M CODES=^ CHMDIC(741 033,AR2,1, "B") | |
419 | S CODE="" | |
420 | F S CODE =$O(CODES( CODE)) Q:C ODE="" D | |
421 | . S I1="" ,I2="",I3= "",N1="",N 2="",N3="" | |
422 | . S I1=$O (^CHMDIC(7 41033,AR1, 1,"B",CODE ,"")) I I1 S N1=^CHM DIC(741033 ,AR1,1,I1, 0) | |
423 | . S I2=$O (^CHMDIC(7 41033,AR2, 1,"B",CODE ,"")) I I2 S N2=^CHM DIC(741033 ,AR2,1,I2, 0) | |
424 | . I N1=N2 Q | |
425 | . I $P(N1 ,"^",6)="U ",$P(N1,"^ ",2)'=$P(N 2,"^",2) D | |
426 | . . W ! S CHAR=" " | |
427 | . . I $P( N1,"^",4)' =$P(N2,"^" ,4) S CHAR ="++" | |
428 | . . I $P( N1,"^",4)' =$P(N3,"^" ,4) S CHAR ="++" | |
429 | . . W !,I 1,CHAR,N1 | |
430 | . . W !,I 2,CHAR,N2 | |
431 | . . ;S DI FF=$P(N1," ^",6)_"^"_ $P(N2,"^", 6)_"^"_$P( N3,"^",6) | |
432 | . . ;I DI FF'="^U^U" ,DIFF'="^^ U" R !,">> > ",GLAZ | |
433 | . . ;I CH AR'=" ",DI FF'="^^U" R !,"+++ " ,GLAZ | |
434 | Q | |
435 | PARSE(GL,R ST,FILE) ; | |
436 | ;U 0 W !, RST | |
437 | I RST?1"I CD10_CODE" .E Q | |
438 | ; write c urrently l oaded reco rd total t o the scre en every 5 seconds | |
439 | ;I $ZH-$G (REP)>5 U 0 W @GL@(S UB)," " S REP=$ZH | |
440 | I FILE[". TAB" S DAT A=$TR(RST, $C(9),"^") | |
441 | E D | |
442 | . I BC="B " S CUT="1 -8,9-9,10- 44,45-92,9 3-2092,209 3-2093,209 4-2094" | |
443 | . E S CU T="1-8,9-9 ,10-19,20- 29,30-39,4 0-49,50-89 ,90-2089,2 090-4089,4 090-4099,4 100-4100" | |
444 | . S DATA= "" | |
445 | . F I=1:1 :$L(CUT,", ") S LIM=$ P(CUT,",", I),$P(DATA ,"^",I)=$E (RST,+LIM, $P(LIM,"-" ,2)) | |
446 | S RIEN=$O (@GL@(1,"A "),-1)+1,@ GL@(1,0)=" ^741033.01 ^"_RIEN_"^ "_RIEN | |
447 | S CODE=$P (DATA,"^") I $L(CODE )>3,CODE'[ "." S $P(D ATA,"^")=$ E(CODE,1,3 )_"."_$E(C ODE,4,9) | |
448 | S @GL@(1, RIEN,0)=DA TA | |
449 | S @GL@(1, "B",$P(DAT A,"^"),RIE N)="" | |
450 | ;D SAVE(G L,DATA) | |
451 | Q | |
452 | SAVE(GL,DA TA) ; | |
453 | ; | |
454 | N I | |
455 | S @GL@(SU B)=$G(@GL@ (SUB))+1 | |
456 | ; massage data a li ttle | |
457 | S CODE=$P (DATA,"^") I $L(CODE )>3,CODE'[ "." S $P(D ATA,"^")=$ E(CODE,1,3 )_"."_$E(C ODE,4,9) | |
458 | ; | |
459 | S @GL@(SU B,@GL@(SUB ))=DATA | |
460 | ;F I=1:1: $L(DATA,"^ ") I $P(DA TA,"^",I)' ="" S @GL @(SUB,$C(6 5+I),$P(DA TA,"^",I), @GL@(SUB)) ="" | |
461 | Q | |
462 | ; | |
463 | CMS ; | |
464 | S $ZT="ER R^CHICDOL" | |
465 | S REP=$ZH ,GL="^ICD1 0RAW" | |
466 | ;I $G(SUB )="" S SUB =BC_$P($P( FILE,10,2) ,"_") | |
467 | U 0 W !,! ,"Storing ",SUB,!,"R eading ", RFILE,"... ",! | |
468 | ;I $G(DIS PLAY) D Q | |
469 | ;. F II=1 :1 U RFILE R RST I I I<DISPLAY U 0 W !,$T R(RST,$C(9 ),"^") ;F I=0:1:$L(R ST)\100+1 W !,$E(RST ,I*100+1,I *100+100), "\" | |
470 | S A=$ZUTI L(68,40,1) | |
471 | K @GL@(SU B) | |
472 | S @GL@(SU B,"FILE")= RFILE | |
473 | S @GL@(SU B,"FILETYP E")=AR("FI LETYPE") | |
474 | S @GL@(SU B,"CODETYP E")=AR("CO DETYPE") | |
475 | F D | |
476 | . U RFILE R RST S R ST=$TR(RST ,$C(10,13) ) | |
477 | . I $ZH-R EP>3 U 0 W @GL@(SUB) ," " S REP =$ZH | |
478 | . S CUT=" 7-14,15-15 ,17-77,78- 999" | |
479 | . S DATA= "" | |
480 | . F I=1:1 :$L(CUT,", ") S LIM=$ P(CUT,",", I),$P(DATA ,"^",I)=$E (RST,+LIM, $P(LIM,"-" ,2)) | |
481 | . ; Massa ge data | |
482 | . S CODE= $$STS($ZU( 28,$P(DATA ,"^"),5)) | |
483 | . I $L(CO DE)>3 S CO DE=$E(CODE ,1,3)_"."_ $E(CODE,4, 99) | |
484 | . ;U 0 W CODE," " | |
485 | . S $P(DA TA,"^")=CO DE | |
486 | . S $P(DA TA,"^",3)= $$STS($P(D ATA,"^",3) ) | |
487 | . S $P(DA TA,"^",4)= $$STS($P(D ATA,"^",4) ) | |
488 | . I CODE' ="" D SAVE ^CHICDOL(G L,DATA) | |
489 | U 0 W !,@ GL@(SUB)," records l oaded into ",GL,"("" ",SUB,""") " | |
490 | Q | |
491 | STS(A) ; | |
492 | N I | |
493 | F I=$L(A) :-1:1 Q:$E (A,I)'=" " | |
494 | Q $E(A,1, I) | |
495 | SLS(A) ; | |
496 | N I | |
497 | F I=1:1:$ L(A) Q:$E( A,I)'=" " | |
498 | Q $E(A,I, *) | |
499 | ; | |
500 | MTOOL ; | |
501 | S $ZT="ER R^CHICDOL" | |
502 | S REP=$ZH ,GL="^ICD1 0RAW" | |
503 | ;I $G(SUB )="" S SUB =BC_$P($P( FILE,10,2) ,"_") | |
504 | I $D(@GL@ (SUB,"FILE ",RFILE)) W !,"Alrea dy Loaded" Q | |
505 | U 0 W !,! ,"Storing ",SUB,!,"R eading ", RFILE,"... ",! | |
506 | ;I $G(DIS PLAY) D Q | |
507 | ;. F II=1 :1 U RFILE R RST I I I<DISPLAY U 0 W !,$T R(RST,$C(9 ),"^") ;F I=0:1:$L(R ST)\100+1 W !,$E(RST ,I*100+1,I *100+100), "\" | |
508 | S A=$ZUTI L(68,40,1) | |
509 | S @GL@(SU B,"FILE",R FILE)="" | |
510 | S @GL@(SU B,"FILETYP E")=AR("FI LETYPE") | |
511 | S @GL@(SU B,"CODETYP E")=AR("CO DETYPE") | |
512 | F U RFIL E R RST Q: $ZEOF=-1 S RST=$TR( RST,$C(10, 13)) D PAR SEMT(GL,RS T) | |
513 | U 0 W !,@ GL@(SUB)," records l oaded into ",GL,"("" ",SUB,""") " | |
514 | Q | |
515 | PARSEMT(GL ,RST) ; | |
516 | ;U 0 W !, RST | |
517 | I RST?1"I CD10".E Q | |
518 | ;ICD10^DE SC10^ICD9^ DESC9^CVA^ SB^CVA9^SB 9^NOUN^TES TED^STATE^ ^^ | |
519 | ; write c urrently l oaded reco rd total t o the scre en every 5 seconds | |
520 | I $ZH-REP >5 U 0 W @ GL@(SUB)," " S REP=$ ZH | |
521 | S DATA=RS T | |
522 | ;S $P(DAT A,"^",2)=$ $SLS($P(DA TA,"^",2)) | |
523 | I SUB["CM " S DATA=$ $MTFIXCM^C HICDOL(DAT A) | |
524 | I SUB["PC S" S DATA= $$MTFIXPCS ^CHICDOL(D ATA) | |
525 | S $P(DATA ,"^")=$$ST S($ZU(28,$ P(DATA,"^" ),5)) | |
526 | D SAVE(GL ,DATA) Q | |
527 | Q | |
528 | MTFIXPCS(D ATA) ; | |
529 | ;;0016070 ,0016071,0 016072,001 6073,00160 74,0016075 ,0016076,0 016077,001 6078,02100 93, | |
530 | ;;0210098 ,0210099,0 210344,021 0444,02104 93,0210498 ,0210499,0 211093,021 1098,02110 99, | |
531 | ;;0211344 ,0211444,0 211493,021 1498,02114 99,0212093 ,0212098,0 212099,021 2344,02124 44, | |
532 | ;;0212493 ,0212498,0 212499,021 3093,02130 98,0213099 ,0213344,0 213444,021 3493,02134 98, | |
533 | ;;0213499 ,0270046,0 270346,027 0446,02710 46,0271346 ,0271446,0 272046,027 2346,02724 46, | |
534 | ;;0273046 ,0273346,0 273446,031 2090,03120 91,0312092 ,0312093,0 312094,031 2095,03120 96, | |
535 | ;;0312097 ,0312098,0 312099,031 3090,03130 91,0313092 ,0313093,0 313094,031 3095,03130 96, | |
536 | ;;0313097 ,0313098,0 313099,031 4090,03140 91,0314092 ,0314093,0 314094,031 4095,03140 96, | |
537 | ;;0314097 ,0314098,0 314099,031 5090,03150 91,0315092 ,0315093,0 315094,031 5095,03150 96, | |
538 | ;;0315097 ,0315098,0 315099,031 6090,03160 91,0316092 ,0316093,0 316094,031 6095,03160 96, | |
539 | ;;0316097 ,0316098,0 316099,031 7090,03170 93,0318091 ,0318094,0 319093,041 0090,04100 91, | |
540 | ;;0410092 ,0410093,0 410094,041 0095,04100 96,0410097 ,0410098,0 410099,041 0490,04104 91, | |
541 | ;;0410492 ,0410493,0 410494,041 0495,04104 96,0410497 ,0410498,0 410499,041 4093,04140 94, | |
542 | ;;0414095 ,0414493,0 414494,041 4495,041E0 99,0610075 ,0610076,0 610095,061 0096,06104 75, | |
543 | ;;0610476 ,0610495,0 610496,061 1079,06110 99,0611479 ,0611499,0 618079,061 8099,06184 79, | |
544 | ;;0618499 ,091E070 | |
545 | N EXCEL F I=1:1:16 S T=$P($T( MTFIXPCS+I ),";;",2) F J=1:1:10 S FX=$P(T ,",",J) D | |
546 | . I FX="" Q | |
547 | . I FX'[" E" S EXCEL (+FX)=FX Q | |
548 | . I FX="0 41E099" S EXCEL("4.1 0E+100")=F X | |
549 | . I FX="0 91E070" S EXCEL("9.1 0E+71")=FX | |
550 | I DATA[$C (9),DATA'[ "^" S DATA =$TR(DATA, $C(9),"^") | |
551 | I DATA[", ",DATA'["^ " D S DAT A=TDATA | |
552 | . S TDATA ="",J=0 | |
553 | . F I=1:1 S A=$P(DA TA,",") D Q:DATA="" | |
554 | . . I $E( A)'="""" S DATA=$P(D ATA,",",2, 9999),J=J+ 1,$P(TDATA ,"^",J)=A Q | |
555 | . . S J=J +1,$P(TDAT A,"^",J)=$ P(DATA,""" ",2),DATA= $P(DATA,"" "",3,9999) ,DATA=$E(D ATA,2,9999 ) | |
556 | S CODE=$P (DATA,"^") | |
557 | I $D(EXCE L(CODE)) S CODE=EXCE L(CODE) | |
558 | S $P(DATA ,"^")=CODE | |
559 | S X=$P(DA TA,"^",13) ,%DT="TS", X=$TR(X," ","@") D ^ %DT I Y'=- 1 S $P(DAT A,"^",13)= Y | |
560 | Q DATA | |
561 | MTFIXCM(DA TA) ; | |
562 | N TXT,PT, TDATA,I,J, A,AOK,QP,C C,CVA,ICD9 ,ICD9IEN1, ICD9DESC,I CD9IEN2,MA TCH,X | |
563 | ; Hardwir ed fixes | |
564 | MTFXCMTX ; | |
565 | ;;J67.7, Air cond itioner an d humidifi er lung,49 5.7,"VENTI LATION"" P NEUMONIT"" ",1,1,1,1 | |
566 | ;;J67.7, Air cond itioner an d humidifi er lung,49 5.7,,1,1,1 ,1 | |
567 | ;;S06.0x2 A,"Concuss ion with l oss of con sciousness of 31 min utes to 59 minutes, initial en counter",8 50.12,"CON CUSSION W LOC 31-59" ",1,1,1,1 | |
568 | ;;S06.0x2 A,"Concuss ion with l oss of con sciousness of 31 min utes to 59 minutes, initial en counter",8 50.12,"CON CUSSION W LOC 31-59" ,1,1,1,1 | |
569 | ;;S06.0x2 D,Concussi on with lo ss of cons ciousness of 31 minu tes to 59 minutes"," subsequen t encounte r""",V58.8 9,OTH SPEC IFIED AFTE RCARE,1,1, 1,1 | |
570 | ;;S06.0x2 D,"Concuss ion with l oss of con sciousness of 31 min utes to 59 minutes, subsequent encounter ",V58.89,O TH SPECIFI ED AFTERCA RE,1,1,1,1 | |
571 | F TXT=1,3 ,5 S PT=$P ($T(MTFXCM TX+TXT),"; ;",2) I $E (DATA,1,$L (PT))=PT S TXT=TXT+1 ,DATA=$P($ T(MTFXCMTX +TXT),";;" ,2)_$E(DAT A,$L(PT)+1 ,99999) Q | |
572 | I DATA[$C (9),DATA'[ "^" S DATA =$TR(DATA, $C(9),"^") | |
573 | I DATA[", ",DATA'["^ " D S DAT A=TDATA | |
574 | . S TDATA ="",J=0 | |
575 | . F I=1:1 S A=$P(DA TA,",") D Q:DATA="" | |
576 | . . I $E( A)'="""" S DATA=$P(D ATA,",",2, 9999),J=J+ 1,$P(TDATA ,"^",J)=A Q | |
577 | . . S AOK =0,QP="" | |
578 | . . F CC= 2:1:$L(DAT A) D Q:AO K | |
579 | . . . I $ E(DATA,CC) '="""" S Q P=QP_$E(DA TA,CC) Q | |
580 | . . . I $ E(DATA,CC+ 1)="""" S CC=CC+1,QP =QP_"""" Q | |
581 | . . . I $ E(DATA,CC+ 1)="," S J =J+1,$P(TD ATA,"^",J) =QP,DATA=$ E(DATA,CC+ 2,9999),AO K=1 Q | |
582 | . . . S X =1/0 | |
583 | . . ;S J= J+1,$P(TDA TA,"^",J)= $P(DATA,"" "",2),DATA =$P(DATA," """,3,9999 ),DATA=$E( DATA,2,999 9) | |
584 | S $P(DATA ,"^",2)=$$ SLS($P(DAT A,"^",2)) | |
585 | S CVA=$P( DATA,"^",5 ) | |
586 | ;I $E(CVA )=" "!(CVA ?1.A)!((CV A="")&($P( DATA,"^",6 ,9)?1.N1"^ "1.N1"^"1. N1"^"1.N)) S $P(DATA ,"^",4,5)= $P(DATA,"^ ",4)_","_C VA Q $$MTF IXCM(DATA) | |
587 | I $P(DATA ,"^",3)?1. N D | |
588 | . S ICD9= $P(DATA,"^ ",3) | |
589 | . S ICD9I EN1=$O(^CH MICDX("C", ICD9,"")) | |
590 | . I ICD9I EN1,$P(^CH MICDX(ICD9 IEN1,0),"^ ")=$P(DATA ,"^",4) Q | |
591 | . ;U 0 W !,DATA," M ISMATCH " | |
592 | . S ICD9D ESC=$P(DAT A,"^",4) | |
593 | . S ICD9I EN2=$O(^CH MICDX("B", ICD9DESC," ")) | |
594 | . I ICD9I EN2="" U 0 W !,DATA, !,"CANT MA TCH DESCRI PTION" Q | |
595 | . S ICD9D ATA=^CHMIC DX(ICD9IEN 2,0) | |
596 | . S MATCH =0 | |
597 | . I ICD9? 1N,"00"_IC D9=$P(ICD9 DATA,"^",2 ) S MATCH= 1 | |
598 | . I ICD9? 1N,"00"_IC D9_".0"=$P (ICD9DATA, "^",2) S M ATCH=1 | |
599 | . I ICD9? 1N,"00"_IC D9_".00"=$ P(ICD9DATA ,"^",2) S MATCH=1 | |
600 | . I ICD9? 2N,0_ICD9= $P(ICD9DAT A,"^",2) S MATCH=1 | |
601 | . I ICD9? 2N,0_ICD9_ ".0"=$P(IC D9DATA,"^" ,2) S MATC H=1 | |
602 | . I ICD9? 2N,0_ICD9_ ".00"=$P(I CD9DATA,"^ ",2) S MAT CH=1 | |
603 | . I ICD9? 3N,ICD9_". 0"=$P(ICD9 DATA,"^",2 ) S MATCH= 1 | |
604 | . I ICD9? 3N,ICD9_". 00"=$P(ICD 9DATA,"^", 2) S MATCH =1 | |
605 | . I MATCH =1 S $P(DA TA,"^",3)= $P(ICD9DAT A,"^",2) Q | |
606 | . ;U 0 W !,!,DATA,! ,ICD9DATA | |
607 | S X=$P(DA TA,"^",13) ,%DT="TS", X=$TR(X," ","@") D ^ %DT I Y'=- 1 S $P(DAT A,"^",13)= Y | |
608 | I $P(DATA ,"^",5)=23 2 S $P(DAT A,"^",5)=3 23 | |
609 | I $P(DATA ,"^",6)=23 2 S $P(DAT A,"^",6)=3 23 | |
610 | Q DATA | |
611 | RMBFT(FN) ; | |
612 | ;2013_I10 GEM.TXT 2013_I9G EM.TXT GEM_I9PC S.TXT GEM_PCSI 9.TXT | |
613 | ;REIMB_MA P_DX_2013. TXT REIMB_MA P_PR_2013. TXT | |
614 | I FN?1"20 "2N1"_I10G EM.TXT" S FN=FN_" (CM 10-TO- 9 GEM MAPP ING)" | |
615 | I FN?1"20 "2N1"_I9GE M.TXT" S F N=FN_" ( CM 9-TO-10 GEM MAPPI NG)" | |
616 | I FN="GEM _I9PCS.TXT " S FN=FN_ " (PCS 9 -TO-10 GEM MAPPING)" | |
617 | I FN="GEM _PCSI9.TXT " S FN=FN_ " (PCS 1 0-TO-9 GEM MAPPING)" | |
618 | I FN?1"RE IMB_MAP_DX ".E S FN=F N_" (CM 10-TO-9 RE IMBURSEMEN T MAPPING) " | |
619 | I FN?1"RE IMB_MAP_PR ".E S FN=F N_" (PCS 10-TO-9 R EIMBURSEME NT MAPPING )" | |
620 | ;I FN["IC D10CM" S M TCMC=$G(MT CMC)+1 Q " Mapping To ol CM file #"_MTCMC | |
621 | ;I FN["IC D10PCS" S MTPCSC=$G( MTPCSC)+1 Q "Mapping Tool PCS file #"_MT PCSC | |
622 | Q FN | |
623 | OPFT(FN) ; | |
624 | I FN?1"OP TUM_ICD10" .E Q FN ;Q $P(FN,"_" ,1,3)_"."_ $P(FN,".", 2) | |
625 | I FN?1"IN GENIX".E Q "OPTUM"_$ P(FN,"_",2 ,99) | |
626 | Q FN | |
627 | CMSFT(FN) | |
628 | Q "CMS "_ $E($P(FN," _"),6,99)_ " "_+$P(FN ,"_",3) | |
629 | MAPFT(FN) | |
630 | N DTN | |
631 | I FN'["MA INT",FN'[" aint" Q FN | |
632 | S DTN=$S( FN["MAINT" :$P(FN,"MA INT",2),1: $P(FN,"ain t",2)) | |
633 | S DTN=$TR ($P(DTN,"_ ",1,3),"_" ,"/")_" @ "_$TR($P(D TN,"_",4,6 ),"_",":") | |
634 | S FN=FN_" ("_$S(F N["10CM":" CM",1:"PCS ")_" Maint generated on "_$P(D TN,".")_") " | |
635 | Q FN | |
636 |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.