88. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 11/9/2018 12:33:53 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.

88.1 Files compared

# Location File Last Modified
1 CPEE_Build9_Sprint27.zip\HAC_CPE_CH CHMCOBD21.m Mon Nov 5 16:44:37 2018 UTC
2 CPEE_Build9_Sprint27.zip\HAC_CPE_CH CHMCOBD21.m Mon Nov 5 17:42:30 2018 UTC

88.2 Comparison summary

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

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

88.4 Active regular expressions

No regular expressions were active.

88.5 Comparison detail

  1   CHMCOBD21  ;HRL/dlb;E 01 MEDICAR E CROSSOVE R MAIN DRI VER;05/20/ 2010 2:08  PM
  2    ;;1;E01 M EDICARE CR OSSOVER MA IN DRIVER; ;MAY 20,20 10;Build 1
  3            ; DEV002841- 02;E01 MED ICARE CROS SOVER MAIN  DRIVER;
  4            ; HR-COB-Med icare-A/B- Begin-CR93 72
  5           Q
  6    
  7    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;
  8    ; EPTEST1  Performs  an abbrevi ated E01 B uild. The  TSTCNT var iable cont ains      
  9    ; the num ber of rec ords to bu ild. UPDAT E,FULL UPD ATE proces s is bypas sed       
  10    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;; 
  11    
  12   EPTESTE01( TSTCNT)                                           ; TE ST Executi on Loop fo r E01 Elig ibility TE STS
  13    N TEST,CH ACTIVE
  14    S TEST=1
  15    S CHACTIV E="E01"                                           ; Se t the CHAC TIVE Globa l to E01
  16    I '$G(TST CNT) W "Pa ss in test  record co unt as par ameter...< Nothing Do ne>",!! Q
  17    D EPMAIN
  18    Q
  19    
  20    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;
  21    ; EPTESTE 02 Perform s an abbre viated E02  Build. Th e TSTCNT v ariable co ntains ;
  22    ; the num ber of rec ords to bu ild. UPDAT E,FULL UPD ATE proces s is bypas sed        ;
  23    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;
  24    
  25   EPTESTE02( TSTCNT)                                           ; TE ST Executi on Loop fo r E02 Elig ibility TE STS
  26    N TEST,CH ACTIVE
  27    S TEST=1
  28    S CHACTIV E="E02"                                  ;  Set the CH ACTIVE Glo bal to "E0 2"
  29    I '$G(TST CNT) W "Pa ss in test  record co unt as par ameter...< Nothing Do ne>",!! Q
  30    D EPMAIN
  31    Q
  32    
  33   EPTESTALL( TSTCNT)
  34    N TEST,CH ACTIVE
  35    S TEST=1
  36    S CHACTIV E="E01^E02 "                             ;  Set the CH ACTIVE Glo bal to RUN  BOTH
  37    I '$G(TST CNT) W "Pa ss in test  record co unt as par ameter...< Nothing Do ne>",!! Q
  38    D EPMAIN                                                             ; Do B oth E01 an d E02
  39    Q
  40    
  41    
  42   EPE01
  43    K TEST
  44    N CHACTIV E
  45    S CHACTIV E="E01"                                           ; Se t the CHAC TIVE Globa l to "E01"
  46    D EPMAIN
  47    Q
  48    
  49   EPE02
  50    K TEST
  51    N CHACTIV E
  52    S CHACTIV E="E02"                                           ; Se t the CHAC TIVE Globa l to "E02"
  53    D EPMAIN
  54    Q
  55    
  56   EPALL
  57    K TEST
  58    N CHACTIV E
  59    S CHACTIV E="E01^E02 "                             ;  Set the CH ACTIVE Glo bal to do  "E01" and  "E02"
  60    D EPMAIN                                                             
  61    Q
  62    
  63           
  64           ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;
  65           ;  EPMAIN is  the Entry  Point for  Eligibilit y Qualific ation for  E01/E02                     
  66           ;  This entry  point che cks to see  if the Pr ocessing F lag is "ON ", then            
  67           ;  determines  if the sc heduled ru n frequenc y is valid . If so, t he E01 bui ld  
  68           ;  is perform ed, and th e appropri ate run da tes are up dated.                                 
  69           ;  NOTE: A "F ULL" updat e KILLS th e Tracking  Global (^ CHMCOB)      before t he run. 
  70           ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;
  71           ;  OCT 6,2010     DLB      Added Fu nction Cal l to set t he CHTYPE  variable           
  72           ;        1) E PMAIN,EPMA IN2 will s et their o wn CHTYPE.   The ERF  module (CH MCOB25) 
  73           ;                 will m ake a call  here to c reate and  Initialize  the CHTYP E value 
  74           ;                 which  can then b e used y a ll functio ns                                     
  75           ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;
  76    
  77    ;HR-MEDCO B-Medicare -A/B-Begin -E01/E02 ( 2-21-2011) DLB 
  78   EPMAIN                                      ; MAIN Exe cution Loo p for E01  Eligibilit y Files
  79    K CHTI,CH TJ,CHDFN,C HBFN,CFGDA TA,CHUTYPE
  80    N E01CNT, E02CNT,CHT I,CHTJ,CHD FN,CHBFN,C FGDATA,CHI DX,RCH,ELI GDATES
  81           S  $ZT="ERR^C HMCOBD21"                              ;Err or traps c atches any thing  
  82    S (E01CNT ,E02CNT)=0 ,(ELIGDATE S,CHUTYPE) =""              ;ELI GDATES IS  THE MEDICA RE ELIGIBI LITY PERIO D
  83    D INIT                                                                        ; Entry  Initializa tion
  84       D LPBE NE                                                         ; Proc ess Benefi ciary Qual s for  E01 /E02 Recor ds
  85    I (CHACTI VE["E01")  D                             ;  CHACTIVE I S USER'S R EQUEST TO  RUN
  86    .I '$G(TE ST) I '$$U PDRUN("E01 ") Q       ; UPDRUN()  Determine s E01 Proc essing ON/ OFF
  87    .S CHIDX= $$GETCFGID X("E01")                      ;  Set CHTYPE  to E01/GE T ^TMP IND EX FOR E01
  88           .D  BLDFILE^C HMCOB23("E 01")                        ; Bu ild the E0 1 Record F ile
  89    .D UPDATE ^CHMCOBL21 (CHIDX)                       ;  Set the E0 1 ^CHMCOB  Data AFTER  File is b uilt
  90    I (CHACTI VE["E02")   D                            ;  CHACTIVE I S USER'S R EQUEST TO  RUN
  91    .I '$G(TE ST) I '$$U PDRUN("E02 ") Q       ; UPDRUN()  Determine s E02 Proc essing ON/ OFF
  92    .S CHIDX= $$GETCFGID X("E02")                      ;  Set CHTYPE  to E02/ G ET ^TMP IN DEX FOR E0 2
  93           .D  BLDFILE^C HMCOB23("E 02")                        ; Bu ild the E0 2 Record F ile
  94    .D UPDATE ^CHMCOBL21 (CHIDX)                       ;  Set the E0 2 ^CHMCOB  Data AFTER  File is b uilt
  95    .D CLEANU P                                                          ; Hous ecleaning
  96    Q
  97    ;HR-MEDCO B-Medicare -A/B-End-E 01/E02 (2- 25-2011)DL
  98    
  99    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  100    ; LPBENE1 (BCNT,TEST ,TSTCNT) P erforms Qu alificatio n Checks o n ALL Spon sor/Benefi ciary;
  101    ; pairs.  Refer to t he Medicar e Crossove r CP&E Req uirements:  Eligibili ty and Med ical    ;
  102    ; Claims  for E01 Fi le Generat ion.                                                                                                                ;
  103    ; BUILDS  ^TMP GLOBA L FOR BOTH  E01 AND E 02 ELIGIBL ITY FILES,  DECISION  TO CREATE  FILE    ;
  104    ; IS MADE  AFTER CRE ATING ^TMP                                                                                                                     ;
  105    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  106    
  107    ;HR-MEDCO B-Medicare -A/B-Begin -E01/E02 ( 4/24/2011) DLB 
  108   LPBENE                    ; Main  Execution  LOOP 
  109    N QFLAG,D STATUS,EST ATUS,QRET, CHFUI,CHST IME,CHETIM E,CHIDX,BC NT,OHIFILE
  110    S (CHDFN, DSTATUS,ES TATUS,QFLA G,BCNT,E01 CNT,E02CNT )=0,QRET=" "            ; Init f or $O of D FN (SPONSO R)
  111       F  S C HDFN=$O(^A HCHVA(CHDF N)) Q:('CH DFN)!(QFLA G)  D                   ; SPONSO R Loop
  112    .S CHBFN= 0                                                                                                               ; Init f or $O of B FN (BENEFI CIARY)
  113    .F  S CHB FN=$O(^AHC HVA(CHDFN, 100,CHBFN) ) Q:('CHBF N)!(QFLAG)   D  ; Ben e Loop for  each SPON SOR
  114    ..S BCNT= BCNT+1 ;W  !,"BENES:  ",BCNT," E 01s: ",E01 CNT,"  E02 s: ",E02CN T
  115    ..I $G(TE ST) I (TST CNT'<1) D
  116    ...I (CHA CTIVE["E01 ")&(E01CNT '<TSTCNT)  S QFLAG=1                          ; Test M ode Contro l
  117    ...I (CHA CTIVE["E02 ")&(E02CNT '<TSTCNT)  S QFLAG=1 
  118    ..I (CHAC TIVE["E01" )  D 
  119    ...S ESTA TUS=$$CHKB FN^CHMCOB2 1(CHDFN,CH BFN)                               ; E01 Qu alificatio n Checks
  120    ...;D GET TRACK^CHMC OB21(CHDFN ,CHBFN,.CH TI,.CHTJ)                          ; Get Tr acking CHT I,CHTJ Val ues
  121    ...S:ESTA TUS=1 QRET =$$QUAL^CH MCOB21(CHD FN,CHBFN," E01")                   ; Build  ^TMP for E 01 QUALIFI ED Bene
  122    ...S:ESTA TUS=0 QRET =$$NOQUAL^ CHMCOB21(C HDFN,CHBFN ,"E01")        ; Buil d ^TMP for  E01 NON-Q ualified B ene
  123    ...S E01C NT=E01CNT+ QRET
  124    ..I (CHAC TIVE["E02" )  D
  125    ...S DSTA TUS=$$CHKP HARM^CHMCO B21(CHDFN, CHBFN)                             ; Check  PHARMACY ( E02) qual
  126    ...;D GET TRACK^CHMC OB21(CHDFN ,CHBFN,.CH TI,.CHTJ)                          ; Get Tr acking CHT I,CHTJ Val ues
  127    ...S:DSTA TUS=1 QRET =$$QUAL^CH MCOB21(CHD FN,CHBFN," E02")                   ; Build  ^TMP for E 02 QUALIFI ED Bene
  128    ...S:DSTA TUS=0 QRET =$$NOQUAL^ CHMCOB21(C HDFN,CHBFN ,"E02")        ; Buil d ^TMP for  E02 NON-Q ualified B ene
  129    ...S E02C NT=E02CNT+ QRET
  130    Q 
  131    ;HR-MEDCO B-Medicare -A/B-End-E 01/E02 (4/ 24/2011)DL
  132    
  133    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  134    ; INIT()                                                                                                                  
  135    ; INIT pe rforms the  initializ ation for  the E01 Bu ild                                               
  136    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  137    
  138   INIT                                                                  ; Conf iguration  Initializa tion
  139    ;      RE TURN: None
  140    K ^TMP($J )
  141    D SETUP^C HMCOBL21                                                   ; Init ialize the  FILEMAN V ariables
  142    Q
  143    
  144    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  145    ; KILLIT        Kill s the Trac king GLoba l for runn ing a FULL  UPDATE                                
  146    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  147    
  148   KILLIT                                             ; F ULL Update  requires  KILL of Tr acking Glo bal
  149    R !,"Prep aring to ' KILL' the  Tracking G lobal Cont inue(Y/N)?  ",RDIN
  150    I (RDIN=" n")!(RDIN= "N") Q
  151    N TRKIDX  S TRKIDX=" "
  152    F  S TRKI DX=$O(^CHM COB(TRKIDX )) Q:TRKID X=""  D
  153    .K ^CHMCO B(TRKIDX)
  154    S ^CHMCOB (0)="CHAMP VA MEDX EL IGIBILITY  TRACKING F ILE^741002 .73^0^0"
  155    Q      
  156    
  157    
  158    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;
  159    ; UPDRUN( ) checks t he PROCESS  ON/OFF fl ag, and UP DATE FREQU ENCY deter mination  
  160    ; RETURNS  TRUE if w e are to p erform an  update, el se FALSE ( 0).                  
  161    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;
  162    ; OCT 6,2 010   DLB      Modifi ed UPDRUN,  removed " type" para meter from  function  call
  163    ;      GE TCFGIDX()  returns th e index fo r E01/E02  Nodes for  Scheduling  tasks             
  164    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;
  165    
  166    ;HR-MEDCO B-Medicare -A/B-Begin -XXE02 (2- 25-2011)DL
  167   UPDRUN(CHT YPE)
  168    ; CHTYPE        "E01 " OR "E02"  DETERMINE S ACCESSES  INTO CONF IG fILE (^ CHMDIC(741 002.72 )
  169    ;RETURN   RUN/DONT R UN Boolean
  170    N CFGDATA
  171    N CHIDX   S CHIDX=$$ GETCFGIDX( CHTYPE)
  172    S CFGDATA =$G(^CHMDI C(741002.7 2,CHIDX,0)
  173    I ($P(CFG DATA,"^",2 )=0)  D VM AIL  Q 0                             ; Proc essing Fla g is "OFF" ;Notify &  QUIT
  174    I ($P(CFG DATA,"^",6 )="") Q 1                                                ; Last U pdate Date  is Blank  Do Build
  175    ;I $$UPDF REQ("FULL" ,CFGDATA,$ $FMDATE("N OW")) S TY PE="F" D K ILLIT Q 1  ;"FULL" Up dates take  precedenc e
  176    I $$UPDFR EQ("NORM", CFGDATA,$$ FMDATE("NO W")) Q 1                                   
  177    Q 0    
  178    ;HR-MEDCO B-Medicare -A/B-End-X XE02 (2-25 -2011)DLB        
  179     
  180    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  181    ; UPDFREQ  returns a  boolean i ndicating  that the U PDTYPE ("F ULL" or "N ORM") crit eria 
  182    ; matches  the calcu lated freq uency for  performing  the E01 B uild.                                  
  183    ; If the  FULL UPDAT E FREQUENC Y Setting  Matches (T ODAY - LAS T UPDATE D ATE)RETURN  TRUE
  184    ; If the  UPDATE FRE QUECY Sett ing Matche s (TODAY -  LAST UPDA TE DATE) R eturn TRUE         
  185    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  186    ; OCT 6,  2010  DLB      Modifi ed Functio n to suppo rt E01/E02  Eligibili ty File Cr eation
  187    ; 1) Chan ged the Pa rameter Na me for the  UPDATE Ty pe to avoi d CONFLICT   with CHT YPE     
  188    ;    vari able used  to determi ne E01/E02  process                                                              
  189    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  190    
  191    ;HR-MEDCO B-Medicare -A/B-End-X XE02 (2-25 -2011)DLB
  192   UPDFREQ(CH UTYPE,CFGD ATA,TODAY)
  193    ;      CH UTYPE   FU LL UPDATE  or NORMAL  UPDATE
  194    ;      CF GDATA   CO NFIGURATIO N FILE DAT A
  195    ;      TO DAY     FI LEMAN COMP ATIBLE DAT E
  196    ;RETURN                  TRUE(1 ) if UPDTY PE is VALI D, FALSE(0 ) if NOT
  197    N UPDET,F REQ,LDATE
  198    I CHUTYPE ="FULL" S  FREQ=5,LDA TE=7                                                   ; Indexes  for "FULL"  Update Fr equency
  199    E  S FREQ =4,LDATE=6                                                                   ; Indexes  for "NORM"  Update Pr ocessing
  200    I ($P(CFG DATA,"^",F REQ)="X")  Q 1                                                    ; Always d o "X" rega rdless of  Schedule
  201    I ($P(CFG DATA,"^",F REQ)'="D") &($P(CFGDA TA,"^",FRE Q)'="W") D
  202    .S X1=$E( TODAY,1,5) _"01",X2=( $E($P(CFGD ATA,"^",LD ATE),1,5)) _"01" D ^% DTC  ; Cal culate to  MM/01
  203    E  S X2=$ P(CFGDATA, "^",LDATE) ,X1=TODAY  D ^%DTC 
  204    I $P(CFGD ATA,"^",FR EQ)=$S(X'< 365:"A",X' <180:"S",X '<90:"Q",X '<28:"M",X '<7:"W",X' <1:"D",1:" X") Q 1
  205    Q 0
  206    ;HR-MEDCO B-Medicare -A/B-End-X XE02 (2-25 -2011)DLB        
  207    
  208    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  209    ; RESETUP D removes  the UPDATE  or "FULL  UPDATE" Da tes in ord er to enab le a Norma l       
  210    ; update  or force a  FULL UPDA TE. GETCFG IDX enable s the swit ch between  E01 & E02 .       
  211    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  212    ; OCT 6,2 010   DLB      Added  switch for  E01/E02 N ode Access es for Sch eduling ta sks     
  213    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  214    
  215    ;HR-MEDCO B-Medicare -A/B-Begin -XXE02 (2- 25-2011)DL
  216   RESETUPD(C HIDX)
  217    ;      CH IDX   DIFF ERENTIATES  BETWEEN E 01 AND E02  ACCESSES  INTO CONFI G FILE (^C HMDIC(7410 02.72 )
  218    I CHUTYPE ="UPDATE"  S $P(^CHMD IC(741002. 72,CHIDX,0 ),"^",6)=" "   ; Clea r the "UPD ATE" DATE
  219    E  S $P(^ CHMDIC(741 002.72,CHI DX,0),"^", 7)=""                                       ; Clear th e FULL UPD ATE Date
  220    Q
  221    ;HR-MEDCO B-Medicare -A/B-End-X XE02 (2-25 -2011)DLB
  222    
  223    
  224    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  225    ; GETCFGI DX()  RETU RN THE CON FIG INDEX  FOR THE SE LECTED FIL E TYPE                        
  226    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  227    ; OCT 6,  2010  DLB      Modifi ed to prov ide the ma in switch  for E01/E0 2 process  runs
  228    ;  1) Glo bal CHTYPE  set in EP MAIN,EPMAI N2 to the  E01/E02 ru n.  Used h ere to ret urn     
  229    ;     the  Node inde x for Trac king and C onfig Data .                                                 
  230    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;  
  231    
  232    ;HR-MEDCO B-Medicare -A/B-Begin -XXE02 (2- 25-2011)DL B     
  233   GETCFGIDX( CHTYPE)
  234    ;      CH TYPE "E01"  OR "E02"  DETERMIES  ACCESS INT O CONFIG F ILE (^CHMD IC(741002. 72 )
  235    N VALUE 
  236    I CHTYPE= "E01" D 
  237    .S VALUE= $O(^CHMDIC (741002.72 ,"B",1,"") )
  238    E  I CHTY PE="E02" D
  239    .S VALUE= $O(^CHMDIC (741002.72 ,"B",2,"") )
  240    Q VALUE
  241    ;HR-MEDCO B-Medicare -A/B-End-X XE02 (2-25 -2011)DLB        
  242    
  243    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  244    ; CLEANUP ()    CLEA NUP FUNCTI ON                                                                                        
  245    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  246    ; OCT 6,  2010  DLB      Modifi ed functio n to suppo rt E01/E02  Eligibili ty File Cr eation
  247    ;  1) Rem oved the " type" para meter in f unction ca ll                                                
  248    ;  2) Cha nged the C HIDX varia ble name t o be consi stent with  other fun ctions             
  249    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  250    
  251    ;HR-MEDCO B-Medicare -A/B-Begin -XXE02 (2- 25-2011)DL B
  252   CLEANUP                            ; Perfor ms Functio n Cleanup  before clo sing
  253    N CHIDX
  254    KILL ^TMP ($J)           ; KILL  ^TMP Glob al
  255    F CHIDX=1 :1:2 D                                                                                        
  256    .I CHUTYP E="F" S $P (^CHMDIC(7 41002.72,C HIDX,0),"^ ",7)=$$FMD ATE("NOW")   ;FULL UP DATE Date
  257    .S $P(^CH MDIC(74100 2.72,CHIDX ,0),"^",6) =$$FMDATE( "NOW")                                            ;NOR M UPDATE D ate
  258    Q
  259    ;HR-MEDCO B-Medicare -A/B-End-X XE02 (2-25 -2011)DLB
  260           
  261    ;******** ********** ********** ********** ********** ********** ********** ********** *****;
  262    ; SUPPORT  Subroutin es;  May b e replacea ble with E xisting or  New Libra ries               
  263    ;******** ********** ********** ********** ********** ********** ********** ********** *****;
  264           ;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;
  265    ; OPENFIL E   Attemp ts to "OPE N" the use r provided  Directory  Path + Fi lename             
  266    ;      us ing the pr ovided Fil e Descript ors.                                                         
  267    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;
  268    
  269   OPENFILE(D IRFILE,OFI LEM)         ;Perform s the FILE  Open func tion 
  270    ; DIRFILE       Dire ctory/File name to be  Opened
  271    ; OFILEM:  File open  descripto r (N=NEW,R =READ,W=WR ITE,L=LOCK ,etc.)       
  272    ;RETURN:  PASS/FAIL  Indicator
  273    ;
  274    N FLAG
  275    O DIRFILE :OFILEM:5                                         ; Op en the fil e with ope nfile desc riptors
  276    S FLAG=$T EST                                               ; Fi nd out if  successful
  277    ;W:FLAG ! ,"OPENED " ,DIRFILE
  278    Q FLAG                                                               ; Retu rn Pass/Fa il
  279    
  280   CLOSEFILE( DIRFILE)
  281    ;U 0 W !, "CLOSED ", DIRFILE
  282    C DIRFILE
  283    Q
  284    
  285           ;* ********** ********** ********** ********** ********** ********** ********** ********** **;
  286           ;  The follow ing functi ons manipu late DATE  values.                                                    
  287           ;* ********** ********** ********** ********** ********** ********** ********** ********** **;
  288    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  289           ;  FMDATE(WHE N)  Return s ONLY the  FILEMAN f ormat Date  from the  NOW^%DTC F unction  
  290    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;; 
  291    
  292   FMDATE(WHE N)
  293    ;      WH EN: Curren tly the on ly option,  "NOW"
  294    ;RETURN:  Date in Fi leman Form at
  295    D NOW^%DT C
  296           I  WHEN="NOW"   Q X                                                    ; X= FIL EMAN DATE 
  297    I WHEN="T IME" S X=%  D H^%DTC  Q %T               ;  Return the  FM format  date:time
  298           Q  0                                                                                    ;  0 return f or non-spe cified "wh en"     
  299           
  300    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;
  301    ; FMTOYYY YMMDD(FMDT ) Takes th e fileman  date and c onverts it  to yyyymm dd format 
  302    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;  
  303    
  304   FMTOYYYYMM DD(FMDT)
  305    ;      FM DT    The  date in fi leman form at CCYYMMD D (seconds  are ignor ed if sent )
  306    ;RETURN         the  date in YY YYMMDD for mat     
  307           Q: $G(FMDT)=" " ""
  308           N  X,%H,%Y,%T
  309           S  X=FMDT                                   ;  X Must be  set to Fil eman Date  String
  310           D  H^%DTC                                   ;  Convert Fi leman to $ H
  311           Q  $ZD(%H,8)                                ;  Convert $H  to YYYYMM DD
  312    
  313    
  314    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;
  315    ; SNDMAIL  function  notifies m anagement  if Process ing does n ot occur.            
  316    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;
  317    ; OCT 6,  2010  DLB      Modifi ed Error t rap to dif ferentiate  E01/E02 p rocesses
  318    ;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;
  319    
  320    ;HR-MEDCO B-Medicare -A/B-Begin -XXE02 (2- 25-2011)DL B
  321   ERR ; Erro r trap for  E01/E02 D river
  322    K ^UTILIT Y($J,"ELIG -ERR")
  323           S  ^UTILITY($ J,"ELIG-ER R",1,1,0)= "Eligibili ty File Cr eation Err or <RTN:CH MCOBD21>:"
  324           S  ^UTILITY($ J,"ELIG-ER R",1,2,0)= " "
  325           S  ^UTILITY($ J,"ELIG-ER R",1,3,0)= $ZE
  326   VMAIL
  327           S  XMDUZ=.5,X MSUB="Cach e - E01/E0 2 Eligibil ity File C reation ER ROR"
  328           S  XMTEXT="^U TILITY($J, ""ELIG-ERR "",1,"
  329    ;S XMY(" PII                    ")=""
  330    ;S XMY(" PII                       ")=""
  331    S XMY(" PII                      " )=""
  332    S XMY(" PII                  ")=""
  333    S XMY("
P II             ")=""
  334    ;S XMY(" PII                   ")=""
  335    D ^XMD
  336           D  ^%ZTER          
  337    Q 
  338    ;HR-MEDCO B-Medicare -A/B-End-X XE02 (2-25 -2011)DLB
  339