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

APCLYV31.m

Go to the documentation of this file.
  1. APCLYV31 ; IHS/CMI/LAB - PRINT CLINIC VISITS (CALC) ;
  1. ;;2.0;IHS PCC SUITE;**11**;MAY 14, 2009;Build 58
  1. ;
  1. ;cmi/anch/maw 9/12/2007 code set versioning PV1,PV2,PRC
  1. ;
  1. DGZCALL ;EP for DGZCALLS routine
  1. Q:'$D(APCLBD)!('$D(APCLED))
  1. I '$D(APCLCL) D
  1. . K DIC S DIC=40.7,DIC(0)="M",X=44 D ^DIC
  1. . I Y=-1 W !!,*7,"DAY SURGERY CODE 44 NOT IN CLINIC STOP FILE!",!! Q
  1. . S APCLCL=+Y
  1. S:'$D(APCLICD) APCLICD=1
  1. S:'$D(APCLBICD) APCLBICD=""
  1. S:'$D(APCLEICD) APCLEICD=""
  1. CALC ;find visits by date then store by patient name
  1. ;
  1. S APCLJOB=$J,APCLBT=$H
  1. D XTMP^APCLOSUT("APCLYV3","PCC LISTING OF CLINIC VISITS")
  1. S APCLVDT=APCLBD-.0001
  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. ;
  1. G VST1:'$D(^AUPNVSIT(APCLVDFN,0)) S APCLSTR=^(0)
  1. G VST1:$P(APCLSTR,"^",11) ;screen out deleted visits
  1. G VST1:$$DEMO^APCLUTL($P(APCLSTR,U,5),$G(APCLDEMO))
  1. I APCLLOC]"",$P(APCLSTR,U,6)'=APCLLOC G VST1
  1. G VST1:"HDXEIO"[$P(APCLSTR,"^",7)
  1. G:$D(^APCLCNTL(4,11,"B",$P(APCLSTR,"^",3))) VST1
  1. I APCLPROV]"" S APCLFOUN=0 D PROV G:'APCLFOUN VST1
  1. I +APCLCL G VST1:$P(APCLSTR,"^",8)'=APCLCL
  1. I APCLCL="N" G VST1:$P(APCLSTR,"^",8)'=""
  1. S APCLCLX=$S(APCLCL=+APCLCL:APCLCL,1:$P(APCLSTR,"^",8))
  1. S:APCLCLX="" APCLCLX="E"
  1. S APCLFLG=$S(APCLICD=1:1,1:0) D POV:APCLICD=2,PRC:APCLICD=3
  1. G VST1:'APCLFLG
  1. ;
  1. S DFN=$P(APCLSTR,"^",5),APCLNAME=$P(^DPT(DFN,0),"^")
  1. S ^XTMP("APCLYV3",APCLJOB,APCLBT,APCLCLX,APCLNAME,DFN,APCLVDT,APCLVDFN)="" G VST1
  1. ;
  1. NEXT ;
  1. S APCLET=$H
  1. Q
  1. ;
  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 PV2:APCLBICD["V",PV2:APCLBICD["E"
  1. ;I $P($$ICDDX^ICDEX(X),"^",2)'<APCLBICD,($P($$ICDDX^ICDEX(X),"^",2)'>APCLEICD) S APCLFLG=1 Q
  1. I '$D(APCLARRC(X)) G PV1
  1. S APCLFLG=1
  1. G PV1
  1. PV2 ;
  1. I $P($$ICDDX^ICDEX(X),"^",2)'["V"&($P($$ICDDX^ICDEX(X),"^",2)'["E") G PV1
  1. S Y=+$E($P($$ICDDX^ICDEX(X),"^",2),2,9) ;cmi/anch/maw 9/12/2007 csv
  1. I Y'<$E(APCLBICD,2,9),(Y'>$E(APCLEICD,2,9)) S APCLFLG=1 Q
  1. G PV1
  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 $P(^ICD0(X,0),"^")'<APCLBICD,($P(^ICD0(X,0),"^")'>APCLEICD) S APCLFLG=1 Q ;cmi/anch/maw 9/12/2007 orig line
  1. ;I $P($$ICDOP^ICDEX(X),"^",2)'<APCLBICD,($P($$ICDOP^ICDEX(X),"^",2)'>APCLEICD) S APCLFLG=1 Q ;cmi/anch/maw 9/12/2007 csv
  1. I '$D(APCLARRC(X)) G PRC1
  1. S APCLFLG=1
  1. G PRC1
  1. PROV ;check to see if provider is one of the providers
  1. NEW X S X=0 F S X=$O(^AUPNVPRV("AD",APCLVDFN,X)) Q:X'=+X!(APCLFOUN) I APCLPROV=$P(^AUPNVPRV(X,0),U) S APCLFOUN=1
  1. Q