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

DGFFP02.m

Go to the documentation of this file.
  1. DGFFP02 ; ALB/SCK - FUGITIVE FELON PROGRAM REPORTS ; 11/14/2002
  1. ;;5.3;Registration;**485**;Aug 13, 1993
  1. ;
  1. QUE ;
  1. N ZTSAVE,DGTMP,DIR,Y,DGEND,DGBEG,DIRUT,ZTRTN,ZTDESC,ZTDTH,ZTIO,%ZIS
  1. ;
  1. S DIR(0)="YAO",DIR("B")="YES",DIR("A")="Print report by date range? "
  1. S DIR("?",1)="Enter 'YES' to print the report for showing those patients for who the"
  1. S DIR("?",2)="flag was set within a specific date range."
  1. S DIR("?")="Enter 'NO' to print for all dates."
  1. D ^DIR K DIR
  1. Q:$D(DIRUT)
  1. I '+Y S (DGBEG,DGEND)=0
  1. E D GETDT(.DGBEG,.DGEND) Q:'DGBEG
  1. ;
  1. S %ZIS="Q" D ^%ZIS G EXIT:POP
  1. I $D(IO("Q")) D START Q
  1. D ADMIN,^%ZISC Q
  1. ;
  1. START ;
  1. S ZTDTH=$$NOW^XLFDT
  1. S ZTSAVE("DGBEG")="",ZTSAVE("DGEND")=""
  1. S ZTDESC="DGFFP FF FLAG ALPHA REPORT"
  1. S ZTRTN="ADMIN^DGFFP02"
  1. D ^%ZTLOAD
  1. I $D(ZTSK)[0 W !!?5,"Report canceled"
  1. E W !!?5,"Report Queued"
  1. EXIT D HOME^%ZIS
  1. Q
  1. ;
  1. GETDT(DGBEG,DGEND) ; Retrieve Begin and End date values entered by the user
  1. N DIR,DIRUT,Y
  1. ;
  1. S (DGBEG,DGEND)=0
  1. S DIR(0)="DAO^::EX"
  1. S DIR("?")="^D HELP^%DTC"
  1. S DIR("A")="Enter beginning date for report: "
  1. D ^DIR
  1. Q:$D(DIRUT)
  1. S DGBEG=+Y
  1. ;
  1. S DIR("A")="Enter end date for report: "
  1. D ^DIR
  1. I $D(DIRUT) S DGBEG=0 Q
  1. S DGEND=+Y
  1. Q
  1. ;
  1. ADMIN ;
  1. N PAGE
  1. ;
  1. U IO
  1. S PAGE=1
  1. K ^TMP("DGFFP",$J)
  1. ;
  1. I 'DGBEG D BLDALL
  1. E D BLD(DGBEG,DGEND)
  1. ;
  1. D PRINT(DGBEG,DGEND)
  1. K ^TMP("DGFFP",$J)
  1. D ^%ZISC
  1. Q
  1. ;
  1. BLD(DGBEG,DGEND) ; Build report for specified date range
  1. N DGIEN,DGFFP
  1. ;
  1. S DGEND=$$FMADD^XLFDT(DGEND,1)
  1. S DGIEN=0
  1. F S DGIEN=$O(^DPT("AXFFP",1,DGIEN)) Q:'DGIEN D
  1. . S DGFFP=$G(^DPT(DGIEN,"FFP"))
  1. . I $P($G(^DPT(DGIEN,"FFP")),U,3)>DGBEG&($P($G(^("FFP")),U,3)<DGEND) D
  1. . . S ^TMP("DGFFP",$J,$$GET1^DIQ(2,DGIEN,.01),DGIEN)=DGFFP
  1. Q
  1. ;
  1. BLDALL ; Build report for entire date range
  1. N DGIEN,DGFFP
  1. ;
  1. S DGIEN=0
  1. F S DGIEN=$O(^DPT("AXFFP",1,DGIEN)) Q:'DGIEN D
  1. . S DGFFP=$G(^DPT(DGIEN,"FFP"))
  1. . S ^TMP("DGFFP",$J,$$GET1^DIQ(2,DGIEN,.01),DGIEN)=DGFFP
  1. Q
  1. ;
  1. PRINT(DGBEG,DGEND) ;
  1. N DGNAME,DGUSER,VA,DFN,TXT,DGABRT
  1. ;
  1. D HDR(DGBEG,DGEND)
  1. S DGNAME=""
  1. F S DGNAME=$O(^TMP("DGFFP",$J,DGNAME)) Q:DGNAME']"" D Q:$G(DGABRT)
  1. . S DFN=0
  1. . F S DFN=$O(^TMP("DGFFP",$J,DGNAME,DFN)) Q:'DFN D Q:$G(DGABRT)
  1. . . D PID^VADPT6
  1. . . S TXT=$E(DGNAME,1,$L(DGNAME))_" "_"("_VA("BID")_")"
  1. . . W !,TXT
  1. . . W ?40,$$FMTE^XLFDT($P(^TMP("DGFFP",$J,DGNAME,DFN),U,3),"2D")
  1. . . S DGUSER=$G(^TMP("DGFFP",$J,DGNAME,DFN))
  1. . . I DGUSER>0 W ?50,$$GET1^DIQ(200,$P(DGUSER,U,2),.01)
  1. . . I (($Y+5)>IOSL) D
  1. . . . I $$PAUSE S DGABRT=1 Q
  1. . . . D HDR(DGBEG,DGEND)
  1. I $$PAUSE
  1. ;
  1. Q
  1. ;
  1. PAUSE() ; Screen pause for Terminal displays
  1. N DIR,RSLT
  1. ;
  1. I $E(IOST,1,2)="C-" D
  1. . S DIR(0)="E"
  1. . D ^DIR K DIR
  1. . I 'Y S RSLT=1
  1. Q $G(RSLT)
  1. ;
  1. HDR(DGBEG,DGEND) ;
  1. N LINE,TXT,SPACE
  1. ;
  1. I $E(IOST,1,2)="C-" W @IOF
  1. S TXT="Fugitive Felon Alpha List"
  1. S SPACE=(IOM-$L(TXT))/2
  1. W !?SPACE,TXT
  1. ;
  1. I DGBEG>0 D
  1. . S TXT="Report Date Range: "_$$FMTE^XLFDT(DGBEG)_" to "_$$FMTE^XLFDT(DGEND)
  1. . S SPACE=(IOM-$L(TXT))/2
  1. . W !?SPACE,TXT
  1. ;
  1. S TXT="Print Date: "_$$FMTE^XLFDT($$NOW^XLFDT)
  1. S SPACE=(IOM-$L(TXT))/2
  1. W !?SPACE,TXT
  1. ;
  1. S TXT="Page: "_PAGE
  1. S SPACE=(IOM-$L(TXT))/2
  1. W !?SPACE,TXT
  1. S PAGE=PAGE+1
  1. ;
  1. W !!,"Patient Name",?40,"Entered",?50,"Who Entered"
  1. S $P(LINE,"=",IOM)="" W !,LINE
  1. Q