- IBCOMDT1 ;ALB/CKB - INSURANCE COMPANY MISSING DATA REPORT (COMPILE/PRINT) ; 12-APR-2023
- ;;2.0;INTEGRATED BILLING;**763**;21-MAR-94;Build 29
- ;;Per VA Directive 6402, this routine should not be modified.
- ;
- ;Selected Insurance Company(s):
- ; ^TMP(IBCOMDT("$J"),"PR",<insurance co name>,<insurance IEN>)=""
- ;
- ;
- ;Print data:
- ; ^TMP(IBCOMDT("$J"),"PR",<insurance co name>,<insurance IEN>)=DATA
- ;
- ; DATA=INSURANCE COMPANY ^ ADDRESS ON FILE ^ STREET LINE 1 ^ STREET LINE 2 ^ STREET LINE 3 ^
- ; CITY ^ STATE ^ ZIP+4 ^ TYPE OF COVERAGE ^ FILING TIME FRAME"
- ;
- ; ***Note: the pieces in DATA are set to 'YES' if they are missing data
- ;
- Q
- COMPILE(IBCNRTN,IBCOMDT) ; Entry Point called from EN^XUTMDEVQ (indirectly from IBCOMDT).
- ; IBCNRTN = Routine name for ^TMP(IBCNRTN,IBCOMDT("$J"),...
- ; IBCOMDT = Array of params
- ; Compile and Print Report
- N ADDRESS,CITY,DATA,FOUND,I,IBCT,IBPGN,INS,INSNM,SL1,SL2,SL3,ST,FTF,TYPCOV,ZIP,ZIP4
- K ^TMP(IBCOMDT("$J"),"PR")
- ;
- S IBCT=0
- S INSNM=0 F S INSNM=$O(^TMP(IBCNRTN,IBCOMDT("$J"),INSNM)) Q:INSNM="" D
- . S INS=0 F S INS=$O(^TMP(IBCNRTN,IBCOMDT("$J"),INSNM,INS)) Q:INS="" D
- . . ; Write '.' to the screen to keep session alive (logic from BLD^IBCNBLL)
- . . S IBCT=IBCT+1 I '$D(ZTQUEUED),'(IBCT#50) W "."
- . . ; Get Insurance Company field details
- . . S DATA=""
- . . S SL1=$$GET1^DIQ(36,INS_",",.111,"E")
- . . S SL2=$$GET1^DIQ(36,INS_",",.112,"E")
- . . S SL3=$$GET1^DIQ(36,INS_",",.113,"E")
- . . S CITY=$$GET1^DIQ(36,INS_",",.114,"E")
- . . ; Use State 2 digit abbreviation
- . . S ST=$$GET1^DIQ(5,$$GET1^DIQ(36,INS_",",.115,"I")_",",1)
- . . S ZIP=$$GET1^DIQ(36,INS_",",.116,"E"),ZIP4=""
- . . I $L(ZIP)>5 S ZIP4=$P(ZIP,"-",2)
- . . S ADDRESS=""
- . . I SL1'="" S ADDRESS=ADDRESS_SL1
- . . I SL2'="" S ADDRESS=ADDRESS_", "_SL2
- . . I SL3'="" S ADDRESS=ADDRESS_", "_SL3
- . . I CITY'="" S ADDRESS=ADDRESS_", "_CITY
- . . I ST'="" S ADDRESS=ADDRESS_", "_ST
- . . I ZIP'="" S ADDRESS=ADDRESS_", "_ZIP
- . . S TYPCOV=$$GET1^DIQ(36,INS_",",.13,"E")
- . . S FTF=$$FTFIC^IBCNEUT7(INS)
- . . ;
- . . ; Set DATA for Report output (filtered)
- . . I IBCOMDT("IBOUT")="R" S FOUND=0,DATA="" D
- . . . S $P(DATA,U,1)=ADDRESS
- . . . ; If there is missing data add it to DATA
- . . . I IBCOMDT("IBSL1") I SL1="" S $P(DATA,U,2)="YES"
- . . . I IBCOMDT("IBSL2") I SL2="" S $P(DATA,U,3)="YES"
- . . . I IBCOMDT("IBSL3") I SL3="" S $P(DATA,U,4)="YES"
- . . . I IBCOMDT("IBCTY") I CITY="" S $P(DATA,U,5)="YES"
- . . . I IBCOMDT("IBST") I ST="" S $P(DATA,U,6)="YES"
- . . . I IBCOMDT("IBZIP") I (ZIP4="")!(ZIP4="0000")!(ZIP4="9999") S $P(DATA,U,7)="YES"
- . . . I IBCOMDT("IBCOV") I TYPCOV="" S $P(DATA,U,8)="YES"
- . . . I IBCOMDT("IBFTF") I FTF["UNK" S $P(DATA,U,9)="YES"
- . . . F I=2:1:$L(DATA,U) I $P(DATA,U,I)'="" S FOUND=1
- . . ;
- . . ; Set DATA for Excel output (doesn't filter, includes all 8 fields)
- . . I IBCOMDT("IBOUT")="E" S FOUND=1,DATA="" D
- . . . S $P(DATA,U,1)=ADDRESS
- . . . S $P(DATA,U,2)=$S(SL1="":"YES",1:"NO")
- . . . S $P(DATA,U,3)=$S(SL2="":"YES",1:"NO")
- . . . S $P(DATA,U,4)=$S(SL3="":"YES",1:"NO")
- . . . S $P(DATA,U,5)=$S(CITY="":"YES",1:"NO")
- . . . S $P(DATA,U,6)=$S(ST="":"YES",1:"NO")
- . . . S $P(DATA,U,7)="NO"
- . . . I (ZIP4="")!(ZIP4="0000")!(ZIP4="9999") S $P(DATA,U,7)="YES"
- . . . S $P(DATA,U,8)=$S(TYPCOV="":"YES",1:"NO")
- . . . S $P(DATA,U,9)=$S(FTF["UNK":"YES",1:"NO")
- . . ;
- . . ; Add to ^TMP global for printing if missing data was found or Excel output
- . . I FOUND S ^TMP(IBCOMDT("$J"),"PR",INSNM,INS)=DATA
- . . K DATA
- K ^TMP(IBCNRTN,IBCOMDT("$J"))
- ;
- ; Print Excel or Report output
- D PRINT
- Q
- ;
- PRINT ; Print Report
- N CRT,CT,DASHES,DATA,EORMSG,IBHDT,IBPGC,IBQUIT,INS,LCT,NODATA,NONEMSG,MAXCNT,STOP,%
- S EORMSG="*** End of Report ***"
- S NONEMSG="*** NO DATA FOUND ***"
- S HDRNAME="INSURANCE COMPANY MISSING DATA"
- D NOW^%DTC
- S IBHDT=$$DAT2^IBOUTL($E(%,1,12))
- S (IBPGC,IBQUIT,LCT,STOP,ZSTOP)=0
- S $P(DASHES,"-",81)=""
- S MAXCNT=IOSL-2,CRT=1
- I 'IOST["C-" S MAXCNT=IOSL-6,CRT=0
- I IBCOMDT("IBOUT")="E" D EHDR
- I IBCOMDT("IBOUT")="R" D HEADER(HDRNAME,IBHDT)
- I '$D(^TMP(IBCOMDT("$J"),"PR")) W !,NONEMSG,! G PRINTQ ; NO DATA FOUND
- ;
- ; Loop through ^TMP(IBCOMDT("$J"),"PR") and display report output
- S INS=0 F S INS=$O(^TMP(IBCOMDT("$J"),"PR",INS)) Q:INS=""!(IBQUIT!$G(ZTSTOP)) D
- . S CT=0 F S CT=$O(^TMP(IBCOMDT("$J"),"PR",INS,CT)) Q:CT=""!(IBQUIT!$G(ZTSTOP)) D
- . . ; Excel output
- . . I IBCOMDT("IBOUT")="E" D
- . . . S DATA=^TMP(IBCOMDT("$J"),"PR",INS,CT)
- . . . W INS,U,$S($P(DATA,U,1)="":"<no address on file>",1:$P(DATA,U,1)),U
- . . . W $P(DATA,U,2,9),!
- . . ; Report output
- . . I IBCOMDT("IBOUT")="R" D REPORT
- ;
- PRINTQ ;
- ; Only display 'End of Report' and PAUSE if User didn't enter a '^' (IBQUIT=1)
- I '(IBQUIT!$G(ZTSTOP)) D
- . W !,EORMSG,!
- . D PAUSE
- I $D(ZTQUEUED) S ZTREQ="@" Q
- ; Close Device
- D ^%ZISC
- Q
- ;
- REPORT ; Report output
- N ADDOF,RPT1,RPT2,RPT3,RPT4
- ; Use Line counter (LCT) to keep all Insurance Company data on the same page
- S (RPT1,RPT2,RPT3,RPT4)=""
- S DATA=^TMP(IBCOMDT("$J"),"PR",INS,CT)
- S ADDOF=$P(DATA,U,1)
- ;
- ; Build line 1
- I $P(DATA,U,2)="YES" S RPT1=RPT1_$S(RPT1'="":", ",1:"")_"STREET LINE 1"
- I $P(DATA,U,3)="YES" S RPT1=RPT1_$S(RPT1'="":", ",1:"")_"STREET LINE 2"
- I $P(DATA,U,4)="YES" S RPT1=RPT1_$S(RPT1'="":", ",1:"")_"STREET LINE 3"
- I RPT1'="" S LCT=LCT+1
- ; Build line 2
- I $P(DATA,U,5)="YES" S RPT2=RPT2_$S(RPT2'="":", ",1:"")_"CITY"
- I $P(DATA,U,6)="YES" S RPT2=RPT2_$S(RPT2'="":", ",1:"")_"STATE"
- I $P(DATA,U,7)="YES" S RPT2=RPT2_$S(RPT2'="":", ",1:"")_"ZIP+4"
- I RPT2'="" S LCT=LCT+1
- ; Determine lines 3 and 4
- I $P(DATA,U,8)'="" S RPT3=1,LCT=LCT+1
- I $P(DATA,U,9)'="" S RPT4=1,LCT=LCT+1
- ;
- ;I ($Y+LCT)>MAXCNT D S LCT=0 Q:(IBQUIT!$G(ZTSTOP)) D HEADER(HDRNAME,IBHDT)
- I ($Y+LCT)>MAXCNT D S LCT=0 D HEADER(HDRNAME,IBHDT)
- . ;Write blank lines to fill page prior to displaying "Type <Enter> to continue or '^' to exit:"
- . I $E(IOST,1,2)["C-",MAXCNT<51 F LIN=1:1:(MAXCNT-$Y) W !
- I IBQUIT!$G(ZSTOP) Q
- ;
- ; Display results
- W !,INS,!
- W $S(ADDOF="":"<no address on file>",1:ADDOF),!
- I RPT1'="" W ?8,RPT1,!
- I RPT2'="" W ?8,RPT2,!
- I RPT3 W ?8,"TYPE OF COVERAGE",!
- I RPT4 W ?8,"FILING TIME FRAME",!
- Q
- ;
- ;
- N DIR,DTOUT,DUOUT,LIN,OFFSET,X,Y
- I IBPGC>0,$E(IOST,1,2)["C-" D Q:(IBQUIT!$G(ZTSTOP))
- . I MAXCNT<51 F LIN=1:1:(MAXCNT-$Y) W !
- . D PAUSE
- I $E(IOST,1,2)'["C-",$$S^%ZTLOAD() S ZTSTOP=1 Q
- S IBPGC=IBPGC+1 I IBPGC>1!($E(IOST,1,2)["C-") W @IOF
- ; Excel and Report Header
- I IBCOMDT("IBOUT")="E",IBPGC=1 D EHDR
- I IBCOMDT("IBOUT")="R" D
- . W HDRNAME
- . S HDRDATE=HDRDATE_" Page: "_+IBPGC,OFFSET=(80-($L(HDRDATE)+1))
- . W ?OFFSET,HDRDATE,!
- . W "Missing Data: ",IBCOMDT("SUBHD"),!,DASHES,!
- Q
- ;
- EHDR ; Excel Header
- N EHDR
- S EHDR="INSURANCE COMPANY"_U_"ADDRESS ON FILE"_U_"STREET LINE 1"_U_"STREET LINE 2 "_U_"STREET LINE 3"
- S EHDR=EHDR_U_"CITY"_U_"STATE"_U_"ZIP+4"_U_"TYPE OF COVERAGE"_U_"FILING TIME FRAME"
- W !,HDRNAME,"^",IBHDT,!,"Missing Data: SEARCH ALL",!,"**YES indicates Missing Data**"
- W !!,EHDR,!
- Q
- ;
- PAUSE ; Pause for screen output.
- N DIR,DIRUT,DTOUT,DUOUT
- Q:$E(IOST,1,2)'["C-"
- S DIR(0)="E" D ^DIR K DIR I $D(DIRUT)!($D(DUOUT)) S IBQUIT=1 K DIR,DIRUT,DTOUT,DUOUT
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBCOMDT1 7369 printed Feb 18, 2025@23:44:47 Page 2
- IBCOMDT1 ;ALB/CKB - INSURANCE COMPANY MISSING DATA REPORT (COMPILE/PRINT) ; 12-APR-2023
- +1 ;;2.0;INTEGRATED BILLING;**763**;21-MAR-94;Build 29
- +2 ;;Per VA Directive 6402, this routine should not be modified.
- +3 ;
- +4 ;Selected Insurance Company(s):
- +5 ; ^TMP(IBCOMDT("$J"),"PR",<insurance co name>,<insurance IEN>)=""
- +6 ;
- +7 ;
- +8 ;Print data:
- +9 ; ^TMP(IBCOMDT("$J"),"PR",<insurance co name>,<insurance IEN>)=DATA
- +10 ;
- +11 ; DATA=INSURANCE COMPANY ^ ADDRESS ON FILE ^ STREET LINE 1 ^ STREET LINE 2 ^ STREET LINE 3 ^
- +12 ; CITY ^ STATE ^ ZIP+4 ^ TYPE OF COVERAGE ^ FILING TIME FRAME"
- +13 ;
- +14 ; ***Note: the pieces in DATA are set to 'YES' if they are missing data
- +15 ;
- +16 QUIT
- COMPILE(IBCNRTN,IBCOMDT) ; Entry Point called from EN^XUTMDEVQ (indirectly from IBCOMDT).
- +1 ; IBCNRTN = Routine name for ^TMP(IBCNRTN,IBCOMDT("$J"),...
- +2 ; IBCOMDT = Array of params
- +3 ; Compile and Print Report
- +4 NEW ADDRESS,CITY,DATA,FOUND,I,IBCT,IBPGN,INS,INSNM,SL1,SL2,SL3,ST,FTF,TYPCOV,ZIP,ZIP4
- +5 KILL ^TMP(IBCOMDT("$J"),"PR")
- +6 ;
- +7 SET IBCT=0
- +8 SET INSNM=0
- FOR
- SET INSNM=$ORDER(^TMP(IBCNRTN,IBCOMDT("$J"),INSNM))
- if INSNM=""
- QUIT
- Begin DoDot:1
- +9 SET INS=0
- FOR
- SET INS=$ORDER(^TMP(IBCNRTN,IBCOMDT("$J"),INSNM,INS))
- if INS=""
- QUIT
- Begin DoDot:2
- +10 ; Write '.' to the screen to keep session alive (logic from BLD^IBCNBLL)
- +11 SET IBCT=IBCT+1
- IF '$DATA(ZTQUEUED)
- IF '(IBCT#50)
- WRITE "."
- +12 ; Get Insurance Company field details
- +13 SET DATA=""
- +14 SET SL1=$$GET1^DIQ(36,INS_",",.111,"E")
- +15 SET SL2=$$GET1^DIQ(36,INS_",",.112,"E")
- +16 SET SL3=$$GET1^DIQ(36,INS_",",.113,"E")
- +17 SET CITY=$$GET1^DIQ(36,INS_",",.114,"E")
- +18 ; Use State 2 digit abbreviation
- +19 SET ST=$$GET1^DIQ(5,$$GET1^DIQ(36,INS_",",.115,"I")_",",1)
- +20 SET ZIP=$$GET1^DIQ(36,INS_",",.116,"E")
- SET ZIP4=""
- +21 IF $LENGTH(ZIP)>5
- SET ZIP4=$PIECE(ZIP,"-",2)
- +22 SET ADDRESS=""
- +23 IF SL1'=""
- SET ADDRESS=ADDRESS_SL1
- +24 IF SL2'=""
- SET ADDRESS=ADDRESS_", "_SL2
- +25 IF SL3'=""
- SET ADDRESS=ADDRESS_", "_SL3
- +26 IF CITY'=""
- SET ADDRESS=ADDRESS_", "_CITY
- +27 IF ST'=""
- SET ADDRESS=ADDRESS_", "_ST
- +28 IF ZIP'=""
- SET ADDRESS=ADDRESS_", "_ZIP
- +29 SET TYPCOV=$$GET1^DIQ(36,INS_",",.13,"E")
- +30 SET FTF=$$FTFIC^IBCNEUT7(INS)
- +31 ;
- +32 ; Set DATA for Report output (filtered)
- +33 IF IBCOMDT("IBOUT")="R"
- SET FOUND=0
- SET DATA=""
- Begin DoDot:3
- +34 SET $PIECE(DATA,U,1)=ADDRESS
- +35 ; If there is missing data add it to DATA
- +36 IF IBCOMDT("IBSL1")
- IF SL1=""
- SET $PIECE(DATA,U,2)="YES"
- +37 IF IBCOMDT("IBSL2")
- IF SL2=""
- SET $PIECE(DATA,U,3)="YES"
- +38 IF IBCOMDT("IBSL3")
- IF SL3=""
- SET $PIECE(DATA,U,4)="YES"
- +39 IF IBCOMDT("IBCTY")
- IF CITY=""
- SET $PIECE(DATA,U,5)="YES"
- +40 IF IBCOMDT("IBST")
- IF ST=""
- SET $PIECE(DATA,U,6)="YES"
- +41 IF IBCOMDT("IBZIP")
- IF (ZIP4="")!(ZIP4="0000")!(ZIP4="9999")
- SET $PIECE(DATA,U,7)="YES"
- +42 IF IBCOMDT("IBCOV")
- IF TYPCOV=""
- SET $PIECE(DATA,U,8)="YES"
- +43 IF IBCOMDT("IBFTF")
- IF FTF["UNK"
- SET $PIECE(DATA,U,9)="YES"
- +44 FOR I=2:1:$LENGTH(DATA,U)
- IF $PIECE(DATA,U,I)'=""
- SET FOUND=1
- End DoDot:3
- +45 ;
- +46 ; Set DATA for Excel output (doesn't filter, includes all 8 fields)
- +47 IF IBCOMDT("IBOUT")="E"
- SET FOUND=1
- SET DATA=""
- Begin DoDot:3
- +48 SET $PIECE(DATA,U,1)=ADDRESS
- +49 SET $PIECE(DATA,U,2)=$SELECT(SL1="":"YES",1:"NO")
- +50 SET $PIECE(DATA,U,3)=$SELECT(SL2="":"YES",1:"NO")
- +51 SET $PIECE(DATA,U,4)=$SELECT(SL3="":"YES",1:"NO")
- +52 SET $PIECE(DATA,U,5)=$SELECT(CITY="":"YES",1:"NO")
- +53 SET $PIECE(DATA,U,6)=$SELECT(ST="":"YES",1:"NO")
- +54 SET $PIECE(DATA,U,7)="NO"
- +55 IF (ZIP4="")!(ZIP4="0000")!(ZIP4="9999")
- SET $PIECE(DATA,U,7)="YES"
- +56 SET $PIECE(DATA,U,8)=$SELECT(TYPCOV="":"YES",1:"NO")
- +57 SET $PIECE(DATA,U,9)=$SELECT(FTF["UNK":"YES",1:"NO")
- End DoDot:3
- +58 ;
- +59 ; Add to ^TMP global for printing if missing data was found or Excel output
- +60 IF FOUND
- SET ^TMP(IBCOMDT("$J"),"PR",INSNM,INS)=DATA
- +61 KILL DATA
- End DoDot:2
- End DoDot:1
- +62 KILL ^TMP(IBCNRTN,IBCOMDT("$J"))
- +63 ;
- +64 ; Print Excel or Report output
- +65 DO PRINT
- +66 QUIT
- +67 ;
- PRINT ; Print Report
- +1 NEW CRT,CT,DASHES,DATA,EORMSG,IBHDT,IBPGC,IBQUIT,INS,LCT,NODATA,NONEMSG,MAXCNT,STOP,%
- +2 SET EORMSG="*** End of Report ***"
- +3 SET NONEMSG="*** NO DATA FOUND ***"
- +4 SET HDRNAME="INSURANCE COMPANY MISSING DATA"
- +5 DO NOW^%DTC
- +6 SET IBHDT=$$DAT2^IBOUTL($EXTRACT(%,1,12))
- +7 SET (IBPGC,IBQUIT,LCT,STOP,ZSTOP)=0
- +8 SET $PIECE(DASHES,"-",81)=""
- +9 SET MAXCNT=IOSL-2
- SET CRT=1
- +10 IF 'IOST["C-"
- SET MAXCNT=IOSL-6
- SET CRT=0
- +11 IF IBCOMDT("IBOUT")="E"
- DO EHDR
- +12 IF IBCOMDT("IBOUT")="R"
- DO HEADER(HDRNAME,IBHDT)
- +13 ; NO DATA FOUND
- IF '$DATA(^TMP(IBCOMDT("$J"),"PR"))
- WRITE !,NONEMSG,!
- GOTO PRINTQ
- +14 ;
- +15 ; Loop through ^TMP(IBCOMDT("$J"),"PR") and display report output
- +16 SET INS=0
- FOR
- SET INS=$ORDER(^TMP(IBCOMDT("$J"),"PR",INS))
- if INS=""!(IBQUIT!$GET(ZTSTOP))
- QUIT
- Begin DoDot:1
- +17 SET CT=0
- FOR
- SET CT=$ORDER(^TMP(IBCOMDT("$J"),"PR",INS,CT))
- if CT=""!(IBQUIT!$GET(ZTSTOP))
- QUIT
- Begin DoDot:2
- +18 ; Excel output
- +19 IF IBCOMDT("IBOUT")="E"
- Begin DoDot:3
- +20 SET DATA=^TMP(IBCOMDT("$J"),"PR",INS,CT)
- +21 WRITE INS,U,$SELECT($PIECE(DATA,U,1)="":"<no address on file>",1:$PIECE(DATA,U,1)),U
- +22 WRITE $PIECE(DATA,U,2,9),!
- End DoDot:3
- +23 ; Report output
- +24 IF IBCOMDT("IBOUT")="R"
- DO REPORT
- End DoDot:2
- End DoDot:1
- +25 ;
- PRINTQ ;
- +1 ; Only display 'End of Report' and PAUSE if User didn't enter a '^' (IBQUIT=1)
- +2 IF '(IBQUIT!$GET(ZTSTOP))
- Begin DoDot:1
- +3 WRITE !,EORMSG,!
- +4 DO PAUSE
- End DoDot:1
- +5 IF $DATA(ZTQUEUED)
- SET ZTREQ="@"
- QUIT
- +6 ; Close Device
- +7 DO ^%ZISC
- +8 QUIT
- +9 ;
- REPORT ; Report output
- +1 NEW ADDOF,RPT1,RPT2,RPT3,RPT4
- +2 ; Use Line counter (LCT) to keep all Insurance Company data on the same page
- +3 SET (RPT1,RPT2,RPT3,RPT4)=""
- +4 SET DATA=^TMP(IBCOMDT("$J"),"PR",INS,CT)
- +5 SET ADDOF=$PIECE(DATA,U,1)
- +6 ;
- +7 ; Build line 1
- +8 IF $PIECE(DATA,U,2)="YES"
- SET RPT1=RPT1_$SELECT(RPT1'="":", ",1:"")_"STREET LINE 1"
- +9 IF $PIECE(DATA,U,3)="YES"
- SET RPT1=RPT1_$SELECT(RPT1'="":", ",1:"")_"STREET LINE 2"
- +10 IF $PIECE(DATA,U,4)="YES"
- SET RPT1=RPT1_$SELECT(RPT1'="":", ",1:"")_"STREET LINE 3"
- +11 IF RPT1'=""
- SET LCT=LCT+1
- +12 ; Build line 2
- +13 IF $PIECE(DATA,U,5)="YES"
- SET RPT2=RPT2_$SELECT(RPT2'="":", ",1:"")_"CITY"
- +14 IF $PIECE(DATA,U,6)="YES"
- SET RPT2=RPT2_$SELECT(RPT2'="":", ",1:"")_"STATE"
- +15 IF $PIECE(DATA,U,7)="YES"
- SET RPT2=RPT2_$SELECT(RPT2'="":", ",1:"")_"ZIP+4"
- +16 IF RPT2'=""
- SET LCT=LCT+1
- +17 ; Determine lines 3 and 4
- +18 IF $PIECE(DATA,U,8)'=""
- SET RPT3=1
- SET LCT=LCT+1
- +19 IF $PIECE(DATA,U,9)'=""
- SET RPT4=1
- SET LCT=LCT+1
- +20 ;
- +21 ;I ($Y+LCT)>MAXCNT D S LCT=0 Q:(IBQUIT!$G(ZTSTOP)) D HEADER(HDRNAME,IBHDT)
- +22 IF ($Y+LCT)>MAXCNT
- Begin DoDot:1
- +23 ;Write blank lines to fill page prior to displaying "Type <Enter> to continue or '^' to exit:"
- +24 IF $EXTRACT(IOST,1,2)["C-"
- IF MAXCNT<51
- FOR LIN=1:1:(MAXCNT-$Y)
- WRITE !
- End DoDot:1
- SET LCT=0
- DO HEADER(HDRNAME,IBHDT)
- +25 IF IBQUIT!$GET(ZSTOP)
- QUIT
- +26 ;
- +27 ; Display results
- +28 WRITE !,INS,!
- +29 WRITE $SELECT(ADDOF="":"<no address on file>",1:ADDOF),!
- +30 IF RPT1'=""
- WRITE ?8,RPT1,!
- +31 IF RPT2'=""
- WRITE ?8,RPT2,!
- +32 IF RPT3
- WRITE ?8,"TYPE OF COVERAGE",!
- +33 IF RPT4
- WRITE ?8,"FILING TIME FRAME",!
- +34 QUIT
- +35 ;
- +36 ;
- +1 NEW DIR,DTOUT,DUOUT,LIN,OFFSET,X,Y
- +2 IF IBPGC>0
- IF $EXTRACT(IOST,1,2)["C-"
- Begin DoDot:1
- +3 IF MAXCNT<51
- FOR LIN=1:1:(MAXCNT-$Y)
- WRITE !
- +4 DO PAUSE
- End DoDot:1
- if (IBQUIT!$GET(ZTSTOP))
- QUIT
- +5 IF $EXTRACT(IOST,1,2)'["C-"
- IF $$S^%ZTLOAD()
- SET ZTSTOP=1
- QUIT
- +6 SET IBPGC=IBPGC+1
- IF IBPGC>1!($EXTRACT(IOST,1,2)["C-")
- WRITE @IOF
- +7 ; Excel and Report Header
- +8 IF IBCOMDT("IBOUT")="E"
- IF IBPGC=1
- DO EHDR
- +9 IF IBCOMDT("IBOUT")="R"
- Begin DoDot:1
- +10 WRITE HDRNAME
- +11 SET HDRDATE=HDRDATE_" Page: "_+IBPGC
- SET OFFSET=(80-($LENGTH(HDRDATE)+1))
- +12 WRITE ?OFFSET,HDRDATE,!
- +13 WRITE "Missing Data: ",IBCOMDT("SUBHD"),!,DASHES,!
- End DoDot:1
- +14 QUIT
- +15 ;
- EHDR ; Excel Header
- +1 NEW EHDR
- +2 SET EHDR="INSURANCE COMPANY"_U_"ADDRESS ON FILE"_U_"STREET LINE 1"_U_"STREET LINE 2 "_U_"STREET LINE 3"
- +3 SET EHDR=EHDR_U_"CITY"_U_"STATE"_U_"ZIP+4"_U_"TYPE OF COVERAGE"_U_"FILING TIME FRAME"
- +4 WRITE !,HDRNAME,"^",IBHDT,!,"Missing Data: SEARCH ALL",!,"**YES indicates Missing Data**"
- +5 WRITE !!,EHDR,!
- +6 QUIT
- +7 ;
- PAUSE ; Pause for screen output.
- +1 NEW DIR,DIRUT,DTOUT,DUOUT
- +2 if $EXTRACT(IOST,1,2)'["C-"
- QUIT
- +3 SET DIR(0)="E"
- DO ^DIR
- KILL DIR
- IF $DATA(DIRUT)!($DATA(DUOUT))
- SET IBQUIT=1
- KILL DIR,DIRUT,DTOUT,DUOUT
- +4 QUIT