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

DGMSTR4.m

Go to the documentation of this file.
  1. DGMSTR4 ;ALB/SCK - MST History report ; 7/9/01 4:07pm
  1. ;;5.3;Registration;**195,379,1015**;Aug 13, 1993;Build 21
  1. EN ; Main entry point
  1. N VAUTN,VAUTNI,VA,Y,ZTSAVE
  1. ;
  1. ; Select patients to include
  1. S VAUTNI=0
  1. D PATIENT^VAUTOMA
  1. I '$G(VAUTN),$O(VAUTN(""))="" Q
  1. ;
  1. N ZTSAVE
  1. S ZTSAVE("VAUTN")=""
  1. D EN^XUTMDEVQ("RPT^DGMSTR4","MST History Report",.ZTSAVE)
  1. D HOME^%ZIS
  1. Q
  1. ;
  1. RPT ; Generate and print report
  1. N RPTREF,MSTNAME,DFN,DGQUIT,FRSTPAS
  1. ;
  1. S RPTREF="^TMP(""MST RPT"","_$J_")"
  1. K @RPTREF
  1. D BUILD(.VAUTN,RPTREF)
  1. Q:$$HEADER
  1. ;
  1. ; Print report from contents of ^TMP global
  1. ; If not data found, then print message on form.
  1. I '$D(@RPTREF) D Q
  1. . W !?2,"No data found for report."
  1. ;
  1. S MSTNAME=""
  1. F S MSTNAME=$O(@RPTREF@(MSTNAME)) Q:'(MSTNAME]"") D Q:$G(DGQUIT)
  1. . S DFN=$P(MSTNAME,U,2)
  1. . D PID^VADPT
  1. . W !?2,$E($P(MSTNAME,U),1,$L($P(MSTNAME,U)))," ("_VA("PID")_")"
  1. . S MSTDT=""
  1. . F S MSTDT=($O(@RPTREF@(MSTNAME,MSTDT))) Q:'MSTDT D Q:$G(DGQUIT)
  1. .. S DGMST=@RPTREF@(MSTNAME,MSTDT)
  1. .. W !?2,$$FMTE^XLFDT(-MSTDT)
  1. .. W ?21,$J($P(DGMST,U,2),2)
  1. .. W ?30,$$GET1^DIQ(4,(+$P(DGMST,U,7))_",",99)
  1. .. W ?36,$E($$NAME^DGMSTAPI($P(DGMST,U,4)),1,25)
  1. .. W ?61,$E($$NAME^DGMSTAPI($P(DGMST,U,5)),1,25)
  1. . W !
  1. . I $Y+5>$G(IOSL) D Q:$G(DGQUIT)
  1. .. S DGQUIT=$$HEADER
  1. ;
  1. D KVA^VADPT
  1. K @RPTREF
  1. Q
  1. ;
  1. BUILD(PTARRY,RPARRY) ; Build TMP global of patients to include in report form array
  1. ; of patient names passed in (PTARRY)
  1. ;
  1. N DFN,MSTDT,DGMST,MSTIEN
  1. ;
  1. S DFN=""
  1. F S DFN=$O(^DGMS(29.11,"APDT",DFN)) Q:'DFN D
  1. . I 'PTARRY,'$D(PTARRY(DFN)) Q
  1. . S MSTDT=""
  1. . F S MSTDT=$O(^DGMS(29.11,"APDT",DFN,MSTDT),-1) Q:'MSTDT D
  1. .. S DGMST=$$GETSTAT^DGMSTAPI(DFN,MSTDT)
  1. .. Q:+DGMST<1
  1. .. S @RPARRY@($P(^DPT(DFN,0),U)_U_DFN,-MSTDT)=DGMST
  1. Q
  1. ;
  1. N SDASH,LINE,STR
  1. I $G(FRSTPAS),$E(IOST,1,2)="C-" D PAUSE^VALM1 Q:'Y 1
  1. I '$G(FRSTPAS) D
  1. . S FRSTPAS=1
  1. . W @IOF
  1. E D
  1. . W @IOF
  1. S STR="MST HISTORY REPORT"
  1. S $P(LINE," ",(IOM/2)-($L(STR)/2))=""
  1. W !,LINE_STR
  1. S STR="Print Date: "_$$FMTE^XLFDT($$NOW^XLFDT,"D")
  1. K LINE S $P(LINE," ",(IOM/2)-($L(STR)/2))=""
  1. W !,LINE_STR
  1. ;
  1. W !!?2,"Status Date",?21,"Status",?30,"Site",?36,"Provider",?61,"Who entered status",!
  1. S $P(SDASH,"-",IOM+1)=""
  1. W SDASH,!
  1. Q 0