| [613] | 1 | IB20P375 ;ALB/CXW - IB*2.0*375 POST INIT ;14-MAY-07 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**375**;21-MAR-94;Build 4 | 
|---|
|  | 3 | ;;Per VHA Directive 2004-038, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | ;1) Update the transmission status with "X" for MRA 2nd bills in | 
|---|
|  | 6 | ;   field/file (.03/364) based on these criteria: | 
|---|
|  | 7 | ;          bill authorized but not transmitted in field/file (.13/399) | 
|---|
|  | 8 | ;          bill has at least one Medicare MRA in field/file (.04/361.1) | 
|---|
|  | 9 | ;          bill has been passed to AR & generated in file (430) | 
|---|
|  | 10 | ;          bill's status is active in field/file (8/430) | 
|---|
|  | 11 | ;          bill has no total amount collected in field/file (15/433) | 
|---|
|  | 12 | ;          bill exists in file (364) for EDI transmission | 
|---|
|  | 13 | ;          bill has no batch # associated in field/file (.02/364) | 
|---|
|  | 14 | ;          bill is not ready for extract in field/file (.03/364) | 
|---|
|  | 15 | ;          bill's COB Sequence is Secondary in field/file (.08/364) | 
|---|
|  | 16 | ; | 
|---|
|  | 17 | ;2) Update the CLAM MRA STATUS with VALID MRA RECEIVED in field/file | 
|---|
|  | 18 | ;   (24/399) if bill has at least one Medicare MRA, otherwise store | 
|---|
|  | 19 | ;   NO MRA NEEDED status. | 
|---|
|  | 20 | ; | 
|---|
|  | 21 | ;3) List of all claims excludes ACTIVE AR status with 0 total amount | 
|---|
|  | 22 | ;   collected. | 
|---|
|  | 23 | ; | 
|---|
|  | 24 | ;Output-XTMP("IB20P375",0)=purge date_U_today_U_patch # | 
|---|
|  | 25 | ;                       1,0)=update transmit status_U_total bills | 
|---|
|  | 26 | ;                       IEN)=IBIFN_U_Bill #_U_statement covers from dt | 
|---|
|  | 27 | ;                       2,0)=list of claims_U_total bills | 
|---|
|  | 28 | ;                     IBIFN)=IBIFN_U_Bill #_U_IEN AR status_U_AR total | 
|---|
|  | 29 | ;                            amount collected | 
|---|
|  | 30 | ; | 
|---|
|  | 31 | ; | 
|---|
|  | 32 | ; | 
|---|
|  | 33 | ;Not delete XTMP file until 30 days from now | 
|---|
|  | 34 | Q | 
|---|
|  | 35 | POST ; | 
|---|
|  | 36 | START D MES^XPDUTL("** ALL RECORDS ARE IN ^XTMP(""IB20P375"") WHEN THE PROCESS HAS BEEN COMPLETED **") | 
|---|
|  | 37 | D MES^XPDUTL(" >>  Starting the Post init routine ...") | 
|---|
|  | 38 | ; | 
|---|
|  | 39 | N ARACT,ARAMT,IB375,IBIFN,IBMRA,IBILL,IBAR,IBCDT,IBDA,IBST,IBEDI,IBCT1,IBCT2,U,X,X1,X2,DA,DIE,DR | 
|---|
|  | 40 | S U="^",IB375="IB20P375",(IBCT1,IBCT2)=0 | 
|---|
|  | 41 | K ^XTMP(IB375) | 
|---|
|  | 42 | S DT=$$DT^XLFDT,X1=DT,X2=30 D C^%DTC | 
|---|
|  | 43 | S ^XTMP(IB375,0)=X_U_DT_U_"IB*2.0*375 POST-INIT" | 
|---|
|  | 44 | S ^XTMP(IB375,1,0)="Updating the transmit status in file 364 for MRA secondary claim" | 
|---|
|  | 45 | S ^XTMP(IB375,2,0)="List of all claims excludes ACTIVE AR Status with 0 Total Amount Collected" | 
|---|
|  | 46 | ; | 
|---|
|  | 47 | S IBIFN=0 F  S IBIFN=$O(^DGCR(399,"AST",3,IBIFN)) Q:'IBIFN  D | 
|---|
|  | 48 | . S IBMRA=$$MRACNT^IBCEMU1(IBIFN),IBILL=$P($G(^DGCR(399,IBIFN,0)),U),IBAR=$$BILL^RCJIBFN2(IBIFN),IBCDT=$P($G(^DGCR(399,IBIFN,"U")),U,1),ARACT=$P(IBAR,U,2),ARAMT=$P(IBAR,U,4) | 
|---|
|  | 49 | . ;update CLAIM MRA STATUS | 
|---|
|  | 50 | . I +$P($G(^DGCR(399,IBIFN,"TX")),U,5) D | 
|---|
|  | 51 | .. N IBMST,DIE,DA,DR S IBMST=0  ; assume no MRA needed | 
|---|
|  | 52 | .. S:IBMRA IBMST="C"  ;Medicare MRA on file | 
|---|
|  | 53 | .. S DIE=399,DA=IBIFN,DR="24///"_IBMST | 
|---|
|  | 54 | .. D ^DIE | 
|---|
|  | 55 | . ;quit if bill no Medicare MRA | 
|---|
|  | 56 | . Q:'IBMRA | 
|---|
|  | 57 | . I ARACT'=16!ARAMT D  ;no active status or total amt collected do list | 
|---|
|  | 58 | .. S ^XTMP(IB375,2,IBIFN)=IBIFN_U_IBILL_U_ARACT_U_ARAMT | 
|---|
|  | 59 | .. S IBCT2=IBCT2+1 | 
|---|
|  | 60 | .. ; | 
|---|
|  | 61 | . I ARACT=16,'ARAMT D  ;active status & no total amt collected | 
|---|
|  | 62 | .. S IBDA=0 F  S IBDA=$O(^IBA(364,"B",IBIFN,IBDA)) Q:'IBDA  D | 
|---|
|  | 63 | ... S IBEDI=$G(^IBA(364,IBDA,0)),IBST=$P(IBEDI,U,3) | 
|---|
|  | 64 | ... ; | 
|---|
|  | 65 | ... ;quit if batch # exists or ready for extract status or primary sequence | 
|---|
|  | 66 | ... I $P(IBEDI,U,2)!(IBST="X")!($P(IBEDI,U,8)'="S") Q | 
|---|
|  | 67 | ... N DA,DIE,DR | 
|---|
|  | 68 | ... S DIE=364,DA=IBDA,DR=".03////X;.04///NOW" D ^DIE | 
|---|
|  | 69 | ... S ^XTMP(IB375,1,IBDA)=IBIFN_U_IBILL_U_IBCDT,IBCT1=IBCT1+1 | 
|---|
|  | 70 | S $P(^XTMP(IB375,1,0),U,2)=IBCT1,$P(^XTMP(IB375,2,0),U,2)=IBCT2 | 
|---|
|  | 71 | NOPRINT ; | 
|---|
|  | 72 | I 'IBCT1,'IBCT2 D  G END | 
|---|
|  | 73 | . D BMES^XPDUTL(" No claims met criteria, no transmit status update, no list of claims") | 
|---|
|  | 74 | PRINT1 ; | 
|---|
|  | 75 | D BMES^XPDUTL($P(^XTMP(IB375,1,0),U)) | 
|---|
|  | 76 | S IBDA=0 | 
|---|
|  | 77 | F  S IBDA=$O(^XTMP(IB375,1,IBDA)) Q:'IBDA  S IBEDI=$G(^(IBDA)) D | 
|---|
|  | 78 | . D MES^XPDUTL(" Bill #: "_$P(IBEDI,U,2)_"  Statement Covers From Date: "_$$FMTE^XLFDT($P(IBEDI,U,3))_"  Transmit Status: X") | 
|---|
|  | 79 | D MES^XPDUTL("Total "_$S(IBCT1=1:IBCT1_" bill has",1:IBCT1_" bills have")_" been updated.") | 
|---|
|  | 80 | PRINT2 ; | 
|---|
|  | 81 | D BMES^XPDUTL($P(^XTMP(IB375,2,0),U)) | 
|---|
|  | 82 | S IBDA=0 | 
|---|
|  | 83 | F  S IBDA=$O(^XTMP(IB375,2,IBDA)) Q:'IBDA  S IBEDI=$G(^(IBDA)) D | 
|---|
|  | 84 | . D MES^XPDUTL(" Bill #: "_$P(IBEDI,U,2)_"  AR Status: "_$P($G(^PRCA(430.3,+$P(IBEDI,U,3),0)),U)_"  Total Amount Collected: $"_$J($P(IBEDI,U,4),0,2)) | 
|---|
|  | 85 | D MES^XPDUTL("Total "_$S(IBCT2=1:IBCT2_" bill has",1:IBCT2_" bills have")_" been listed.") | 
|---|
|  | 86 | ; | 
|---|
|  | 87 | END D BMES^XPDUTL(" >>  End of the Post init routine ...") | 
|---|
|  | 88 | Q | 
|---|
|  | 89 | ; | 
|---|