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

APCLER11.m

Go to the documentation of this file.
  1. APCLER11 ; IHS/CMI/LAB - APC REPORT PROCESS ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;IHS/CMI/LAB - patch 5 fixed to only use 72 hours
  1. ;
  1. START ;
  1. S APCLBT=$H
  1. K ^XTMP("APCLER1",APCLJOB,APCLBTH)
  1. D XTMP^APCLOSUT("APCLER1","PCC - ER RPT 1")
  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. ;count only visits with a clinic = the value in APCLCLN
  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. K APCLSKIP
  1. Q:$$DEMO^APCLUTL($P(APCLVREC,U,5),$G(APCLDEMO))
  1. Q:$P(APCLVREC,U,8)=""
  1. I $G(APCLCLN),APCLCLN'=$P(APCLVREC,U,8) Q
  1. I APCLLOC]"",APCLLOC'=$P(APCLVREC,U,6) Q
  1. I APCLPROV,$$PRIMPROV^APCLV(APCLVDFN,"I")'=APCLPROV Q
  1. ;
  1. ; ==> go through all of this patients visits from visit date
  1. ; ==> to 3 days after visit date
  1. ; ==> APCLIVD=inverse date of vd
  1. ; ==> APCLFVD=inverse date of 3 days from then
  1. ;
  1. ; => add 3 days to current visit date
  1. S X1=$P($P(APCLVREC,U),"."),X2=3 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,8)'=APCLERCL
  1. ..Q:APCLV=APCLVDFN ;quit if same visit
  1. ..;S Y=$P(APCLVREC,U) D DD^%DT S APCLT1=$P(Y,"@",2),APCLT1=$TR(APCLT1,":","") ;IHS/CMI/LAB
  1. ..;S Y=$P(^AUPNVSIT(APCLV,0),U) D DD^%DT S APCLT2=$P(Y,"@",2),APCLT2=$TR(APCLT2,":","") ;IHS/CMI/LAB
  1. ..S Y=$$FMDIFF^XLFDT($P(^AUPNVSIT(APCLV,0),U),$P(APCLVREC,U),2)
  1. ..I APCLHR=7 Q:Y>259200
  1. ..I APCLHR=4 Q:Y>172800
  1. ..;I $P($P(^AUPNVSIT(APCLV,0),U),".")=$P($P(APCLVREC,U),"."),APCLT1>APCLT2 Q
  1. ..S ^XTMP("APCLER1",APCLJOB,APCLBTH,$P(APCLVREC,U,5),APCLVDFN,APCLV)=""
  1. Q
  1. EOJ ;
  1. K APCLVREC,APCLVDFN,APCLV,APCLODAT
  1. Q
  1. ;