- DVBACMRP ;ALB/GTS-557/THM-INCOMPETENT RPT ; 1/16/91 7:23 AM
- ;;2.7;AMIE;**17**;Apr 10, 1995
- K ^TMP($J) G TERM
- SET Q:'$D(^DPT(DA,.29)) S ICDAT=^(.29) Q:$P(ICDAT,U,12)'=1&(ICDAT']"") S INCMP="" S:$P(ICDAT,U)]""!($P(ICDAT,U,12)=1) INCMP=1 Q:INCMP'=1 S ICDAT2=$P(ICDAT,U,2),ICDAT=$P(ICDAT,U)
- S:ICDAT]"" ICDAT=$$FMTE^XLFDT(ICDAT,"5DZ")
- S:ICDAT2]"" ICDAT2=$$FMTE^XLFDT(ICDAT2,"5DZ")
- Q:'$D(^DPT(DA,0)) S DFN=DA D RCV^DVBAVDPT Q:CFLOC'=RONUM&(RO="Y")&(CFLOC'=0)&(CFLOC'=376)
- S ^TMP($J,XCN,CFLOC,MB,DA)=MA_U_RCVAA_U_RCVPEN_U_CNUM_U_ICDAT_U_ICDAT2_U_INCMP
- Q
- ;
- PRINTB S MA=$P(DATA,U),RCVAA=$P(DATA,U,2),RCVPEN=$P(DATA,U,3),CNUM=$P(DATA,U,4),ICDAT=$P(DATA,U,5),ICDAT2=$P(DATA,U,6),INCMP=$P(DATA,U,7),DFN=DA,QUIT1=1 D ADM^DVBAVDPT
- S ADMDT=$$FMTE^XLFDT(ADMDT,"5DZ")
- S DCHGDT=$$FMTE^XLFDT(DCHGDT,"5DZ")
- S LADM=ADM,TDIS="UNKNOWN",TO="",DCHPTR=$P(^DGPM(LADM,0),U,17),TDIS=$S($D(^DGPM(+DCHPTR,0)):$P(^(0),U,18),1:"") I TDIS="" S TDIS="Unknown discharge type"
- S:'$D(^DG(405.2,+TDIS,0)) TDIS="Unknown discharge type" I $D(^(0)) S TDIS=$S($P(^DG(405.2,+TDIS,0),U,1)]"":$P(^(0),U,1),1:"Unknown discharge type")
- W:(IOST?1"C-".E)!($D(DVBAON2)) @IOF
- W !!!,?(80-$L(HEAD)\2),HEAD,!,?(80-$L(HEAD1)\2),HEAD1,!!
- W ?10,"Patient Name:",?26,PNAM,!!,?14,"Claim No:",?26,CNUM,!,?6,"Claim Folder Loc:",?26,CFLOC,!,?9,"Social Sec No:",?26,SSN,!,?8,"Admission Date:",?26,ADMDT,!,?3,"Admitting Diagnosis:",?26,DIAG,!
- W ?8,"Discharge Date:",?26,DCHGDT,! W:DCHGDT]"" ?5,"Type of Discharge:",?26,TDIS_$S(TO]"":" TO "_$S($D(^DIC(4,+TO,0)):$P(^(0),U,1),1:""),1:""),!
- W ?11,"Bed Service:",?26,BEDSEC,!,?13,"Recv A&A?:",?26,$S(RCVAA=0:"NO",RCVAA=1:"YES",1:"Not specified"),!
- W ?14,"Pension?:",?26,$S(RCVPEN=0:"NO",RCVPEN=1:"YES",1:"Not specified"),! D ELIG^DVBAVDPT
- W !,?5,"DATE RULED INCOMP:" W:ICDAT]"" ?26,ICDAT_" (VA)" W:ICDAT2]"" " - ",ICDAT2_" (CIVIL)" W !
- I IOST?1"C-".E W *7,!,"Press RETURN to continue or ""^"" to stop " R ANS:DTIME S:ANS=U!('$T) QUIT=1 I '$T S DVBAQUIT=1
- S DVBAON2=""
- Q
- ;
- PRINT U IO S QUIT=""
- S XCN="" F M=0:0 S XCN=$O(^TMP($J,XCN)) Q:XCN=""!(QUIT=1) S CFLOC="" F J=0:0 S CFLOC=$O(^TMP($J,XCN,CFLOC)) Q:CFLOC=""!(QUIT=1) D PRINT1
- Q
- PRINT1 S ADM="" F K=0:0 S ADM=$O(^TMP($J,XCN,CFLOC,ADM)) Q:ADM=""!(QUIT=1) S DA="" F L=0:0 S DA=$O(^TMP($J,XCN,CFLOC,ADM,DA)) Q:DA=""!(QUIT=1) S DATA=^(DA) D PRINTB
- Q
- ;
- TERM D HOME^%ZIS K NOASK
- ;
- SETUP W @IOF,!,"VARO INCOMPETENCY REPORT" D NOPARM^DVBAUTL2 G:$D(DVBAQUIT) KILL^DVBAUTIL S DTAR=^DVB(396.1,1,0),FDT(0)=$$FMTE^XLFDT(DT,"5DZ")
- S HEAD="INCOMPETENCY REPORT",HEAD1="FOR "_$P(DTAR,U,1)_" ON "_FDT(0)
- W !,HEAD1
- EN1 W !!,"Please enter dates for search, oldest date first, most recent date last.",!!,"Last report was run on " S Y=$P(DTAR,U,5) X ^DD("DD") W Y,!!
- D DATE^DVBAUTIL G:X=""!(Y<0) KILL
- S %ZIS="Q" D ^%ZIS K %ZIS G:POP KILL^DVBAUTIL
- ;
- QUEUE I $D(IO("Q")) S ZTRTN="DEQUE^DVBACMRP",ZTIO=ION,NOASK=1,ZTDESC="AMIE INCOMPETENT VET REPORT" F I="FDT(0)","HEAD","HEAD1","BDATE","EDATE","TYPE","RO","RONUM","NOASK" S ZTSAVE(I)=""
- I $D(IO("Q")) D ^%ZTLOAD W:$D(ZTSK) !!,"Request queued.",!! G KILL
- ;
- GO S MA=BDATE F J=0:0 S MA=$O(^DGPM("AMV1",MA)) Q:$P(MA,".")>EDATE!(MA="") F DA=0:0 S DA=$O(^DGPM("AMV1",MA,DA)) Q:DA="" F MB=0:0 S MB=$O(^DGPM("AMV1",MA,DA,MB)) Q:MB="" D SET I '$D(NOASK) W "."
- I '$D(^TMP($J)) U IO W !!,*7,"No data found for parameters entered.",!! H 2 G KILL
- I $D(^TMP($J)) D PRINT I $D(DVBAQUIT) K DVBAON2 G KILL^DVBAUTIL
- ;
- KILL D ^%ZISC S X=5 K DVBAON2 D:$D(ZTQUEUED) KILL^%ZTLOAD G FINAL^DVBAUTIL
- ;
- DEQUE K ^TMP($J) G GO
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDVBACMRP 3563 printed Mar 13, 2025@20:45:37 Page 2
- DVBACMRP ;ALB/GTS-557/THM-INCOMPETENT RPT ; 1/16/91 7:23 AM
- +1 ;;2.7;AMIE;**17**;Apr 10, 1995
- +2 KILL ^TMP($JOB)
- GOTO TERM
- SET if '$DATA(^DPT(DA,.29))
- QUIT
- SET ICDAT=^(.29)
- if $PIECE(ICDAT,U,12)'=1&(ICDAT']"")
- QUIT
- SET INCMP=""
- if $PIECE(ICDAT,U)]""!($PIECE(ICDAT,U,12)=1)
- SET INCMP=1
- if INCMP'=1
- QUIT
- SET ICDAT2=$PIECE(ICDAT,U,2)
- SET ICDAT=$PIECE(ICDAT,U)
- +1 if ICDAT]""
- SET ICDAT=$$FMTE^XLFDT(ICDAT,"5DZ")
- +2 if ICDAT2]""
- SET ICDAT2=$$FMTE^XLFDT(ICDAT2,"5DZ")
- +3 if '$DATA(^DPT(DA,0))
- QUIT
- SET DFN=DA
- DO RCV^DVBAVDPT
- if CFLOC'=RONUM&(RO="Y")&(CFLOC'=0)&(CFLOC'=376)
- QUIT
- +4 SET ^TMP($JOB,XCN,CFLOC,MB,DA)=MA_U_RCVAA_U_RCVPEN_U_CNUM_U_ICDAT_U_ICDAT2_U_INCMP
- +5 QUIT
- +6 ;
- PRINTB SET MA=$PIECE(DATA,U)
- SET RCVAA=$PIECE(DATA,U,2)
- SET RCVPEN=$PIECE(DATA,U,3)
- SET CNUM=$PIECE(DATA,U,4)
- SET ICDAT=$PIECE(DATA,U,5)
- SET ICDAT2=$PIECE(DATA,U,6)
- SET INCMP=$PIECE(DATA,U,7)
- SET DFN=DA
- SET QUIT1=1
- DO ADM^DVBAVDPT
- +1 SET ADMDT=$$FMTE^XLFDT(ADMDT,"5DZ")
- +2 SET DCHGDT=$$FMTE^XLFDT(DCHGDT,"5DZ")
- +3 SET LADM=ADM
- SET TDIS="UNKNOWN"
- SET TO=""
- SET DCHPTR=$PIECE(^DGPM(LADM,0),U,17)
- SET TDIS=$SELECT($DATA(^DGPM(+DCHPTR,0)):$PIECE(^(0),U,18),1:"")
- IF TDIS=""
- SET TDIS="Unknown discharge type"
- +4 if '$DATA(^DG(405.2,+TDIS,0))
- SET TDIS="Unknown discharge type"
- IF $DATA(^(0))
- SET TDIS=$SELECT($PIECE(^DG(405.2,+TDIS,0),U,1)]"":$PIECE(^(0),U,1),1:"Unknown discharge type")
- +5 if (IOST?1"C-".E)!($DATA(DVBAON2))
- WRITE @IOF
- +6 WRITE !!!,?(80-$LENGTH(HEAD)\2),HEAD,!,?(80-$LENGTH(HEAD1)\2),HEAD1,!!
- +7 WRITE ?10,"Patient Name:",?26,PNAM,!!,?14,"Claim No:",?26,CNUM,!,?6,"Claim Folder Loc:",?26,CFLOC,!,?9,"Social Sec No:",?26,SSN,!,?8,"Admission Date:",?26,ADMDT,!,?3,"Admitting Diagnosis:",?26,DIAG,!
- +8 WRITE ?8,"Discharge Date:",?26,DCHGDT,!
- if DCHGDT]""
- WRITE ?5,"Type of Discharge:",?26,TDIS_$SELECT(TO]"":" TO "_$SELECT($DATA(^DIC(4,+TO,0)):$PIECE(^(0),U,1),1:""),1:""),!
- +9 WRITE ?11,"Bed Service:",?26,BEDSEC,!,?13,"Recv A&A?:",?26,$SELECT(RCVAA=0:"NO",RCVAA=1:"YES",1:"Not specified"),!
- +10 WRITE ?14,"Pension?:",?26,$SELECT(RCVPEN=0:"NO",RCVPEN=1:"YES",1:"Not specified"),!
- DO ELIG^DVBAVDPT
- +11 WRITE !,?5,"DATE RULED INCOMP:"
- if ICDAT]""
- WRITE ?26,ICDAT_" (VA)"
- if ICDAT2]""
- WRITE " - ",ICDAT2_" (CIVIL)"
- WRITE !
- +12 IF IOST?1"C-".E
- WRITE *7,!,"Press RETURN to continue or ""^"" to stop "
- READ ANS:DTIME
- if ANS=U!('$TEST)
- SET QUIT=1
- IF '$TEST
- SET DVBAQUIT=1
- +13 SET DVBAON2=""
- +14 QUIT
- +15 ;
- PRINT USE IO
- SET QUIT=""
- +1 SET XCN=""
- FOR M=0:0
- SET XCN=$ORDER(^TMP($JOB,XCN))
- if XCN=""!(QUIT=1)
- QUIT
- SET CFLOC=""
- FOR J=0:0
- SET CFLOC=$ORDER(^TMP($JOB,XCN,CFLOC))
- if CFLOC=""!(QUIT=1)
- QUIT
- DO PRINT1
- +2 QUIT
- PRINT1 SET ADM=""
- FOR K=0:0
- SET ADM=$ORDER(^TMP($JOB,XCN,CFLOC,ADM))
- if ADM=""!(QUIT=1)
- QUIT
- SET DA=""
- FOR L=0:0
- SET DA=$ORDER(^TMP($JOB,XCN,CFLOC,ADM,DA))
- if DA=""!(QUIT=1)
- QUIT
- SET DATA=^(DA)
- DO PRINTB
- +1 QUIT
- +2 ;
- TERM DO HOME^%ZIS
- KILL NOASK
- +1 ;
- SETUP WRITE @IOF,!,"VARO INCOMPETENCY REPORT"
- DO NOPARM^DVBAUTL2
- if $DATA(DVBAQUIT)
- GOTO KILL^DVBAUTIL
- SET DTAR=^DVB(396.1,1,0)
- SET FDT(0)=$$FMTE^XLFDT(DT,"5DZ")
- +1 SET HEAD="INCOMPETENCY REPORT"
- SET HEAD1="FOR "_$PIECE(DTAR,U,1)_" ON "_FDT(0)
- +2 WRITE !,HEAD1
- EN1 WRITE !!,"Please enter dates for search, oldest date first, most recent date last.",!!,"Last report was run on "
- SET Y=$PIECE(DTAR,U,5)
- XECUTE ^DD("DD")
- WRITE Y,!!
- +1 DO DATE^DVBAUTIL
- if X=""!(Y<0)
- GOTO KILL
- +2 SET %ZIS="Q"
- DO ^%ZIS
- KILL %ZIS
- if POP
- GOTO KILL^DVBAUTIL
- +3 ;
- QUEUE IF $DATA(IO("Q"))
- SET ZTRTN="DEQUE^DVBACMRP"
- SET ZTIO=ION
- SET NOASK=1
- SET ZTDESC="AMIE INCOMPETENT VET REPORT"
- FOR I="FDT(0)","HEAD","HEAD1","BDATE","EDATE","TYPE","RO","RONUM","NOASK"
- SET ZTSAVE(I)=""
- +1 IF $DATA(IO("Q"))
- DO ^%ZTLOAD
- if $DATA(ZTSK)
- WRITE !!,"Request queued.",!!
- GOTO KILL
- +2 ;
- GO SET MA=BDATE
- FOR J=0:0
- SET MA=$ORDER(^DGPM("AMV1",MA))
- if $PIECE(MA,".")>EDATE!(MA="")
- QUIT
- FOR DA=0:0
- SET DA=$ORDER(^DGPM("AMV1",MA,DA))
- if DA=""
- QUIT
- FOR MB=0:0
- SET MB=$ORDER(^DGPM("AMV1",MA,DA,MB))
- if MB=""
- QUIT
- DO SET
- IF '$DATA(NOASK)
- WRITE "."
- +1 IF '$DATA(^TMP($JOB))
- USE IO
- WRITE !!,*7,"No data found for parameters entered.",!!
- HANG 2
- GOTO KILL
- +2 IF $DATA(^TMP($JOB))
- DO PRINT
- IF $DATA(DVBAQUIT)
- KILL DVBAON2
- GOTO KILL^DVBAUTIL
- +3 ;
- KILL DO ^%ZISC
- SET X=5
- KILL DVBAON2
- if $DATA(ZTQUEUED)
- DO KILL^%ZTLOAD
- GOTO FINAL^DVBAUTIL
- +1 ;
- DEQUE KILL ^TMP($JOB)
- GOTO GO