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

APCLYV51.m

Go to the documentation of this file.
  1. APCLYV51 ; IHS/CMI/LAB - INPATIENT VISITS (CALC) ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. CALC ;find visits by date then store by patient name
  1. S APCLBT=$H
  1. D XTMP^APCLOSUT("APCLYV5","PCC - HOSP DISCH LISTING")
  1. ;
  1. S APCLDDT=APCLBD-.0001 G HOSP:APCLSRT="D"
  1. S APCLVDT=APCLDDT
  1. VST S APCLVDT=$O(^AUPNVSIT("B",APCLVDT))
  1. G NEXT:APCLVDT="",NEXT:APCLVDT>(APCLED+.2359) S APCLVDFN=0
  1. VST1 S APCLVDFN=$O(^AUPNVSIT("B",APCLVDT,APCLVDFN)) G VST:APCLVDFN=""
  1. S APCLDDT="A"
  1. G VST1:'$D(^AUPNVINP("AD",APCLVDFN))
  1. G VST1:$$DEMO^APCLUTL($P(^AUPNVSIT(APCLVDFN,0),U,5),$G(APCLDEMO))
  1. S APCLIDFN=$O(^AUPNVINP("AD",APCLVDFN,0)),APCLSTR1=^AUPNVINP(APCLIDFN,0)
  1. S APCLDDT=$P(APCLSTR1,U) D SCREENS G VST1
  1. ;
  1. HOSP ;
  1. S APCLDDT=$O(^AUPNVINP("B",APCLDDT))
  1. G NEXT:APCLDDT="",NEXT:APCLDDT>(APCLED+.2359) S APCLIDFN=0
  1. HOSP1 S APCLIDFN=$O(^AUPNVINP("B",APCLDDT,APCLIDFN)) G HOSP:APCLIDFN=""
  1. G HOSP1:'$D(^AUPNVINP(APCLIDFN,0)) S APCLSTR1=^(0)
  1. S APCLVDFN=$P(APCLSTR1,U,3) D SCREENS G HOSP1
  1. ;
  1. SCREENS ;SCREEN OUT VISITS NOT ASKED FOR
  1. Q:'$D(^AUPNVSIT(APCLVDFN,0)) S APCLSTR=^(0)
  1. Q:$P(APCLSTR,U,7)'="H"
  1. Q:$P(APCLSTR,"^",11) ;screen out deleted visits
  1. Q:$P(APCLSTR,"^",6)'=APCLLOC ;screen out other facilities
  1. I APCLSRT="A",APCLSV>0,$P(APCLSTR1,U,4)'=APCLSV
  1. I APCLSRT="D",APCLSV>0,$P(APCLSTR1,U,5)'=APCLSV Q
  1. S APCLFLG=$S(APCLICD=1:1,1:0) D POV:APCLICD=2,PRC:APCLICD=3,PROV:APCLICD=4
  1. Q:'APCLFLG
  1. ;
  1. S DFN=$P(APCLSTR,U,5)
  1. I $G(APCLLOC)]"",$D(^AUPNPAT(DFN,41,APCLLOC,0)) S APCLNAME=$P(^AUPNPAT(DFN,41,APCLLOC,0),U,2) G L
  1. S APCLNAME=$S($D(^AUPNPAT(DFN,41,DUZ(2),0)):$P(^(0),U,2),1:"NONE")
  1. L S:APCLSRT="D" APCLVDT=$P(APCLSTR,U)
  1. S ^XTMP("APCLYV5",APCLJOB,APCLBTH,"VISITS",APCLNAME,DFN,APCLDDT)=APCLVDFN_"^"_APCLVDT Q
  1. ;
  1. NEXT ;
  1. S APCLET=$H
  1. Q
  1. ;
  1. ;
  1. PROV ;does visit have Provider selection?
  1. S APCLPROV=0
  1. ;
  1. PROV1 S APCLPROV=$O(^AUPNVPRV("AD",APCLVDFN,APCLPROV)) Q:APCLPROV=""
  1. G PROV1:'$D(^AUPNVPRV(APCLPROV,0)) S X=$P(^(0),"^")
  1. G PROV1:'$D(^XTMP("APCLYV5",APCLJOB,APCLBTH,"ICD",X))
  1. S APCLFLG=1
  1. Q
  1. POV ;does visit have POV within selected range?
  1. S APCLPV=0
  1. PV1 S APCLPV=$O(^AUPNVPOV("AD",APCLVDFN,APCLPV)) Q:APCLPV=""
  1. G PV1:'$D(^AUPNVPOV(APCLPV,0)) S X=$P(^(0),"^") G PV1:'$D(^ICD9(X,0))
  1. G PV1:'$D(^XTMP("APCLYV5",APCLJOB,APCLBTH,"ICD",X))
  1. S APCLFLG=1
  1. Q
  1. ;
  1. PRC ;does visit have procedure(s) within selected range?
  1. S APCLPRC=0
  1. PRC1 S APCLPRC=$O(^AUPNVPRC("AD",APCLVDFN,APCLPRC)) Q:APCLPRC=""
  1. G PRC1:'$D(^AUPNVPRC(APCLPRC,0)) S X=$P(^(0),"^")
  1. G PRC1:'$D(^ICD0(X,0))
  1. I $D(^XTMP("APCLYV5",APCLJOB,APCLBTH,"ICD",X)) S APCLFLG=1 Q
  1. G PRC1