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

BMCRR15.m

Go to the documentation of this file.
  1. BMCRR15 ; IHS/PHXAO/TMJ - IN HOUSE REFERRALS BY PROVIDER ;
  1. ;;4.0;REFERRED CARE INFO SYSTEM;;JAN 09, 2006
  1. ;4.0 IHS/OIT/FCJ ADDED BROWSE FUNCTION AND TOTALS
  1. ;
  1. START ;
  1. S BMCJOB=$J,BMCBTH=$H
  1. W !!,"This report will tally all in-house referrals by provider of service.",!
  1. W "Report will include both Primary and Secondary Referrals.",!!
  1. D ;DATE RANGE
  1. BD ;get beginning date
  1. W ! S DIR(0)="D^::EP",DIR("A")="Enter beginning Referral Date" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G XIT
  1. S BMCBD=Y
  1. ED ;get ending date
  1. W ! S DIR(0)="D^"_BMCBD_"::EP",DIR("A")="Enter ending Referral Date" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. I $D(DIRUT) G BD
  1. S BMCED=Y
  1. S X1=BMCBD,X2=-1 D C^%DTC S BMCSD=X
  1. ;
  1. PROV ;
  1. S BMCPROV="" S DIR(0)="S^A:ALL Providers;O:ONE Provider",DIR("A")="Report should tally referrals for ",DIR("B")="A" K DA D ^DIR K DIR
  1. G:$D(DIRUT) D
  1. I Y="O" D GETPROV G:BMCPROV="" PROV
  1. ZIS ;call to XBDBQUE
  1. D ZIS^BMCRUTL
  1. I $D(DIRUT) S BMCQUIT="" G XIT
  1. G:$G(BMCQUIT) XIT
  1. I $G(BMCOPT)="B" D BROWSE,XIT Q
  1. S XBRP="PRINT^BMCRR15",XBRC="PROC^BMCRR15",XBRX="XIT^BMCRR15",XBNS="BMC"
  1. D ^XBDBQUE
  1. D XIT
  1. Q
  1. BROWSE ;
  1. S XBRP="VIEWR^XBLM(""PRINT^BMCRR15"")"
  1. S XBRC="PROC^BMCRR15",XBRX="XIT^BMCRR15",XBIOP=0,XBNS="BMC" D ^XBDBQUE
  1. Q
  1. XIT ;EP
  1. K BMCPROV,BMCREF,BMCODAT,BMCBD,BMCED,BMCSD,BMCQUIT,BMCPG,BMCCLIN,BMCBT,BMCBTH,BMCET,BMCRREC,C,D,DFN,DIC,DIRUT,P,X,X1,X2,BMCSTOT
  1. D KILL^AUPNPAT
  1. Q
  1. GETPROV ;
  1. S DIC="^VA(200,",DIC(0)="AEMQ",D="AK.PROVIDER",DIC("A")="Enter PROVIDER (Lastname,Firstname): " D MIX^DIC1 K DIC,D
  1. Q:Y=-1
  1. S BMCPROV=+Y
  1. Q
  1. PROC ;EP called from xbdbque
  1. S BMCBT=$H
  1. S BMCODAT=$O(^BMCREF("B",BMCSD)) I BMCODAT="" S BMCET=$H Q
  1. S BMCODAT=BMCSD_".9999" F S BMCODAT=$O(^BMCREF("B",BMCODAT)) Q:BMCODAT=""!((BMCODAT\1)>BMCED) D R1
  1. END ;
  1. S BMCET=$H
  1. Q
  1. R1 ;
  1. S BMCREF="" F S BMCREF=$O(^BMCREF("B",BMCODAT,BMCREF)) Q:BMCREF'=+BMCREF I $P(^BMCREF(BMCREF,0),U,4)="N" S BMCRREC=^BMCREF(BMCREF,0),DFN=$P(BMCRREC,U,3) D PROCR
  1. Q
  1. PROCR ;
  1. I BMCPROV,$P(BMCRREC,U,6)'=BMCPROV Q
  1. S C=$P(BMCRREC,U,23),P=$P(BMCRREC,U,6)
  1. S C=$S(C:$P(^DIC(40.7,C,0),U),1:"<UNKNOWN>")
  1. S P=$S(P:$P(^VA(200,P,0),U),1:"<UNKNOWN>")
  1. S R=$S($P($G(^BMCREF(BMCREF,1)),U)'="":"S",1:"P") ;IHS/OIT/FCJ
  1. S ^(C)=$S($D(^XTMP("BMCRR15",BMCJOB,BMCBTH,"PROV",P,C)):^(C)+1,1:1)
  1. S ^(R)=$S($D(^XTMP("BMCRR16",BMCJOB,BMCBTH,"PROV",P,0,R)):^(R)+1,1:1) ;IHS/OIT/FCJ
  1. Q
  1. PRINT ;EP called from xbdbque
  1. S BMCPG=0 D @("HEAD"_(2-($E(IOST,1,2)="C-")))
  1. S BMCQUIT=0
  1. I '$D(^XTMP("BMCRR15",BMCJOB,BMCBTH)) W !!,"No IN-HOUSE REFERRALS",! G DONE
  1. S BMCPROV="" F S BMCPROV=$O(^XTMP("BMCRR15",BMCJOB,BMCBTH,"PROV",BMCPROV)) Q:BMCPROV=""!(BMCQUIT) D CLINIC
  1. DONE ;
  1. K ^XTMP("BMCRR15",BMCJOB,BMCBTH)
  1. D DONE^BMCRLP2
  1. Q
  1. CLINIC ;
  1. I $Y>(IOSL-5) D HEAD Q:BMCQUIT
  1. W !!,BMCPROV S BMCSTOT=0
  1. S BMCCLIN=0 F S BMCCLIN=$O(^XTMP("BMCRR15",BMCJOB,BMCBTH,"PROV",BMCPROV,BMCCLIN)) Q:BMCCLIN=""!(BMCQUIT) D
  1. .I $Y>(IOSL-5) D HEAD Q:BMCQUIT
  1. .W !?25,BMCCLIN,?55,$J(^XTMP("BMCRR15",BMCJOB,BMCBTH,"PROV",BMCPROV,BMCCLIN),5) S BMCSTOT=BMCSTOT+^(BMCCLIN)
  1. S BMCSRTOT=$G(^XTMP("BMCRR16",BMCJOB,BMCBTH,"PROV",BMCPROV,0,"S")) ;IHS/OIT/FCJ
  1. S BMCPRTOT=$G(^XTMP("BMCRR16",BMCJOB,BMCBTH,"PROV",BMCPROV,0,"P")) ;IHS/OIT/FCJ
  1. I $Y>(IOSL-5) D HEAD Q:BMCQUIT
  1. W !!,"Total Secondary Referrals = ",$S(BMCSRTOT="":0,1:BMCSRTOT) ;IHS/OIT/FCJ
  1. W !,"Total Primary Referrals = ",$S(BMCPRTOT="":0,1:BMCPRTOT) ;IHS/OIT/FCJ
  1. W !,"Total for ",BMCPROV,?55,$J(BMCSTOT,5)
  1. Q
  1. I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S BMCQUIT=1 Q
  1. HEAD1 ;
  1. W:$D(IOF) @IOF
  1. HEAD2 ;
  1. S BMCPG=BMCPG+1
  1. W !?55,$$FMTE^XLFDT(DT),?72,"Page ",BMCPG,!
  1. W ?20,"IN-HOUSE REFERRALS BY PROVIDER",!
  1. W ?14,"REFERRAL DATE RANGE: ",$$FMTE^XLFDT(BMCBD)," to ",$$FMTE^XLFDT(BMCED)
  1. W !!,"PROVIDER",?25,"CLINIC REFERRED TO",?55,"NUMBER"
  1. W !,$TR($J(" ",80)," ","-")
  1. Q