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

BMCFY1.m

Go to the documentation of this file.
BMCFY1 ; IHS/PHXAO/TMJ - FY PO COST ANALYSIS PROCESS ROUTINE ; 
 ;;4.0;REFERRED CARE INFO SYSTEM;;JAN 09, 2006
 ;
VISIT ;
 S BMCJOB=$J,BMCBT=$H
 K ^XTMP("BMCFY",BMCJOB,BMCBT)
 D XTMP^BMCOSUT("BMCFY","PCC TOP FY DX REPORT")
 S %="^XTMP(""BMCFY"",BMCJOB,BMCBT,",BMCA=%_"""POV"",BMCPOV)",BMCB=%_"""APC"",BMCAPC)",BMCC=%_"1)",BMCE=%_"2)",BMCF=%_"3)",BMCG=%_"4)",BMCTOT=0,BMCRTOT=0,BMCLINO=0
 ;S BMCBD=BMCBD-.00001
 F BMCDATE=BMCBD:0 S BMCDATE=$O(^BMCREF("B",BMCDATE)) Q:'BMCDATE  Q:(BMCDATE\1)>BMCED  F BMCRIEN=0:0 S BMCRIEN=$O(^BMCREF("B",BMCDATE,BMCRIEN)) Q:'BMCRIEN  I $D(^BMCREF(BMCRIEN,0)),$D(^BMCREF(BMCRIEN,41,0)) D CK
 D SET
 S BMCET=$H
 Q
 ;
CK ;
 S BMCRREC=^BMCREF(BMCRIEN,0),DFN=$P(BMCRREC,U,5)
 Q:$P(BMCRREC,U,4)'="C"  ;Quit if NOT a CHS Type Referral
 ;Q:$P(^BMCREF(BMCRIEN,11,BMCPOVN),U,11)'=BMCLNO
 ;Q:'$P(BMCRREC,U,9)
 ;Q:$P(BMCRREC,U,11)
 D SCREENS
 Q:$D(BMCSKIP)
POV S BMCPOVN="",BMCRTOT=BMCRTOT+1,BMCCC=0
 F  S BMCPOVN=$O(^BMCREF(BMCRIEN,41,0)) Q:'BMCPOVN  Q:'$D(^BMCREF(BMCRIEN,41,BMCPOVN,0))  S BMCPOV=+^(0),BMCCC=BMCCC+1,BMCPREC=^(0) D POVX
 Q
 ;
POVX ;
 ;I $D(BMCPRIM),$P(BMCRREC,U,7)="H",$P(BMCPREC,U,12)'="P" Q
 ;I $D(BMCPRIM),BMCCC>1 Q
 S BMCTOT=BMCTOT+1
 ;S %=$P(^BMCREF(BMCRIEN,41,BMCPOVN,11),U) K BMCAPC I % S BMCAPC=%
 F X=BMCA,BMCB D UTL
 Q
 ;
SCREENS ;
 K BMCSKIP
 S BMCI=0 F  S BMCI=$O(^BMCRTMP(BMCRPT,11,BMCI)) Q:BMCI'=+BMCI!($D(BMCSKIP))  D
 .I '$P(^BMCTSORT(BMCI,0),U,8) D SINGLE Q
 .D MULT
 .Q
 Q
SINGLE ;
 K X,BMCSPEC S X="",BMCX=0
 X:$D(^BMCTSORT(BMCI,1)) ^(1)
 I X="" S BMCSKIP="" Q
 I '$D(BMCSPEC),'$D(^BMCRTMP(BMCRPT,11,BMCI,11,"B",X)) S BMCSKIP="" Q
 Q
MULT ;
 K BMCFOUN,BMCSKIP,BMCSPEC,X S BMCX=0,X=""
 X:$D(^BMCTSORT(BMCI,1)) ^(1)
 I $O(X(""))="" S BMCSKIP="" Q
 I '$D(BMCSPEC) S Y="" F  S Y=$O(X(Y)) Q:Y=""  I $D(^BMCRTMP(BMCRPT,11,BMCI,11,"B",Y)) S BMCFOUN="" Q
 I $D(BMCSPEC),$D(X) S BMCFOUN=1 Q
 S:'$D(BMCFOUN) BMCSKIP=""
 Q
UTL I X=BMCB,'$D(BMCAPC) Q
 I '$D(@X) S @X=0
 S %=@X,%=%+1,@X=%
 Q
 ;
SET F BMCPOV=0:0 S BMCPOV=$O(@BMCA) Q:'BMCPOV  S %=^(BMCPOV),@BMCC@(9999999-%,BMCPOV)=""
 F BMCAPC=0:0 S BMCAPC=$O(@BMCB) Q:'BMCAPC  S %=^(BMCAPC),@BMCE@(9999999-%,BMCAPC)=""
S1 S (X,I)=0 F  S X=$O(@BMCC@(X)) Q:'X  F Y=0:0 S Y=$O(@BMCC@(X,Y)) Q:'Y  S I=I+1,@BMCF@(I)=Y I I=BMCLNO G S2
S2 S (X,I)=0 F  S X=$O(@BMCE@(X)) Q:'X  F Y=0:0 S Y=$O(@BMCE@(X,Y)) Q:'Y  S I=I+1,@BMCG@(I)=Y I I=BMCLNO G S3
S3 Q
 ;
 ;
FF I IOST["P-" W:$D(IOF) @IOF Q
 I $E(IOST)="C",IO=IO(0),$Y>(IOSL-4) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S X="^"
 W:$D(IOF) @IOF
 Q
 ;
EXIT ;EP
 K A,B,C,D,E,F,G,H,I,J,K,X,Y,Z,%
 K BMCBD,BMCED,BMCDOB1,BMCDOB2,BMCSEX,A,B,C,X,Y,Z,%,BMCFAC,BMCJOB,BMCLNO,E,F,G,ZTIO,ZTQUEUED,BMCCLN,BMCTYPE,BMCSC,BMCC,BMCPREC,BMCSD,BMCET,BMCSEAT,BMCCHRT,BMCLHDR,BMCDASH,BMCA,BMCB,BMCC,BMCD,BMCE,BMCF,BMCG
 K BMCQUIT,BMCAPC,BMCDATE,BMCPOV,BMCVIEN,BMCNOCK,BMCTOT,BMCPROV,BMCVTOT,BMCLINO,L,I,BMCCMA,BMCPOVN,BMCV,BMCTYPP,BMCSCP,BMCPRIM,BMCALL
 K BMCANS,AMQQTAX,BMCBDD,BMCCNT,BMCCRIT,BMCCTYP,BMCCUT,BMCDISP,BMCEDD,BMCHIGH,BMCI,BMCNCAN,BMCPTVS,BMCRPT,BMCSEL,BMCSKIP,BMCTCW,BMCTEXT,BMCVAR,BMCVIEN,BMCVREC,DFN,BMCX,BMCY,BMCCC
 K BMCBT
 Q