Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WorldVistAEHR/trunk/r/INTEGRATED_BILLING-IB-PRQ--IBD--IBQ--PRQS/IBCEBUL.m

    r613 r623  
    1 IBCEBUL ;ALB/TMP - 837 EDI SPECIAL BULLETINS PROCESSING ;19-SEP-96
    2         ;;2.0;INTEGRATED BILLING;**137,250,377**;21-MAR-94;Build 23
    3         ;;Per VHA Directive 2004-038, this routine should not be modified.
    4         ;
    5 NOTSENT ; Check for batches in pending status (no confirmation from Austin)
    6         ;  from yesterday or before
    7         N XMTO,XMSUBJ,XMBODY,XMDUZ,IBT,IB,IBE,IBCT,IBI,IB0,IB1,Z,IBTYP
    8         K ^TMP($J,"IBNOTSENT")
    9         S (IBCT,IBI)=0
    10         F  S IBI=$O(^IBA(364.1,"ASTAT","P",IBI)) Q:'IBI  D
    11         . I $$BCHCHK(IBI) Q    ; Batch check function
    12         . S IBCT=IBCT+1
    13         . S IBTYP=$P($G(^IBA(364.1,IBI,0)),U,7)
    14         . I IBCT'>10,IBTYP'="" S ^TMP($J,"IBNOTSENT",IBTYP,IBI)=""
    15         . Q
    16         ;
    17         I IBCT D
    18         .S IBT(1)="There are "_IBCT_" EDI batch(es) still pending Austin receipt "
    19         .S IBT(2)="for more than 1 day.  Please investigate why they have not yet been confirmed"
    20         .S IBT(3)="as being received by Austin."
    21         .S IBT(4)=" "
    22         .I IBCT>10 S IBT(5)="Since there were more than 10 batches found, please run the ",IBT(6)="  EDI BATCHES PENDING RECEIPT report to get a list of these batches."
    23         .I IBCT'>10 D
    24         ..S IBT(5)="      BATCH #      PENDING SINCE             MAIL MESSAGE #",IBT(6)="",$P(IBT(6),"-",76)="",IBT(6)="  "_IBT(6),IBE=6
    25         ..S IBTYP=""
    26         ..F  S IBTYP=$O(^TMP($J,"IBNOTSENT",IBTYP)) Q:IBTYP=""  D
    27         ...S Z=$$EXPAND^IBTRE(364.1,.07,IBTYP) S:Z="" Z="??"
    28         ...I $O(^TMP($J,"IBNOTSENT",IBTYP),-1)'="" S IBE=IBE+1,IBT(IBE)=" "
    29         ...S IBE=IBE+1,IBT(IBE)="  BATCH TYPE: "_Z
    30         ...S IBI=0 F  S IBI=$O(^TMP($J,"IBNOTSENT",IBTYP,IBI)) Q:'IBI  D
    31         ....S IBE=IBE+1,IB0=$G(^IBA(364.1,IBI,0)),IB1=$G(^(1))
    32         ....S IBT(IBE)="      "_$E($P(IB0,U)_$J("",10),1,10)_"   "_$E($$FMTE^XLFDT($P(IB1,U,6),1)_$J("",20),1,20)_"      "_$P(IB0,U,4),IBE=IBE+1,IBT(IBE)=$J("",8)_$E($P(IB0,U,8),1,72)
    33         .S XMSUBJ="EDI BATCHES WAITING AUSTIN RECEIPT FOR OVER 1 DAY",XMBODY="IBT",XMDUZ="",XMTO("I:G.IB EDI")=""
    34         .D SENDMSG^XMXAPI(XMDUZ,XMSUBJ,XMBODY,.XMTO)
    35         K ^TMP($J,"IBNOTSENT")
    36         Q
    37         ;
    38 UPDBCH(BCHIEN)  ; update the status of this batch to show A0:received in Austin
    39         NEW DIE,DA,DR
    40         S DIE=364.1,DA=+BCHIEN,DR=".02///A0"
    41         I $D(^IBA(DIE,DA,0)) D ^DIE
    42 UPDBCHX ;
    43         Q
    44         ;
    45 BCHCHK(BCHIEN)  ; This function will check the EDI claims associated with this
    46         ; batch and determine if this batch has been received in Austin or not.
    47         ;
    48         ; ** This function is also called by routine IBCERP3 **
    49         ;
    50         ; Function value = 1 if we can determine that the batch was received in Austin, or
    51         ;                = 1 if there are no claims in this batch, or
    52         ;                = 1 if the batch is less than 24 hours old - too new to worry about
    53         ;                = 1 means don't display on report or MailMan message
    54         ;
    55         ; Function value = 0 if the batch has not yet been received in Austin
    56         ;                = 0 means we need to display batch on report and in MailMan message
    57         ;
    58         NEW IBEDI,IBOK,IBZ,IBIFN,IB0,AR,IBSECS
    59         S IBEDI=0,IBOK=1,BCHIEN=+$G(BCHIEN)
    60         ;
    61         ; if the batch transmission is still less than 24 hours old, skip this batch and get out
    62         S IBSECS=$$FMDIFF^XLFDT($$NOW^XLFDT,$P($G(^IBA(364.1,BCHIEN,1)),U,6),2)
    63         I IBSECS<86400 G BCHCHKX    ; # seconds in a day
    64         ;
    65         ; if no edi claims in this batch, update batch status and get out
    66         I '$O(^IBA(364,"C",BCHIEN,0)) D UPDBCH(BCHIEN) G BCHCHKX
    67         ;
    68         F  S IBEDI=$O(^IBA(364,"C",BCHIEN,IBEDI)) Q:'IBEDI  D  Q:'IBOK
    69         . S IBZ=$G(^IBA(364,IBEDI,0))
    70         . S IBIFN=+IBZ,IB0=$G(^DGCR(399,IBIFN,0))
    71         . I $P(IB0,U,13)=7 Q                    ; cancelled in IB
    72         . I $P(IBZ,U,3)'="P" Q                  ; edi claim status is not pending
    73         . S AR=$P($$BILL^RCJIBFN2(IBIFN),U,2)   ; AR status DBIA 1452
    74         . I $F(".22.26.39.","."_AR_".") Q       ; collected/closed or cancelled
    75         . ;
    76         . ; if we get to this point, then we have found an EDI claim in this batch
    77         . ; that is not cancelled in IB, the EDI claim status is "P", and the
    78         . ; AR status is not collected/closed nor cancelled in AR.  So therefore
    79         . ; this claim didn't get to Austin, so the batch didn't get to Austin.
    80         . S IBOK=0
    81         . Q
    82         ;
    83         ; If we find the batch has been received in Austin, then change the batch status.
    84         I IBOK D UPDBCH(BCHIEN)
    85         ;
    86 BCHCHKX ;
    87         Q IBOK
    88         ;
     1IBCEBUL ;ALB/TMP - 837 EDI SPECIAL BULLETINS PROCESSING ;19-SEP-96
     2 ;;2.0;INTEGRATED BILLING;**137,250**;21-MAR-94
     3 ;
     4NOTSENT ; Check for batches in pending status (no confirmation from Austin)
     5 ;  from yesterday or before
     6 N XMTO,XMSUBJ,XMBODY,XMDUZ,IBT,IB,IBE,IBCT,IBI,IB0,IB1,Z,IBDTM
     7 K ^TMP($J,"IBNOTSENT")
     8 D NOW^%DTC S IBDTM=%
     9 S (IBCT,IBI)=0
     10 F  S IBI=$O(^IBA(364.1,"ASTAT","P",IBI)) Q:'IBI  S IBTYP=$P($G(^IBA(364.1,IBI,0)),U,7),IBDAYS=(IBDTM-$P($G(^(1)),U,6)) I IBDAYS>1,IBDAYS'=IBDTM,$O(^IBA(364,"C",IBI,0)) D
     11 .S IBCT=IBCT+1,IBCT(+IBTYP)=$G(IBCT(+IBTYP))+1
     12 .I IBCT'>10 S ^TMP($J,"IBNOTSENT",IBTYP,IBI)=""
     13 I IBCT D
     14 .S IBT(1)="There are "_IBCT_" EDI batch(es) still pending Austin receipt "
     15 .S IBT(2)="for more than 1 day.  Please investigate why they have not yet been confirmed"
     16 .S IBT(3)="as being received by Austin."
     17 .S IBT(4)=" "
     18 .I IBCT>10 S IBT(5)="Since there were more than 10 batches found, please run the ",IBT(6)="  EDI BATCHES WAITING FOR AUSTIN RECEIPT OVER 1-DAY report to get a list of these batches."
     19 .I IBCT'>10 D
     20 ..S IBT(5)="      BATCH #      PENDING SINCE             MAIL MESSAGE #",IBT(6)="",$P(IBT(6),"-",76)="",IBT(6)="  "_IBT(6),IBE=6
     21 ..S IBTYP=""
     22 ..F  S IBTYP=$O(^TMP($J,"IBNOTSENT",IBTYP)) Q:IBTYP=""  D
     23 ...S Z=$$EXPAND^IBTRE(364.1,.07,IBTYP) S:Z="" Z="??"
     24 ...I $O(^TMP($J,"IBNOTSENT",IBTYP),-1)'="" S IBE=IBE+1,IBT(IBE)=" "
     25 ...S IBE=IBE+1,IBT(IBE)="  BATCH TYPE: "_Z
     26 ...S IBI=0 F  S IBI=$O(^TMP($J,"IBNOTSENT",IBTYP,IBI)) Q:'IBI  D
     27 ....S IBE=IBE+1,IB0=$G(^IBA(364.1,IBI,0)),IB1=$G(^(1))
     28 ....S IBT(IBE)="      "_$E($P(IB0,U)_$J("",10),1,10)_"   "_$E($$FMTE^XLFDT($P(IB1,U,6),1)_$J("",20),1,20)_"      "_$P(IB0,U,4),IBE=IBE+1,IBT(IBE)=$J("",8)_$E($P(IB0,U,8),1,72)
     29 .S XMSUBJ="EDI BATCHES WAITING AUSTIN RECEIPT FOR OVER 1 DAY",XMBODY="IBT",XMDUZ="",XMTO("I:G.IB EDI")=""
     30 .D SENDMSG^XMXAPI(XMDUZ,XMSUBJ,XMBODY,.XMTO,,.XMZ)
     31 K ^TMP($J,"IBNOTSENT")
     32 Q
     33 ;
Note: See TracChangeset for help on using the changeset viewer.