53. 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.

53.1 Files compared

# Location File Last Modified
1 CPEE_Build9_Sprint27.zip\HAC_CPE_CH CHICDMT.m Mon Nov 5 16:41:53 2018 UTC
2 CPEE_Build9_Sprint27.zip\HAC_CPE_CH CHICDMT.m Mon Nov 5 17:41:17 2018 UTC

53.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 1098
Changed 1 2
Inserted 0 0
Removed 0 0

53.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

53.4 Active regular expressions

No regular expressions were active.

53.5 Comparison detail

  1   CHICDMT ;
  2    G GO
  3   ENTER ;
  4    W !,"---- ---------- ---------- ---------- ---------- ---------- ---------- ------",!
  5    S A="" F  I=0:1 S A= $O(^ICD.IC DD(A)) Q:A =""
  6    W "Curren t content  of ICD fil e is ",I,"  records"
  7    S A="" F  I=0:1 S A= $O(^ICD.Cr osswalkICD D(A)) Q:A= ""
  8    W !,"Curr ent conten t of Cross walk file  is ",I," r ecords"
  9    W !,!
  10    ;W !,"1)  Archive cu rrent data "
  11    ;W !,"2)  Restore ar chive"
  12    ;W !,"3)  Clear curr ent Crossw alk"
  13    W !,"1) C lear curre nt Mapping  Tool ICD  CM & PCS D ata"
  14    ;W !,"5)  Load Reimb ursement F ile into C rosswalk"
  15    W !,"2) L oad Optum  File into  ICD CM & P CS"
  16    W !,"3) A ssign AI T est Values  in ICD CM  & PCS fil e from Cro sswalk"
  17    R !,!,"Ma pping Tool > ",CHOICE
  18    I CHOICE= "" Q
  19    ;I CHOICE =1 D BACKU P G GO
  20    ;I CHOICE =2 D RESTO RE G GO
  21    ;I CHOICE =3 D KILLC X G GO
  22    I CHOICE= 1 D KILLIC D G ENTER
  23    ;I CHOICE =5 D LOADC X G GO
  24    I CHOICE= 2 D LOADIC D G GO
  25    I CHOICE= 3 D MAPICD  G GO
  26    Q
  27   GO ;
  28    W !,"---- ---------- ---------- ---------- ---------- ---------- ---------- ------",!
  29    S A="" F  I=0:1 S A= $O(^ICD.IC DD(A)) Q:A =""
  30    W "Curren t content  of Mapping  Tool ICD  CM & PCS f ile is ",I ," records "
  31    S A="" F  I=0:1 S A= $O(^ICD.Cr osswalkICD D(A)) Q:A= ""
  32    W !,"Curr ent conten t of Cross walk file  is ",I," r ecords"
  33    W !,!
  34    W !,"1) A rchive cur rent data"
  35    W !,"2) R estore arc hive"
  36    W !,"3) C lear curre nt Crosswa lk"
  37    W !,"4) C lear curre nt Mapping  Tool ICD  CM & PCS D ata"
  38    W !,"5) L oad Reimbu rsement Fi le into Cr osswalk"
  39    W !,"6) L oad Optum  File into  ICD CM & P CS"
  40    W !,"7) A ssign AI T est Values  in ICD CM  & PCS fil e from Cro sswalk"
  41    R !,!,"Ma pping Tool > ",CHOICE
  42    I CHOICE= "" Q
  43    I CHOICE= 1 D BACKUP  G GO
  44    I CHOICE= 2 D RESTOR E G GO
  45    I CHOICE= 3 D KILLCX  G GO
  46    I CHOICE= 4 D KILLIC D G GO
  47    I CHOICE= 5 D LOADCX  G GO
  48    I CHOICE= 6 D LOADIC D G GO
  49    I CHOICE= 7 D MAPICD  G GO
  50    Q
  51   LOADICD ;
  52    K AR S TY PE="O"
  53    S RFILE=$ $MENU^CHIC DOL(.TYPE, .AR) I RFI LE="" Q
  54    ;S SUB=AR  ;R !,"Sto re in Area : ",SUB
  55    O RFILE:( "R")
  56    D OPT
  57    C RFILE
  58    Q
  59   LOADCX ;
  60    K AR S TY PE="r"
  61    S RFILE=$ $MENU^CHIC DOL(.TYPE, .AR) I RFI LE="" Q
  62    ;S SUB=AR  ;R !,"Sto re in Area : ",SUB
  63    ; reimbur sement / g em
  64    S FN=$G(A R("WNAME") ) I FN=""  S FN=RFILE
  65    S RG=$S(F N["_R_":"R ",FN["REIM B":"R",1:" G")
  66    O RFILE:( "R")
  67    D REIMB
  68    C RFILE
  69    Q
  70   OPT ;
  71    S REP=$ZH ,INITCNT=$ G(^ICD.ICD D)
  72    ;I $G(SUB )="" S SUB =BC_$P($P( FILE,10,2) ,"_") 
  73    U 0 W !," Reading  " ,RFILE,".. .",!
  74    ;I $G(DIS PLAY) D  Q
  75    ;. 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), "\"
  76    S A=$ZUTI L(68,40,1)
  77    D ##class (%SYSTEM.O BJ).Compil e("ICD.*", "-d",.ERR)
  78    D ##class (%SYSTEM.O BJ).Compil e("ICDED.* ","-d",.ER R)
  79    ;K @GL@(S UB)
  80    ;S @GL@(S UB,"FILE") =RFILE
  81    ;S @GL@(S UB,"FILETY PE")=AR("F ILETYPE")
  82    ;S @GL@(S UB,"CODETY PE")=AR("C ODETYPE")
  83    ;W !,"Cou nt of curr ently load ed ICD rec ords",!
  84    W !,!
  85    F  U RFIL E R RST Q: $ZEOF=-1   S RST=$TR( RST,$C(10, 13)) D PAR SE(RST,RFI LE)       
  86    ;U 0 W !, @GL@(SUB), " records  loaded int o ",GL,"(" "",SUB,""" )"
  87    Q      
  88   PARSE(RST, FILE) ;
  89    ;U 0 W !, RST
  90    I RST?1"I CD10_CODE" .E Q
  91    ; write c urrently l oaded reco rd total t o the scre en every 1 0 seconds
  92    I $ZH-REP >10 U 0 W  "Processed  ICD-10 ", $S(AR("COD ETYPE")="C ":"CM",1:" PCS")," Re cords - ", ^ICD.ICDD- INITCNT,"   Current C ode ",$G(C ODE),*13 S  REP=$ZH
  93    I FILE[". TAB" S DAT A=$TR(RST, $C(9),"^")  D SAVE(DA TA) Q
  94    I BC="B"  S CUT="1-8 ,9-9,10-44 ,45-92,93- 2092,2093- 2093,2094- 2094"
  95    E  S CUT= "1-8,9-9,1 0-19,20-29 ,30-39,40- 49,50-89,9 0-2089,209 0-4089,409 0-4099,410 0-4100"
  96    S DATA=""
  97    F I=1:1:$ L(CUT,",")  S LIM=$P( CUT,",",I) ,$P(DATA," ^",I)=$E(R ST,+LIM,$P (LIM,"-",2 ))
  98    D SAVE(DA TA)
  99    Q      
  100   SAVE(DATA)  ;
  101    ;
  102    N I
  103    ;S @GL@(S UB)=$G(@GL @(SUB))+1
  104    ; massage  data a li ttle
  105    ;I $P(DAT A,"^",2)=" I" Q
  106    I $P(DATA ,"^",6)=""  Q
  107    S CODE=$P (DATA,"^")  
  108    I AR("COD ETYPE")="C ",$L(CODE) >3,CODE'[" ." S $P(DA TA,"^")=$E (CODE,1,3) _"."_$E(CO DE,4,9)
  109    ;
  110    ;S @GL@(S UB,@GL@(SU B))=DATA
  111    ;F I=1:1: $L(DATA,"^ ") I $P(DA TA,"^",I)' =""  S @GL @(SUB,$C(6 5+I),$P(DA TA,"^",I), @GL@(SUB)) =""
  112    I AR("COD ETYPE")="C " S ICD10R ecord=##cl ass(ICD.IC D10CM).%Ne w()
  113    I AR("COD ETYPE")="P " S ICD10R ecord=##cl ass(ICD.IC D10PCS).%N ew()
  114    S ICD10Re cord.ICDCo de=$P(DATA ,"^")
  115    S ICD10Re cord.Descr iption=$P( DATA,"^",4 )
  116    S ICD10Re cord.Optum Status=$P( DATA,"^",6 )
  117    S ICD10Re cord.State Approval=1
  118    S ICD10Re cord.Optum Validity=$ P(DATA,"^" ,2)
  119    S Approva l=""
  120    I AR("COD ETYPE")="C " D
  121    . S Appro val=##clas s(ICD.Appr ovalICD10C M).%New()
  122    . ;S ICD1 0Record.Ap provalICD1 0CM=Approv al
  123    . S Appro val.ICD10= ICD10Recor d
  124    I AR("COD ETYPE")="P " D
  125    . S Appro val=##clas s(ICD.Appr ovalICD10P CS).%New()
  126    . ;S ICD1 0Record.Ap provalICD1 0PCS=Appro val
  127    . S Appro val.ICD10= ICD10Recor d
  128    I Approva l="" W 1/0
  129    S Approva l.Approval State=1
  130    S Approva l.NewNoun= 0
  131    S Approva l.Tested=0
  132    ; check i f this rec ord has ac tually cha nged (for  C and U st atus)
  133    S ABORT=0
  134    I AR("COD ETYPE")="C ",ICD10Rec ord.OptumS tatus="C"! (ICD10Reco rd.OptumSt atus="U")  D  
  135    . S ICD10 IEN="",ICD 10=ICD10Re cord.ICDCo de
  136    . F  S IC D10IEN=$O( ^CHMICDX(" C",ICD10,I CD10IEN))  Q:'ICD10IE N  Q:$P($G (^CHMICDX( ICD10IEN,0 )),"^",24)  
  137    . Q:'ICD1 0IEN
  138    . ; now c heck if De scription  and Validi ty is same
  139    . Q:ICD10 Record.Des cription'= $P($G(^CHM ICDX(ICD10 IEN,0)),"^ ")
  140    . I ICD10 Record.Opt umValidity ="C",$P($G (^CHMICDX( ICD10IEN,0 )),"^",16) =1 Q
  141    . I ICD10 Record.Opt umValidity ="I",$P($G (^CHMICDX( ICD10IEN,0 )),"^",16) '=1 Q
  142    . S ABORT =1
  143    I AR("COD ETYPE")="P ",ICD10Rec ord.OptumS tatus="C"! (ICD10Reco rd.OptumSt atus="U")  D  
  144    . S ICD10 IEN="",ICD 10=ICD10Re cord.ICDCo de
  145    . I AR("C ODETYPE")= "P" F  S I CD10IEN=$O (^CHMSERV( "BE",ICD10 _"Z",ICD10 IEN)) Q:'I CD10IEN  Q :$P($G(^CH MSERV(ICD1 0IEN,0))," ^",5)="ICD -10"
  146    . Q:'ICD1 0IEN
  147    . ; now c heck if De scription  and Validi ty is same
  148    . S JV=$O (^CHMSERV( ICD10IEN,1 ,0))
  149    . Q:ICD10 Record.Des cription'= $G(^CHMSER V(ICD10IEN ,1,JV,30))
  150    . I ICD10 Record.Opt umValidity ="C",$P($G (^CHMSERV( ICD10IEN,0 )),"^",9)= 1 Q
  151    . I ICD10 Record.Opt umValidity ="I",$P($G (^CHMSERV( ICD10IEN,0 )),"^",9)' =1 Q
  152    . S ABORT =1
  153    I ABORT Q
  154    S sc=ICD1 0Record.%S ave()
  155    Q
  156   REIMB ;
  157    O RFILE:" R"
  158    S A=$ZUTI L(68,40,1)
  159    U 0 W !," Loading    ",RFILE,!, ! ;,"Count  of curren tly loaded  Crosswalk  records", !
  160    D ##class (%SYSTEM.O BJ).Compil e("ICD.*", "-d",.ERR)
  161    D ##class (%SYSTEM.O BJ).Compil e("ICDED.* ","-d",.ER R)
  162    S REP=$ZH
  163    F COUNT=0 :1 D  Q:$Z EOF=-1
  164    . U RFILE  R RST I $ ZEOF=-1 Q
  165    . S RST=$ TR(RST,$C( 10,13))
  166    . S CODE= $$STS^CHIC DML($E(RST ,1,8)),COD E=$ZU(28,C ODE,5)
  167    . I $ZH-R EP>10 U 0  W "Process ing ICD-10  ",$S(AR(" CODETYPE") ="C":"CM", 1:"PCS"),"  Record Nu mber ",COU NT,"  Last  Code ",CO DE,"   ",* 13 S REP=$ ZH
  168    . K ICD9
  169    . I $L(CO DE)>3,AR(" CODETYPE") ="C" S COD E=$E(CODE, 1,3)_"."_$ E(CODE,4,9 9)
  170    . ; GEM i s disabled  for now
  171    . I RG="G " D  Q
  172    . . S FLA GS=$$STS^C HICDML($E( RST,15,19) )
  173    . . S ICD 9($$STS^CH ICDML($ZU( 28,$E(RST, 9,14),5))) =FLAGS
  174    . I RG="R " D 
  175    . . S C1= $E(RST,9)
  176    . . K ICD 9
  177    . . F J=1 :1:C1 S IC D9($$STS^C HICDML($ZU (28,$E(RST ,J*6+5,J*6 +10),5)))= ""
  178    . ; store  data
  179    . I AR("C ODETYPE")= "C" S ICD1 0Record=## class(ICD. CrosswalkI CDDX).%New ()
  180    . I AR("C ODETYPE")= "P" S ICD1 0Record=## class(ICD. CrosswalkI CDPCS).%Ne w()
  181    . S ICD10 Record.ICD 10=CODE
  182    . S ICD9= ""
  183    . S DOTP= $S(AR("COD ETYPE")="C ":3,1:2)
  184    . F  S IC D9=$O(ICD9 (ICD9)) Q: ICD9=""  D
  185    . . S ICD 9Record=""
  186    . . I AR( "CODETYPE" )="C" S IC D9Record=# #class(ICD .ICD9Cross walkDX).%N ew()
  187    . . I AR( "CODETYPE" )="P" S IC D9Record=# #class(ICD .ICD9Cross walkPCS).% New()
  188    . . I ICD 9Record=""  W 1/0
  189    . . S ICD 9X=ICD9 S: $L(ICD9)>D OTP ICD9X= $E(ICD9,1, DOTP)_"."_ $E(ICD9,DO TP+1,*)
  190    . . S ICD 9Record.IC D9=ICD9X
  191    . . S ICD 9Record.IC D9Crosswal k=ICD10Rec ord
  192    . S sc=IC D10Record. %Save()
  193    . I sc'=1  u 0 d $Sy stem.Statu s.DisplayE rror(sc) W  1/0
  194    D ##class (ICD.Cross walkICD).% BuildIndic es()
  195    Q
  196   BACKUP ;
  197    I $D(^ICD BK.ICDD) D
  198    . W !,"Ex isting Arc hives: "
  199    . S ARN=" "
  200    . F  S AR N=$O(^ICDB K.ICDD(ARN )) Q:ARN=" "  W !,?10 ,ARN
  201    R !,"Save  as Archiv e: ",ARN Q :ARN=""
  202    I $D(^ICD BK.ICDD(AR N)) W !,"A rchive alr eady exist s" Q
  203    W !,"Arch iving...", !
  204    M ^ICDBK. CrosswalkI CDD(ARN)=^ ICD.Crossw alkICDDD W  "."
  205    M ^ICDBK. CrosswalkI CDDXC(ARN) =^ICD.Cros swalkICDDX C W "."
  206    M ^ICDBK. CrosswalkI CDI(ARN)=^ ICD.Crossw alkICDI W  "."
  207    M ^ICDBK. CrosswalkI CDPCSC(ARN )=^ICD.Cro sswalkICDP CSC W "."
  208    M ^ICDBK. ICD10CMC(A RN)=^ICD.I CD10CMC W  "."
  209    M ^ICDBK. ICD10PCSC( ARN)=^ICD. ICD10PCSC  W "."
  210    M ^ICDBK. ICD9Crossw alkDXI(ARN )=^ICD.ICD 9Crosswalk DXI W "."
  211    M ^ICDBK. ICD9Crossw alkPCSI(AR N)=^ICD.IC D9Crosswal kPCSI W ". "
  212    M ^ICDBK. ICDD(ARN)= ^ICD.ICDD  W "."
  213    M ^ICDBK. ICDI(ARN)= ^ICD.ICDI  W "."
  214    M ^ICDBK. ProgramInd icatorICD1 0PCSI(ARN) =^ICD.Prog ramIndicat orICD10PCS I W "."
  215    M ^ICDBK. CrosswalkI CDD(ARN)=^ ICD.Crossw alkICDD W  "."
  216    W !,"Done  archiving  to ",ARN
  217    Q
  218   RESTORE ;
  219    I $D(^ICD BK.ICDD) D
  220    . W !,"Ex isting Arc hives: "
  221    . S ARN=" "
  222    . F  S AR N=$O(^ICDB K.ICDD(ARN )) Q:ARN=" "  W !,?10 ,ARN
  223    R !,"Arch ive Name:  ",ARN Q:AR N=""
  224    I '$D(^IC DBK.ICDD(A RN)) W !," Archive do es not exi st" Q
  225    I $G(^ICD .ICDD)'=0  D
  226    . R !,"Cu rrent data  exists.   Clear befo re restori ng?  Y//", YN
  227    . I YN="Y "!(YN="y") !(YN="") D  KILLCX,KI LLICD
  228    W !,"Rest oring..."
  229    M ^ICD.Cr osswalkICD D=^ICDBK.C rosswalkIC DDD(ARN)
  230    M ^ICD.Cr osswalkICD DXC=^ICDBK .Crosswalk ICDDXC(ARN )
  231    M ^ICD.Cr osswalkICD I=^ICDBK.C rosswalkIC DI(ARN)
  232    M ^ICD.Cr osswalkICD PCSC=^ICDB K.Crosswal kICDPCSC(A RN)
  233    M ^ICD.IC D10CMC=^IC DBK.ICD10C MC(ARN)
  234    M ^ICD.IC D10PCSC=^I CDBK.ICD10 PCSC(ARN)
  235    M ^ICD.IC D9Crosswal kDXI=^ICDB K.ICD9Cros swalkDXI(A RN)
  236    M ^ICD.IC D9Crosswal kPCSI=^ICD BK.ICD9Cro sswalkPCSI (ARN)
  237    M ^ICD.IC DD=^ICDBK. ICDD(ARN)
  238    M ^ICD.IC DI=^ICDBK. ICDI(ARN)
  239    M ^ICD.Pr ogramIndic atorICD10P CSI=^ICDBK .ProgramIn dicatorICD 10PCSI(ARN )
  240    M ^ICD.Cr osswalkICD D=^ICDBK.C rosswalkIC DD(ARN)
  241    W !,"Done  Restoring  from ",AR N
  242    Q
  243   KILLICD ;
  244    ;K ^ICD.I CD10CMC
  245    S A="" F   S A=$O(^I CD.ICD10CM C("")) Q:A =""  K ^IC D.ICD10CMC (A)
  246    ;K ^ICD.I CD10PCSC
  247    S A="" F   S A=$O(^I CD.ICD10PC SC("")) Q: A=""  K ^I CD.ICD10PC SC(A)
  248    ;K ^ICD.I CDD
  249    S A="" F   S A=$O(^I CD.ICDD("" )) Q:A=""   K ^ICD.IC DD(A)
  250    S ^ICD.IC DD=0
  251    ;K ^ICD.I CDI
  252    S A="" F   S A=$O(^I CD.ICDI("" )) Q:A=""   K ^ICD.IC DI(A)
  253    ;K ^ICD.P rogramIndi catorICD10 PCSI      
  254    S A="" F   S A=$O(^I CD.Program IndicatorI CD10PCSI(" ")) Q:A=""   K ^ICD.P rogramIndi catorICD10 PCSI(A)
  255    W !,"Mapp ing Tool I CD CM & PC S cleared"
  256    Q
  257   KILLCX ;
  258    ;K ^ICD.C rosswalkIC DD
  259    S A="" F   S A=$O(^I CD.Crosswa lkICDD("") ) Q:A=""   K ^ICD.Cro sswalkICDD (A)
  260    S ^ICD.Cr osswalkICD D=0
  261    ;K ^ICD.C rosswalkIC DDXC
  262    S A="" F   S A=$O(^I CD.Crosswa lkICDDXC(" ")) Q:A=""   K ^ICD.C rosswalkIC DDXC(A)
  263    ;K ^ICD.C rosswalkIC DI
  264    S A="" F   S A=$O(^I CD.Crosswa lkICDI("") ) Q:A=""   K ^ICD.Cro sswalkICDI (A)
  265    ;K ^ICD.C rosswalkIC DPCSC
  266    S A="" F   S A=$O(^I CD.Crosswa lkICDPCSC( "")) Q:A=" "  K ^ICD. CrosswalkI CDPCSC(A)
  267    ;K ^ICD.I CD9Crosswa lkDXI
  268    S A="" F   S A=$O(^I CD.ICD9Cro sswalkDXI( "")) Q:A=" "  K ^ICD. ICD9Crossw alkDXI(A)
  269    ;K ^ICD.I CD9Crosswa lkPCSI
  270    S A="" F   S A=$O(^I CD.ICD9Cro sswalkPCSI ("")) Q:A= ""  K ^ICD .ICD9Cross walkPCSI(A )
  271    W !,"Cros swalk Clas ses cleare d"
  272    Q
  273   MAPICD ;
  274    ;
  275    s sc=##cl ass(ICDED. MappingToo lLoad).Map ICDCM2Cros swalk()
  276    s sc=##cl ass(ICDED. MappingToo lLoad).Map ICDPCS2Cro sswalk()
  277    Q
  278   FM2C ;
  279    ;do Conve rtFiles^%f m2cache(fi les,packag e,compile, wp-list,re ad-only,
  280    ;sappend- file-numbe r,filer,co mpiler-fla gs,class-c ount,owner ,retain)
  281    S file="2 00,741100, 741002.94"
  282    S pack="C H"
  283    S comp=1
  284    S wpl=0
  285    S ro=1
  286    S sappend =0
  287    S filer=1
  288    S compfla g="dk-l"
  289    S classco unt=""
  290    S owner=$ USERNAME
  291    S retain= 0
  292    S file="7 41100.01,7 41100.02,7 41100.03,7 41100.04"
  293    W !,"Here  goes noth ing..." H  1
  294    do Conver tFiles^%fm 2cache(fil e,pack,com p,wpl,ro,s append,fil er,compfla g,.classco unt,owner, retain)
  295    Q
  296   SUBDIVD ;
  297    S IEN=0,U ="^",PAUSE =0,SKIP=""
  298    K COUNT
  299    S ICD10F= 1 ;doing I CD10
  300    ;S ICD10F =0 ;doing  ICD9
  301   S1D S IEN= $O(^CHMICD X(IEN)) I  'IEN W ! Z W COUNT Q
  302    S D=$G(^C HMICDX(IEN ,0)) I D=" " G S1D
  303    I $P(D,U, 16)'=1 G S 1D
  304    I $D(^CHM ICDX(IEN,1 02,1,0)),$ D(^CHMICDX (IEN,102,6 ,0)) G S1D
  305    I +$P(D,U ,24)=ICD10 F D
  306    . D S2DX( IEN,.HI,IC D10F) ;ZW  HI
  307    . ; if mo re than on e, put on  spreadshee t
  308    . I $O(HI ("CVA",$O( HI("CVA"," "))))'=""! ($O(HI("SB ",$O(HI("S B",""))))' ="") D
  309    . . ;W !, "CVA - ",C ODE," (IEN  ",IEN,")  ",$P("ICD9 ,ICD10",", ",ICD10F+1 ),! ZW HI( "CODE","CV A") S PAUS E=1 S X=$I (COUNT("MU LT"))
  310    . . ;W !, "SB - ",CO DE," (IEN  ",IEN,") " ,$P("ICD9, ICD10","," ,ICD10F+1) ,! ZW HI(" CODE","SB" ) S PAUSE= 1
  311    . . ;S X= $I(COUNT(" MULT"))
  312    . . S CVA ="",SB="", FST=1
  313    . . W !
  314    . . F  D   Q:CVA=""& (SB="")
  315    . . . I C VA'=""!FST  S CVA=$O( HI("CVA",C VA))
  316    . . . I S B'=""!FST  S SB=$O(HI ("SB",SB))
  317    . . . I C VA="",SB=" " Q
  318    . . . W ! ,$P(D,U,2) ,",",$P(D, U),",,,"
  319    . . . W:C VA +$P(^DI C(741100,C VA,0),"#", 2)
  320    . . . W " ,"
  321    . . . W:S B +$P(^DIC (741100,SB ,0),"#",2)
  322    . . . W " ,,,No,No,N ot Edited, "
  323    . . . S I ="",DELIM= "" 
  324    . . . F   S I=$O(HI( "CODE","CV A",I)) Q:I =""  I HI( "CODE","CV A",I)=CVA  W DELIM,I  S DELIM="/ "
  325    . . . S I ="",DELIM= "" W ","
  326    . . . F   S I=$O(HI( "CODE","SB ",I)) Q:I= ""  I HI(" CODE","SB" ,I)=SB W D ELIM,I S D ELIM="/"
  327    . I $O(HI ("CVA","") )=""!($O(H I("SB","") )="") D
  328    . . ;W !, "MISSING -  ",CODE,"  (IEN ",IEN ,") " S PA USE=1,X=$I (COUNT("MI SSING"))
  329    . I PAUSE =0 ;W !,"O K - ",CODE ," (IEN ", IEN,") ",$ P("ICD9,IC D10",",",I CD10F+1),"   CVA=",$O (HI("CVA", "")),"  SB =",$O(HI(" SB","")) S  X=$I(COUN T("SINGLE" ))
  330    . I PAUSE  R:SKIP'=" S" !,"More  -- ",SKIP #1 Q:SKIP[ "^"  S PAU SE=0,X=$O( COUNT("FIX "))
  331    G S1D:SKI P'["^"
  332    Q
  333   SUBDIVP ;
  334    S IEN=0,U ="^",PAUSE =0,SKIP=""
  335    K COUNT
  336    S ICD10F= 1 ;doing I CD10
  337    ;S ICD10F =0 ;doing  ICD9
  338   S1P S IEN= $O(^CHMSER V(IEN)) I  'IEN W ! Z W COUNT Q
  339    S D=$G(^C HMSERV(IEN ,0)) I D=" " G S1P
  340    I $D(^CHM SERV(IEN,1 02,1,0)),$ D(^CHMSERV (IEN,102,6 ,0)) G S1P
  341    I $P(D,U, 5)=$S(ICD1 0F=0:"ICD- 9",1:"ICD- 10") D
  342    . D S2PCS (IEN,.HI,I CD10F) ;ZW  HI
  343    . I $O(HI ("CVA",$O( HI("CVA"," "))))'=""! ($O(HI("SB ",$O(HI("S B",""))))' ="") D
  344    . . ;W !, "CVA - ",C ODE," (IEN  ",IEN,")  ",$P("ICD9 ,ICD10",", ",ICD10F+1 ),! ZW HI( "CODE","CV A") S PAUS E=1 S X=$I (COUNT("MU LT"))
  345    . . ;W !, "SB - ",CO DE," (IEN  ",IEN,") " ,$P("ICD9, ICD10","," ,ICD10F+1) ,! ZW HI(" CODE","SB" ) S PAUSE= 1
  346    . . ;S X= $I(COUNT(" MULT"))
  347    . . S CVA ="",SB="", FST=1
  348    . . W !
  349    . . F  D   Q:CVA=""& (SB="")
  350    . . . I C VA'=""!FST  S CVA=$O( HI("CVA",C VA))
  351    . . . I S B'=""!FST  S SB=$O(HI ("SB",SB))
  352    . . . I C VA="",SB=" " Q
  353    . . . W ! ,$P(D,U)," ,"
  354    . . . S I DT=$O(^CHM SERV(IEN,1 ,0)) W ^CH MSERV(IEN, 1,IDT,30), ",,,"
  355    . . . W:C VA +$P(^DI C(741100,C VA,0),"#", 2)
  356    . . . W " ,"
  357    . . . W:S B +$P(^DIC (741100,SB ,0),"#",2)
  358    . . . W " ,,,No,No,N ot Edited, "
  359    . . . S I ="",DELIM= "" 
  360    . . . F   S I=$O(HI( "CODE","CV A",I)) Q:I =""  I HI( "CODE","CV A",I)=CVA  W DELIM,I  S DELIM="/ "
  361    . . . S I ="",DELIM= "" W ","
  362    . . . F   S I=$O(HI( "CODE","SB ",I)) Q:I= ""  I HI(" CODE","SB" ,I)=SB W D ELIM,I S D ELIM="/"
  363    . I $O(HI ("CVA","") )=""!($O(H I("SB","") )="") D
  364    . . ;W !, "MISSING -  ",CODE,"  (IEN ",IEN ,") " S PA USE=1,X=$I (COUNT("MI SSING"))
  365    . I PAUSE =0 ;W !,"O K - ",CODE ," (IEN ", IEN,") ",$ P("ICD9,IC D10",",",I CD10F+1),"   CVA=",$O (HI("CVA", "")),"  SB =",$O(HI(" SB","")) S  X=$I(COUN T("SINGLE" ))
  366    . I PAUSE  R:SKIP'=" S" !,"More  -- ",SKIP #1 Q:SKIP[ "^"  S PAU SE=0,X=$O( COUNT("FIX "))
  367    G S1P:SKI P'["^"
  368    Q
  369    ; get lis t of CVA/S B codes
  370   S2DX(IEN,H I,ICD10F)  ;
  371    ;I IEN>20 000 W 1/0
  372    ;W !,IEN, " ",D
  373    K HI S U= "^"
  374    S D=$G(^C HMICDX(IEN ,0))
  375    ;I $P(D,U ,16)'=1 Q
  376    ;W !,IEN, " ",D
  377    S CODE=$P (D,U,2) 
  378    I CODE?1A .E S CODE1 =$O(^CHMIC DX("AE",CO DE),-1)
  379    E  S CODE 1=CODE_" "
  380    ;W !,"  " ,CODE
  381    S PAUSE=0
  382    F  S CODE 1=$O(^CHMI CDX("AE",C ODE1)) Q:$ E(CODE1,1, $L(CODE))' =CODE  D
  383    . S CIEN= ""
  384    . F  S CI EN=$O(^CHM ICDX("AE", CODE1,CIEN )) Q:CIEN= ""  D
  385    . . ;I CI EN=IEN Q
  386    . . S CIE ND=$G(^CHM ICDX(CIEN, 0))
  387    . . I +$P (CIEND,U,2 4)'=ICD10F  Q
  388    . . I CIE ND'="" D  
  389    . . . S H I("CODE",$ P(CIEND,U, 2))=CIEN
  390    . . . S H I("CODE"," CVA",$P(CI END,U,2))= $P($G(^CHM ICDX(CIEN, 102,1,0)), U,2)
  391    . . . S H I("CODE"," SB",$P(CIE ND,U,2))=$ P($G(^CHMI CDX(CIEN,1 02,6,0)),U ,2)
  392    . . S CVA =$P($G(^CH MICDX(CIEN ,102,1,0)) ,U,2)
  393    . . S SB= $P($G(^CHM ICDX(CIEN, 102,6,0)), U,2)
  394    . . ;S HI (CODE,CODE 1,102,1,0) =$G(^CHMIC DX(CIEN,10 2,1,0))
  395    . . ;S HI (CODE,CODE 1,102,6,0) =$G(^CHMIC DX(CIEN,10 2,6,0))
  396    . . I CVA  S HI("CVA ",CVA)=CIE N
  397    . . I SB  S HI("SB", SB)=CIEN
  398    Q
  399   S2PCS(IEN, HI,ICD10F)  ;
  400    ;I IEN>20 000 W 1/0
  401    ;W !,IEN, " ",D
  402    K HI S U= "^"
  403    S D=$G(^C HMSERV(IEN ,0))
  404    I $P(D,U, 5)'=$S(ICD 10F=0:"ICD -9",1:"ICD -10") Q
  405    ;W !,IEN, " ",D
  406    S CODE=$P (D,U),CODE 1=CODE_" "
  407    S CODE1=$ O(^CHMSERV ("B",CODE) ,-1)
  408    ;W !,"  " ,CODE
  409    S PAUSE=0
  410    F  S CODE 1=$O(^CHMS ERV("B",CO DE1)) Q:$E (CODE1,1,$ L(CODE))'= CODE  D
  411    . S CIEN= ""
  412    . F  S CI EN=$O(^CHM SERV("B",C ODE1,CIEN) ) Q:CIEN=" "  D
  413    . . ;I CI EN=IEN Q
  414    . . S CIE ND=$G(^CHM SERV(CIEN, 0))
  415    . . ;W !, CIEN," ",C IEND
  416    . . I $P( CIEND,U,5) '=$S(ICD10 F=0:"ICD-9 ",1:"ICD-1 0") Q
  417    . . I CIE ND'="" D  
  418    . . . S H I("CODE",$ P(CIEND,U) )=CIEN
  419    . . . S H I("CODE"," CVA",$P(CI END,U))=$P ($G(^CHMSE RV(CIEN,10 2,1,0)),U, 2)
  420    . . . S H I("CODE"," SB",$P(CIE ND,U))=$P( $G(^CHMSER V(CIEN,102 ,6,0)),U,2 )
  421    . . S CVA =$P($G(^CH MSERV(CIEN ,102,1,0)) ,U,2)
  422    . . S SB= $P($G(^CHM SERV(CIEN, 102,6,0)), U,2)
  423    . . ;S HI (CODE,CODE 1,102,1,0) =$G(^CHMIC DX(CIEN,10 2,1,0))
  424    . . ;S HI (CODE,CODE 1,102,6,0) =$G(^CHMIC DX(CIEN,10 2,6,0))
  425    . . I CVA  S HI("CVA ",CVA)=CIE N
  426    . . I SB  S HI("SB", SB)=CIEN
  427    Q
  428    ; scan fo r incomple te codes
  429   SCAN ;
  430    S A="^CHM PAY(""A"") ",U="^" K  COUNT,COUN T1
  431    F  S A=$Q (@A,-1) Q: A=""  D  Q :$C(GLAZ)= "^"
  432    . I A?1"^ CHMPAY("1. N1",101,"1 .N1",""DME -DX"","1.N 1",0)" S B =@A,DX=$P( B,U) I $$S D(DX)
  433    . I A?1"^ CHMPAY("1. N1",101,"1 .N1",""INP "")" S B=@ A,DX=$P(B, U,3) I $$S D(DX)
  434    . I A?1"^ CHMPAY("1. N1",101,"1 .N1",""INP -DX"","1.N 1",0)" S B =@A,DX=$P( B,U) I $$S D(DX)
  435    . I A?1"^ CHMPAY("1. N1",101,"1 .N1",""OPT -DX"","1.N 1",0)" S B =@A,DX=$P( B,U) I $$S D(DX)
  436    . I A?1"^ CHMPAY("1. N1",""DEN- DX"","1.N1 ",0)" S B= @A,DX=$P(B ,U) I $$SD (DX)
  437    . I A?1"^ CHMPAY("1. N1",""DME- DX"","1.N1 ",0)" S B= @A,DX=$P(B ,U) I $$SD (DX)
  438    . I A?1"^ CHMPAY("1. N1",""INP" ")" S B=@A ,DX=$P(B,U ,3) I $$SD (DX)
  439    . I A?1"^ CHMPAY("1. N1",""INP- DX"","1.N1 ",0)" S B= @A,DX=$P(B ,U) I $$SD (DX)
  440    . I A?1"^ CHMPAY("1. N1",""OPT- DX"","1.N1 ",0)" S B= @A,DX=$P(B ,U) I $$SD (DX)
  441    . I A?1"^ CHMPAY("1. N1",""PHAR M"","1.N1" ,""RX-DX"" ,"1.N1",0) " S B=@A,D X=$P(B,U)  I $$SD(DX)
  442    . I A?1"^ CHMPAY("1. N1",""PHAR M"","1.N1" ,0)" S B=@ A,DX=$P(B, U,14) I $$ SD(DX)
  443    . R *GLAZ :0 I GLAZ= 32 W !,!," Incomplete /Total: ", COUNT("INC OM"),"/",C OUNT("INCO M")+COUNT( "COMP"),"  = ",COUNT( "INCOM")/( COUNT("INC OM")+COUNT ("COMP")), !
  444    Q
  445   SD(DX) ;
  446    I DX="" S  X=$I(COUN T("NONE"))  Q 0
  447    S G=$G(^C HMICDX(DX, 0)) I G=""  S X=$I(CO UNT1("BROK EN",DX)),X =$I(COUNT( "BROKEN"))  Q 0
  448    I $P(G,U, 16) S X=$I (COUNT1("I NCOM",DX)) ,X=$I(COUN T("INCOM") ) D  Q 1
  449    . ;W !,A, " = ",@A
  450    . W !,!,X ,")  ",A,"  = ",@A
  451    . S CLMZ= ^CHMPAY(+$ P(A,"(",2) ,0)
  452    . W !,$P( CLMZ,U),"    Status:"
  453    . W $P("R EJECTED;IN  PROCESS;P AYMENT REQ UESTED;EOB  REQUESTED ;COMPLETE; ADJUDICATE D;PAYMENT  REJECTED C APPS/CALM; ADMINISTRA TIVE SUSPE NSE;PAYMEN T APPROVED  CAPPS/CAL M;MANUALLY  PROCESSED ;DELETED", ";",$P(CLM Z,U,2)+1)
  454    . S DATE= $P(CLMZ,U, 8) W "   D ate:",$E(D ATE,4,5)," /",$E(DATE ,6,7),"/", DATE\10000 +1700
  455    . W "   C ode: ",$P( ^CHMICDX(D X,0),U,2)
  456    . I $P(A, ",",2)=101  S X=$I(CO UNT("DETAI L","101,"_ $P(A,"""", 2)))
  457    . I $P(A, ",",2)'=10 1 S X=$I(C OUNT("DETA IL",$P(A," """,2)))
  458    S X=$I(CO UNT("COMP" )) 
  459    Q 0
  460   TERMS ;
  461    S A=0,U=" ^"
  462    F  S A=$O (^CHMSERV( A)) Q:'A   I ^CHMSERV (A,0)["ICD -9" S B=$O (^CHMSERV( A,1,"")) I  $P($G(^CH MSERV(A,1, B,0)),U) W  !,^CHMSER V(A,0)
  463    Q
  464   DD ;
  465    S DIC=741 000 K DX S  U="^"
  466    D DDPROC( DIC,"^CHMP AY,#")
  467    Q
  468   DDPROC(DIC ,GL) ;
  469    W !,"Ente ring DIC=" ,DIC
  470    N FLD S F LD=0
  471   DDP1 ;
  472    S FLD=$O( ^DD(DIC,FL D)) Q:'FLD
  473    S DATA=^D D(DIC,FLD, 0)
  474    W !,DIC,"  ",FLD," " ,DATA
  475    I $P(DATA ,U,2)[7410 06.05 S DX (DIC,FLD)= GL_","_$P( DATA,U,4)  G DDP1
  476    I $P(DATA ,U,4)[";0"  D
  477    . S SDIC= $TR($P(DAT A,U,2),"AB CDEFGHIJKL MNOPQRSTUV WXYZ")
  478    . D DDPRO C(SDIC,GL_ $P(DATA,U, 4)_",#")
  479    G DDP1
  480   CHFM2C ; A ll
  481    ; Mapping  tool comm ents.....
  482    ;
  483    ;http:// IP             /csp/docbo ok/DocBook .UI.Page.c ls?KEY=AFI LEMAN_Conv ersion
  484    ;
  485    ;Owner of  the Class es Created                                               owner
  486    ;Package  Name to Cr eate the C lasses in                                     package
  487    ;Super Cl asses                                                                                         supe rClasses
  488    ;Table Na me Format  Based on t he File Na me and Num ber            tableN ameFormat
  489    ;Child Ta ble Name F ormat Base d on the F ile Name a nd Number                        childTable NameFormat
  490    ;Datatype  to use fo r FileMan  Date field s                         dateTy pe
  491    ;Datatype  to use fo r FileMan  DateTime f ields                              datetime Type
  492    ;Expand P ointers?                                 ex pandPointe rs
  493    ;Expand S et Of Code s fields     xpandSet OfCodes
  494    ;Datatype  to use fo r Set Of C odes field s       se tOfCodesEn um
  495    ;Define R equired Pr operties f or Fields  that are         requ iredType
  496    ;Extended  Mapping       extend edMapping
  497    ;Name of  the IEN Fi eld          ienField Name
  498    ;Retain C lass?          retain Class
  499    ;Recursio n     recu rsion
  500    ;               0 me ans no rec ursion, 1  means part ial recurs ion, and 2  means ful l recursio n.
  501    ;Word-Pro cessing Fi elds Conve rsion      wpIsList
  502    ;Read Onl y?    read only
  503    ;Log File       logF ile
  504    ;Compile  Classes?       compil e
  505    ;Compile  Flags          compil eQSpec
  506    ;Delete F lags  dele teQSpec
  507    ;Display  Result         displa y
  508    ;0 means  no display , 1 means  minimal di splay, and  2 means f ull displa y.
  509    ;S fmSett ings("disp lay")=2
  510    ;S fmFiel ds(200,.01 )=""
  511    ;S classC ount=4
  512    F I="owne r:_SYSTEM" ,"superCla sses:","da teType:%Li brary.File manDate" S  fmSetting s($p(I,":" ))=$P(I,": ",2,99)
  513    F I="date timeType:% Library.Fi lemanTimeS tamp" S fm Settings($ p(I,":"))= $P(I,":",2 ,99)
  514    F I="expa ndPointers :","xpandS etOfCodes: ","setOfCo desEnum:%L ibrary.Enu mString" S  fmSetting s($p(I,":" ))=$P(I,": ",2,99)
  515    F I="requ iredType:R EQUIRED FI ELDS","ext endedMappi ng:","ienF ieldName:I EN" S fmSe ttings($p( I,":"))=$P (I,":",2,9 9)
  516    F I="reta inClass:1" ,"recursio n:0","wpIs List:1","r eadonly:", "logFile:" ,"compile: 1" S fmSet tings($p(I ,":"))=$P( I,":",2,99 )
  517    F I="comp ileQSpec:/ display=al l/lock=0", "deleteQSp ec:/displa y=all","di splay:2" S  fmSetting s($p(I,":" ))=$P(I,": ",2,99)
  518    ;
  519    ; ******* ********** ***  these  three are  important  ********* ********** ********
  520    ;
  521    F I="tabl eNameForma t:<FILENAM E>","child TableNameF ormat:<FIL ENAME>","p ackage:CH"  S fmSetti ngs($p(I," :"))=$P(I, ":",2,99)
  522    S FileLis t="741006. 05,200,741 002.93,741 002.94,741 006,741100 "
  523    ;S FX=1
  524    ;F  S Fil e=$P(FileL ist,",",FX ) Q:File=" "  S fmFil es(File)=" ",FX=FX+1
  525    ;
  526    ; Execute  the below  DO statem ent at the  command p rompt
  527    Do $Syste m.OBJ.FM2C lass.Some( .FileList, .fmSetting s)
  528    Q      
  529   CODESCAN
  530    S FILE=$$ MENU^CHICD OL("M",.DA TA)
  531    O FILE:"R "
  532    F  D
  533    . U FILE  R DAT S OD AT=DAT
  534    . S DAT=$ S(DATA("CO DETYPE")=" C":$$MTFIX CM^CHICDOL (DAT),1:$$ MTFIXPCS^C HICDOL(DAT )) 
  535    . S CVA1= $P(DAT,"^" ,5),SB1=$P (DAT,"^",6 )
  536    . I '$D(^ DIC(741100 ,"B","TEST  #"_CVA1))  U 0 W !,D AT S FOUND ($I(FOUND) ,1)=ODAT,F OUND(FOUND ,2)=DAT
  537    . I '$D(^ DIC(741100 ,"B","TEST  #"_SB1))  U 0 W !,DA T S FOUND( $I(FOUND), 1)=ODAT,FO UND(FOUND, 2)=DAT
  538    Q
  539    ; general  write obj ect
  540   WOBJ(OBJ)  ;
  541    I '$ISOBJ ECT(OBJ) Q
  542    S CN=$P(O BJ,"@",2)
  543    S cdef=## class(%Dic tionary.Cl assDefinit ion).%Open Id(CN)
  544    S count=c def.Proper ties.Count ()
  545    F i=1:1:c ount D
  546    . S Prop= cdef.Prope rties.GetA t(i).Name, PType=cdef .Propertie s.GetAt(i) .Collectio
  547    . I PType ="" W !,Pr op," = " X  "W OBJ."_ Prop Q
  548    . X "S co unt1=OBJ." _Prop_".Co unt()" W ! ,Prop," =  list (",co unt1,")"
  549    . F j=1:1 :count1 X  "S V=OBJ." _Prop_".Ge tAt(j)" W  !,"  (",j, ")=",V I j >10 W !,"    ......"  Q
  550    Q