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

AGEVST.m

Go to the documentation of this file.
  1. AGEVST ; cmi/flag/maw - AGEV Scheduled Visit Task ;
  1. ;;7.1;PATIENT REGISTRATION;;AUG 25,2005
  1. ;
  1. ;this routine will go through file 44 and task eligibility
  1. ;requests for the following day's scheduled visits.
  1. ;
  1. MAIN ;-- this is the main routine driver
  1. D ASK
  1. Q:Y<0
  1. S AGEVTB=$P((^INTHU(0)),U,3)
  1. D TASK
  1. G EOJ:AGEVYN
  1. D LOOP
  1. Q
  1. ;
  1. TASK ;-- if they want to task it
  1. S DIR(0)="Y",DIR("A")="Would You like to Queue this "
  1. S DIR("B")="Y"
  1. D ^DIR
  1. S AGEVYN=+Y
  1. Q:AGEVYN<1
  1. K DIR
  1. F CIMTSKV="AGEVEXT","AGEVBDT","AGEVEDT","AGEVOELG","AGEVTB" S ZTSAVE(CIMTSKV)=""
  1. S ZTIO=""
  1. S ZTRTN="LOOP^AGEVST",ZTDESC="Envoy Eligibility Scheduled Visit Task"
  1. D ^%ZTLOAD
  1. Q
  1. ;
  1. ASK ;-- get the beginning and end dates for search
  1. S %DT="AEP",%DT("A")="Enter Begin Date: ",%DT("B")=$$FMTE^XLFDT(DT)
  1. D ^%DT
  1. Q:Y<0
  1. S AGEVBDT=Y-.0001
  1. K %DT
  1. S %DT="AEP",%DT("A")="Enter End Date: ",%DT("B")=$$FMTE^XLFDT(DT)
  1. D ^%DT
  1. Q:Y<0
  1. S AGEVEDT=Y+.9999
  1. K %DT
  1. S DIR(0)="Y"
  1. S DIR("A")="Would you like to override previous eligibility checks "
  1. D ^DIR
  1. S AGEVOELG=+Y
  1. K DIR
  1. Q
  1. ;
  1. LOOP ;-- loop through file 44 and get scheduled visits
  1. D ^XBKVAR
  1. S AGEVEXT=1
  1. S AGEVVDA=0
  1. F S AGEVVDA=$O(^SC(AGEVVDA)) Q:'AGEVVDA D
  1. . S AGEVDT=AGEVBDT
  1. . F S AGEVDT=$O(^SC(AGEVVDA,"S",AGEVDT)) Q:'AGEVDT!(AGEVDT>AGEVEDT) D
  1. .. S AGEVIEN=0
  1. .. F S AGEVIEN=$O(^SC(AGEVVDA,"S",AGEVDT,1,AGEVIEN)) Q:'AGEVIEN D
  1. ... S AGEVSPAT=$P($G(^SC(AGEVVDA,"S",AGEVDT,1,AGEVIEN,0)),U)
  1. ... S AGEVCDT=$P($G(AGEVDT),".")
  1. ... Q:$$ECHK^AGEVC(AGEVSPAT,AGEVCDT,$G(AGEVOELG))
  1. ... D E1^AGEVC(AGEVCDT)
  1. ... D AL^AGEVC(AGEVSPAT,$G(AGEVVST))
  1. ...Q
  1. ..Q
  1. .Q
  1. D EOJ
  1. Q
  1. ;
  1. CD(DT) ;-- get date to check
  1. S X1=DT,X2=+1
  1. D C^%DTC
  1. Q X
  1. ;
  1. EOJ ;-- kill variables
  1. D CNT
  1. D BUL
  1. D EN^XBVK("AGEV")
  1. KILL BGDT,EGDT,VDA
  1. Q
  1. ;
  1. CNT ;-- count records created
  1. H 300
  1. S AGEVCTR=0
  1. S AGEVTE=$P($G(^INTHU(0)),U,3)
  1. S AGEVCTR=$G(AGEVTE)-$G(AGEVTB)
  1. Q
  1. ;
  1. BUL ;-- send a bulletin with the counts
  1. Q:$G(AGEVYN)
  1. S XMB="BHLX 270 REQUEST COUNT",XMB(3)=$G(AGEVCTR)
  1. S XMB(1)=$P($$FMTE^XLFDT(AGEVBDT),"@")
  1. S XMB(2)=$P($$FMTE^XLFDT(AGEVEDT),"@")
  1. D ^XMB
  1. Q