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

GMTSDA.m

Go to the documentation of this file.
  1. GMTSDA ; SLC/DLT,KER/NDBI - Appointments ; 5/21/07 11:12am
  1. ;;2.7;Health Summary;**5,19,28,49,70,80**;Oct 20, 1995;Build 9
  1. ;
  1. ; External Reference
  1. ; DBIA 1024 ^DIC(40.7
  1. ; DBIA 10040 ^SC(
  1. ; DBIA 2065 ^SCE(
  1. ; DBIA 2065 ^SCE("ADFN"
  1. ; DBIA 2929 CVP^A7RHSM
  1. ; DBIA 10061 SDA^VADPT
  1. ;
  1. PAST ; Gets Patient's Past Appointments for date range
  1. N GMDT,GMIDT,MAX S X=1
  1. S VASD("F")=$S(GMTSBEG=1:2560101,1:GMTSBEG),VASD("T")=$S(GMTS1=6666666:DT,1:9999999-GMTS1)
  1. S MAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:99999)
  1. S VASD("W")=123456789 D SDA^VADPT
  1. I VAERR=1 D CKP^GMTSUP W "RSA ERROR",! D END Q
  1. I VAERR=2 D CKP^GMTSUP W "DATABASE NOT AVAILABLE",! D END Q
  1. S (YCNT,Y)=0 F S Y=$O(^UTILITY("VASD",$J,Y)) Q:'Y S YCNT=YCNT+1,ADATE=$P(^(Y,"I"),U,1),^UTILITY("GMTSVASD",$J,9999999-ADATE)=ADATE_U_$P(^UTILITY("VASD",$J,Y,"E"),U,2,99)
  1. S GMDT=VASD("F")
  1. F S GMDT=$O(^SCE("ADFN",DFN,GMDT)) Q:GMDT'>0!(GMDT>VASD("T")) D
  1. . S GMI=0 F S GMI=$O(^SCE("ADFN",DFN,GMDT,GMI)) Q:GMI'>0 D
  1. . . S GMIDT=9999999-GMDT
  1. . . I '$D(^UTILITY("GMTSVASD",$J,GMIDT)) D
  1. . . . Q:$P($G(^SCE(GMI,0)),U,6)'=""
  1. . . . I $P($G(^SCE(GMI,0)),U,4) Q:$P($G(^SC($P(^SCE(GMI,0),U,4),"OOS")),U)
  1. . . . S ^UTILITY("GMTSVASD",$J,GMIDT)=GMDT_U_$S(+$P(^SCE(GMI,0),U,4):$P($G(^SC(+$P(^(0),U,4),0)),U),1:$P($G(^DIC(40.7,$P(^SCE(GMI,0),U,3),0)),U))_U_"UNSCHEDULED"
  1. D:$$ROK^GMTSU("A7RHSM")&($$NDBI^GMTSU) CVP^A7RHSM
  1. I '$D(^UTILITY("GMTSVASD",$J)) D END Q
  1. S IDATE="",YCNT=0
  1. F S IDATE=$O(^UTILITY("GMTSVASD",$J,IDATE)) Q:+IDATE'>0!(YCNT=MAX) D
  1. . S ADATE=+^(IDATE),ADATE(0)=^(IDATE) D PRINT S YCNT=YCNT+1
  1. D END Q
  1. FUTURE ; Gets Patient's Future Appointments
  1. D SDA^VADPT N MAX S MAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:99999)
  1. I VAERR=2 D CKP^GMTSUP W "DATABASE NOT AVAILABLE",! D END Q
  1. S (YCNT,Y)=0 F S Y=$O(^UTILITY("VASD",$J,Y)) Q:'Y S YCNT=YCNT+1,ADATE=$P(^(Y,"I"),U,1),ADATE(0)=^UTILITY("VASD",$J,Y,"E") D PRINT Q:YCNT=MAX
  1. D END Q
  1. PRINT ; Output
  1. D CKP^GMTSUP Q:$D(GMTSQIT) S X=ADATE D REGDTM4^GMTSU,CKP^GMTSUP
  1. W X,?18,$E($P(ADATE(0),"^",2),1,25),?58,$E($P(ADATE(0),"^",3),1,21)
  1. W ! Q
  1. END ; Clean-up and Quit
  1. K %I,IDATE,IDATES,ADATE,VASD,X,Y,YCNT,Z,^UTILITY("VASD",$J),^UTILITY("GMTSVASD",$J) Q