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

APCLRAD1.m

Go to the documentation of this file.
  1. APCLRAD1 ; IHS/CMI/LAB - READMISSIONS REPORT PROCESS ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. START ;
  1. S APCLBT=$H
  1. K ^XTMP("APCLRAD",APCLJOB,APCLBTH)
  1. D XTMP^APCLOSUT("APCLRAD","PCC READMISSIONS AFTER 30 DAYS RPT")
  1. ;
  1. V ; Run by visit date
  1. S APCLODAT=APCLSD_".9999" F S APCLODAT=$O(^AUPNVSIT("B",APCLODAT)) Q:APCLODAT=""!((APCLODAT\1)>APCLED) D V1
  1. ;
  1. END ;
  1. S APCLET=$H
  1. D EOJ
  1. Q
  1. V1 ;
  1. S APCLVDFN="" F S APCLVDFN=$O(^AUPNVSIT("B",APCLODAT,APCLVDFN)) Q:APCLVDFN'=+APCLVDFN I $D(^AUPNVSIT(APCLVDFN,0)),$P(^(0),U,9),'$P(^(0),U,11) S APCLVREC=^(0) D PROC
  1. Q
  1. PROC ;
  1. Q:$P(APCLVREC,U,7)'="H"
  1. I APCLLOC]"",APCLLOC'=$P(APCLVREC,U,6) Q
  1. Q:$$DEMO^APCLUTL($P(APCLVREC,U,5),$G(APCLDEMO))
  1. ;
  1. ; ==> go through all of this patients visits from visit date
  1. ; ==> to 30 days after visit date
  1. ; ==> APCLIVD=inverse date of vd
  1. ; ==> APCLFVD=inverse date of 30 days from then
  1. ;
  1. ; => add 30 days to current visit date
  1. S X1=$P($P(APCLVREC,U),"."),X2=30 D C^%DTC S APCL3D=X
  1. ; => calculate starting point for $O
  1. S APCLFVD=((9999999-APCL3D)-1)_".9999"
  1. S APCLIVD=9999999-$P($P(APCLVREC,U),".")
  1. F S APCLFVD=$O(^AUPNVSIT("AA",$P(APCLVREC,U,5),APCLFVD)) Q:APCLFVD=""!($P(APCLFVD,".")>APCLIVD) D
  1. .S APCLV=0 F S APCLV=$O(^AUPNVSIT("AA",$P(APCLVREC,U,5),APCLFVD,APCLV)) Q:APCLV'=+APCLV D
  1. ..Q:$P(^AUPNVSIT(APCLV,0),U,7)'="H"
  1. ..Q:APCLV=APCLVDFN ;quit if same visit
  1. ..I APCLLOC,$P(^AUPNVSIT(APCLV,0),U,6)'=APCLLOC Q ;if only want 1 facility and this visit isn't that facility, quit
  1. ..S ^XTMP("APCLRAD",APCLJOB,APCLBTH,APCLVDFN,APCLV)=""
  1. Q
  1. EOJ ;
  1. K APCLVREC,APCLVDFN,APCLV,APCLODAT,APCLCLN
  1. Q
  1. ;