IBTRH2B ;ALB/JWS - HCSR worklist expand entry, send 215 ;18-JUN-2014
 ;;2.0;INTEGRATED BILLING;**517**;21-MAR-94;Build 240
 ;;Per VA Directive 6402, this routine should not be modified.
 ;
 Q
 ;
SEND215 ; send 278X215 inquiry ; JWS 10/17/14 add ability to manually submit a 278x215 Inquiry
 N ADMIEN,DDT,DIR,DIROUT,DIRUT,DTOUT,DUOUT,EDT,DISIEN,IENS,STATUS,X,Y,NEWIEN
 N IBRESP,ERROR,IBFDA,TTYPE
 S IBRESP=0
 S VALMBCK="R"
 ; if no valid 356.22 ien, complain and bail out
 I +$G(IBTRIEN)'>0 D MSG215^IBTRH2A(1) Q
 I $P(^IBT(356.22,IBTRIEN,0),"^",19) D MSG215^IBTRH2A(5) Q
 S STATUS=$$STATUS^IBTRH2(IBTRIEN)
 ; don't send an inquiry if status of 217 is not 07 Pending
 I STATUS'="07" D MSG215^IBTRH2A(3) Q
 ; Create the 278 request to be sent
 ; S DIR("A")="Send Inquiry? (Y/N): ",DIR("B")="Y",DIR(0)="YAO" D ^DIR K DIR
 S DIR("A")="Send (I)nquiry or (C)ancel? ",DIR("B")="I",DIR(0)="SAO^I:Inquiry;C:Cancel" D ^DIR K DIR
 ;I $G(DTOUT)!$G(DUOUT)!$G(DIROUT)!($G(Y)'=1) Q
 I $G(DTOUT)!$G(DUOUT)!$G(DIROUT) Q
 S TTYPE=Y,NEWIEN=$$CRTENTRY^IBTRH5C(IBTRIEN,$P(^IBT(356.22,IBTRIEN,0),"^",14),$P(^IBT(356.22,IBTRIEN,0),"^",3),"",0,"",1,Y)  ;create 215 entry from original 217
 I 'NEWIEN D MSG215^IBTRH2A(4) Q
 S IBFDA(356.22,NEWIEN_",",.2)=1
 S IBFDA(356.22,NEWIEN_",",.26)=1  ;flag indicating manual 215
 D FILE^DIE(,"IBFDA","ERROR")
 D EN^IBTRHLO(NEWIEN,1)
 S IBFDA(356.22,IBTRIEN_",",.19)=1  ;flag request/inquiry as having already had a 215 generated
 S IBFDA(356.22,IBTRIEN_",",.08)="09"  ;set status to 215 inquiry sent, so skipped by worklist
 D FILE^DIE(,"IBFDA","ERROR") Q:$D(ERROR)
 ; check if message id got populated and display appropriate message
 H 2
 D MSG215^IBTRH2A($S($P($G(^IBT(356.22,NEWIEN,0)),U,12)="":2,1:0),TTYPE)
 ;I $P($G(^IBT(356.22,NEWIEN,0)),"^",12)'="" D
 ;. S IBFDA(356.22,IBTRIEN_",",.19)=1  ;flag request/inquiry as having already had a 215 generated
 ;. S IBFDA(356.22,IBTRIEN_",",.08)="09"  ;set status to 215 inquiry sent, so skipped by worklist
 ;. D FILE^DIE(,"IBFDA","ERROR") Q:$D(ERROR)
 ; refresh display
 D INIT^IBTRH2
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBTRH2B   2095     printed  Sep 23, 2025@20:04:24                                                                                                                                                                                                     Page 2
IBTRH2B   ;ALB/JWS - HCSR worklist expand entry, send 215 ;18-JUN-2014
 +1       ;;2.0;INTEGRATED BILLING;**517**;21-MAR-94;Build 240
 +2       ;;Per VA Directive 6402, this routine should not be modified.
 +3       ;
 +4        QUIT 
 +5       ;
SEND215   ; send 278X215 inquiry ; JWS 10/17/14 add ability to manually submit a 278x215 Inquiry
 +1        NEW ADMIEN,DDT,DIR,DIROUT,DIRUT,DTOUT,DUOUT,EDT,DISIEN,IENS,STATUS,X,Y,NEWIEN
 +2        NEW IBRESP,ERROR,IBFDA,TTYPE
 +3        SET IBRESP=0
 +4        SET VALMBCK="R"
 +5       ; if no valid 356.22 ien, complain and bail out
 +6        IF +$GET(IBTRIEN)'>0
               DO MSG215^IBTRH2A(1)
               QUIT 
 +7        IF $PIECE(^IBT(356.22,IBTRIEN,0),"^",19)
               DO MSG215^IBTRH2A(5)
               QUIT 
 +8        SET STATUS=$$STATUS^IBTRH2(IBTRIEN)
 +9       ; don't send an inquiry if status of 217 is not 07 Pending
 +10       IF STATUS'="07"
               DO MSG215^IBTRH2A(3)
               QUIT 
 +11      ; Create the 278 request to be sent
 +12      ; S DIR("A")="Send Inquiry? (Y/N): ",DIR("B")="Y",DIR(0)="YAO" D ^DIR K DIR
 +13       SET DIR("A")="Send (I)nquiry or (C)ancel? "
           SET DIR("B")="I"
           SET DIR(0)="SAO^I:Inquiry;C:Cancel"
           DO ^DIR
           KILL DIR
 +14      ;I $G(DTOUT)!$G(DUOUT)!$G(DIROUT)!($G(Y)'=1) Q
 +15       IF $GET(DTOUT)!$GET(DUOUT)!$GET(DIROUT)
               QUIT 
 +16      ;create 215 entry from original 217
           SET TTYPE=Y
           SET NEWIEN=$$CRTENTRY^IBTRH5C(IBTRIEN,$PIECE(^IBT(356.22,IBTRIEN,0),"^",14),$PIECE(^IBT(356.22,IBTRIEN,0),"^",3),"",0,"",1,Y)
 +17       IF 'NEWIEN
               DO MSG215^IBTRH2A(4)
               QUIT 
 +18       SET IBFDA(356.22,NEWIEN_",",.2)=1
 +19      ;flag indicating manual 215
           SET IBFDA(356.22,NEWIEN_",",.26)=1
 +20       DO FILE^DIE(,"IBFDA","ERROR")
 +21       DO EN^IBTRHLO(NEWIEN,1)
 +22      ;flag request/inquiry as having already had a 215 generated
           SET IBFDA(356.22,IBTRIEN_",",.19)=1
 +23      ;set status to 215 inquiry sent, so skipped by worklist
           SET IBFDA(356.22,IBTRIEN_",",.08)="09"
 +24       DO FILE^DIE(,"IBFDA","ERROR")
           if $DATA(ERROR)
               QUIT 
 +25      ; check if message id got populated and display appropriate message
 +26       HANG 2
 +27       DO MSG215^IBTRH2A($SELECT($PIECE($GET(^IBT(356.22,NEWIEN,0)),U,12)="":2,1:0),TTYPE)
 +28      ;I $P($G(^IBT(356.22,NEWIEN,0)),"^",12)'="" D
 +29      ;. S IBFDA(356.22,IBTRIEN_",",.19)=1  ;flag request/inquiry as having already had a 215 generated
 +30      ;. S IBFDA(356.22,IBTRIEN_",",.08)="09"  ;set status to 215 inquiry sent, so skipped by worklist
 +31      ;. D FILE^DIE(,"IBFDA","ERROR") Q:$D(ERROR)
 +32      ; refresh display
 +33       DO INIT^IBTRH2
 +34       QUIT