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

APCLADX1.m

Go to the documentation of this file.
  1. APCLADX1 ; IHS/CMI/LAB - process dx by age report ;
  1. ;;2.0;IHS PCC SUITE;**11**;MAY 14, 2009;Build 58
  1. ;
  1. ;cmi/anch/maw 9/7/2007 code set versioning in POVX
  1. ;
  1. S APCLBT=$H,APCLJOB=$J,APCLGRAN=0
  1. D XTMP^APCLOSUT("APCLADX","PCC DX BY AGE REPORT")
  1. S APCLNN=APCLBIN,APCLA="" F I=1:1 S APCLX=$P(APCLNN,";",I) Q:APCLX="" D SETA
  1. S APCLDOBS=APCLA
  1. V ; Run by visit date
  1. S APCLODAT=$O(^AUPNVSIT("B",APCLSD)) I APCLODAT="" S APCLET=$H Q
  1. S APCLODAT=APCLSD_".9999" F S APCLODAT=$O(^AUPNVSIT("B",APCLODAT)) Q:APCLODAT=""!((APCLODAT\1)>APCLED) D V1
  1. S APCLET=$H
  1. Q
  1. V1 ;
  1. S APCLVDFN=0 F S APCLVDFN=$O(^AUPNVSIT("B",APCLODAT,APCLVDFN)) Q:APCLVDFN'=+APCLVDFN I $D(^AUPNVSIT(APCLVDFN,0)) S APCLVREC=^(0) D PROC,EOJ
  1. Q
  1. PROC ;
  1. K APCLSKIP
  1. Q:$$DEMO^APCLUTL($P(APCLVREC,U,5),$G(APCLDEMO))
  1. Q:'$P(APCLVREC,U,9)
  1. Q:$P(APCLVREC,U,11)
  1. I $D(APCLSC),$P(APCLVREC,U,7)'=APCLSC Q
  1. I $D(APCLTYPE),$P(APCLVREC,U,3)'=APCLTYPE Q
  1. S APCLF2=$P(APCLVREC,U,5) Q:'APCLF2 Q:'$D(^DPT(APCLF2,0)) S APCLF2=^(0)
  1. I $D(APCLSEX),APCLSEX'=$P(APCLF2,U,2) Q
  1. I $D(APCLFAC),APCLFAC'=$P(APCLVREC,U,6) Q
  1. PROV I '$D(APCLPROV) G CLN
  1. N % K APCLFOUN S %="" F S %=$O(^AUPNVPRV("AD",APCLVDFN,%)) Q:%="" I $D(^AUPNVPRV(%,0)),$P(^(0),U,4)="P",APCLPROV=+^(0) S APCLFOUN=""
  1. Q:'$D(APCLFOUN)
  1. CLN I $D(APCLCLN),APCLCLN'=$P(APCLVREC,U,8) Q
  1. Q:'$D(^AUPNVPOV("AD",APCLVDFN))
  1. POV S APCLPOVN=""
  1. S APCLC=0 F S APCLPOVN=$O(^AUPNVPOV("AD",APCLVDFN,APCLPOVN)) Q:'APCLPOVN Q:'$D(^AUPNVPOV(APCLPOVN,0)) S APCLPOV=+^(0),APCLPREC=^(0),APCLC=APCLC+1 D POVX
  1. Q
  1. ;
  1. POVX ;
  1. ;I '$D(^ICD9($P(APCLPREC,U))) Q
  1. I +$$ICDDX^ICDEX(APCLPOV)=-1 Q
  1. I $D(APCLPRIM),$D(APCLSC),APCLSC="H",$P(APCLPREC,U,12)'="P" Q
  1. I $D(APCLPRIM),APCLC>1 Q
  1. ;S APCLCODE=$P(^ICD9(APCLPOV,0),U)_" ",APCLNARR=$P(^(0),U,3)
  1. S APCLCODE=$$VAL^XBDIQ1(9000010.07,APCLPOVN,.01)_" ",APCLNARR=$P($$ICDDX^ICDEX(APCLPOV),U,4)
  1. D SET
  1. Q
  1. EOJ K APCLVLOC,APCLVREC,APCLSKIP,APCL1,APCL2,APCLX,APCLY,APCLDISC,APCLAGE
  1. Q
  1. ;
  1. ;
  1. SET ;
  1. S APCLAGE="" D GETAGE
  1. Q:'APCLAGE
  1. S ^(APCLNARR)=$S($D(^XTMP("APCLADX",APCLJOB,APCLBT,"TOTAL","CODE",APCLCODE,APCLNARR)):^(APCLNARR)+1,1:1)
  1. S ^(APCLAGE)=$S($D(^XTMP("APCLADX",APCLJOB,APCLBT,"TOTAL","AGE",APCLAGE)):^(APCLAGE)+1,1:1)
  1. S ^(APCLAGE)=$S($D(^XTMP("APCLADX",APCLJOB,APCLBT,"TALLY",APCLCODE,APCLNARR,APCLAGE)):^(APCLAGE)+1,1:1)
  1. S APCLGRAN=APCLGRAN+1
  1. Q
  1. GETAGE ;
  1. S APCLDOB=$P(^DPT($P(APCLVREC,U,5),0),U,3) Q:APCLDOB=""
  1. ATT ;
  1. F I=1:1 S APCLNN=$P(APCLA,";",I) Q:APCLNN="" S APCLX=$P(APCLNN,"-"),APCLY=$P(APCLNN,"-",2) I APCLDOB'<APCLX,APCLDOB'>APCLY S APCLAGE=I Q
  1. Q
  1. ;
  1. SETA S APCLY=$P(APCLX,"-"),APCLZ=$P(APCLX,"-",2)
  1. I APCLA]"" S APCLA=APCLA_";"
  1. S APCLA=APCLA_(DT+1-(10000*(APCLZ+1)))_"-"_(DT-(APCLY*10000))
  1. S ^XTMP("APCLADX",APCLJOB,APCLBT,"TOTAL","AGE",I)=0
  1. Q
  1. ;