Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DGMTO1

DGMTO1.m

Go to the documentation of this file.
  1. DGMTO1 ;ALB/CAW,AEG/EG - AGREED TO PAY DEDUCTIBLE PRINT (CON'T) ; 1/21/05 8:08am
  1. ;;5.3;Registration;**33,182,358,568,585**;Aug 13, 1993
  1. ;
  1. START ;
  1. ; loop through cat Cs for active ones
  1. S (DGPAGE,DGSTOP)=0
  1. F DGCAT=2,6 F DFN=0:0 S DFN=$O(^DPT("ACS",DGCAT,DFN)) Q:DFN'>0 D CATCLST
  1. D ACTIVE
  1. D CATCOUT
  1. K ^TMP("DGMTO",$J,"CNULL"),DFN
  1. D CLOSE^DGMTUTL
  1. Q
  1. ;
  1. CATCLST N DGDT,IEN,NODE0
  1. S NODE0=$G(^DPT(DFN,0)) Q:(+$G(^(.35)))!($P(NODE0,U,14)'=DGCAT)
  1. 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
  1. .Q:DGCAT'[$P($G(^DGMT(408.31,+IEN,0)),U,3)
  1. .Q:$P($G(^DGMT(408.31,+IEN,0)),U,11)=1
  1. .S ^TMP("DGMTO",$J,"CNULL",$P(NODE0,U,1),DFN)=";;"_$P(NODE0,U,1)_";;"_DGCAT_";;"_$$SR^DGMTAUD1($G(^DGMT(408.31,+IEN,0)))
  1. QTC Q
  1. ;
  1. ACTIVE ;
  1. N APWHEN,I,VETARRAY,PIEN,PNAME,RCNT,ACNT,DGARRAY,SDCNT,APT,CK1,CK3,PATNAM
  1. S ACNT=1,RCNT=0
  1. S PNAME="" F S PNAME=$O(^TMP("DGMTO",$J,"CNULL",PNAME)) Q:PNAME="" D
  1. .S PIEN=0 F S PIEN=$O(^TMP("DGMTO",$J,"CNULL",PNAME,PIEN)) Q:'PIEN D
  1. ..S RCNT=RCNT+1,VETARRAY(ACNT)=$G(VETARRAY(ACNT))_PIEN_";"
  1. ..; Group DFNs by no more than twenty records
  1. ..I RCNT>19 S ACNT=ACNT+1,RCNT=0
  1. ;
  1. ; Call SD API by array of Patient DFNs
  1. F I=1:1 Q:'$D(VETARRAY(I)) D
  1. .S DGARRAY("FLDS")="1",DGARRAY(4)=VETARRAY(I)
  1. .S SDCNT=$$SDAPI^SDAMA301(.DGARRAY)
  1. .M ^TMP($J,"SDAMA")=^TMP($J,"SDAMA301")
  1. .K DGARRAY,^TMP($J,"SDAMA301")
  1. ;
  1. ;if there is data hanging from the 101 subscript,
  1. ;then it is a valid appointment, otherwise
  1. ;it is an error eg 01/20/2005
  1. ; Appointment Database was unavailable
  1. I $D(^TMP($J,"SDAMA",101))=1 K ^TMP("DGMTO",$J,"CNULL") S ^TMP("DGMTO",$J,"CNULL",101)="" Q
  1. ;
  1. ; Complete ^TMP entries for report
  1. N PATIEN,CLIEN,APPTDT,PATAPPT,APWHEN
  1. S PATNAM="" F S PATNAM=$O(^TMP("DGMTO",$J,"CNULL",PATNAM)) Q:PATNAM="" D
  1. .S PATIEN=0 F S PATIEN=$O(^TMP("DGMTO",$J,"CNULL",PATNAM,PATIEN)) Q:'PATIEN D
  1. ..;
  1. ..S CLIEN=0 F S CLIEN=$O(^TMP($J,"SDAMA",PATIEN,CLIEN)) Q:'CLIEN D
  1. ...S APPTDT=0 F S APPTDT=$O(^TMP($J,"SDAMA",PATIEN,CLIEN,APPTDT)) Q:'APPTDT D
  1. ....; Get list of appointments for vet
  1. ....S PATAPPT(APPTDT)=PATNAM
  1. ..; Update or Delete ^TMP for Report
  1. ..S APT=$O(^DPT(PATIEN,"DIS",(9999999-DGTODAY))),APWHEN=""
  1. ..I APT,(APT<(9999999-DGYRAGO)) S $P(APWHEN,U,1)="X"
  1. ..I +$G(^DPT(PATIEN,.105)) S $P(APWHEN,U,2)="X"
  1. ..I $O(PATAPPT(""),-1)>DT S $P(APWHEN,U,3)="X"
  1. ..K PATAPPT
  1. ..I APWHEN']"" D
  1. ...S CK1=$O(^DGPM("APRD",PATIEN,DGYRAGO)) I (+CK1)&(+CK1<DGTODAY) S $P(APWHEN,U,1)="X"
  1. ...S CK3=$O(^DGPM("APRD",PATIEN,DGTODAY)) I (+CK3) S $P(APWHEN,U,3)="X"
  1. ..S:APWHEN]"" $P(^TMP("DGMTO",$J,"CNULL",PATNAM,PATIEN),";;")=APWHEN
  1. ..I APWHEN']"" K ^TMP("DGMTO",$J,"CNULL",PATNAM,PATIEN)
  1. K ^TMP($J,"SDAMA")
  1. Q
  1. CATCOUT ;
  1. U IO D HDR
  1. I $D(^TMP("DGMTO",$J,"CNULL")) D PRINT,LEGEND Q
  1. W:$D(^TMP("DGMTO",$J,"CNULL",101)) !,?5,"Appointment Database is Unavailable --- Unable to generate report" Q
  1. W:'$D(^TMP("DGMTO",$J,"CNULL")) !,?5,"NO ACTIVE PATIENTS WHO HAVE NOT AGREED TO PAY DEDUCTIBLE",!?5," ------",!
  1. Q
  1. PRINT ;
  1. S DGNAME=""
  1. F S DGNAME=$O(^TMP("DGMTO",$J,"CNULL",DGNAME)) Q:DGNAME']"" D Q:DGSTOP
  1. .F DFN=0:0 S DFN=$O(^TMP("DGMTO",$J,"CNULL",DGNAME,DFN)) Q:DFN'>0 S DGX=^(DFN) D Q:DGSTOP
  1. ..D PID^VADPT6
  1. ..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)
  1. ..D CHK
  1. K VA,VAPTYP,DGNAME
  1. Q
  1. ;
  1. HDR ;
  1. S DGPAGE=DGPAGE+1
  1. W:$E(IOST,1,2)["C-" @IOF W "Active Patients Who Have Not Agreed To Pay Deductible",?70,"Page: "_DGPAGE
  1. W !,"Date Range: "_$$FDATE^DGMTUTL(DGYRAGO)_" to "_$$FDATE^DGMTUTL(DGTODAY) D NOW^%DTC W ?51,"Run Date: "_$E($$FTIME^DGMTUTL(%),1,18)
  1. W !,""
  1. W !,?37,"PATIENT",?47,"MEANS TEST"
  1. W !,"PATIENT NAME",?25,"STATUS",?40,"ID",?49,"SOURCE",?58,"PAST",?64,"INHOUSE",?73,"FUTURE"
  1. S DGLINE="",$P(DGLINE,"=",IOM)=""
  1. W !,DGLINE
  1. Q
  1. CHK ;Check to pause on screen
  1. I ($Y+5)>IOSL,$E(IOST,1,2)="C-" D PAUSE S DGP=Y D:DGP HDR I 'DGP S DGSTOP=1 Q
  1. I $E(IOST,1,2)="P-",($Y+5)>IOSL,$O(^TMP("DGMTO",$J,DGNAME,DFN)) D HDR Q
  1. Q
  1. PAUSE ;
  1. W ! S DIR(0)="E" D ^DIR K DIR W !
  1. Q
  1. LEGEND ;Legend at end of report
  1. W !!,"ACTIVE= Sched. Admissions, Dispositions, Pt. Movements, or Clinic Appts."
  1. W !!,?10,"INHOUSE = Current Inpatient"
  1. W !,?10,"PAST = ",$$FDATE^DGMTUTL(DGYRAGO)," to ",$$FDATE^DGMTUTL(DGTODAY)
  1. W !,?10,"FUTURE = After ",$$FDATE^DGMTUTL(DGTODAY)
  1. Q