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/IBCE.m

    r613 r623  
    1 IBCE    ;ALB/TMP - 837 EDI TRANSMISSION UTILITIES/NIGHTLY JOB ;22-JAN-96
    2         ;;2.0;INTEGRATED BILLING;**137,283,296,371**;21-MAR-94;Build 57
    3         ;;Per VHA Directive 2004-038, this routine should not be modified.
    4 EN      ; Run all jobs needed for EDI processing nightly
    5         ; including transmit bills waiting for extract, batches not sent,
    6         N IBLAST,IBZ,IBZ0
    7         D NOTSENT^IBCEBUL
    8         D EN^IBCE837
    9         D EN^IBCEMPRG      ; purge status messages from file 361
    10         D PURGE^IBCEPTU    ; purge transmission detail and claims status data associated with test transmissions after 60 days
    11         S IBLAST=$G(^IBA(364.2,"ALAST")),^IBA(364.2,"ALAST")=$$NOW^XLFDT()
    12         ; Clean up ACOB xref in 364
    13         S IBZ=0
    14         F  S IBZ=$O(^IBA(364,"ACOB",IBZ)) Q:'IBZ  S IBZ0=0 F  S IBZ0=$O(^IBA(364,"ACOB",IBZ,IBZ0)) Q:'IBZ0  I '$$COBPOSS^IBCECOB(IBZ0) D UPDEDI^IBCEM(IBZ0,"N",1)
    15         Q
    16         ;
    17 EN1     ; Manual entry point for transmitting EDI bills
    18         N DIR,X,Y,IBLAST,IBTASK,IBOPTX,DTOUT,DUOUT
    19         I '$$MGCHK(1) G EN1Q
    20         S DIR("A")="Select transmit option: ",DIR("B")="S",DIR(0)="SAM^A:Transmit (A)LL bills in READY FOR EXTRACT status;S:Transmit only (S)ELECTED bills"
    21         D ^DIR K DIR
    22         I $D(DTOUT)!$D(DUOUT) G EN1Q
    23         S IBOPTX=Y
    24         I Y="A" D  G EN1Q
    25         . S DIR("A",1)="This option will run a job to transmit ALL bills ready for EDI transmission"
    26         . S DIR("A",2)="This option's last scheduled run was "_$$FMTE^XLFDT($G(^IBA(364.2,"ALAST")),2)
    27         . S DIR("A",3)=" "
    28         . S DIR("A")="Are you absolutely sure this is what you want to do? "
    29         . S DIR("B")="NO",DIR(0)="YA" D ^DIR K DIR
    30         . Q:'Y
    31         . S DIR(0)="YA",DIR("A",1)=" "
    32         . S DIR("A",2)="Transmission of ALL bills will be run now"
    33         . S DIR("A")="Is this OK? ",DIR("B")="NO"
    34         . D ^DIR K DIR
    35         . Q:'Y
    36         . D EN1^IBCE837B(.IBTASK)
    37         . I $G(IBTASK) D
    38         .. S DIR("A",1)="Task # for this job is: "_IBTASK
    39         . E  D
    40         .. I $G(IBTASK)'="" S DIR("A",1)="Error encountered in tasking job - check IRM for reported errors"
    41         .. S DIR(0)="EA",DIR("A")=" Press RETURN to continue " W !! D ^DIR K DIR
    42         I IBOPTX="S" D SUB1^IBCEM03 G EN1Q
    43 EN1Q    Q
    44         ;
    45 RESUB(IB364)    ; Manually resubmit bill for transmission (ien file 364 = IB364)
    46         N DIR,X,Y,IBBTCH,DTOUT,DUOUT,IBIFN,NEW364
    47         I '$$MGCHK(1) G RESUBQ
    48         S IBIFN=+$P($G(^IBA(364,+$G(IB364),0)),U,1) I 'IBIFN G RESUBQ
    49         S IBBTCH=""
    50         W ! S DIR(0)="SA^I:IMMEDIATE TRANSMIT;L:TRANSMIT LATER WITH REST OF READY FOR EXTRACT BILLS",DIR("A")="TRANSMIT (I)MMEDIATELY OR (L)ATER?: ",DIR("B")="L"
    51         S DIR("?",1)="IF YOU CHOOSE TO TRANSMIT IMMEDIATELY, THE BILL'S DATA WILL BE BATCHED BY",DIR("?",2)=" ITSELF AND SENT OUT IMMEDIATELY.  IF YOU CHOOSE TO TRANSMIT LATER, THE"
    52         S DIR("?",3)="  BILL'S TRANSMISSION STATUS WILL BE RESET TO 'READY FOR EXTRACT' AND THE BILL'S",DIR("?",4)="  DATA WILL BE EXTRACTED THE NEXT TIME A GENERAL TRANSMISSION OF YOUR BILLS",DIR("?")="  IN READY TO EXTRACT STATUS OCCURS"
    53         D ^DIR K DIR
    54         I $D(DTOUT)!$D(DUOUT) G RESUBQ
    55         ;
    56         ; immediate retransmission of claim
    57         I Y="I" D  G RESUBQ
    58         . S NEW364=$$ADDTBILL^IBCB1(IBIFN)    ; Add a new transmission record
    59         . I '$P(NEW364,U,3) D  Q
    60         .. S DIR("A",1)="FAILED TO ADD A NEW EDI TRANSMISSION",DIR(0)="EA",DIR("A")="PRESS ENTER TO CONTINUE " W ! D ^DIR K DIR
    61         .. Q
    62         . ;
    63         . K ^TMP("IBONE",$J),^TMP("IBSELX",$J),^TMP("IBCE-BATCH",$J)
    64         . S ^TMP("IBONE",$J,+NEW364)="",^TMP("IBONE",$J)=0,^TMP("IBSELX",$J)=""
    65         . D ONE^IBCE837
    66         . S IBBTCH=$O(^TMP("IBCE-BATCH",$J,0))                     ; external batch#
    67         . I IBBTCH'="" S IBBTCH=+$G(^TMP("IBCE-BATCH",$J,IBBTCH))  ; internal batch#
    68         . K ^TMP("IBONE",$J),^TMP("IBSELX",$J),^TMP("IBCE-BATCH",$J)
    69         . ;
    70         . I 'IBBTCH D
    71         .. S DIR("A",1)="BILL NOT RESUBMITTED - CHECK ALERTS/MAIL FOR DETAILS"
    72         . E  D
    73         .. N DIE,DR,DA
    74         .. D UPDEDI^IBCEM(IB364,"R")   ; update EDI files for old transmission
    75         .. S DIE="^IBA(364,",DR=".06////"_+IBBTCH,DA=IB364 D ^DIE
    76         .. S DIR("A",1)="BILL RESUBMITTED IN BATCH #"_$P($G(^IBA(364.1,+IBBTCH,0)),U,1)
    77         . S DIR(0)="EA",DIR("A")="PRESS ENTER TO CONTINUE " W ! D ^DIR K DIR
    78         . Q
    79         ;
    80         ; Later retransmission of claim
    81         D UPDEDI^IBCEM(IB364,"R")      ; update EDI files for old transmission record
    82         S Y=$$ADDTBILL^IBCB1(IBIFN)    ; Add a new transmission record
    83         S DIR("A",1)="BILL'S TRANSMISSION STATUS RESET TO 'READY TO EXTRACT'"
    84         S DIR(0)="EA",DIR("A")="PRESS ENTER TO CONTINUE " W ! D ^DIR K DIR
    85         ;
    86 RESUBQ  Q
    87         ;
    88 MGCHK(DSP)      ; Returns 1 if mail group IB EDI has at least 1 local member,
    89         ; 0 if none found
    90         ; DSP = flag that if =1, displays error message
    91         N IB
    92         S IB=$$GOTLOCAL^XMXAPIG("IB EDI")
    93         I 'IB,$G(DSP) D
    94         . ; No local members in mail group for EDI messages
    95         . S DIR("A",1)="YOU MUST HAVE AT LEAST 1 MEMBER IN THE 'IB EDI' MAIL GROUP TO TRANSMIT A BILL",DIR("A")="PRESS RETURN TO CONTINUE "
    96         . S DIR(0)="EA" D ^DIR K DIR
    97         Q IB
    98         ;
     1IBCE ;ALB/TMP - 837 EDI TRANSMISSION UTILITIES/NIGHTLY JOB ;22-JAN-96
     2 ;;2.0;INTEGRATED BILLING;**137,283,296**;21-MAR-94
     3EN ; Run all jobs needed for EDI processing nightly
     4 ; including transmit bills waiting for extract, batches not sent,
     5 N IBLAST,IBZ,IBZ0
     6 D NOTSENT^IBCEBUL
     7 D EN^IBCE837
     8 D EN^IBCEMPRG      ; purge status messages from file 361
     9 D PURGE^IBCEPTU    ; purge transmission detail and claims status data associated with test transmissions after 60 days
     10 S IBLAST=$G(^IBA(364.2,"ALAST")),^IBA(364.2,"ALAST")=$$NOW^XLFDT()
     11 ; Clean up ACOB xref in 364
     12 S IBZ=0
     13 F  S IBZ=$O(^IBA(364,"ACOB",IBZ)) Q:'IBZ  S IBZ0=0 F  S IBZ0=$O(^IBA(364,"ACOB",IBZ,IBZ0)) Q:'IBZ0  I '$$COBPOSS^IBCECOB(IBZ0) D UPDEDI^IBCEM(IBZ0,"N",1)
     14 Q
     15 ;
     16EN1 ; Manual entry point for transmitting EDI bills
     17 N DIR,X,Y,IBLAST,IBTASK,IBOPTX,DTOUT,DUOUT
     18 I '$$MGCHK(1) G EN1Q
     19 S DIR("A")="Select transmit option: ",DIR("B")="S",DIR(0)="SAM^A:Transmit (A)LL bills in READY FOR EXTRACT status;S:Transmit only (S)ELECTED bills"
     20 D ^DIR K DIR
     21 I $D(DTOUT)!$D(DUOUT) G EN1Q
     22 S IBOPTX=Y
     23 I Y="A" D  G EN1Q
     24 . S DIR("A",1)="This option will run a job to transmit ALL bills ready for EDI transmission"
     25 . S DIR("A",2)="This option's last scheduled run was "_$$FMTE^XLFDT($G(^IBA(364.2,"ALAST")),2)
     26 . S DIR("A",3)=" "
     27 . S DIR("A")="Are you absolutely sure this is what you want to do? "
     28 . S DIR("B")="NO",DIR(0)="YA" D ^DIR K DIR
     29 . Q:'Y
     30 . S DIR(0)="YA",DIR("A",1)=" "
     31 . S DIR("A",2)="Transmission of ALL bills will be run now"
     32 . S DIR("A")="Is this OK? ",DIR("B")="NO"
     33 . D ^DIR K DIR
     34 . Q:'Y
     35 . D EN1^IBCE837B(.IBTASK)
     36 . I $G(IBTASK) D
     37 .. S DIR("A",1)="Task # for this job is: "_IBTASK
     38 . E  D
     39 .. I $G(IBTASK)'="" S DIR("A",1)="Error encountered in tasking job - check IRM for reported errors"
     40 .. S DIR(0)="EA",DIR("A")=" Press RETURN to continue " W !! D ^DIR K DIR
     41 I IBOPTX="S" D SUB1^IBCEM03 G EN1Q
     42EN1Q Q
     43 ;
     44RESUB(IB364) ; Manually resubmit bill for transmission (ien file 364 = IB364)
     45 N DIR,X,Y,IBBTCH,DTOUT,DUOUT
     46 I '$$MGCHK(1) G RESUBQ
     47 S IBBTCH=""
     48 W ! S DIR(0)="SA^I:IMMEDIATE TRANSMIT;L:TRANSMIT LATER WITH REST OF READY FOR EXTRACT BILLS",DIR("A")="TRANSMIT (I)MMEDIATELY OR (L)ATER?: ",DIR("B")="L"
     49 S DIR("?",1)="IF YOU CHOOSE TO TRANSMIT IMMEDIATELY, THE BILL'S DATA WILL BE BATCHED BY",DIR("?",2)=" ITSELF AND SENT OUT IMMEDIATELY.  IF YOU CHOOSE TO TRANSMIT LATER, THE"
     50 S DIR("?",3)="  BILL'S TRANSMISSION STATUS WILL BE RESET TO 'READY FOR EXTRACT' AND THE BILL'S",DIR("?",4)="  DATA WILL BE EXTRACTED THE NEXT TIME A GENERAL TRANSMISSION OF YOUR BILLS",DIR("?")="  IN READY TO EXTRACT STATUS OCCURS"
     51 D ^DIR K DIR
     52 I $D(DTOUT)!$D(DUOUT) G RESUBQ
     53 I Y="I" D  G:'IBBTCH RESUBQ
     54 . N Y
     55 . K ^TMP("IBONE",$J),^TMP("IBSELX",$J),^TMP("IBCE-BATCH",$J)
     56 . S ^TMP("IBONE",$J,IB364)="",^TMP("IBONE",$J)=0,^TMP("IBSELX",$J)=""
     57 . D ONE^IBCE837
     58 . S IBBTCH=$O(^TMP("IBCE-BATCH",$J,0))                     ; external batch#
     59 . I IBBTCH'="" S IBBTCH=+$G(^TMP("IBCE-BATCH",$J,IBBTCH))  ; internal batch#
     60 . K ^TMP("IBONE",$J),^TMP("IBSELX",$J),^TMP("IBCE-BATCH",$J)
     61 . I 'IBBTCH D
     62 .. S DIR("A",1)="BILL NOT RESUBMITTED - CHECK ALERTS/MAIL FOR DETAILS"
     63 . E  D
     64 .. N DIE,DR,DA
     65 .. D UPDEDI^IBCEM(IB364,"R")
     66 .. S DIE="^IBA(364,",DR=".06////"_+IBBTCH,DA=IB364 D ^DIE
     67 .. S DIR("A",1)="BILL RESUBMITTED IN BATCH #"_$P($G(^IBA(364.1,IBBTCH,0)),U)
     68 . S DIR(0)="EA",DIR("A")="PRESS ENTER TO CONTINUE " D ^DIR K DIR
     69 I Y="L" D
     70 . N Y
     71 . D UPDEDI^IBCEM(IB364,"R")
     72 . ;Add a new transmission record
     73 . S Y=$$ADDTBILL^IBCB1($P($G(^IBA(364,+IB364,0)),U),1)
     74 . S DIR("A",1)="BILL'S TRANSMISSION STATUS RESET TO 'READY TO EXTRACT'"
     75 . S DIR(0)="EA",DIR("A")="PRESS ENTER TO CONTINUE " D ^DIR K DIR
     76 ;
     77RESUBQ Q
     78 ;
     79MGCHK(DSP) ; Returns 1 if mail group IB EDI has at least 1 local member,
     80 ; 0 if none found
     81 ; DSP = flag that if =1, displays error message
     82 N IB
     83 S IB=$$GOTLOCAL^XMXAPIG("IB EDI")
     84 I 'IB,$G(DSP) D
     85 . ; No local members in mail group for EDI messages
     86 . S DIR("A",1)="YOU MUST HAVE AT LEAST 1 MEMBER IN THE 'IB EDI' MAIL GROUP TO TRANSMIT A BILL",DIR("A")="PRESS RETURN TO CONTINUE "
     87 . S DIR(0)="EA" D ^DIR K DIR
     88 Q IB
     89 ;
Note: See TracChangeset for help on using the changeset viewer.