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

DGENRPA2.m

Go to the documentation of this file.
  1. DGENRPA2 ;ALB/CJM/CKN - Enrolled Veterans Report Cont.; JUL 9,1997 ; 11/15/01 8:47am ; 07/22/02
  1. ;;5.3;Registration;**121,147,232,306,417,456,1015**;Aug 13,1993;Build 21
  1. ;
  1. PRINT ;
  1. N STATS,CRT,QUIT,PAGE1
  1. S QUIT=0
  1. S PAGE1=1
  1. S CRT=$S($E(IOST,1,2)="C-":1,1:0)
  1. ;
  1. D GETSTATS
  1. U IO
  1. I CRT,PAGE1 W @IOF S PAGE1=0
  1. D HEADER
  1. D PART1
  1. ;D:'QUIT PART2
  1. ;I 'QUIT,CRT D PAUSE
  1. I $D(ZTQUEUED) S ZTREQ="@"
  1. D ^%ZISC
  1. Q
  1. LINE(LINE) ;
  1. ;Description: prints a line. First prints header if at end of page.
  1. ;
  1. I CRT,($Y>(IOSL-4)) D
  1. .D PAUSE
  1. .Q:QUIT
  1. .W @IOF
  1. .D HEADER
  1. .W LINE
  1. ;
  1. E I ('CRT),($Y>(IOSL-2)) D
  1. .W @IOF
  1. .D HEADER
  1. .W LINE
  1. ;
  1. E W !,LINE
  1. Q
  1. ;
  1. GETSTATS ;
  1. ;Description: Gathers the statistics for the report
  1. ;
  1. ;*** note *** - part II of report removed, lines commented out were
  1. ;for that reason
  1. ;
  1. N DFN,PRIORITY,STATUS,I,ENRSBGRP
  1. S STATUS=""
  1. F S STATUS=$O(^DPT("AENRC",STATUS)) Q:STATUS="" D
  1. .S DFN=0
  1. .F S DFN=$O(^DPT("AENRC",STATUS,DFN)) Q:'DFN D
  1. ..S ENRSBGRP=""
  1. ..S PRIORITY=+$$PRIORITY^DGENA(DFN)
  1. ..S:((PRIORITY=7)!(PRIORITY=8)) ENRSBGRP=$$EXT^DGENU("SUBGRP",$$ENRSBGRP^DGENA4(DFN))
  1. ..S CATEGORY=$$CATEGORY^DGENA4(DFN)
  1. ..S STATS("PRI",PRIORITY_ENRSBGRP)=1+$G(STATS("PRI",PRIORITY_ENRSBGRP))
  1. ..S STATS("PRI",PRIORITY_ENRSBGRP,"CAT",CATEGORY)=1+$G(STATS("PRI",PRIORITY_ENRSBGRP,"CAT",CATEGORY))
  1. ..S STATS("STATUS",STATUS)=1+$G(STATS("STATUS",STATUS))
  1. ;.E I $$VET^DGENPTA(DFN),'$$DEATH^DGENPTA(DFN),$$ACTIVE^DGENPTA(DFN,$G(INDATE)) D
  1. ;..S STATUS=+$$STATUS^DGENA(DFN)
  1. ;..S STATS("NOT ENROLLED","STATUS",STATUS)=1+$G(STATS("NOT ENROLLED","STATUS",STATUS))
  1. Q
  1. ;
  1. ;Description: Prints the report header.
  1. ;
  1. W !,?((IOM-24)\2),"Enrolled Veterans Report"
  1. W !,?((IOM-12)\2),$$FMTE^XLFDT(DT,"D")
  1. W !!
  1. Q
  1. ;
  1. PAUSE ;
  1. ;Description: Screen pause. Sets QUIT=1 if user decides to quit.
  1. ;
  1. N DIR,X,Y
  1. F Q:$Y>(IOSL-3) W !
  1. S DIR(0)="E" D ^DIR
  1. I '(+Y) S QUIT=1
  1. Q
  1. ;
  1. PART1 ;
  1. ;Description: Prints statistics for enrolled veterans.
  1. ;
  1. N AMOUNT,TOTAL,STATUS,PRIORITY,CATEGORY,TOTCAT
  1. W !!,"CURRENTLY ENROLLED VETERANS AND VETERANS WITH PENDING APPLICATIONS",!!
  1. W ?59,"Enrolled",?75,"Not Enrolled",?97,"In Process",!
  1. S TOTAL=0
  1. S PRIORITY=""
  1. F S PRIORITY=$O(STATS("PRI",PRIORITY)) Q:PRIORITY="" D Q:QUIT
  1. .S AMOUNT=+$G(STATS("PRI",PRIORITY))
  1. .D:PRIORITY=0 LINE(" NO Priority Group: "_" "_$$F(AMOUNT))
  1. .D:PRIORITY'=0 LINE(" Priority Group "_$S($L(PRIORITY)=1:PRIORITY_" : ",1:$E(PRIORITY)_$E(PRIORITY,2)_" : ")_$$F(AMOUNT))
  1. .D CATEGORY(1)
  1. .S TOTAL=TOTAL+AMOUNT
  1. Q:QUIT
  1. D LINE(" =====================================")
  1. Q:QUIT
  1. D LINE(" Total: "_$$F(TOTAL))
  1. D CATEGORY(0)
  1. Q:QUIT
  1. W !!
  1. S (TOTAL,STATUS)=0
  1. F S STATUS=$O(STATS("STATUS",STATUS)) Q:STATUS="" D Q:QUIT
  1. .S AMOUNT=+STATS("STATUS",STATUS)
  1. .D LINE($$LJ^XLFSTR(" "_$E($$STATUS(STATUS),1,45)_" Status:",54)_$$F(AMOUNT))
  1. .S TOTAL=TOTAL+(AMOUNT)
  1. Q:QUIT
  1. D LINE(" ==============================================================")
  1. Q:QUIT
  1. D LINE($$LJ^XLFSTR(" Total:",54)_$$F(TOTAL))
  1. Q
  1. ;
  1. PART2 ;
  1. ;Description: Prints statistics for veterans not enrolled.
  1. ;
  1. N AMOUNT,STATUS,PRIORITY,TOTAL
  1. D LINE(" ")
  1. D LINE(" ")
  1. D LINE("VETERANS NOT ENROLLED WITH INPATIENT OR OUTPATIENT ACTIVITY SINCE "_$$FMTE^XLFDT(INDATE,"D"))
  1. D LINE(" ")
  1. S TOTAL=0
  1. F STATUS=3:1:9 D Q:QUIT
  1. .S AMOUNT=$G(STATS("NOT ENROLLED","STATUS",STATUS))
  1. .D LINE($$LJ^XLFSTR(" "_$$STATUS(STATUS)_" Status:",40)_$$F(AMOUNT))
  1. .S TOTAL=TOTAL+(AMOUNT)
  1. Q:QUIT
  1. D LINE(" ================================================")
  1. Q:QUIT
  1. D LINE($$LJ^XLFSTR(" Total:",40)_$$F(TOTAL))
  1. Q
  1. ;
  1. F(X) ;
  1. ;Description: Formats X, a number, used as standard format for report.
  1. ;
  1. Q $J($FN(X,","),12)
  1. ;
  1. STATUS(STATUS) ;
  1. ;Description: Returns status name.
  1. ;
  1. Q $$LOWER^VALM1($$EXT^DGENU("STATUS",STATUS))
  1. ;
  1. CATEGORY(FLG) ;
  1. ;Displays category totals for each priority
  1. ; Input:
  1. ; FLG - 0 Displays category totals for each priority
  1. ; 1 Displays total categorys
  1. ;
  1. N CATEGORY
  1. F CATEGORY="E","N","P" D
  1. .W ?$S(CATEGORY="E":55,CATEGORY="N":75,1:95)
  1. .I FLG D Q
  1. ..Q:+$G(STATS("PRI",PRIORITY,"CAT",CATEGORY))=0
  1. ..W $$F(STATS("PRI",PRIORITY,"CAT",CATEGORY))
  1. ..S TOTCAT(CATEGORY)=$G(TOTCAT(CATEGORY))+STATS("PRI",PRIORITY,"CAT",CATEGORY)
  1. .Q:+$G(TOTCAT(CATEGORY))=0
  1. .W $$F(TOTCAT(CATEGORY))
  1. Q