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

APCDFOS1.m

Go to the documentation of this file.
  1. APCDFOS1 ; IHS/CMI/LAB - FORMS TRACKING SUMMARY ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;FILE 200 CONV
  1. S APCDJ=$J,APCDBT=$H,APCDTOT=0
  1. P ; Run by posting date
  1. S APCDODAT=APCDSD_".9999" F S APCDODAT=$O(^APCDFORM("B",APCDODAT)) Q:APCDODAT=""!((APCDODAT\1)>APCDED) S APCDDFN=$O(^APCDFORM("B",APCDODAT,"")) D V1
  1. Q
  1. V1 ;
  1. S APCDC=0 F S APCDC=$O(^APCDFORM(APCDDFN,11,APCDC)) Q:APCDC'=+APCDC S APCDO=$P(^APCDFORM(APCDDFN,11,APCDC,0),U,2),APCDVDFN=$P(^(0),U) I APCDVDFN]"",$D(^AUPNVSIT(APCDVDFN,0)) S APCDR=^AUPNVSIT(APCDVDFN,0) D PROC
  1. Q
  1. PROC ;
  1. S APCDLOC=$P(APCDR,U,6),APCDLOC=$P(^DIC(4,APCDLOC,0),U),APCDTYPE=$P(APCDR,U,3),APCDTYPE=$$EXTSET^XBFUNC(9000010,.03,APCDTYPE),APCDCAT=$P(APCDR,U,7),APCDCAT=$$EXTSET^XBFUNC(9000010,.07,APCDCAT)
  1. S APCDCLN=$P(APCDR,U,8) S APCDCLN=$S(APCDCLN:$P(^DIC(40.7,APCDCLN,0),U),1:"<none>") S APCDO=$S(APCDO:$P(^VA(200,APCDO,0),U),1:"??")
  1. S APCDTOT=APCDTOT+1
  1. D DEP
  1. D OPER
  1. D LOC
  1. I $P(APCDR,U,3)="C" D CHS Q
  1. I $P(APCDR,U,7)="H" D HOSP Q
  1. I $P(APCDR,U,7)="I" D INHOSP Q
  1. D AMB
  1. Q
  1. CHS ;
  1. S ^("TOTAL")=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"CHS","TOTAL")):^("TOTAL")+1,1:1)
  1. S ^(APCDLOC)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"CHS","LOC",APCDLOC)):^(APCDLOC)+1,1:1)
  1. S ^(APCDCAT)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"CHS","CAT",APCDCAT)):^(APCDCAT)+1,1:1)
  1. Q
  1. HOSP ;
  1. S ^("TOTAL")=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"HOSP","TOTAL")):^("TOTAL")+1,1:1)
  1. S ^(APCDLOC)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"HOSP","LOC",APCDLOC)):^(APCDLOC)+1,1:1)
  1. S ^(APCDTYPE)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"HOSP","TYPE",APCDTYPE)):^(APCDTYPE)+1,1:1)
  1. Q
  1. INHOSP ;
  1. S ^("TOTAL")=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"INHOSP","TOTAL")):^("TOTAL")+1,1:1)
  1. S ^(APCDLOC)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"INHOSP","LOC",APCDLOC)):^(APCDLOC)+1,1:1)
  1. S ^(APCDTYPE)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"INHOSP","TYPE",APCDTYPE)):^(APCDTYPE)+1,1:1)
  1. Q
  1. AMB ;
  1. S ^("TOTAL")=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"AMB","TOTAL")):^("TOTAL")+1,1:1)
  1. S ^(APCDLOC)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"AMB","LOC",APCDLOC)):^(APCDLOC)+1,1:1)
  1. S ^(APCDCLN)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"AMB","CLN",APCDCLN)):^(APCDCLN)+1,1:1)
  1. S ^(APCDTYPE)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"AMB","TYPE",APCDTYPE)):^(APCDTYPE)+1,1:1)
  1. S ^(APCDCAT)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"AMB","CAT",APCDCAT)):^(APCDCAT)+1,1:1)
  1. S X=0 F S X=$O(^AUPNVPRV("AD",APCDVDFN,X)) Q:X'=+X D
  1. .S P=$P(^AUPNVPRV(X,0),U) D
  1. ..I $P(^DD(9000010.06,.01,0),U,2)[6 D CHKDISC6 Q
  1. ..S APCDD=$$PROVCLS^XBFUNC1(P,"E")
  1. .S ^(APCDD)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"AMB","PROV",APCDD)):^(APCDD)+1,1:1)
  1. .Q
  1. Q
  1. DEP ;tally dependent entries
  1. ;excludes LABS,MEDS,RADS,DENTALS
  1. N F,I,G,R,V,N
  1. S F=9000010 F S F=$O(^DIC(F)) Q:F>9000010.99 D
  1. .Q:F=9000010.04
  1. .Q:F=9000010.09
  1. .Q:F=9000010.14
  1. .Q:F=9000010.22
  1. .S N=$P(^DIC(F,0),U)
  1. .S G=^DIC(F,0,"GL"),R=G_"""AD"",APCDVDFN,I)"
  1. .S I=0 F S I=$O(@R) Q:I="" D
  1. ..S ^(N)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"DEP","FILE",N)):^(N)+1,1:1)
  1. ..S ^("TOTAL")=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"DEP","TOTAL")):^("TOTAL")+1,1:1)
  1. ..Q
  1. .Q
  1. Q
  1. ;
  1. OPER ;
  1. S ^("TOTAL")=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"OPER",APCDO,"TOTAL")):^("TOTAL")+1,1:1)
  1. S ^(APCDLOC)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"OPER",APCDO,"LOC",APCDLOC)):^(APCDLOC)+1,1:1)
  1. S ^(APCDTYPE)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"OPER",APCDO,"TYPE",APCDTYPE)):^(APCDTYPE)+1,1:1)
  1. S ^(APCDCAT)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"OPER",APCDO,"CAT",APCDCAT)):^(APCDCAT)+1,1:1)
  1. Q
  1. LOC ;
  1. S ^("TOTAL")=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"LOC",APCDLOC,"TOTAL")):^("TOTAL")+1,1:1)
  1. S ^(APCDCLN)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"LOC",APCDLOC,"CLN",APCDCLN)):^(APCDCLN)+1,1:1)
  1. S ^(APCDTYPE)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"LOC",APCDLOC,"TYPE",APCDTYPE)):^(APCDTYPE)+1,1:1)
  1. S ^(APCDCAT)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"LOC",APCDLOC,"CAT",APCDCAT)):^(APCDCAT)+1,1:1)
  1. S X=0 F S X=$O(^AUPNVPRV("AD",APCDVDFN,X)) Q:X'=+X D
  1. .S P=$P(^AUPNVPRV(X,0),U) D
  1. ..I $P(^DD(9000010.06,.01,0),U,2)[6 D CHKDISC6 Q
  1. ..S APCDD=$$PROVCLS^XBFUNC1(P,"E")
  1. .S ^(APCDD)=$S($D(^XTMP("APCDFOS",APCDJ,APCDBT,"LOC",APCDLOC,"PROV",APCDD)):^(APCDD)+1,1:1)
  1. .Q
  1. Q
  1. CHKDISC6 ;
  1. NEW Y
  1. I '$D(^DIC(6,P)) S APCDD="??" Q
  1. S Y=$P(^DIC(6,P,0),U,4)
  1. I Y="" S APCDD="??" Q
  1. I '$D(^DIC(7,Y,9999999)) S APCDD="??" Q
  1. S APCDD=$P(^DIC(7,Y,0),U) I APCDD="" S APCDD="??" Q
  1. Q