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

BGP2DPA.m

Go to the documentation of this file.
  1. BGP2DPA ; IHS/CMI/LAB - COMP NATIONAL GPRA FOR PTS W/APPT 03 Jun 2012 2:54 PM ;
  1. ;;12.1;IHS CLINICAL REPORTING;;MAY 17, 2012;Build 66
  1. ;
  1. EP ;EP - called from option interactive
  1. D EOJ
  1. W:$D(IOF) @IOF
  1. D TERM^VALM0
  1. S BGPCTRL=$O(^BGPCTRL("B",2012,0))
  1. S X=0 F S X=$O(^BGPCTRL(BGPCTRL,58,X)) Q:X'=+X W !,^BGPCTRL(BGPCTRL,58,X,0)
  1. K DIR S DIR(0)="E",DIR("A")="PRESS ENTER" D ^DIR K DIR
  1. I '$D(^XUSEC("BGPZ PATIENT LISTS",DUZ)) W !!,"You do not have the security access to print patient lists.",!,"Please see your supervisor or program manager if you feel you should have",!,"the BGPZ PATIENT LISTS security key.",! D Q
  1. .K DIR S DIR(0)="E",DIR("A")="Press enter to continue" D ^DIR K DIR
  1. ;
  1. D TAXCHK^BGP2XTCN
  1. S X=$$DEMOCHK^BGP2UTL2()
  1. I 'X W !!,"Exiting Report....." D PAUSE^BGP2DU,EOJ Q
  1. RTYPE ;
  1. S BGPRT1=""
  1. S DIR(0)="S^C:By CLINIC NAME for a specified appointment date range;P:Selected Patients w/Appointments;D:One Facility's or Divisions Appointments;A:Any selected set of patients regardless of appt status"
  1. S DIR("A")="Create List/Sort by",DIR("B")="C" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) D EOJ Q
  1. S BGPRT1=Y
  1. GPRAYR ;
  1. W !
  1. D F
  1. I BGPPER="" W !,"Year not entered.",! G RTYPE
  1. S BGPBD=($E(BGPPER,1,3)-1)_"0701",BGPED=$E(BGPPER,1,3)_"0630"
  1. S BGPPBD=($E(BGPBD,1,3)-1)_$E(BGPBD,4,7)
  1. S BGPPED=($E(BGPED,1,3)-1)_$E(BGPED,4,7)
  1. S BGPBBD=BGPBD-X,BGPBBD=$E(BGPBBD,1,3)_$E(BGPBD,4,7)
  1. S BGPBED=BGPED-X,BGPBED=$E(BGPBED,1,3)_$E(BGPED,4,7)
  1. I BGPRT1="C" D CLIN G:$G(BGPQUIT) RTYPE G TEMP
  1. I BGPRT1="D" D DIV G:$G(BGPQUIT) RTYPE G TEMP
  1. I BGPRT1="P" D GETPAT G:$G(BGPQUIT) RTYPE G TEMP
  1. I BGPRT1="A" D SELPT G:$G(BGPQUIT) RTYPE G TEMP
  1. TEMP ;search template created?
  1. S BGPSTMP=""
  1. S DIR(0)="S^R:Forecast Report for the Patients;S:Search Template of the Patients",DIR("A")="Do you wish to create",DIR("B")="R" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) G RTYPE
  1. I Y="R" G DATES
  1. D STMP
  1. I $G(BGPSTMP)="" G TEMP
  1. DATES ;
  1. I BGPRT1="A" G ZIS
  1. K BGPAED,BGPABD
  1. K DIR W ! S DIR(0)="DO^::E",DIR("A")="Enter Beginning Appointment Date"
  1. D ^DIR G:Y<1 EOJ S BGPABD=Y
  1. K DIR S DIR(0)="DO^::EX",DIR("A")="Enter Ending Appointment Date"
  1. D ^DIR G:Y<1 EOJ S BGPAED=Y
  1. I $$FMDIFF^XLFDT(BGPAED,BGPABD)>7 W !!,"You can only run this for a maximum 7 day time period." G DATES
  1. ;
  1. I BGPAED<BGPABD D G DATES
  1. . W !!,$C(7),"Sorry, Ending Date MUST not be earlier than Beginning Date."
  1. S BGPASD=$$FMADD^XLFDT(BGPABD,-1)_".9999"
  1. ADDON ;
  1. K BGPQ
  1. I BGPRT1="C"!(BGPRT1="D") D G:$D(BGPQ) RTYPE
  1. .S DIR(0)="S^A:ALL Patients with Appointments in the date range;O:ONLY Patients added on since a specified date"
  1. .S DIR("A")="Run the forecast report for",DIR("B")="A" KILL DA D ^DIR KILL DIR
  1. .I $D(DIRUT) S BGPQ=1 Q
  1. .S BGPRT2=Y
  1. .I BGPRT2="A" Q
  1. .S BGPADDOD=""
  1. .S DIR(0)="D^:"_DT_":EP",DIR("A")="Patients 'Added On' on or after what date" KILL DA D ^DIR KILL DIR
  1. .I $D(DIRUT) S BGPQ=1 Q
  1. .I Y="" S BGPQ=1 Q
  1. .S BGPADDOD=Y
  1. ;
  1. ZIS ;
  1. S BGPRTYPE=1,BGPYRPTH="",BGPCPPL=1,BGPINDW="G",BGPYGPU=1,BGPALLPT=1,BGPBEN=3
  1. S BGPHOME=$P($G(^BGPSITE(DUZ(2),0)),U,2)
  1. ;I BGPHOME="" W !!,"Home Location not found in Site File!!",!,"PHN Visits counts to Home will be calculated using clinic 11 only!!" H 2
  1. ;W !,"Your HOME location is defined as: ",$P(^DIC(4,BGPHOME,0),U)," asufac: ",$P(^AUTTLOC(BGPHOME,0),U,10)
  1. ENDDATE ;
  1. ;AI ;gather all gpra measures
  1. S X=0 F S X=$O(^BGPINDW("GPRA",1,X)) Q:X'=+X S BGPIND(X)=""
  1. S X=$O(^BGPCTRL("B",2012,0))
  1. S Y=^BGPCTRL(X,0)
  1. ;S BGPBD=$P(Y,U,8),BGPED=$P(Y,U,9)
  1. ;S BGPPBD=$P(Y,U,10),BGPPED=$P(Y,U,11)
  1. ;S BGPBBD=$P(Y,U,12),BGPBED=$P(Y,U,13)
  1. ;S BGPPER=$P(Y,U,14),BGPQTR=3
  1. G NT
  1. S BGPBD=3030101,BGPED=3031231
  1. S BGPPBD=3020101,BGPPED=3021231
  1. S BGPBBD=3000101,BGPBED=3001231
  1. NT S BGPLIST="A"
  1. S BGPCPLC=0
  1. ;S XBRP="PRINT^BGP2DPAW",XBRC="PROC^BGP2DPA",XBRX="EOJ^BGP2DPA",XBNS="BGP"
  1. ;D ^XBDBQUE
  1. ;
  1. K IOP,%ZIS
  1. W !! S %ZIS="PQM" D ^%ZIS
  1. I POP D EOJ Q
  1. ZIS1 ;
  1. I $D(IO("Q")) G TSKMN
  1. DRIVER ;
  1. I $D(ZTQUEUED) S ZTREQ="@"
  1. D PROC^BGP2DPA
  1. U IO
  1. D PRINT^BGP2DPAW
  1. D ^%ZISC
  1. D EOJ
  1. Q
  1. ;
  1. TSKMN ;EP ENTRY POINT FROM TASKMAN
  1. S ZTIO=$S($D(ION):ION,1:IO) I $D(IOST)#2,IOST]"" S ZTIO=ZTIO_";"_IOST
  1. I $G(IO("DOC"))]"" S ZTIO=ZTIO_";"_$G(IO("DOC"))
  1. I $D(IOM)#2,IOM S ZTIO=ZTIO_";"_IOM I $D(IOSL)#2,IOSL S ZTIO=ZTIO_";"_IOSL
  1. K ZTSAVE S ZTSAVE("BGP*")=""
  1. S ZTCPU=$G(IOCPU),ZTRTN="DRIVER^BGP2DPA",ZTDTH="",ZTDESC="CRS 11 SCHED REPORT" D ^%ZTLOAD D EOJ Q
  1. Q
  1. EOJ ;
  1. D ^XBFMK
  1. K DIC,DIR,DFN
  1. D EN^XBVK("BGP"),EN^XBVK("BSD"),EN^XBVK("AMQQ")
  1. K ^TMP($J)
  1. Q
  1. ;
  1. DIV ;
  1. S BGPQUIT="",BGPDIVI=""
  1. K DIC
  1. S DIC="^DG(40.8,",DIC(0)="AEMQ" ; I $O(^DG(40.8,"C",DUZ(2),0)) S DIC("B")=$P(^DIC(4,$O(^DG(40.8,"C",DUZ(2),0)),0),U)
  1. D ^DIC K DIC
  1. I Y=-1 S BGPQUIT=1 Q
  1. S BGPDIVI=+Y
  1. CLIN ;
  1. S BGPCLN="",BGPQUIT=""
  1. S DIR(0)="S^A:ANY Clinic;S:One or more selected Clinics",DIR("A")="Include patients with Appointments to",DIR("B")="A" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) S BGPQUIT=1 Q
  1. S BGPCLN=Y
  1. I BGPCLN="A" K BGPCLN Q
  1. ;get which clinics
  1. K BGPCLN
  1. CLIN1 ;
  1. W ! S DIC="^SC(",DIC(0)="AEMZQ",DIC("A")="Select CLINIC: "
  1. S DIC("S")="I $P(^(0),U,3)=""C""" D ^DIC K DIC
  1. I Y=-1,'$D(BGPCLN) G CLIN
  1. I X="^" G CLIN
  1. I Y="",$D(BGPCLN) Q
  1. I Y=-1,$D(BGPCLN) Q
  1. I X="",'$D(BGPCLN) G CLIN
  1. S BGPCLN(+Y)=""
  1. G CLIN1
  1. GETPAT ;
  1. K BGPPATS
  1. GETPAT1 ;
  1. S BGPQUIT="",BGPDIVI=""
  1. K DIC
  1. S DIC="^AUPNPAT(",DIC(0)="AEMQ" D ^DIC K DIC
  1. I Y=-1,'$D(BGPPATS) S BGPQUIT=1 Q
  1. S BGPPATS(+Y)=""
  1. Q
  1. SELPT ;
  1. K BGPPATS
  1. S BGPSMI=0
  1. F D Q:U[X
  1. .S DIR(0)="FOU",DIR("A")="Select patient(s)"
  1. .S DIR("?",1)=" Enter a patient's HRN or name (HORSECHIEF,JOHN DOE or HORSECHIEF,JOHN).",DIR("?",2)=""
  1. .S DIR("?",3)=" A template can also be selected by typing a ""["" followed by",DIR("?",4)=" the template name."
  1. .S DIR("?",5)="",DIR("?")=" ""[??"" will list your templates.",DIR("??")="^D LIST^BGP2DPAP"
  1. .D ^DIR K DIR
  1. .S:X[U X=U
  1. .I $E(X)="[" D Q
  1. .. S X=$E(X,2,$L(X))
  1. .. K DIC S DIC=.401,DIC(0)=$S(X="":"AEMQ",1:"EMQ"),DIC("S")="I $P(^(0),U,4)=2!($P(^(0),U,4)=9000001),($P(^(0),U,5)=$G(DUZ))!(DUZ(0)=""@"")" D ^DIC
  1. .. I Y>0 D
  1. ... S BGPPATS=0,Y=+Y F BGPMJ=0:1 S BGPPATS=$O(^DIBT(Y,1,BGPPATS)) Q:'BGPPATS S BGPSMI=BGPSMI+1,BGPPATS(BGPSMI)=BGPPATS
  1. ... W !,BGPMJ,$S(BGPMJ=1:" entry",1:" entries")," added."
  1. .K DIC S DIC=9000001,DIC(0)="EQM" D ^DIC
  1. .I Y>0 S BGPPATS=+Y,BGPSMI=BGPSMI+1,BGPPATS(BGPSMI)=BGPPATS
  1. W !
  1. I X=U K BGPPATS W !,"All selections cancelled!"
  1. I '$O(BGPPATS("")) W !,"No patients selected." S BGPQUIT=1 Q
  1. Q
  1. TEST ;
  1. D BDMG(1,3040101,3041231,13)
  1. Q
  1. BDMG(BGPBD,BGPED,BGPCLN) ;EP - GUI DMS Entry Point
  1. ;cmi/anch/maw added 10/19/2004
  1. S BGPSD=$$FMADD^XLFDT(BGPBD,-1)_".9999"
  1. S BGPGUI=1
  1. N BGPOPT,BGPNOW,BGPIEN ;maw
  1. S BGPOPT="List Patients on a Register w/an Appointment"
  1. S BGPRTYPE=1,BGPYRPTH="",BGPCPPL=1,BGPINDW="G",BGPYGPU=1
  1. D NOW^%DTC
  1. S BGPNOW=$G(%)
  1. K DD,D0,DIC
  1. S X=DUZ_$$NOW^XLFDT
  1. S DIC("DR")=".02////"_DUZ_";.03////"_BGPNOW_";.06///"_$G(BGPOPT)_";.07////R"
  1. S DIC="^BGPGUIW(",DIC(0)="L",DIADD=1,DLAYGO=9001004.4
  1. D FILE^DICN
  1. K DIADD,DLAYGO,DIC,DA
  1. I Y=-1 S BGPIEN=-1 Q
  1. S BGPIEN=+Y
  1. S BDMGIEN=BGPIEN ;cmi/maw added
  1. D ^XBFMK
  1. K ZTSAVE S ZTSAVE("*")=""
  1. S ZTIO="",ZTDTH=$$NOW^XLFDT,ZTRTN="GUIEP^BGP2DPA",ZTDESC="GUI CN GRPA APPT" D ^%ZTLOAD
  1. D EOJ
  1. Q
  1. GUIEP ;EP
  1. D PROC
  1. K ^TMP($J,"BGP2DPA")
  1. S IOM=80
  1. D GUIR^XBLM("PRINT^BGP2DPA","^TMP($J,""BGP2DPA"",")
  1. S X=0,C=0 F S X=$O(^TMP($J,"BGP2DPA",X)) Q:X'=+X D
  1. .S BGPDATA=^TMP($J,"BGP2DPA",X)
  1. .I BGPDATA="ZZZZZZZ" S BGPDATA=$C(12)
  1. .S ^BGPGUIW(BGPIEN,11,X,0)=BGPDATA,C=C+1
  1. S ^BGPGUIW(BGPIEN,11,0)="^^"_C_"^"_C_"^"_DT_"^"
  1. S DA=BGPIEN,DIK="^BGPGUIW(" D IX1^DIK
  1. D ENDLOG
  1. K ^TMP($J,"BGP2DPA")
  1. S ZTREQ="@"
  1. Q
  1. ;
  1. GUIECP ;EP
  1. K ^TMP($J,"BGP2DPA")
  1. S IOM=80
  1. D GUIR^XBLM("CPPRINT^BGP2DPA","^TMP($J,""BGP2DPA"",")
  1. S X=0,C=0 F S X=$O(^TMP($J,"BGP2DPA",X)) Q:X'=+X D
  1. .S BGPDATA=^TMP($J,"BGP2DPA",X)
  1. .I BGPDATA="ZZZZZZZ" S BGPDATA=$C(12)
  1. .S ^BGPGUIW(BGPIEN,11,X,0)=BGPDATA,C=C+1
  1. S ^BGPGUIW(BGPIEN,11,0)="^^"_C_"^"_C_"^"_DT_"^"
  1. S DA=BGPIEN,DIK="^BGPGUIW(" D IX1^DIK
  1. D ENDLOG
  1. K ^TMP($J,"BGP2DPA")
  1. S ZTREQ="@"
  1. Q
  1. ;
  1. ENDLOG ;-- write the end of the log
  1. D NOW^%DTC
  1. S BGPNOW=$G(%)
  1. S DIE="^BGPGUIW(",DA=BGPIEN,DR=".04////"_BGPNOW_";.06////C"
  1. D ^DIE
  1. K DIE,DR,DA
  1. Q
  1. ;
  1. PROC ;EP
  1. D JRNL^BGP2UTL
  1. S BGPGPRAJ=$J,BGPGPRAH=$H
  1. S BGPCHWC=0
  1. S BGPCHSO=$P($G(^BGPSITE(DUZ(2),0)),U,6)
  1. S BGPURBAN=$P($G(^BGPSITE(DUZ(2),0)),U,13)
  1. ;calculate 3 years before end of each time frame
  1. S BGP3YE=$$FMADD^XLFDT(BGPED,-1096)
  1. K ^XTMP("BGP2DPA",BGPGPRAJ,BGPGPRAH)
  1. S ^XTMP("BGP2DPA",0)=$$FMADD^XLFDT(DT,14)_"^"_DT_"^"_"PTS WITH GPRA DATA"
  1. K BGPAPPT,BGPAPPTS
  1. S BGPTA=0
  1. I BGPRT1="A" D Q
  1. .S BGPSOX=0 F S BGPSOX=$O(BGPPATS(BGPSOX)) Q:BGPSOX'=+BGPSOX D
  1. ..S DFN=BGPPATS(BGPSOX)
  1. ..Q:$P($G(^DPT(DFN,0)),U)["DEMO,PATIENT"
  1. ..;I $P($G(^BGPSITE(DUZ(2),0)),U,12) Q:$D(^DIBT($P(^BGPSITE(DUZ(2),0),U,12),1,DFN))
  1. ..S X=$O(^DIBT("B","RPMS DEMO PATIENT NAMES",0)) I X Q:$D(^DIBT(X,1,DFN))
  1. ..I $G(BGPSTMP) S ^DIBT(BGPSTMP,1,DFN)="" Q
  1. ..S BGPIISO=1,BGPISST="A" D PROCCY^BGP2D1
  1. .Q
  1. S BGPSD=$$FMADD^XLFDT(BGPABD,-1)
  1. S BGPOD=BGPSD F S BGPOD=$$FMADD^XLFDT(BGPOD,1) Q:BGPOD>BGPAED D
  1. .K BGPAPPT
  1. .S BGPCLN=$S('$O(BGPCLN(0)):"ALL",1:"")
  1. .S BGPARRAY="BGPAPPT("
  1. .I BGPRT1="D" S BGPCLN("DEV")=BGPDIVI
  1. .D LIST^BSDAPI2(BGPOD,"W",.BGPCLN,BGPARRAY)
  1. .S X=0 F S X=$O(BGPAPPT(X)) Q:X'=+X D
  1. ..S Y=$P(BGPAPPT(X),U)
  1. ..I BGPRT1="P" I Y,'$D(BGPPATS(Y)) Q ;if patients only want that set of patients
  1. ..I Y Q:$P($G(^DPT(Y,0)),U)["DEMO,PATIENT"
  1. ..;I $P($G(^BGPSITE(DUZ(2),0)),U,12) Q:$D(^DIBT($P(^BGPSITE(DUZ(2),0),U,12),1,Y))
  1. ..S Z=$O(^DIBT("B","RPMS DEMO PATIENT NAMES",0)) I Z Q:$D(^DIBT(Z,1,Y))
  1. ..;check appt made date if want add ons only
  1. ..S G=0
  1. ..I BGPRT1="C"!(BGPRT1="D"),BGPRT2="O" D
  1. ...;get date appt made Y is patient, C is clinic ien, D is appt date/time
  1. ...S C=$P(BGPAPPT(X),U,2),D=$P(BGPAPPT(X),U,3)
  1. ...S (A,G)=0 F S A=$O(^SC(C,"S",D,1,A)) Q:A'=+A!(G) D
  1. ....Q:'$D(^SC(C,"S",D,1,A,0))
  1. ....Q:$P(^SC(C,"S",D,1,A,0),U,1)'=Y
  1. ....I $P(^SC(C,"S",D,1,A,0),U,7)<BGPADDOD K BGPAPPT(X) S G=1 ;don't display this one
  1. ..Q:G
  1. ..S BGPTA=BGPTA+1,BGPAPPTS(BGPTA)=BGPAPPT(X)
  1. .Q
  1. S BGPSOX=0 F S BGPSOX=$O(BGPAPPTS(BGPSOX)) Q:BGPSOX'=+BGPSOX D
  1. .S DFN=$P(BGPAPPTS(BGPSOX),U,1)
  1. .Q:$P($G(^DPT(DFN,0)),U,1)["DEMO,PATIENT"
  1. .;I $P($G(^BGPSITE(DUZ(2),0)),U,12) Q:$D(^DIBT($P(^BGPSITE(DUZ(2),0),U,12),1,DFN))
  1. .S X=$O(^DIBT("B","RPMS DEMO PATIENT NAMES",0)) I X Q:$D(^DIBT(X,1,DFN))
  1. .I $G(BGPSTMP) S ^DIBT(BGPSTMP,1,DFN)="" Q
  1. .S BGPIISO=1,BGPISST=BGPRT1,BGPISSO=1 D PROCCY^BGP2D1
  1. .Q
  1. Q
  1. CTR(X,Y) ;EP - Center X in a field Y wide.
  1. Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
  1. ;----------
  1. EOP ;EP - End of page.
  1. Q:$E(IOST)'="C"
  1. Q:$D(ZTQUEUED)!'(IOT="TRM")!$D(IO("S"))
  1. K DIR
  1. K DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
  1. S DIR("A")="End of report. Press Enter",DIR(0)="E" D ^DIR
  1. Q
  1. ;----------
  1. USR() ;EP - Return name of current user from ^VA(200.
  1. Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
  1. ;----------
  1. LOC() ;EP - Return location name from file 4 based on DUZ(2).
  1. Q $S($G(DUZ(2)):$S($D(^DIC(4,DUZ(2),0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
  1. ;----------
  1. COVPAGE ;EP - called from option to display the cover page
  1. ;
  1. W !!,"This option is used to print out the denominator definitions"
  1. W !,"used in the GPRA & PART Measures Forecast Patient List.",!!
  1. ZISCP ;
  1. K IOP,%ZIS
  1. W !! S %ZIS="PQM" D ^%ZIS
  1. I POP D EOJ Q
  1. ;
  1. I $D(IO("Q")) G TSKMNCP
  1. ;S XBRP="CPPRINT^BGP2DPA",XBRC="",XBRX="EOJ^BGP2DPA",XBNS="BGP"
  1. ;D ^XBDBQUE
  1. ;
  1. CPPRINT ;EP - called from xbdbque
  1. U IO
  1. I $D(ZTQUEUED) S ZTREQ="@"
  1. S BGPPG=0
  1. S BGPIOSL=$S($G(BGPGUI):55,1:IOSL)
  1. I $G(BGPGUI) S IOSL=55 ;cmi/maw added 1/14/2010
  1. D CPHEADER
  1. S BGPGYR=2012,BGPGYR=$O(^BGPCTRL("B",BGPGYR,0))
  1. S BGPX=0 F S BGPX=$O(^BGPCTRL(BGPGYR,39,BGPX)) Q:BGPX'=+BGPX D
  1. .I $Y>(IOSL-2) D CPHEADER Q:$D(BGPQ)
  1. .W !,^BGPCTRL(BGPGYR,39,BGPX,0)
  1. D CPDONE
  1. Q
  1. CPHEADER ;EP
  1. G:'BGPPG CPHEAD1
  1. K DIR I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S BGPQ="" Q
  1. CPHEAD1 ;
  1. I BGPPG W:$D(IOF) @IOF
  1. S BGPPG=BGPPG+1
  1. I $G(BGPGUI),BGPPG'=1 W !,"ZZZZZZZ"
  1. W !?3,$P(^VA(200,DUZ,0),U,2),?35,$$FMTE^XLFDT(DT),?70,"Page ",BGPPG,!
  1. Q
  1. CPDONE ;
  1. K DIR
  1. I $E(IOST)="C",IO=IO(0) S DIR(0)="EO",DIR("A")="End of report. PRESS ENTER" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. K BGPTS,BGPS,BGPM,BGPET,BGPX,BGPGPYR
  1. Q
  1. TSKMNCP ;EP ENTRY POINT FROM TASKMAN
  1. S ZTIO=$S($D(ION):ION,1:IO) I $D(IOST)#2,IOST]"" S ZTIO=ZTIO_";"_IOST
  1. I $G(IO("DOC"))]"" S ZTIO=ZTIO_";"_$G(IO("DOC"))
  1. I $D(IOM)#2,IOM S ZTIO=ZTIO_";"_IOM I $D(IOSL)#2,IOSL S ZTIO=ZTIO_";"_IOSL
  1. K ZTSAVE S ZTSAVE("BGP*")=""
  1. S ZTCPU=$G(IOCPU),ZTRTN="CPPRINT^BGP2DPA",ZTDTH="",ZTDESC="CRS 11 SCHED REPORT DENOM" D ^%ZTLOAD D EOJ Q
  1. Q
  1. STMP ;EP
  1. EN1 ;EP Help
  1. K BGPQUIT S BGPSTMP=""
  1. EN2 K DIC,DLAYGO S DLAYGO=.401,DIC="^DIBT(",DIC(0)="AELMQZ",DIC("A")="Patient Search Template: ",DIC("S")="I $P(^(0),U,4)=9000001&($P(^(0),U,5)=DUZ)"
  1. D ^DIC K DIC,DLAYGO
  1. I +Y<1 W !!,"No Search Template selected." H 2 S BGPQUIT=1 Q
  1. S BGPSTMP=+Y,BGPSNAM=$P(^DIBT(BGPSTMP,0),U)
  1. DUP I '$P(Y,U,3) D I Q K BGPSTMP,Y G EN2
  1. .S Q=""
  1. .W !
  1. .S DIR(0)="Y",DIR("A")="That template already exists!! Do you want to overwrite it",DIR("B")="N" K DA D ^DIR K DIR
  1. .I $D(DIRUT) S Q=1 Q
  1. .I 'Y S Q=1 Q
  1. .L +^DIBT(BGPSTMP):10 Q:'$T
  1. .S BGPSTN=$P(^DIBT(BGPSTMP,0),U) S DA=BGPSTMP,DIK="^DIBT(" D ^DIK
  1. .S ^DIBT(BGPSTMP,0)=BGPSNAM,DA=BGPSTMP,DIK="^DIBT(" D IX1^DIK
  1. .L -^DIBT(BGPSTMP)
  1. .Q
  1. I BGPSTMP,$D(^DIBT(BGPSTMP)) D
  1. .W !,?5,"An unduplicated PATIENT list resulting from this report",!,?5,"will be stored in the",BGPSNAM," Search Template.",!
  1. .K ^DIBT(BGPSTMP,1)
  1. .S DHIT="S ^DIBT("_BGPSTMP_",1,DFN)="""""
  1. .S DIE="^DIBT(",DA=BGPSTMP,DR="2////"_DT_";3////M;4////9000001;5////"_DUZ_";6////M"
  1. .D ^DIE
  1. .K DIE,DA,DR
  1. Q
  1. F ;calendar year
  1. S (BGPPER,BGPVDT,BGPNGR09)=""
  1. S DIR(0)="D^::EP"
  1. S DIR("A")="Run report for GPRA year 2012 or 2013"
  1. S DIR("?")="This report is compiled for a period. Enter a valid date."
  1. D ^DIR KILL DIR
  1. I $D(DIRUT) Q
  1. I $D(DUOUT) S DIRUT=1 Q
  1. S BGPVDT=Y
  1. I $E(Y,4,7)'="0000" W !!,"Please enter a year only!",! G F
  1. S BGPPER=BGPVDT
  1. I BGPPER="3130000" S BGPNGR09=1
  1. Q