| 1 | DVBAB53 ;ALB/SPH - CAPRI DISCHARGE REPORT ; 20 Jul 2005  3:39 PM
 | 
|---|
| 2 |  ;;2.7;AMIE;**35,99,100**;Apr 10, 1995
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | STRT(ZMSG,BDATE,EDATE,ADTYPE)    ;
 | 
|---|
| 5 |  I BDATE'["." S BDATE=BDATE-.0001   ; DVBA*2.7*99
 | 
|---|
| 6 |  S DVBABCNT=0
 | 
|---|
| 7 |  S RONUM=0
 | 
|---|
| 8 |  S RO="N"
 | 
|---|
| 9 |  S HEAD="",HEAD1=""
 | 
|---|
| 10 |  K ^TMP($J) G TERM
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 | SET Q:'$D(^DPT(DA,0))  S DFN=DA,DVBASC="" D RCV^DVBAVDPT Q:CFLOC'=RONUM&(RO="Y")&(CFLOC'=0)&(CFLOC'=376)  Q:ADTYPE="S"&(DVBASC'="Y")  Q:ADTYPE="A"&(RCVAA'=1)  Q:ADTYPE="P"&(RCVPEN'="1")
 | 
|---|
| 13 |  S TDIS=$S($D(^DGPM(+MB,0)):$P(^(0),U,18),1:"")
 | 
|---|
| 14 |  I $D(^DG(405.2,+TDIS,0)) DO
 | 
|---|
| 15 |  . ; I '$D(^TMP("DVBA",$J,"DUP",+TDIS)) Q   ; DVBA*2.7*99 commented out
 | 
|---|
| 16 |  .I '$D(DISTYPE(+TDIS)) Q
 | 
|---|
| 17 |  .S TDIS=$S($P(^DG(405.2,+TDIS,0),U,1)]"":$P(^(0),U,1),1:"Unknown discharge type")
 | 
|---|
| 18 |  .S ^TMP($J,XCN,CFLOC,MB,DA)=MA_U_RCVAA_U_RCVPEN_U_CNUM_U_TDIS
 | 
|---|
| 19 |  .Q
 | 
|---|
| 20 |  Q
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 | PRINTB S MA=$P(DATA,U),RCVAA=$P(DATA,U,2),RCVPEN=$P(DATA,U,3),CNUM=$P(DATA,U,4),TDIS=$P(DATA,U,5),DFN=DA,QUIT1=1 D DCHGDT^DVBAVDPT
 | 
|---|
| 23 |  W:(IOST?1"C-".E)!($D(DVBAON2)) @IOF
 | 
|---|
| 24 |  W !!!,?(80-$L(HEAD)\2),HEAD,!,?(80-$L(HEAD1)\2),HEAD1,!!
 | 
|---|
| 25 |  S ZMSG(DVBABCNT)="",DVBABCNT=DVBABCNT+1
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  S ZMSG(DVBABCNT)="          Patient Name:    "_PNAM  S DVBABCNT=DVBABCNT+1
 | 
|---|
| 28 |  S ZMSG(DVBABCNT)="              Claim No:    "_CNUM  S DVBABCNT=DVBABCNT+1
 | 
|---|
| 29 |  S ZMSG(DVBABCNT)="      Claim Folder Loc:    "_CFLOC  S DVBABCNT=DVBABCNT+1
 | 
|---|
| 30 |  S ZMSG(DVBABCNT)="         Social Sec No:    "_SSN  S DVBABCNT=DVBABCNT+1
 | 
|---|
| 31 |  S ZMSG(DVBABCNT)="        Discharge Date:    "_$$FMTE^XLFDT(DCHGDT,"5DZ"),DVBABCNT=DVBABCNT+1
 | 
|---|
| 32 |  S ZMSG(DVBABCNT)="     Type of Discharge:    "_TDIS,DVBABCNT=DVBABCNT+1
 | 
|---|
| 33 |  D LOS^DVBAUTIL
 | 
|---|
| 34 |  S ZMSG(DVBABCNT)="        Length of Stay:    "_LOS_$S(LOS="":"Discharged same day",LOS=1:" day",1:" days"),DVBABCNT=DVBABCNT+1
 | 
|---|
| 35 |  S ZMSG(DVBABCNT)="           Bed Service:    "_BEDSEC,DVBABCNT=DVBABCNT+1
 | 
|---|
| 36 |  S ZMSG(DVBABCNT)="             Recv A&A?:    "_$S(RCVAA="0":"NO",RCVAA="1":"YES",1:"Not specified"),DVBABCNT=DVBABCNT+1
 | 
|---|
| 37 |  S ZMSG(DVBABCNT)="              Pension?:    "_$S(RCVPEN="0":"NO",RCVPEN="1":"YES",1:"Not specified"),DVBABCNT=DVBABCNT+1
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 |  ; ELIG INFO...
 | 
|---|
| 41 |  S ELIG=DVBAELIG,INCMP=""
 | 
|---|
| 42 |  ;S ZMSG(DVBABCNT)="      Eligibility data:"
 | 
|---|
| 43 |  I ELIG]"" S ELIG=ELIG_" ("_$S(DVBAELST="P":"Pend Ver",DVBAELST="R":"Pend Re-verif",DVBAELST="V":"Verified",1:"Not Verified")_")"
 | 
|---|
| 44 |  I $D(^DPT(DA,.29)) S INCMP=$S($P(^(.29),U,12)=1:"Incompetent",1:"")
 | 
|---|
| 45 |  S ZMSG(DVBABCNT)="       Eligibility data:   "_ELIG_$S(ELIG]"":", ",1:"")  S DVBABCNT=DVBABCNT+1
 | 
|---|
| 46 |  W:$X>60 !?26 S ZMSG(DVBABCNT)=INCMP  S DVBABCNT=DVBABCNT+1
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 |  ;END OF ELIG INFO
 | 
|---|
| 49 |  ;
 | 
|---|
| 50 |  ;I IOST?1"C-".E W *7,!,"Press RETURN to continue or ""^"" to stop    " R ANS:DTIME S:ANS=U!('$T) QUIT=1 I ANS=U S DVBAQUIT=1
 | 
|---|
| 51 |  S DVBAON2=""
 | 
|---|
| 52 |  Q
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 | PRINT U IO S QUIT=""
 | 
|---|
| 55 |  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
 | 
|---|
| 56 |  Q
 | 
|---|
| 57 | 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
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 | TERM ;D HOME^%ZIS K NOASK
 | 
|---|
| 61 |  ;
 | 
|---|
| 62 | SETUP ;W @IOF,!,"VARO DISCHARGE REPORT" D NOPARM^DVBAUTL2 G:$D(DVBAQUIT) KILL^DVBAUTIL S DTAR=^DVB(396.1,1,0),FDT(0)=$$FMTE^XLFDT(DT,"5DZ")
 | 
|---|
| 63 |  S DSRP=1
 | 
|---|
| 64 |  ;S HEAD1="FOR "_$P(DTAR,U,1)_" ON "_FDT(0) W !,HEAD1
 | 
|---|
| 65 |  ;
 | 
|---|
| 66 | EN1 ;W !!,"Please enter dates for search, oldest date first, most recent date last.",!!,"Last report was run on " S Y=$P(DTAR,U,4) X ^DD("DD") W Y,!!
 | 
|---|
| 67 |  ;D DATE^DVBAUTIL
 | 
|---|
| 68 |  ;G:X=""!(Y<0) KILL
 | 
|---|
| 69 |  ;
 | 
|---|
| 70 | ADTYPE ;D ADTYPE^DVBAUTL2 G:$D(DVBAQUIT) KILL^DVBAUTIL
 | 
|---|
| 71 |  ;W @IOF
 | 
|---|
| 72 |  ;K DVBACEPT
 | 
|---|
| 73 |  D EN^DVBAB99("DVBA DISCHARGE TYPES")
 | 
|---|
| 74 |  D ACCEPT^DVBALD
 | 
|---|
| 75 |  I '$D(DVBACEPT) D KILL^DVBAUTIL Q
 | 
|---|
| 76 |  I '$O(^TMP("DVBA",$J,"DUP",0)) D KILL^DVBAUTIL Q
 | 
|---|
| 77 |  M DISTYPE=^TMP("DVBA",$J,"DUP")
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 |  ; DVBA*2.7*100 - commented out next line
 | 
|---|
| 80 |  ; W !!! S %ZIS="Q" D ^%ZIS K %ZIS G:POP KILL^DVBAUTIL
 | 
|---|
| 81 |  ;
 | 
|---|
| 82 | QUEUE I $D(IO("Q")) S ZTRTN="DEQUE^DVBADSRT",ZTIO=ION,NOASK=1,ZTDESC="AMIE DISCHARGE REPORT" F I="DISTYPE(","ADTYPE","DVBATYPS","BDATE","BDATE1","EDATE","FDT(0)","HEAD","HEAD1","HD","RO","RONUM","NOASK" S ZTSAVE(I)=""
 | 
|---|
| 83 |  I $D(IO("Q")) D ^%ZTLOAD W:$D(ZTSK) !!,"Request queued.",! G KILL
 | 
|---|
| 84 |  ;
 | 
|---|
| 85 | GO S MA=BDATE F J=0:0 S MA=$O(^DGPM("AMV3",MA)) Q:MA>EDATE!(MA="")  W:'$D(NOASK) "." F DA=0:0 S DA=$O(^DGPM("AMV3",MA,DA)) Q:DA=""  F MB=0:0 S MB=$O(^DGPM("AMV3",MA,DA,MB)) Q:MB=""  D SET
 | 
|---|
| 86 |  I '$D(^TMP($J)) U IO W !!,*7,"No data found for parameters entered.",!! H 2 G KILL
 | 
|---|
| 87 |  D PRINT I $D(DVBAQUIT) K DVBAON2,DISTYPE G KILL^DVBAUTIL
 | 
|---|
| 88 |  ;
 | 
|---|
| 89 | KILL D ^%ZISC D:$D(ZTQUEUED) KILL^%ZTLOAD S X=4 K DVBAON2,DISTYPE G FINAL^DVBAUTIL
 | 
|---|
| 90 |  ;
 | 
|---|
| 91 | DEQUE K ^TMP($J) G GO
 | 
|---|