[613] | 1 | DGMTO1 ;ALB/CAW,AEG/EG - AGREED TO PAY DEDUCTIBLE PRINT (CON'T) ; 1/21/05 8:08am
|
---|
| 2 | ;;5.3;Registration;**33,182,358,568,585**;Aug 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | START ;
|
---|
| 5 | ; loop through cat Cs for active ones
|
---|
| 6 | S (DGPAGE,DGSTOP)=0
|
---|
| 7 | F DGCAT=2,6 F DFN=0:0 S DFN=$O(^DPT("ACS",DGCAT,DFN)) Q:DFN'>0 D CATCLST
|
---|
| 8 | D ACTIVE
|
---|
| 9 | D CATCOUT
|
---|
| 10 | K ^TMP("DGMTO",$J,"CNULL"),DFN
|
---|
| 11 | D CLOSE^DGMTUTL
|
---|
| 12 | Q
|
---|
| 13 | ;
|
---|
| 14 | CATCLST N DGDT,IEN,NODE0
|
---|
| 15 | S NODE0=$G(^DPT(DFN,0)) Q:(+$G(^(.35)))!($P(NODE0,U,14)'=DGCAT)
|
---|
| 16 | F DGDT=0:0 S DGDT=$O(^DGMT(408.31,"AD",1,DFN,DGDT)) Q:'DGDT S IEN=$$MTIEN^DGMTU3(1,DFN,-DGDT) I IEN,(DGDT'<DGYRAGO)&(DGDT'>DGTODAY) D
|
---|
| 17 | .Q:DGCAT'[$P($G(^DGMT(408.31,+IEN,0)),U,3)
|
---|
| 18 | .Q:$P($G(^DGMT(408.31,+IEN,0)),U,11)=1
|
---|
| 19 | .S ^TMP("DGMTO",$J,"CNULL",$P(NODE0,U,1),DFN)=";;"_$P(NODE0,U,1)_";;"_DGCAT_";;"_$$SR^DGMTAUD1($G(^DGMT(408.31,+IEN,0)))
|
---|
| 20 | QTC Q
|
---|
| 21 | ;
|
---|
| 22 | ACTIVE ;
|
---|
| 23 | N APWHEN,I,VETARRAY,PIEN,PNAME,RCNT,ACNT,DGARRAY,SDCNT,APT,CK1,CK3,PATNAM
|
---|
| 24 | S ACNT=1,RCNT=0
|
---|
| 25 | S PNAME="" F S PNAME=$O(^TMP("DGMTO",$J,"CNULL",PNAME)) Q:PNAME="" D
|
---|
| 26 | .S PIEN=0 F S PIEN=$O(^TMP("DGMTO",$J,"CNULL",PNAME,PIEN)) Q:'PIEN D
|
---|
| 27 | ..S RCNT=RCNT+1,VETARRAY(ACNT)=$G(VETARRAY(ACNT))_PIEN_";"
|
---|
| 28 | ..; Group DFNs by no more than twenty records
|
---|
| 29 | ..I RCNT>19 S ACNT=ACNT+1,RCNT=0
|
---|
| 30 | ;
|
---|
| 31 | ; Call SD API by array of Patient DFNs
|
---|
| 32 | F I=1:1 Q:'$D(VETARRAY(I)) D
|
---|
| 33 | .S DGARRAY("FLDS")="1",DGARRAY(4)=VETARRAY(I)
|
---|
| 34 | .S SDCNT=$$SDAPI^SDAMA301(.DGARRAY)
|
---|
| 35 | .M ^TMP($J,"SDAMA")=^TMP($J,"SDAMA301")
|
---|
| 36 | .K DGARRAY,^TMP($J,"SDAMA301")
|
---|
| 37 | ;
|
---|
| 38 | ;if there is data hanging from the 101 subscript,
|
---|
| 39 | ;then it is a valid appointment, otherwise
|
---|
| 40 | ;it is an error eg 01/20/2005
|
---|
| 41 | ; Appointment Database was unavailable
|
---|
| 42 | I $D(^TMP($J,"SDAMA",101))=1 K ^TMP("DGMTO",$J,"CNULL") S ^TMP("DGMTO",$J,"CNULL",101)="" Q
|
---|
| 43 | ;
|
---|
| 44 | ; Complete ^TMP entries for report
|
---|
| 45 | N PATIEN,CLIEN,APPTDT,PATAPPT,APWHEN
|
---|
| 46 | S PATNAM="" F S PATNAM=$O(^TMP("DGMTO",$J,"CNULL",PATNAM)) Q:PATNAM="" D
|
---|
| 47 | .S PATIEN=0 F S PATIEN=$O(^TMP("DGMTO",$J,"CNULL",PATNAM,PATIEN)) Q:'PATIEN D
|
---|
| 48 | ..;
|
---|
| 49 | ..S CLIEN=0 F S CLIEN=$O(^TMP($J,"SDAMA",PATIEN,CLIEN)) Q:'CLIEN D
|
---|
| 50 | ...S APPTDT=0 F S APPTDT=$O(^TMP($J,"SDAMA",PATIEN,CLIEN,APPTDT)) Q:'APPTDT D
|
---|
| 51 | ....; Get list of appointments for vet
|
---|
| 52 | ....S PATAPPT(APPTDT)=PATNAM
|
---|
| 53 | ..; Update or Delete ^TMP for Report
|
---|
| 54 | ..S APT=$O(^DPT(PATIEN,"DIS",(9999999-DGTODAY))),APWHEN=""
|
---|
| 55 | ..I APT,(APT<(9999999-DGYRAGO)) S $P(APWHEN,U,1)="X"
|
---|
| 56 | ..I +$G(^DPT(PATIEN,.105)) S $P(APWHEN,U,2)="X"
|
---|
| 57 | ..I $O(PATAPPT(""),-1)>DT S $P(APWHEN,U,3)="X"
|
---|
| 58 | ..K PATAPPT
|
---|
| 59 | ..I APWHEN']"" D
|
---|
| 60 | ...S CK1=$O(^DGPM("APRD",PATIEN,DGYRAGO)) I (+CK1)&(+CK1<DGTODAY) S $P(APWHEN,U,1)="X"
|
---|
| 61 | ...S CK3=$O(^DGPM("APRD",PATIEN,DGTODAY)) I (+CK3) S $P(APWHEN,U,3)="X"
|
---|
| 62 | ..S:APWHEN]"" $P(^TMP("DGMTO",$J,"CNULL",PATNAM,PATIEN),";;")=APWHEN
|
---|
| 63 | ..I APWHEN']"" K ^TMP("DGMTO",$J,"CNULL",PATNAM,PATIEN)
|
---|
| 64 | K ^TMP($J,"SDAMA")
|
---|
| 65 | Q
|
---|
| 66 | CATCOUT ;
|
---|
| 67 | U IO D HDR
|
---|
| 68 | I $D(^TMP("DGMTO",$J,"CNULL")) D PRINT,LEGEND Q
|
---|
| 69 | W:$D(^TMP("DGMTO",$J,"CNULL",101)) !,?5,"Appointment Database is Unavailable --- Unable to generate report" Q
|
---|
| 70 | W:'$D(^TMP("DGMTO",$J,"CNULL")) !,?5,"NO ACTIVE PATIENTS WHO HAVE NOT AGREED TO PAY DEDUCTIBLE",!?5," ------",!
|
---|
| 71 | Q
|
---|
| 72 | PRINT ;
|
---|
| 73 | S DGNAME=""
|
---|
| 74 | F S DGNAME=$O(^TMP("DGMTO",$J,"CNULL",DGNAME)) Q:DGNAME']"" D Q:DGSTOP
|
---|
| 75 | .F DFN=0:0 S DFN=$O(^TMP("DGMTO",$J,"CNULL",DGNAME,DFN)) Q:DFN'>0 S DGX=^(DFN) D Q:DGSTOP
|
---|
| 76 | ..D PID^VADPT6
|
---|
| 77 | ..W !,$P(DGX,";;",2),?25,$S($P(DGX,";;",3)=2:"Pend Adj",1:"Cat. C"),?35,VA("PID"),?50,$P(DGX,";;",4),?59,$P($P(DGX,";;",1),U,1),?67,$P($P(DGX,";;",1),U,2),?75,$P($P(DGX,";;",1),U,3)
|
---|
| 78 | ..D CHK
|
---|
| 79 | K VA,VAPTYP,DGNAME
|
---|
| 80 | Q
|
---|
| 81 | ;
|
---|
| 82 | HDR ;
|
---|
| 83 | S DGPAGE=DGPAGE+1
|
---|
| 84 | W:$E(IOST,1,2)["C-" @IOF W "Active Patients Who Have Not Agreed To Pay Deductible",?70,"Page: "_DGPAGE
|
---|
| 85 | W !,"Date Range: "_$$FDATE^DGMTUTL(DGYRAGO)_" to "_$$FDATE^DGMTUTL(DGTODAY) D NOW^%DTC W ?51,"Run Date: "_$E($$FTIME^DGMTUTL(%),1,18)
|
---|
| 86 | W !,""
|
---|
| 87 | W !,?37,"PATIENT",?47,"MEANS TEST"
|
---|
| 88 | W !,"PATIENT NAME",?25,"STATUS",?40,"ID",?49,"SOURCE",?58,"PAST",?64,"INHOUSE",?73,"FUTURE"
|
---|
| 89 | S DGLINE="",$P(DGLINE,"=",IOM)=""
|
---|
| 90 | W !,DGLINE
|
---|
| 91 | Q
|
---|
| 92 | CHK ;Check to pause on screen
|
---|
| 93 | I ($Y+5)>IOSL,$E(IOST,1,2)="C-" D PAUSE S DGP=Y D:DGP HDR I 'DGP S DGSTOP=1 Q
|
---|
| 94 | I $E(IOST,1,2)="P-",($Y+5)>IOSL,$O(^TMP("DGMTO",$J,DGNAME,DFN)) D HDR Q
|
---|
| 95 | Q
|
---|
| 96 | PAUSE ;
|
---|
| 97 | W ! S DIR(0)="E" D ^DIR K DIR W !
|
---|
| 98 | Q
|
---|
| 99 | LEGEND ;Legend at end of report
|
---|
| 100 | W !!,"ACTIVE= Sched. Admissions, Dispositions, Pt. Movements, or Clinic Appts."
|
---|
| 101 | W !!,?10,"INHOUSE = Current Inpatient"
|
---|
| 102 | W !,?10,"PAST = ",$$FDATE^DGMTUTL(DGYRAGO)," to ",$$FDATE^DGMTUTL(DGTODAY)
|
---|
| 103 | W !,?10,"FUTURE = After ",$$FDATE^DGMTUTL(DGTODAY)
|
---|
| 104 | Q
|
---|