- IBCNAU3 ;ALB/KML/AWC - USER EDIT REPORT (PRINT) ;6-APRIL-2015
- ;;2.0;INTEGRATED BILLING;**528,602,664,737**;21-MAR-94;Build 19
- ;;Per VA Directive 6402, this routine should not be modified.
- ;
- ; Required variable input: ALLUSERS, ALLINS, PLANS, ALLPLANS, EXCEL, ALLPYRS, REPTYP,
- ; ^TMP("IBINC",$J)
- ; ^TMP("IBPYR",$J) ;/vd-IB*2*664 - Added this array
- ; ^TMP("IBUSER",$J)
- ; DATE("START") and DATE("END") required array elements if all dates not selected
- ;
- ; REPTYP (1=Ins. Company/Plans only; 2=Payers only; 3=both, Ins. Company/Plans & Payers)
- ;
- ;IB*732/CKB - references to 'eIV Payer' should be changed to 'Payer' in order
- ; to include 'IIU payers'
- Q
- ;
- ;EN(ALLPLANS,PLANS) ;
- ;/vd-IB*2*664 - Replaced the above line with the line below
- EN(ALLPLANS,PLANS,ALLPYRS,REPTYP) ;
- ; Print the report.
- ;
- ;I EXCEL D EXCEL(PLANS) Q
- ;/vd-IB*2*664 - Replaced the line above with the line below
- ;I +$G(EXCEL) D EXCEL(PLANS,ALLPYRS,REPTYP) Q
- I +$G(EXCEL) D EXCEL(PLANS,ALLPYRS,REPTYP) G ENOUT ; IB*737/DTG new exit point for cleanup
- N IBI,IBJ,IBK,IBL,IBM,IB01,IB02,IBQUIT,IBPAG,IBPD,IBHDT
- S (IB02,IBQUIT,IBPAG)=0
- S IBHDT=$$FMTE^XLFDT($$NOW^XLFDT())
- D PRINT G ENOUT:IBQUIT ; IB*737/DTG added tag to better control the quit.
- G ENX
- ;
- PRINT ; IB*737/DTG new tag for better control of quits
- ;D HDR(ALLPLANS,PLANS)
- ;I '$D(^TMP("IBPR",$J)) W !!,"User Edits do not exist per the selected filters." D PAUSE Q
- ;
- ;F IB01=0,1 F S IB02=$O(^TMP("IBPR",$J,IB01,IB02)) Q:'IB02 Q:IBQUIT S IBPD=$G(^TMP("IBPR",$J,IB01,IB02)) D Q:IBQUIT
- ;. I $Y>(IOSL-5) D PAUSE Q:IBQUIT D HDR(ALLPLANS,PLANS)
- ;. D PLAN
- ;vd-IB*2*664 - Replaced the above lines with the lines below:
- ;/IB*2*664 - Beginning of new code
- I REPTYP'=2 D Q:IBQUIT ; report for ins cos/plans or both was selected
- . D HDR(ALLPLANS,PLANS)
- . I '$D(^TMP("IBPR",$J)) W !!,"User Edits do not exist per the selected filters.",!! Q ;IB*737/DTG added additional line feed at end
- . ;
- . F IB01=0,1 F S IB02=$O(^TMP("IBPR",$J,IB01,IB02)) Q:'IB02 Q:IBQUIT S IBPD=$G(^TMP("IBPR",$J,IB01,IB02)) D Q:IBQUIT
- . . I $Y>(IOSL-5) D PAUSE Q:IBQUIT D HDR(ALLPLANS,PLANS)
- . . D PLAN
- ;I REPTYP=1,'$D(^TMP("IBPR",$J)) G ENX
- I REPTYP=1,'$D(^TMP("IBPR",$J)) Q ; IB*737/DTG quit back
- ;
- ;IB*737/CKB
- I REPTYP'=1 D Q:IBQUIT ; report for payers or both was selected
- . I REPTYP=3 D PAUSE
- . D HDR2(ALLPYRS)
- . I '$D(^TMP("IBPR2",$J)) W !!,"User Edits do not exist per the selected filters.",!! Q ;IB*737/DTG added additional line feed at end
- . ;
- . F IB01=0,1 F S IB02=$O(^TMP("IBPR2",$J,IB01,IB02)) Q:'IB02 Q:IBQUIT S IBPD=$G(^TMP("IBPR2",$J,IB01,IB02)) D Q:IBQUIT
- . . I $Y>(IOSL-5) D PAUSE Q:IBQUIT D HDR2(ALLPYRS)
- . . D PAYER
- ;I REPTYP=2,'$D(^TMP("IBPR",$J)) G ENX
- I REPTYP=2,'$D(^TMP("IBPR",$J)) Q ; IB*737/DTG quit back
- ;
- Q ; IB*737/DTG quit back
- ;
- ENX ;/vd-IB*2.0*664 - End of new code.
- W "END OF REPORT" D PAUSE
- ;Q
- G ENOUT ; IB*737/DTG new exit point for cleanup
- ;
- ;
- HDR(ALLPLANS,PLANS) ; Print REPORT header - /vd-IB*2.0*664 Replaced the variable IOM with the new variable WIDTH
- I $E(IOST,1,2)="C-"!(IBPAG) W @IOF
- S IBPAG=IBPAG+1
- W !,"USER EDIT REPORT"
- W ?WIDTH-34,IBHDT,?WIDTH-10,"Page: ",IBPAG
- ;IB*737/DTG reduce indent by 5 for ins line, 3 for user line
- ;W !?5,"Insurance Company"
- W !,"Insurance Company"
- ;I PLANS W ?42,"Group Name"
- I PLANS W ?37,"Group Name"
- ;W !!?5,"User",?25,"Date/Time of Change",?49,"Modified Field",?75,"Previous Value of Data",?100,"Modified Value of Data"
- W !!,?2,"User",?22,"Date/Time of Change",?46,"Modified Field",?72,"Previous Value of Data"
- W ?103,"Modified Value of Data"
- W !,$TR($J(" ",WIDTH)," ","_"),!
- Q
- ;
- PLAN ; Print plan information.
- N USER,DATE
- S USER=$$GET1^DIQ(200,$P(IBPD,U,3)_",",.01)
- S DATE=$$FMTE^XLFDT($P(IBPD,U,4),2),DATE=$TR(DATE,"@"," ")
- ;IB*737/DTG reduce indent by 5 for ins line, 3 for user line
- ;W !?5,$P(IBPD,U),?42,$S('IB01:"",1:$P(IBPD,U,2))
- W !,$P(IBPD,U)
- I PLANS W ?37,$S($P(IBPD,U,8)=36:"INS CO EDITS",'IB01:"",1:$P(IBPD,U,2)) ; IB*737/DTG co. level if file 36 flag
- ;W !?5,USER,?25,DATE,?49,$P(IBPD,U,7),?75,$S($P(IBPD,U,5)="":"<no previous value>",1:$P(IBPD,U,5)),?100,$P(IBPD,U,6),!!
- W !,?2,USER,?22,DATE,?46,$P(IBPD,U,7),?72,$S($P(IBPD,U,5)="":"<no previous value>",1:$E($P(IBPD,U,5),1,29))
- W ?103,$E($P(IBPD,U,6),1,29),!!
- Q
- ;
- ;/vd-IB*2*664 - Beginning of new code
- HDR2(ALLPYRS) ; Print REPORT header - /vd-IB*2.0*664 Replaced the variable IOM with the new variable WIDTH
- I $E(IOST,1,2)="C-"!(IBPAG) W @IOF
- S IBPAG=IBPAG+1
- W !,"USER EDIT REPORT"
- W ?WIDTH-34,IBHDT,?WIDTH-10,"Page: ",IBPAG
- ;IB*737/DTG reduce indent by 5 for ins line, 3 for user line
- ;W !?5,"Payer"
- W !,"Payer"
- ;W !!?5,"User",?25,"Date/Time of Change",?49,"Modified Field",?75,"Previous Value of Data",?100,"Modified Value of Data"
- W !!,?2,"User",?22,"Date/Time of Change",?46,"Modified Field"
- W ?72,"Previous Value of Data",?103,"Modified Value of Data"
- W !,$TR($J(" ",WIDTH)," ","_"),!
- Q
- ;
- PAYER ; Print plan information.
- N USER,DATE
- S USER=$$GET1^DIQ(200,$P(IBPD,U,2)_",",.01)
- S DATE=$$FMTE^XLFDT($P(IBPD,U,3),2),DATE=$TR(DATE,"@"," ")
- ;IB*737/DTG reduce indent by 5 for ins line, 3 for user line
- ;W !?5,$P(IBPD,U),?42,$S('IB01:"",1:$P(IBPD,U,2))
- W !,$P(IBPD,U)
- I PLANS W ?37,$S($P(IBPD,U,8)=36:"INS CO EDITS",'IB01:"",1:$P(IBPD,U,2))
- ;W !?5,USER,?25,DATE,?49,$P(IBPD,U,6),?75,$S($P(IBPD,U,4)="":"<no previous value>",1:$P(IBPD,U,4)),?100,$P(IBPD,U,5),!!
- W !,?2,USER,?22,DATE,?46,$P(IBPD,U,6),?72,$S($P(IBPD,U,4)="":"<no previous value>",1:$E($P(IBPD,U,4),1,29))
- W ?103,$E($P(IBPD,U,5),1,29),!!
- Q
- ;/vd-IB*2*664 - End of new code.
- ;
- PAUSE ; Pause for screen output.
- Q:$E(IOST,1,2)'["C-"
- W !
- S DIR(0)="E" D ^DIR K DIR I $D(DIRUT)!($D(DUOUT)) S IBQUIT=1 K DIRUT,DTOUT,DUOUT
- Q
- ;
- ;EXCEL(PLANS) ; user selected format that can be viewed in MS Excel
- ;/vd-IB*2*664 - Replaced the above line with the following line
- EXCEL(PLANS,ALLPYRS,REPTYP) ; user selected format that can be viewed in MS Excel
- N IBI,IBJ,IBK,IBL,IBM,IB01,IB02,USER,DATE
- N IBPL ;IB*737/DTG for use with plan/group
- S (IB01,IB02)=0
- ; IB*602/HN ; Add report headers to Excel Spreadsheets
- W !,"USER EDIT REPORT^"_$$FMTE^XLFDT($$NOW^XLFDT,1)
- ; IB*602/HN end
- ;/vd-IB*2*664 - Beginning of new code.
- I REPTYP=1 W !,"For Insurance Companies/Plans"
- ;IB*737/CKB
- I REPTYP=2 W !,"For Payers"
- I REPTYP=3 W !,"For Both Insurance Companies/Plans and Payers"
- ;/vd-IB*2*664 - End of new code.
- ;
- I REPTYP'=2 D
- . I PLANS W !,"Insurance Company^Group Name^User^Date/Time of Change^Modified Field^Previous Value of Data^Modified Value of Data",!
- . E W !,"Insurance Company^User^Date/Time of Change^Modified Field^Previous Value of Data^Modified Value of Data",!
- ;
- ;IB*737/CKB - Insurance Company, no data found
- I REPTYP'=2 I '$D(^TMP("IBPR",$J)) W !,"User Edits do not exist per the selected filters.",!
- ;
- S IBQUIT=0 ; IB*737/DTG for page check if crt
- F IB01=0,1 F S IB02=$O(^TMP("IBPR",$J,IB01,IB02)) Q:'IB02 S IBPD=$G(^TMP("IBPR",$J,IB01,IB02)) D Q:IBQUIT ;IB*737/DTG screen check
- . S USER=$$GET1^DIQ(200,$P(IBPD,U,3)_",",.01)
- . S DATE=$$FMTE^XLFDT($P(IBPD,U,4),2)
- . ;IB*737/DTG change to if else
- . ;I IB01=0 W $P(IBPD,U)_U_USER_U_DATE_U_$P(IBPD,U,7)_U_$S($P(IBPD,U,5)="":"<no previous value>",1:$P(IBPD,U,5))_U_$P(IBPD,U,6)
- . ;E W $P(IBPD,U)_U_$P(IBPD,U,2)_U_USER_U_DATE_U_$P(IBPD,U,7)_U_$S($P(IBPD,U,5)="":"<no previous value>",1:$P(IBPD,U,5))_U_$P(IBPD,U,6)
- . I IB01=0 D
- . . W $P(IBPD,U)_U_USER_U_DATE_U_$P(IBPD,U,7)_U
- . . W $S($P(IBPD,U,5)="":"<no previous value>",1:$P(IBPD,U,5))_U_$P(IBPD,U,6)
- . I IB01'=0 D
- . . W $P(IBPD,U)_U
- . . S IBPL="",IBPL=$S($P(IBPD,U,8)=36:"INS CO EDITS",1:$P(IBPD,U,2))
- . . S:IBPL="NO PLANS SELECTED" IBPL="" W IBPL_U
- . . W USER_U_DATE_U_$P(IBPD,U,7)_U_$S($P(IBPD,U,5)="":"<no previous value>",1:$P(IBPD,U,5))_U
- . . W $P(IBPD,U,6)
- . W !
- . I ($Y#($G(IOSL)-5))=0 S IBQUIT=0 D EXLCK Q:IBQUIT ;IB*737/DTG screen check
- ;
- I IBQUIT Q ;IB*737/DTG quit if screen and exit.
- ;
- ;/vd-IB*2.0*664 - Beginning of new code for Payer data.
- I REPTYP'=1 D
- . ;IB*737/CKB
- . W !,"Payer^User^Date/Time of Change^Modified Field^Previous Value of Data^Modified Value of Data",!
- . ;IB*737/CKB - Payer, no data found
- . I '$D(^TMP("IBPR2",$J)) W !,"User Edits do not exist per the selected filters.",! Q
- . F IB01=0,1 F S IB02=$O(^TMP("IBPR2",$J,IB01,IB02)) Q:'IB02 S IBPD=$G(^TMP("IBPR2",$J,IB01,IB02)) D Q:IBQUIT ;IB*737/DTG screen check
- . . S USER=$$GET1^DIQ(200,$P(IBPD,U,2)_",",.01)
- . . S DATE=$$FMTE^XLFDT($P(IBPD,U,3),2)
- . . W $P(IBPD,U)_U_USER_U_DATE_U_$P(IBPD,U,6)_U_$S($P(IBPD,U,4)="":"<no previous value>",1:$P(IBPD,U,4))_U_$P(IBPD,U,5)
- . . W !
- . . I ($Y#($G(IOSL)-5))=0 S IBQUIT=0 D EXLCK Q:IBQUIT
- ;/vd-IB*2.0*664 - End of new code for Payer data.
- ;
- ; -- write to screen
- ;I $E(IOST,1,2)["C-" W !,"[END OF REPORT]",! S DIR("A")="Press RETURN to continue" D PAUSE
- EXEOR ;IB*737/CKB - called if no data was found
- W "[END OF REPORT]",!
- D EXLCK ;IB*737/DTG include EOR on excel queued check for pause
- Q
- ;
- EXLCK ; IB*737/DTG new tag for excel to check for pause
- ;
- I $E(IOST,1,2)["C-" S DIR("A")="Press RETURN to continue" D PAUSE W !
- Q
- ;
- ENOUT ; IB*737/DTG new TAG to cleanup temp files on exit.
- ;
- ;clear temp files
- K ^TMP("IBPYR",$J),^TMP("IBINC",$J),^TMP("IBUSER",$J),^TMP("IBPR",$J),^TMP("IBPR2",$J),^TMP($J)
- K ^TMP("IBPRINS",$J) ; IB*737/DTG to track which DIA(36,"B",INSIENS have been picked up
- Q
- ;
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBCNAU3 9660 printed Feb 18, 2025@23:40:08 Page 2
- IBCNAU3 ;ALB/KML/AWC - USER EDIT REPORT (PRINT) ;6-APRIL-2015
- +1 ;;2.0;INTEGRATED BILLING;**528,602,664,737**;21-MAR-94;Build 19
- +2 ;;Per VA Directive 6402, this routine should not be modified.
- +3 ;
- +4 ; Required variable input: ALLUSERS, ALLINS, PLANS, ALLPLANS, EXCEL, ALLPYRS, REPTYP,
- +5 ; ^TMP("IBINC",$J)
- +6 ; ^TMP("IBPYR",$J) ;/vd-IB*2*664 - Added this array
- +7 ; ^TMP("IBUSER",$J)
- +8 ; DATE("START") and DATE("END") required array elements if all dates not selected
- +9 ;
- +10 ; REPTYP (1=Ins. Company/Plans only; 2=Payers only; 3=both, Ins. Company/Plans & Payers)
- +11 ;
- +12 ;IB*732/CKB - references to 'eIV Payer' should be changed to 'Payer' in order
- +13 ; to include 'IIU payers'
- +14 QUIT
- +15 ;
- +16 ;EN(ALLPLANS,PLANS) ;
- +17 ;/vd-IB*2*664 - Replaced the above line with the line below
- EN(ALLPLANS,PLANS,ALLPYRS,REPTYP) ;
- +1 ; Print the report.
- +2 ;
- +3 ;I EXCEL D EXCEL(PLANS) Q
- +4 ;/vd-IB*2*664 - Replaced the line above with the line below
- +5 ;I +$G(EXCEL) D EXCEL(PLANS,ALLPYRS,REPTYP) Q
- +6 ; IB*737/DTG new exit point for cleanup
- IF +$GET(EXCEL)
- DO EXCEL(PLANS,ALLPYRS,REPTYP)
- GOTO ENOUT
- +7 NEW IBI,IBJ,IBK,IBL,IBM,IB01,IB02,IBQUIT,IBPAG,IBPD,IBHDT
- +8 SET (IB02,IBQUIT,IBPAG)=0
- +9 SET IBHDT=$$FMTE^XLFDT($$NOW^XLFDT())
- +10 ; IB*737/DTG added tag to better control the quit.
- DO PRINT
- if IBQUIT
- GOTO ENOUT
- +11 GOTO ENX
- +12 ;
- PRINT ; IB*737/DTG new tag for better control of quits
- +1 ;D HDR(ALLPLANS,PLANS)
- +2 ;I '$D(^TMP("IBPR",$J)) W !!,"User Edits do not exist per the selected filters." D PAUSE Q
- +3 ;
- +4 ;F IB01=0,1 F S IB02=$O(^TMP("IBPR",$J,IB01,IB02)) Q:'IB02 Q:IBQUIT S IBPD=$G(^TMP("IBPR",$J,IB01,IB02)) D Q:IBQUIT
- +5 ;. I $Y>(IOSL-5) D PAUSE Q:IBQUIT D HDR(ALLPLANS,PLANS)
- +6 ;. D PLAN
- +7 ;vd-IB*2*664 - Replaced the above lines with the lines below:
- +8 ;/IB*2*664 - Beginning of new code
- +9 ; report for ins cos/plans or both was selected
- IF REPTYP'=2
- Begin DoDot:1
- +10 DO HDR(ALLPLANS,PLANS)
- +11 ;IB*737/DTG added additional line feed at end
- IF '$DATA(^TMP("IBPR",$JOB))
- WRITE !!,"User Edits do not exist per the selected filters.",!!
- QUIT
- +12 ;
- +13 FOR IB01=0,1
- FOR
- SET IB02=$ORDER(^TMP("IBPR",$JOB,IB01,IB02))
- if 'IB02
- QUIT
- if IBQUIT
- QUIT
- SET IBPD=$GET(^TMP("IBPR",$JOB,IB01,IB02))
- Begin DoDot:2
- +14 IF $Y>(IOSL-5)
- DO PAUSE
- if IBQUIT
- QUIT
- DO HDR(ALLPLANS,PLANS)
- +15 DO PLAN
- End DoDot:2
- if IBQUIT
- QUIT
- End DoDot:1
- if IBQUIT
- QUIT
- +16 ;I REPTYP=1,'$D(^TMP("IBPR",$J)) G ENX
- +17 ; IB*737/DTG quit back
- IF REPTYP=1
- IF '$DATA(^TMP("IBPR",$JOB))
- QUIT
- +18 ;
- +19 ;IB*737/CKB
- +20 ; report for payers or both was selected
- IF REPTYP'=1
- Begin DoDot:1
- +21 IF REPTYP=3
- DO PAUSE
- +22 DO HDR2(ALLPYRS)
- +23 ;IB*737/DTG added additional line feed at end
- IF '$DATA(^TMP("IBPR2",$JOB))
- WRITE !!,"User Edits do not exist per the selected filters.",!!
- QUIT
- +24 ;
- +25 FOR IB01=0,1
- FOR
- SET IB02=$ORDER(^TMP("IBPR2",$JOB,IB01,IB02))
- if 'IB02
- QUIT
- if IBQUIT
- QUIT
- SET IBPD=$GET(^TMP("IBPR2",$JOB,IB01,IB02))
- Begin DoDot:2
- +26 IF $Y>(IOSL-5)
- DO PAUSE
- if IBQUIT
- QUIT
- DO HDR2(ALLPYRS)
- +27 DO PAYER
- End DoDot:2
- if IBQUIT
- QUIT
- End DoDot:1
- if IBQUIT
- QUIT
- +28 ;I REPTYP=2,'$D(^TMP("IBPR",$J)) G ENX
- +29 ; IB*737/DTG quit back
- IF REPTYP=2
- IF '$DATA(^TMP("IBPR",$JOB))
- QUIT
- +30 ;
- +31 ; IB*737/DTG quit back
- QUIT
- +32 ;
- ENX ;/vd-IB*2.0*664 - End of new code.
- +1 WRITE "END OF REPORT"
- DO PAUSE
- +2 ;Q
- +3 ; IB*737/DTG new exit point for cleanup
- GOTO ENOUT
- +4 ;
- +5 ;
- HDR(ALLPLANS,PLANS) ; Print REPORT header - /vd-IB*2.0*664 Replaced the variable IOM with the new variable WIDTH
- +1 IF $EXTRACT(IOST,1,2)="C-"!(IBPAG)
- WRITE @IOF
- +2 SET IBPAG=IBPAG+1
- +3 WRITE !,"USER EDIT REPORT"
- +4 WRITE ?WIDTH-34,IBHDT,?WIDTH-10,"Page: ",IBPAG
- +5 ;IB*737/DTG reduce indent by 5 for ins line, 3 for user line
- +6 ;W !?5,"Insurance Company"
- +7 WRITE !,"Insurance Company"
- +8 ;I PLANS W ?42,"Group Name"
- +9 IF PLANS
- WRITE ?37,"Group Name"
- +10 ;W !!?5,"User",?25,"Date/Time of Change",?49,"Modified Field",?75,"Previous Value of Data",?100,"Modified Value of Data"
- +11 WRITE !!,?2,"User",?22,"Date/Time of Change",?46,"Modified Field",?72,"Previous Value of Data"
- +12 WRITE ?103,"Modified Value of Data"
- +13 WRITE !,$TRANSLATE($JUSTIFY(" ",WIDTH)," ","_"),!
- +14 QUIT
- +15 ;
- PLAN ; Print plan information.
- +1 NEW USER,DATE
- +2 SET USER=$$GET1^DIQ(200,$PIECE(IBPD,U,3)_",",.01)
- +3 SET DATE=$$FMTE^XLFDT($PIECE(IBPD,U,4),2)
- SET DATE=$TRANSLATE(DATE,"@"," ")
- +4 ;IB*737/DTG reduce indent by 5 for ins line, 3 for user line
- +5 ;W !?5,$P(IBPD,U),?42,$S('IB01:"",1:$P(IBPD,U,2))
- +6 WRITE !,$PIECE(IBPD,U)
- +7 ; IB*737/DTG co. level if file 36 flag
- IF PLANS
- WRITE ?37,$SELECT($PIECE(IBPD,U,8)=36:"INS CO EDITS",'IB01:"",1:$PIECE(IBPD,U,2))
- +8 ;W !?5,USER,?25,DATE,?49,$P(IBPD,U,7),?75,$S($P(IBPD,U,5)="":"<no previous value>",1:$P(IBPD,U,5)),?100,$P(IBPD,U,6),!!
- +9 WRITE !,?2,USER,?22,DATE,?46,$PIECE(IBPD,U,7),?72,$SELECT($PIECE(IBPD,U,5)="":"<no previous value>",1:$EXTRACT($PIECE(IBPD,U,5),1,29))
- +10 WRITE ?103,$EXTRACT($PIECE(IBPD,U,6),1,29),!!
- +11 QUIT
- +12 ;
- +13 ;/vd-IB*2*664 - Beginning of new code
- HDR2(ALLPYRS) ; Print REPORT header - /vd-IB*2.0*664 Replaced the variable IOM with the new variable WIDTH
- +1 IF $EXTRACT(IOST,1,2)="C-"!(IBPAG)
- WRITE @IOF
- +2 SET IBPAG=IBPAG+1
- +3 WRITE !,"USER EDIT REPORT"
- +4 WRITE ?WIDTH-34,IBHDT,?WIDTH-10,"Page: ",IBPAG
- +5 ;IB*737/DTG reduce indent by 5 for ins line, 3 for user line
- +6 ;W !?5,"Payer"
- +7 WRITE !,"Payer"
- +8 ;W !!?5,"User",?25,"Date/Time of Change",?49,"Modified Field",?75,"Previous Value of Data",?100,"Modified Value of Data"
- +9 WRITE !!,?2,"User",?22,"Date/Time of Change",?46,"Modified Field"
- +10 WRITE ?72,"Previous Value of Data",?103,"Modified Value of Data"
- +11 WRITE !,$TRANSLATE($JUSTIFY(" ",WIDTH)," ","_"),!
- +12 QUIT
- +13 ;
- PAYER ; Print plan information.
- +1 NEW USER,DATE
- +2 SET USER=$$GET1^DIQ(200,$PIECE(IBPD,U,2)_",",.01)
- +3 SET DATE=$$FMTE^XLFDT($PIECE(IBPD,U,3),2)
- SET DATE=$TRANSLATE(DATE,"@"," ")
- +4 ;IB*737/DTG reduce indent by 5 for ins line, 3 for user line
- +5 ;W !?5,$P(IBPD,U),?42,$S('IB01:"",1:$P(IBPD,U,2))
- +6 WRITE !,$PIECE(IBPD,U)
- +7 IF PLANS
- WRITE ?37,$SELECT($PIECE(IBPD,U,8)=36:"INS CO EDITS",'IB01:"",1:$PIECE(IBPD,U,2))
- +8 ;W !?5,USER,?25,DATE,?49,$P(IBPD,U,6),?75,$S($P(IBPD,U,4)="":"<no previous value>",1:$P(IBPD,U,4)),?100,$P(IBPD,U,5),!!
- +9 WRITE !,?2,USER,?22,DATE,?46,$PIECE(IBPD,U,6),?72,$SELECT($PIECE(IBPD,U,4)="":"<no previous value>",1:$EXTRACT($PIECE(IBPD,U,4),1,29))
- +10 WRITE ?103,$EXTRACT($PIECE(IBPD,U,5),1,29),!!
- +11 QUIT
- +12 ;/vd-IB*2*664 - End of new code.
- +13 ;
- PAUSE ; Pause for screen output.
- +1 if $EXTRACT(IOST,1,2)'["C-"
- QUIT
- +2 WRITE !
- +3 SET DIR(0)="E"
- DO ^DIR
- KILL DIR
- IF $DATA(DIRUT)!($DATA(DUOUT))
- SET IBQUIT=1
- KILL DIRUT,DTOUT,DUOUT
- +4 QUIT
- +5 ;
- +6 ;EXCEL(PLANS) ; user selected format that can be viewed in MS Excel
- +7 ;/vd-IB*2*664 - Replaced the above line with the following line
- EXCEL(PLANS,ALLPYRS,REPTYP) ; user selected format that can be viewed in MS Excel
- +1 NEW IBI,IBJ,IBK,IBL,IBM,IB01,IB02,USER,DATE
- +2 ;IB*737/DTG for use with plan/group
- NEW IBPL
- +3 SET (IB01,IB02)=0
- +4 ; IB*602/HN ; Add report headers to Excel Spreadsheets
- +5 WRITE !,"USER EDIT REPORT^"_$$FMTE^XLFDT($$NOW^XLFDT,1)
- +6 ; IB*602/HN end
- +7 ;/vd-IB*2*664 - Beginning of new code.
- +8 IF REPTYP=1
- WRITE !,"For Insurance Companies/Plans"
- +9 ;IB*737/CKB
- +10 IF REPTYP=2
- WRITE !,"For Payers"
- +11 IF REPTYP=3
- WRITE !,"For Both Insurance Companies/Plans and Payers"
- +12 ;/vd-IB*2*664 - End of new code.
- +13 ;
- +14 IF REPTYP'=2
- Begin DoDot:1
- +15 IF PLANS
- WRITE !,"Insurance Company^Group Name^User^Date/Time of Change^Modified Field^Previous Value of Data^Modified Value of Data",!
- +16 IF '$TEST
- WRITE !,"Insurance Company^User^Date/Time of Change^Modified Field^Previous Value of Data^Modified Value of Data",!
- End DoDot:1
- +17 ;
- +18 ;IB*737/CKB - Insurance Company, no data found
- +19 IF REPTYP'=2
- IF '$DATA(^TMP("IBPR",$JOB))
- WRITE !,"User Edits do not exist per the selected filters.",!
- +20 ;
- +21 ; IB*737/DTG for page check if crt
- SET IBQUIT=0
- +22 ;IB*737/DTG screen check
- FOR IB01=0,1
- FOR
- SET IB02=$ORDER(^TMP("IBPR",$JOB,IB01,IB02))
- if 'IB02
- QUIT
- SET IBPD=$GET(^TMP("IBPR",$JOB,IB01,IB02))
- Begin DoDot:1
- +23 SET USER=$$GET1^DIQ(200,$PIECE(IBPD,U,3)_",",.01)
- +24 SET DATE=$$FMTE^XLFDT($PIECE(IBPD,U,4),2)
- +25 ;IB*737/DTG change to if else
- +26 ;I IB01=0 W $P(IBPD,U)_U_USER_U_DATE_U_$P(IBPD,U,7)_U_$S($P(IBPD,U,5)="":"<no previous value>",1:$P(IBPD,U,5))_U_$P(IBPD,U,6)
- +27 ;E W $P(IBPD,U)_U_$P(IBPD,U,2)_U_USER_U_DATE_U_$P(IBPD,U,7)_U_$S($P(IBPD,U,5)="":"<no previous value>",1:$P(IBPD,U,5))_U_$P(IBPD,U,6)
- +28 IF IB01=0
- Begin DoDot:2
- +29 WRITE $PIECE(IBPD,U)_U_USER_U_DATE_U_$PIECE(IBPD,U,7)_U
- +30 WRITE $SELECT($PIECE(IBPD,U,5)="":"<no previous value>",1:$PIECE(IBPD,U,5))_U_$PIECE(IBPD,U,6)
- End DoDot:2
- +31 IF IB01'=0
- Begin DoDot:2
- +32 WRITE $PIECE(IBPD,U)_U
- +33 SET IBPL=""
- SET IBPL=$SELECT($PIECE(IBPD,U,8)=36:"INS CO EDITS",1:$PIECE(IBPD,U,2))
- +34 if IBPL="NO PLANS SELECTED"
- SET IBPL=""
- WRITE IBPL_U
- +35 WRITE USER_U_DATE_U_$PIECE(IBPD,U,7)_U_$SELECT($PIECE(IBPD,U,5)="":"<no previous value>",1:$PIECE(IBPD,U,5))_U
- +36 WRITE $PIECE(IBPD,U,6)
- End DoDot:2
- +37 WRITE !
- +38 ;IB*737/DTG screen check
- IF ($Y#($GET(IOSL)-5))=0
- SET IBQUIT=0
- DO EXLCK
- if IBQUIT
- QUIT
- End DoDot:1
- if IBQUIT
- QUIT
- +39 ;
- +40 ;IB*737/DTG quit if screen and exit.
- IF IBQUIT
- QUIT
- +41 ;
- +42 ;/vd-IB*2.0*664 - Beginning of new code for Payer data.
- +43 IF REPTYP'=1
- Begin DoDot:1
- +44 ;IB*737/CKB
- +45 WRITE !,"Payer^User^Date/Time of Change^Modified Field^Previous Value of Data^Modified Value of Data",!
- +46 ;IB*737/CKB - Payer, no data found
- +47 IF '$DATA(^TMP("IBPR2",$JOB))
- WRITE !,"User Edits do not exist per the selected filters.",!
- QUIT
- +48 ;IB*737/DTG screen check
- FOR IB01=0,1
- FOR
- SET IB02=$ORDER(^TMP("IBPR2",$JOB,IB01,IB02))
- if 'IB02
- QUIT
- SET IBPD=$GET(^TMP("IBPR2",$JOB,IB01,IB02))
- Begin DoDot:2
- +49 SET USER=$$GET1^DIQ(200,$PIECE(IBPD,U,2)_",",.01)
- +50 SET DATE=$$FMTE^XLFDT($PIECE(IBPD,U,3),2)
- +51 WRITE $PIECE(IBPD,U)_U_USER_U_DATE_U_$PIECE(IBPD,U,6)_U_$SELECT($PIECE(IBPD,U,4)="":"<no previous value>",1:$PIECE(IBPD,U,4))_U_$PIECE(IBPD,U,5)
- +52 WRITE !
- +53 IF ($Y#($GET(IOSL)-5))=0
- SET IBQUIT=0
- DO EXLCK
- if IBQUIT
- QUIT
- End DoDot:2
- if IBQUIT
- QUIT
- End DoDot:1
- +54 ;/vd-IB*2.0*664 - End of new code for Payer data.
- +55 ;
- +56 ; -- write to screen
- +57 ;I $E(IOST,1,2)["C-" W !,"[END OF REPORT]",! S DIR("A")="Press RETURN to continue" D PAUSE
- EXEOR ;IB*737/CKB - called if no data was found
- +1 WRITE "[END OF REPORT]",!
- +2 ;IB*737/DTG include EOR on excel queued check for pause
- DO EXLCK
- +3 QUIT
- +4 ;
- EXLCK ; IB*737/DTG new tag for excel to check for pause
- +1 ;
- +2 IF $EXTRACT(IOST,1,2)["C-"
- SET DIR("A")="Press RETURN to continue"
- DO PAUSE
- WRITE !
- +3 QUIT
- +4 ;
- ENOUT ; IB*737/DTG new TAG to cleanup temp files on exit.
- +1 ;
- +2 ;clear temp files
- +3 KILL ^TMP("IBPYR",$JOB),^TMP("IBINC",$JOB),^TMP("IBUSER",$JOB),^TMP("IBPR",$JOB),^TMP("IBPR2",$JOB),^TMP($JOB)
- +4 ; IB*737/DTG to track which DIA(36,"B",INSIENS have been picked up
- KILL ^TMP("IBPRINS",$JOB)
- +5 QUIT
- +6 ;