Index: qrda/C0Q/trunk/p/C0QMU12.m
===================================================================
--- qrda/C0Q/trunk/p/C0QMU12.m	(revision 1445)
+++ qrda/C0Q/trunk/p/C0QMU12.m	(revision 1501)
@@ -1,21 +1,7 @@
-C0QMU12	;JJOH/ZAG/GPL - Patient Reminder List ; 5/30/12 11:28am
-	;;1.0;C0Q;;May 21, 2012;Build 44
+C0QMU12	;JJOH/ZAG/GPL - Patient Reminder List ; 7/31/12 12:34pm
+	;;1.0;C0Q;;May 21, 2012;Build 63
 	;
 	;2011 Zach Gonzales<zach@linux.com> - Licensed under the terms of the GNU
 	;General Public License See attached copy of the License.
-	;
-	;This program is free software; you can redistribute it and/or modify
-	;it under the terms of the GNU General Public License as published by
-	;the Free Software Foundation; either version 2 of the License, or
-	;(at your option) any later version.
-	;
-	;This program is distributed in the hope that it will be useful,
-	;but WITHOUT ANY WARRANTY; without even the implied warranty of
-	;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-	;GNU General Public License for more details.
-	;
-	;You should have received a copy of the GNU General Public License along
-	;with this program; if not, write to the Free Software Foundation, Inc.,
-	;51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 	;
 	; GPL - THIS ROUTINE IS A COPY OF JJOHMU11 THAT HAS BEEN MODIFIED
@@ -77,5 +63,5 @@
 	. D ALL ; all currently admitted patients in the hospital
 	. D DIS ; all patients discharged since the reporting period began
-	. I C0QSS ZWRITE GRSLT
+	. I C0QSS D ZWRITE^C0QUTIL("GRSLT")
 	. ;D ICUPAT ; GENERATE ICU PATIENT LIST
 	. I C0QPL D  ;
@@ -111,5 +97,5 @@
 	. . N DFN,RB S DFN=""
 	. . F  S DFN=$O(^DPT("CN",WARD,+DFN)) Q:'DFN  D  ;DFN of patient on ward
-	. . . D DEMO
+	. . . D DEMO^C0QMU122
 	. . . D PROBLEM
 	. . . D ALLERGY
@@ -122,39 +108,7 @@
 	. . . D COD
 	. . . D EDTIME
-	. . . I C0QPR D PRINT
-	. . . I C0QSS D SS
-	. . . I C0QPL D PATLIST
-	Q
-	;
-DEMO	; patient demographics
-	K PTDOB
-	N PTNAME,PTSEX,PTHRN,PTRLANG,PTLANG,RACE,RACEDSC,ETHN,ETHNDSC,RB
-	S PTNAME=$P(^DPT(DFN,0),U) ;patient name
-	S PTDOB=$$FMTE^XLFDT($P($G(^DPT(DFN,0)),U,3)) ;date of birth
-	S PTSEX=$P($G(^DPT(DFN,0)),U,2) ;patient sex
-	D PID^VADPT ;VADPT call to grab PISD based on PT Eligibility
-	S PTHRN=$P($G(VA("PID")),U) ;health record number
-	S PTRLANG=$P($G(^DPT(DFN,256000)),U) ;ptr to language file
-	I $G(PTRLANG)'="" S PTLANG=$P(^DI(.85,PTRLANG,0),U) ;PLS extrnl
-	S RACE=""
-	F  D  Q:RACE=""
-	. S RACE=$O(^DPT(DFN,.02,"B",RACE)) ;race code IEN
-	. Q:'RACE
-	. S RACEDSC=$P($G(^DIC(10,RACE,0)),U) ;race description
-	S ETHN=""
-	F  D  Q:ETHN=""
-	. S ETHN=$O(^DPT(DFN,.06,"B",ETHN)) ;ethnicity IEN
-	. Q:'ETHN
-	. S ETHNDSC=$P($G(^DIC(10.2,ETHN,0)),U) ;ethnincity description
-	S RB=$P($G(^DPT(DFN,.101)),U) ;room and bed
-	N DEMOYN S DEMOYN=1
-	I $G(PTSEX)="" S DEMOYN=0
-	I $G(PTDOB)="" S DEMOYN=0
-	I $G(PTHRN)="" S DEMOYN=0
-	I $G(PTLANG)="" S DEMOYN=0
-	I $G(RACEDSC)="" S DEMOYN=0
-	I $G(ETHNDSC)="" S DEMOYN=0
-	I DEMOYN S C0QLIST(ZYR_"HasDemographics",DFN)=""
-	E  S C0QLIST(ZYR_"FailedDemographics",DFN)=""
+	. . . I C0QPR D PRINT^C0QMU121
+	. . . I C0QSS D SS^C0QMU121
+	. . . I C0QPL D PATLIST^C0QMU121
 	Q
 	;
@@ -264,164 +218,5 @@
 	Q
 	;
-SMOKING	;
-	; WANT TO CHANGE SMOKING STATUS CHECKING FOR 2012 TO A SIMPLE SET OF
-	; HEALTH FACTORS. GPL
-	I $$INLIST(ZYR_"HasSmokingStatus",DFN) D  Q  ; ALREADY HAS SMOKING STAT CHECK
-	. S C0QLIST(ZYR_"HasSmokingStatus",DFN)=""
-	. S C0QLIST(ZYR_"Over12",DFN)=""
-	I $$INLIST(ZYR_"NoSmokingStatus",DFN) D  Q  ; ALREADY HAS SMOKING STATUS CHECK
-	. S C0QLIST(ZYR_"NoSmokingStatus",DFN)=""
-	. S C0QLIST(ZYR_"Over12",DFN)=""
-	N C0QSMOKE,C0QSYN
-	S C0QSYN=0
-	I $$AGE^C0QUTIL(DFN)<13 Q  ; DON'T CHECK UNDER AGE 13
-	D HFCAT^C0QHF(.C0QSMOKE,DFN,"TOBACCO") ; GET ALL HEALTH FACTORS FOR THE
-	; PATIENT IN THE CATEGORY OF TOBACCO
-	I $D(C0QSMOKE) S C0QSYN=1
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Quit Smokeless Tobacco <1 Yr Ago")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Quit Smokeless Tobacco > 20 Yrs Ago")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Quit Smokeless Tobacco: 1-5 Yrs Ago")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Quit Smokeless Tobacco: 10-20 Yrs Ago")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Quit Smokeless Tobacco: 5-10 Yrs Ago")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Quit Smoking")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Quit Smoking < 1 Yr Ago")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Quit Smoking > 20 Yrs Ago")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Quit Smoking: 1-5 Yrs Ago")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Quit Smoking: 10-20 Yrs Ago")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Quit Smoking: 5-10 Yrs Ago")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKELESS TOBACCO USER")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKELESS: 1-5 YRS AGO")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKELESS: 10-20 YRS AGO")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKELESS: 5-10 YRS AGO")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKELESS: < 1 YR AGO")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKELESS: > 20 YRS AGO")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKER")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKER 10-20 YRS")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKER 20+ YRS")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKER < 1 YR")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKER < 1 YR AGO")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKER > 20 YRS AGO")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKER: 1-5 YRS")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKER: 1-5 YRS AGO")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKER: 10-20 YRS AGO")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKER: 5-10 YRS")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKER: 5-10 YRS AGO")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"PREVIOUS SMOKELESS TOBACCO USER")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"LIFETIME NON-SMOKER")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smokeless Tobacco User")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smoker")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smoker (PMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoke Exposure/2nd Hand Exposure")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 1-5 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 10-20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 5-10 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For < 1 Yr")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For > 20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Tobacco User")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 1-5 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 10-20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 5-10 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for < 1 Yr")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for > 20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoker (HPI)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoking (FMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoking (PMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoking Cessation (OPH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"LIFETIME NON-SMOKER")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smokeless Tobacco User")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smoker")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smoker (PMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoke Exposure/2nd Hand Exposure")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 1-5 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 10-20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 5-10 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For < 1 Yr")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For > 20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Tobacco User")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 1-5 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 10-20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 5-10 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for < 1 Yr")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for > 20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoker (HPI)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoking (FMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoking (PMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Non-Smoker")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"LIFETIME NON-SMOKER")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smokeless Tobacco User")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smoker")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smoker (PMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoke Exposure/2nd Hand Exposure")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 1-5 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 10-20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 5-10 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For < 1 Yr")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For > 20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Tobacco User")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 1-5 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 10-20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 5-10 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for < 1 Yr")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for > 20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoker (HPI)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoking (FMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoking (PMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"LIFETIME NON-SMOKER")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smokeless Tobacco User")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smoker")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smoker (PMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoke Exposure/2nd Hand Exposure")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 1-5 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 10-20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 5-10 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For < 1 Yr")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For > 20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Tobacco User")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 1-5 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 10-20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 5-10 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for < 1 Yr")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for > 20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoker (HPI)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoking (FMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoking (PMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Non-Smoker")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"LIFETIME NON-SMOKER")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smokeless Tobacco User")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smoker")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Former Smoker (PMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoke Exposure/2nd Hand Exposure")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 1-5 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 10-20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For 5-10 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For < 1 Yr")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoked For > 20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Tobacco User")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 1-5 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 10-20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for 5-10 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for < 1 Yr")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smokeless Used for > 20 Yrs")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoker (HPI)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoking (FMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Smoking (PMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Non-Smoker")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Non-Smoker (PMH)")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Non-Tobacco User")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Current Smoker - No")
-	S:'C0QSYN C0QSYN=$$HFYN^C0QHF(DFN,"Current Smoker - Yes")
-	S C0QLIST(ZYR_"Over12",DFN)=""
-	;N GT
-	;S GT(1,"HasSmokingStatus","SMOK")=""
-	;S GT(2,"HasSmokingStatus","Smok")=""
-	;S GT(3,"HasSmokingStatus","smok")=""
-	;I 'C0QSYN D  ;
-	;. N G
-	;. S OK=$$TXTALL^C0QNOTES(.G,.GT,DFN)
-	;. I $D(G) S C0QSYN=1
-	I C0QSYN S C0QLIST(ZYR_"HasSmokingStatus",DFN)=""
-	E  S C0QLIST(ZYR_"NoSmokingStatus",DFN)=""
-	Q
-	;
+SMOKING	G SMOKING^C0QMU121
 VITALS	;
 	;
@@ -512,134 +307,10 @@
 ED1	;
 	S ZYR="MU12-"
-	D DOTIME("ED DEPARTURE TIME")
+	D DOTIME^C0QMU121("ED DEPARTURE TIME")
 	Q
 	;
 ED2	;
 	S ZYR="MU12-"
-	D DOTIME2("TIME DECISION TO ADMIT MADE")
-	Q
-	;
-DOTIME(ZHF)	; COMPUTE THE MEAN TIME IN THE ED FROM ARRIVAL TO DEPARTURE
-	; THIS IS A QUALITY MEASURE ED-1 FOR MEANINGFUL USE
-	; IT PRINTS A REPORT OF EACH PATIENT WITH THE ED TIMES RECORDED
-	; AND THEIR TIME. AT THE END IT PRINTS THE MEAN TIME
-	N ZP
-	S ZP=$$PATLN(ZYR_"HasEDtime") ; patient list name for patients to process
-	S ZHFN=9000010.23 ; FILE NUMBER FOR V HEALTH FACTORS
-	S ZVFN=9000010 ; VISIT FILE NUMBER
-	K ZARY1,ZARY2
-	N ZI S ZI=""
-	S COUNT=0
-	F  S ZI=$O(@ZP@(ZI)) Q:ZI=""  D  ; FOR EACH PATIENT
-	. S COUNT=COUNT+1
-	. N ZA,ZD
-	. S ZA=$$VHFIEN^C0QHF(ZI,"ED ARRIVAL TIME") ; IEN OF ARRIVAL HEALTH FACTOR
-	. S ZD=$$VHFIEN^C0QHF(ZI,ZHF) ; IEN OF DEPART HEALTH FACTOR
-	. N ZAD,ZDD ; ARRIVAL DATE, DEPARTURE DATE
-	. N ZAC,ZDC ; ARRIVAL COMMENT, DEPARTURE COMMENT 
-	. ; THE COMMENT IS THE TIME XXYY
-	. N OK,TMP
-	. S TMP=$$GET1^DIQ(ZHFN,ZA_",",.03,"I") ; VISIT POINTER
-	. S ZAD=$$GET1^DIQ(ZVFN,TMP_",",.01,"I") ; VISIT DATE
-	. ;S ZAD=$P(^AUPNVHF(ZA,0),U,3) ; DATE IS PIECE 3
-	. S TMP=$$GET1^DIQ(ZHFN,ZD_",",.03,"I") ; VISIT POINTER
-	. S ZDD=$$GET1^DIQ(ZVFN,TMP_",",.01,"I") ; VISIT DATE
-	. ;S ZDD=$$GET1^DIQ(ZHFN,ZD_",",1201,"I") ; EVENT DATE FIELD
-	. ;S ZDD=$P(^AUPNVHF(ZD,0),U,3) ; DATE IS PIECE 3
-	. ;S OK=$$GET1^DIQ(ZHFN,ZA_",",81101,"","ZAC") ; ARRIVAL TIME
-	. S ZAC=$G(^AUPNVHF(ZA,811)) ; THE TIME
-	. ;S OK=$$GET1^DIQ(ZHFN,ZD_",",81101,"","ZDC") ; DEPARTURE TIME
-	. S ZDC=$G(^AUPNVHF(ZD,811)) ; DEPARTURE TIME
-	. N ZT ; THE TIME DIFFERENCE BETWEEN THE DATES
-	. W !,!,"PATIENT: ",ZI," ",$P(^DPT(ZI,0),U,1)
-	. W !,"IN: ",$$FMTE^XLFDT(ZAD_"."_ZAC)," OUT: ",$$FMTE^XLFDT(ZDD_"."_ZDC)
-	. S G1=($E(ZDC,1,2)*60)+($E(ZDC,3,4))
-	. S G2=($E(ZAC,1,2)*60)+($E(ZAC,3,4))
-	. I (ZDD-ZAD)>0 S G1=G1+(((ZDD-ZAD)*24)*60)
-	. S GTOT=G1-G2
-	. W !,"TIME: ",GTOT," ESTIMATED"
-	. S ZT=$$DTDIFF^C0QUTIL(ZDD,ZDC,ZAD,ZAC) ; COMPUTE THE DIFFERENCE IN MINUTES
-	. W !,"COMPUTED MINUTES: ",ZT
-	. ;I ZT'=GTOT B  ; LET'S FIND OUT WHAT'S WRONG
-	. I ZT<0 D  Q  ; SKIP PATIENTS WITH NEGATIVE TIMES
-	. . W !,"****EXCLUDED****"
-	. I ZT>400000 D  Q  ; THESE ARE ERRORS
-	. . W !,"****EXCLUDED****"
-	. S ZARY1(ZT,ZI)="" ; ARRAY ORDERED BY MINUTES OF PATIENTS
-	N ZY,ZZ S ZY="" S ZZ=""
-	N ZCOUNT S ZCOUNT=0
-	F  S ZY=$O(ZARY1(ZY)) Q:ZY=""  D  ; FOR EACH TIME
-	. F  S ZZ=$O(ZARY1(ZY,ZZ)) Q:ZZ=""  D  ; FOR EACH PATIENT WITH THIS TIME
-	. . S ZCOUNT=ZCOUNT+1
-	. . S ZARY2(ZCOUNT,ZY,ZZ)=""
-	. . ;W !,ZCOUNT," PATIENT: ",ZZ," MINUTES: ",ZY
-	N ZMID
-	S ZMID=$P(ZCOUNT/2,".")
-	W !,"NUMBER OF PATIENTS IN REPORT: ",ZCOUNT
-	W !,"ED ARRIVAL TIME UNTIL ",ZHF
-	W !,"MEDIAN TIME: ",$O(ZARY2(ZMID,""))
-	Q
-	;
-DOTIME2(ZHF)	; COMPUTE THE MEAN TIME IN THE ED FROM ARRIVAL TO DEPARTURE
-	; THIS IS A QUALITY MEASURE ED-1 FOR MEANINGFUL USE
-	; IT PRINTS A REPORT OF EACH PATIENT WITH THE ED TIMES RECORDED
-	; AND THEIR TIME. AT THE END IT PRINTS THE MEAN TIME
-	N ZP
-	S ZP=$$PATLN(ZYR_"HasEDtime") ; patient list name for patients to process
-	S ZHFN=9000010.23 ; FILE NUMBER FOR V HEALTH FACTORS
-	S ZVFN=9000010 ; VISIT FILE NUMBER
-	K ZARY1,ZARY2
-	N ZI S ZI=""
-	S COUNT=0
-	F  S ZI=$O(@ZP@(ZI)) Q:ZI=""  D  ; FOR EACH PATIENT
-	. S COUNT=COUNT+1
-	. N ZA,ZD
-	. ;S ZA=$$VHFIEN^C0QHF(ZI,"ED ARRIVAL TIME") ; IEN OF ARRIVAL HEALTH FACTOR
-	. ;S ZD=$$VHFIEN^C0QHF(ZI,ZHF) ; IEN OF DEPART HEALTH FACTOR
-	. S ZA=$$VHFIEN^C0QHF(ZI,ZHF) ; IEN OF DEPART HEALTH FACTOR
-	. S ZD=$$VHFIEN^C0QHF(ZI,"ED DEPARTURE TIME") ; IEN OF ARRIVAL HEALTH FACTOR
-	. N ZAD,ZDD ; ARRIVAL DATE, DEPARTURE DATE
-	. N ZAC,ZDC ; ARRIVAL COMMENT, DEPARTURE COMMENT 
-	. ; THE COMMENT IS THE TIME XXYY
-	. N OK,TMP
-	. S TMP=$$GET1^DIQ(ZHFN,ZA_",",.03,"I") ; VISIT POINTER
-	. S ZAD=$$GET1^DIQ(ZVFN,TMP_",",.01,"I") ; VISIT DATE
-	. ;S ZAD=$P(^AUPNVHF(ZA,0),U,3) ; DATE IS PIECE 3
-	. S TMP=$$GET1^DIQ(ZHFN,ZD_",",.03,"I") ; VISIT POINTER
-	. S ZDD=$$GET1^DIQ(ZVFN,TMP_",",.01,"I") ; VISIT DATE
-	. ;S ZDD=$$GET1^DIQ(ZHFN,ZD_",",1201,"I") ; EVENT DATE FIELD
-	. ;S ZDD=$P(^AUPNVHF(ZD,0),U,3) ; DATE IS PIECE 3
-	. ;S OK=$$GET1^DIQ(ZHFN,ZA_",",81101,"","ZAC") ; ARRIVAL TIME
-	. S ZAC=$G(^AUPNVHF(ZA,811)) ; THE TIME
-	. ;S OK=$$GET1^DIQ(ZHFN,ZD_",",81101,"","ZDC") ; DEPARTURE TIME
-	. S ZDC=$G(^AUPNVHF(ZD,811)) ; DEPARTURE TIME
-	. N ZT ; THE TIME DIFFERENCE BETWEEN THE DATES
-	. W !,!,"PATIENT: ",ZI," ",$P(^DPT(ZI,0),U,1)
-	. W !,"IN: ",$$FMTE^XLFDT(ZAD_"."_ZAC)," OUT: ",$$FMTE^XLFDT(ZDD_"."_ZDC)
-	. S G1=($E(ZDC,1,2)*60)+($E(ZDC,3,4))
-	. S G2=($E(ZAC,1,2)*60)+($E(ZAC,3,4))
-	. I (ZDD-ZAD)>0 S G1=G1+(((ZDD-ZAD)*24)*60)
-	. S GTOT=G1-G2
-	. W !,"TIME: ",GTOT," ESTIMATED"
-	. S ZT=$$DTDIFF^C0QUTIL(ZDD,ZDC,ZAD,ZAC) ; COMPUTE THE DIFFERENCE IN MINUTES
-	. W !,"COMPUTED MINUTES: ",ZT
-	. ;I ZT'=GTOT B  ; LET'S FIND OUT WHAT'S WRONG
-	. I ZT<0 D  Q  ; SKIP PATIENTS WITH NEGATIVE TIMES
-	. . W !,"****EXCLUDED****"
-	. I ZT>400000 D  Q  ; THESE ARE ERRORS
-	. . W !,"****EXCLUDED****"
-	. S ZARY1(ZT,ZI)="" ; ARRAY ORDERED BY MINUTES OF PATIENTS
-	N ZY,ZZ S ZY="" S ZZ=""
-	N ZCOUNT S ZCOUNT=0
-	F  S ZY=$O(ZARY1(ZY)) Q:ZY=""  D  ; FOR EACH TIME
-	. F  S ZZ=$O(ZARY1(ZY,ZZ)) Q:ZZ=""  D  ; FOR EACH PATIENT WITH THIS TIME
-	. . S ZCOUNT=ZCOUNT+1
-	. . S ZARY2(ZCOUNT,ZY,ZZ)=""
-	. . ;W !,ZCOUNT," PATIENT: ",ZZ," MINUTES: ",ZY
-	N ZMID
-	S ZMID=$P(ZCOUNT/2,".")
-	W !,"NUMBER OF PATIENTS IN REPORT: ",ZCOUNT
-	W !,"ED ARRIVAL TIME UNTIL ",ZHF
-	W !,"MEDIAN TIME: ",$O(ZARY2(ZMID,""))
+	D DOTIME2^C0QMU121("TIME DECISION TO ADMIT MADE")
 	Q
 	;
@@ -665,89 +336,4 @@
 	I $D(^C0Q(301,ZL,1,"B",DFN)) S ZR=1 ; PATIENT IS IN LIST
 	Q ZR
-	;
-	; LOOK AT GETTING RID OF PRINT AND SS AS THEY ARE NOT BEING USED. GPL
-PRINT	; PRINT TO SCREEN 
-	I $D(WARD) W !!,WARD_"-"_WARDNAME_" "_RB_": "_PTNAME_"("_PTSEX_") "
-	I $D(EXDTE) D  ;
-	. W !,"Discharge Date: ",EXDTE
-	. W !,DFN," ",PTNAME
-	W !,"DOB: ",PTDOB," HRN: ",PTHRN
-	W !,"Language Spoken: ",$G(PTLANG)
-	W !,"Race: ",RACEDSC
-	W !,"Ethnicity: ",$G(ETHNDSC)
-	W !,"Problems: "
-	W !,PBDESC
-	W !,"Allergies: "
-	W !,ALDESC
-	W !,"Medications: "
-	W !
-	Q
-	;
-SS	; CREATE SPREADSHEET ARRAY
-	S G1("Patient")=DFN
-	I $D(WARD) D  ;
-	. S G1("WardName")=WARDNAME
-	. S G1("RoomAndBed")=RB
-	I $D(EXDTE) D  ; 
-	. S G1("DischargeDate")=EXDTE
-	S G1("PatientName")=PTNAME
-	S G1("Gender")=PTSEX
-	S G1("DateOfBirth")=PTDOB
-	S G1("HealthRecordNumber")=PTHRN
-	S G1("LanguageSpoken")=$G(PTLANG)
-	S G1("Race")=RACEDSC
-	S G1("Ehtnicity")=$G(ETHNDSC)
-	S G1("Problem")=PBDESC
-	I PBDESC["No problems found" S G1("HasProblem")=0
-	E  S G1("HasProblem")=1
-	S G1("Allergies")=ALDESC
-	I ALDESC["No Allergy" S G1("HasAllergy")=0
-	E  S G1("HasAllergy")=1
-	I $D(MDITEM) D  ;
-	. S G1("HasMed")=1
-	E  S G1("HasMed")=0
-	S G1("MedDescription")=$G(MDDESC)
-	I $D(MDITEM) W !,"("_MDITEM_")"_MDDESC E  W !,MDDESC
-	D RNF1TO2B^C0CRNF("GRSLT","G1")
-	K G1
-	Q  ; DON'T WANT TO DO THE NHIN STUFF NOW
-	;
-PATLIST	; CREATE PATIENT LISTS
-	; WANT TO GET RID OF PATLIST AND MOVE FUNCTION TO OTHER ROUTINES. GPL
-	S C0QLIST(ZYR_"Patient",DFN)="" ; THE PATIENT LIST
-	N DEMOYN S DEMOYN=1
-	I $G(PTSEX)="" S DEMOYN=0
-	I $G(PTDOB)="" S DEMOYN=0
-	I $G(PTHRN)="" S DEMOYN=0
-	I $G(PTLANG)="" S DEMOYN=0
-	I $G(RACEDSC)="" S DEMOYN=0
-	I $G(ETHNDSC)="" S DEMOYN=0
-	;I DEMOYN S C0QLIST("HasDemographics",DFN)=""
-	;E  S C0QLIST("FailedDemographics",DFN)=""
-	;S G1("Gender")=PTSEX
-	;S G1("DateOfBirth")=PTDOB
-	;S G1("HealthRecordNumber")=PTHRN
-	;S G1("LanguageSpoken")=$G(PTLANG)
-	;S G1("Race")=RACEDSC
-	;S G1("Ehtnicity")=$G(ETHNDSC)
-	S G1("Problem")=PBDESC
-	I PBDESC["No problems found" S C0QLIST(ZYR_"NoProblem",DFN)=""
-	E  S C0QLIST(ZYR_"HasProblem",DFN)=""
-	;S G1("Allergies")=ALDESC
-	I ALDESC["No Allergy" S C0QLIST(ZYR_"NoAllergy",DFN)=""
-	E  S C0QLIST(ZYR_"HasAllergy",DFN)=""
-	;I $D(MDITEM) D  ;
-	       ;. S C0QLIST("HasMed",DFN)=""
-	;E  S G1("NoMed",DFN)=""
-	;S G1("MedDescription")=$G(MDDESC)
-	Q
-	;
-NHIN	; SHOW THE NHIN ARRAY FOR THIS PATIENT
-	Q:DFN=137!14
-	D EN^C0CNHIN(.G,DFN,"")
-	ZWRITE G
-	K G
-	;
-	QUIT  ;end of WARD
 	;
 LOCPAT(PREFIX,LOC)	  ;retrieve active outpatients
@@ -799,10 +385,10 @@
 	. S PRE=ZYR_"EP-"_C0QCLNC_"-"
 	. D LOCPAT(PRE,C0QCLNC) ; GET THE PATIENTS
-	. I $D(DEBUG) ZWRITE C0QLIST
+	. I $D(DEBUG) D ZWRITE^C0QUTIL("C0QLIST")
 	. M C0QLIST(ZYR_"EP-ALL-PATIENTS")=C0QLIST(PRE_"Patient")
 	S DFN=""
 	S ZYR=ZYR_"EP-"
 	F  S DFN=$O(C0QLIST(ZYR_"ALL-PATIENTS",DFN)) Q:DFN=""  D  ; EACH PATIENT
-	. D DEMO
+	. D DEMO^C0QMU122
 	. D PROBLEM
 	. D ALLERGY
@@ -812,12 +398,4 @@
 	. D VITALS
 	D FILE ; FILE THE PATIENT LISTS
-	; 
-	; Now process eRx MU measures for these patients
-	; Check for eRx template and code first; if they exist, run the code
-	; I $D(^C0PX("B","GETMEDS6")),$L($T(SOAP^C0PWS2)) DO  ; smh -cmm for now
-	. N C0QDEBUG S C0QDEBUG=1 ; This causes the code to print out data;
-	. D EN^C0QMUERX($$PATLN^C0QMU12(ZYR_"HasERX")) ; Pass the eRx patient list
-	. K C0QDEBUG ; remove debug variable
-	;
 	N C0QCIEN
 	S ZI=""
@@ -841,5 +419,5 @@
 	. . S DFN=$P(^DGPM(PTFM,0),U,3)
 	. . S C0QLIST(ZYR_"Patient",DFN)=""
-	. . D DEMO
+	. . D DEMO^C0QMU122
 	. . D PROBLEM
 	. . D ALLERGY
@@ -853,7 +431,7 @@
 	. . D COD
 	. . D EDTIME
-	. . I C0QPR D PRINT
-	. . I C0QSS D SS
-	. . I C0QPL D PATLIST
+	. . I C0QPR D PRINT^C0QMU121
+	. . I C0QSS D SS^C0QMU121
+	. . I C0QPL D PATLIST^C0QMU121
 	Q
 	;
@@ -941,64 +519,6 @@
 	D UPDATE^DIE("","C0QFDA","","ZERR")
 	I $D(ZERR) S ZZERR=ZZERR ; ZZERR DOESN'T EXIST, INVOKE THE ERROR TRAP IF TASKED
-	;. W "ERROR",!
-	;. ZWR ZERR
-	;. B
 	K C0QFDA
 	Q
 	;
-	; WHAT FOLLOWS IS OLD CODE - DELETE WHEN THIS WORKS
-	;. . N PTNAME S PTNAME=$P(^DPT(DFN,0),U,1)
-	;. . S PTDOB=$$FMTE^XLFDT($P($G(^DPT(DFN,0)),U,3)) ;date of birth
-	;. . S PTSEX=$P($G(^DPT(DFN,0)),U,2) ;patient sex
-	;. . D PID^VADPT ;VADPT call to grab PISD based on PT Eligibility
-	;. . S PTHRN=$P($G(VA("PID")),U) ;health record number
-	;. . S PTRLANG=$P($G(^DPT(DFN,256000)),U) ;ptr to language file
-	;. . I $G(PTRLANG)'="" S PTLANG=$P(^DI(.85,PTRLANG,0),U) ;PLS extrnl
-	;. . S RACE=""
-	;. . F  D  Q:RACE=""
-	;. . . S RACE=$O(^DPT(DFN,.02,"B",RACE))
-	;. . . Q:'RACE
-	;. . . S RACEDSC=$P($G(^DIC(10,RACE,0)),U)
-	;. . N ETHNDSC
-	;. . N ETHNDSC S ETHNDSC=""
-	;. . S ETHN=""
-	;. . F  D  Q:ETHN=""
-	;. . . S ETHN=$O(^DPT(DFN,.06,"B",ETHN))
-	;. . . Q:'ETHN
-	;. . . S ETHNDSC=$P($G(^DIC(10.2,ETHN,0)),U)
-	;. . D LIST^ORQQPL(.PROBL,DFN,"A")
-	;. . S PBCNT=""
-	;. . F  S PBCNT=$O(PROBL(PBCNT)) Q:PBCNT=""  D
-	;. . . S PBDESC=$P(PROBL(PBCNT),U,2) ;problem description
-	;. . K PROBL
-	;. . D LIST^ORQQAL(.ALRGYL,DFN)
-	;. . S ALCNT=""
-	;. . F  S ALCNT=$O(ALRGYL(ALCNT)) Q:ALCNT=""  D
-	;. . . S ALDESC=$P(ALRGYL(ALCNT),U,2) ;allergy description
-	;. . K ALRGYL
-	;. . D COVER^ORWPS(.MEDSL,DFN)
-	;. . S MDCNT=""
-	;. . F  S MDCNT=$O(MEDSL(MDCNT)) Q:MDCNT=""  D
-	;. . . Q:$P(MEDSL(MDCNT),U,4)'="ACTIVE"  ;active medications only
-	;. . . S MDDESC=$P(MEDSL(MDCNT),U,2) ;medication description
-	;. . . S MDITEM=$P($G(MEDSL(MDCNT)),U,3)
-	;. . K MEDSL
-	;. . W !,"Discharge Date: ",EXDTE
-	;. . W !,DFN," ",PTNAME
-	;. . W !,"DOB: ",PTDOB," HRN: ",PTHRN
-	;. . W !,"Language Spoken: ",$G(PTLANG)
-	;. . W !,"Race: ",RACEDSC
-	;. . W !,"Ethnicity: ",ETHNDSC
-	;. . W !,"Problems: "
-	;. . W !,PBDESC
-	;. . W !,"Allergies: "
-	;. . W !,ALDESC
-	;. . W !,"Medications: "
-	;. . I $D(MDITEM) W !,"(",MDITEM,")",MDDESC E  W !,MDDESC
-	;. . W !
-	;Q
-	;
-	;
-	;
-	;
 END	;end of C0QPRML;
