54. EPMO Open Source Coordination Office Redaction File Detail Report

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.

54.1 Files compared

# 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

54.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 5 1234
Changed 4 38
Inserted 0 0
Removed 0 0

54.3 Comparison options

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

54.4 Active regular expressions

No regular expressions were active.

54.5 Comparison detail

  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