Index: Scheduling/trunk/m/BSDX01.m
===================================================================
--- Scheduling/trunk/m/BSDX01.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX01.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDX01	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 5/16/11 2:46pm
-	;;1.6T2;BSDX;;May 16, 2011
+BSDX01	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 7/6/12 10:52am
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
@@ -282,42 +282,41 @@
 	;
 INDIV(BSDXSC)	; PEP - Is ^SC clinic in the same DUZ(2) as user?
-	   ; Input: BSDXSC - Hospital Location IEN
-	   ; Output: True or False
-	   I '+BSDXSC QUIT 1  ;If not tied to clinic, yes
-	   I '$D(^SC(BSDXSC,0)) QUIT 1 ; If Clinic does not exist, yes
-	   ; Jump to Division:Medical Center Division:Inst File Pointer for
-	   ; Institution IEN (and get its internal value)
-	   N DIV S DIV=$$GET1^DIQ(44,BSDXSC_",","3.5:.07","I")
-	   I DIV="" Q 1 ; If clinic has no division, consider it avial to user.
-	   I DIV=DUZ(2) Q 1 ; If same, then User is in same Div as Clinic
-	   E  Q 0 ; Otherwise, no
-	   QUIT
+	; Input: BSDXSC - Hospital Location IEN
+	; Output: True or False
+	I '+BSDXSC QUIT 1  ;If not tied to clinic, yes
+	I '$D(^SC(BSDXSC,0)) QUIT 1 ; If Clinic does not exist, yes
+	; Jump to Division:Medical Center Division:Inst File Pointer for
+	; Institution IEN (and get its internal value)
+	N DIV S DIV=$$GET1^DIQ(44,BSDXSC_",","3.5:.07","I")
+	I DIV="" Q 1 ; If clinic has no division, consider it avial to user.
+	I DIV=DUZ(2) Q 1 ; If same, then User is in same Div as Clinic
+	E  Q 0 ; Otherwise, no
 INDIV2(BSDXRES)	; PEP - Is Resource in the same DUZ(2) as user?
-	   ; Input BSDXRES - BSDX RESOURCE IEN
-	   ; Output: True of False
-	   Q $$INDIV($P($G(^BSDXRES(BSDXRES,0)),U,4)) ; Extract Hospital Location and send to $$INDIV
-UnitTestINDIV	
-	   W "Testing if they are the same",!
-	   S DUZ(2)=67
-	   I '$$INDIV(1) W "ERROR",!
-	   I '$$INDIV(2) W "ERROR",!
-	   W "Testing if Div not defined in 44, should be true",!
-	   I '$$INDIV(3) W "ERROR",!
-	   W "Testing empty string. Should be true",!
-	   I '$$INDIV("") W "ERROR",!
-	   W "Testing if they are different",!
-	   S DUZ(2)=899
-	   I $$INDIV(1) W "ERROR",!
-	   I $$INDIV(2) W "ERROR",!
-	   QUIT
-UnitTestINDIV2	
-	   W "Testing if they are the same",!
-	   S DUZ(2)=69
-	   I $$INDIV2(22)'=0 W "ERROR",!
-	   I $$INDIV2(25)'=1 W "ERROR",!
-	   I $$INDIV2(26)'=1 W "ERROR",!
-	   I $$INDIV2(27)'=1 W "ERROR",!
-	   QUIT
-	   ;
+	; Input BSDXRES - BSDX RESOURCE IEN
+	; Output: True of False
+	Q $$INDIV($P($G(^BSDXRES(BSDXRES,0)),U,4)) ; Extract Hospital Location and send to $$INDIV
+UTINDIV	; Unit Test $$INDIV
+	W "Testing if they are the same",!
+	S DUZ(2)=67
+	I '$$INDIV(1) W "ERROR",!
+	I '$$INDIV(2) W "ERROR",!
+	W "Testing if Div not defined in 44, should be true",!
+	I '$$INDIV(3) W "ERROR",!
+	W "Testing empty string. Should be true",!
+	I '$$INDIV("") W "ERROR",!
+	W "Testing if they are different",!
+	S DUZ(2)=899
+	I $$INDIV(1) W "ERROR",!
+	I $$INDIV(2) W "ERROR",!
+	QUIT
+UTINDIV2 ; Unit Test $$INDIV2
+	W "Testing if they are the same",!
+	S DUZ(2)=69
+	I $$INDIV2(22)'=0 W "ERROR",!
+	I $$INDIV2(25)'=1 W "ERROR",!
+	I $$INDIV2(26)'=1 W "ERROR",!
+	I $$INDIV2(27)'=1 W "ERROR",!
+	QUIT
+	;
 GETRADEX(BSDXY,DFN,SCIEN)	; Get All Pending and On Hold Radiology Exams for Patient; RPC EP; UJO/SMH new in v 1.6
 	; RPC: BSDX GET RAD EXAM FOR PT; Return: Global Array
Index: Scheduling/trunk/m/BSDX02.m
===================================================================
--- Scheduling/trunk/m/BSDX02.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX02.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDX02	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 5/16/11 2:47pm
-	;;1.6T2;BSDX;;May 16, 2011
+BSDX02	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 7/6/12 11:09am
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	;Licensed under LGPL 
 	; Change Log
@@ -30,5 +30,6 @@
 	S BSDXERR=""
 	S BSDXY="^BSDXTMP("_$J_")"
-	S ^BSDXTMP($J,0)="I00020APPOINTMENTID^D00030START_TIME^D00030END_TIME^D00030CHECKIN^D00030AUXTIME^I00020PATIENTID^T00030PATIENTNAME^T00030RESOURCENAME^I00005NOSHOW^T00020HRN^I00005ACCESSTYPEID^I00005WALKIN^T00250NOTE^T00006SEX^T00040PID^D00030DOB^I00020RADIOLOGY_EXAM"_$C(30)
+	S ^BSDXTMP($J,0)="I00020APPOINTMENTID^D00030START_TIME^D00030END_TIME^D00030CHECKIN^D00030AUXTIME^I00020PATIENTID^T00030PATIENTNAME^T00030RESOURCENAME"
+	S ^(0)=^(0)_"^I00005NOSHOW^T00020HRN^I00005ACCESSTYPEID^I00005WALKIN^T00250NOTE^T00006SEX^T00040PID^D00030DOB^I00020RADIOLOGY_EXAM"_$C(30)
 	D ^XBKVAR S X="ETRAP^BSDX02",@^%ZOSF("TRAP")
 	;
@@ -37,5 +38,5 @@
 	; S %DT="T",X=BSDXEND D ^%DT S BSDXEND=Y
 	; I BSDXEND=-1 S ^BSDXTMP($J,1)=$C(31) Q
-	   ;
+	;
 	S BSDXI=0
 	D STRES
Index: Scheduling/trunk/m/BSDX03.m
===================================================================
--- Scheduling/trunk/m/BSDX03.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX03.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX03	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:14am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	;Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX04.m
===================================================================
--- Scheduling/trunk/m/BSDX04.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX04.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDX04	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ;  ; 4/28/11 10:15am
-	;;1.6T2;BSDX;;May 16, 2011
+BSDX04	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ;  ; 7/6/12 10:55am
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	; Change Log:
@@ -74,5 +74,5 @@
 	. Q:BSDXRESN=""
 	. Q:'$D(^BSDXRES("B",BSDXRESN))
-	. S BSDXRESD=$O(^BSDXRES("B",BSDXRESN,0)) 
+	. S BSDXRESD=$O(^BSDXRES("B",BSDXRESN,0))
 	. Q:'+BSDXRESD
 	. Q:'$D(^BSDXAB("ARSCT",BSDXRESD))
Index: Scheduling/trunk/m/BSDX05.m
===================================================================
--- Scheduling/trunk/m/BSDX05.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX05.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX05	 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:16am
-	   ;;1.6T2;BSDX;;May 16, 2011
+	   ;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	   ; Licensed under LGPL
 	   ;
Index: Scheduling/trunk/m/BSDX06.m
===================================================================
--- Scheduling/trunk/m/BSDX06.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX06.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX06	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:16am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	; Change Log:
Index: Scheduling/trunk/m/BSDX07.m
===================================================================
--- Scheduling/trunk/m/BSDX07.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX07.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX07	; VW/UJO/SMH - WINDOWS SCHEDULING RPCS  ; 7/5/12 12:57pm
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
@@ -66,9 +66,9 @@
 	; Deal with optional arguments
 	S BSDXRADEXAM=$G(BSDXRADEXAM)
-    ;
+	   ;
 	; Return Array; set Return and clear array
 	S BSDXY=$NA(^BSDXTMP($J))
 	K ^BSDXTMP($J)
-    ;
+	   ;
 	; $ET
 	N $ET S $ET="G ETRAP^BSDX07"
@@ -238,5 +238,5 @@
 	Q
 	;
-ROLLBACK(BSDXAPPTID,BSDXC) ; Private EP; Roll back appointment set
+ROLLBACK(BSDXAPPTID,BSDXC)	; Private EP; Roll back appointment set
 	; DO NOT USE except as an emergency measure - only if unforseen error occurs
 	; Input: 
Index: Scheduling/trunk/m/BSDX08.m
===================================================================
--- Scheduling/trunk/m/BSDX08.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX08.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX08	; VW/UJO/SMH - WINDOWS SCHEDULING RPCS ; 7/5/12 12:39pm
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; 
 	; Original by HMW. New Written by Sam Habiel. Licensed under LGPL.
@@ -152,5 +152,5 @@
 	QUIT 0
 	;
-ROLLBACK(BSDXAPTID)  ; Proc; Private; Rollback cancellation
+ROLLBACK(BSDXAPTID)	 ; Proc; Private; Rollback cancellation
 	; Input same as $$BSDXCAN
 	N BSDXIENS S BSDXIENS=BSDXAPTID_","
Index: Scheduling/trunk/m/BSDX09.m
===================================================================
--- Scheduling/trunk/m/BSDX09.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX09.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDX09	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ;  ; 4/28/11 10:18am
-	;;1.6;BSDX;;Aug 31, 2011;Build 18
+BSDX09	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ;  ; 6/21/12 11:03am
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX11.m
===================================================================
--- Scheduling/trunk/m/BSDX11.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX11.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX11	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:18am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX12.m
===================================================================
--- Scheduling/trunk/m/BSDX12.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX12.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX12	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:18am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	; 
Index: Scheduling/trunk/m/BSDX13.m
===================================================================
--- Scheduling/trunk/m/BSDX13.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX13.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX13	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:19am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX14.m
===================================================================
--- Scheduling/trunk/m/BSDX14.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX14.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX14	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:19am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX15.m
===================================================================
--- Scheduling/trunk/m/BSDX15.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX15.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX15	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:19am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX16.m
===================================================================
--- Scheduling/trunk/m/BSDX16.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX16.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX16	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ;  ; 4/28/11 10:20am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX17.m
===================================================================
--- Scheduling/trunk/m/BSDX17.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX17.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX17	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:20am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX18.m
===================================================================
--- Scheduling/trunk/m/BSDX18.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX18.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX18	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:20am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX19.m
===================================================================
--- Scheduling/trunk/m/BSDX19.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX19.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX19	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:21am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX20.m
===================================================================
--- Scheduling/trunk/m/BSDX20.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX20.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX20	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:21am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX21.m
===================================================================
--- Scheduling/trunk/m/BSDX21.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX21.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX21	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:22am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX22.m
===================================================================
--- Scheduling/trunk/m/BSDX22.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX22.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX22	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:22am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX23.m
===================================================================
--- Scheduling/trunk/m/BSDX23.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX23.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX23	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:22am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX24.m
===================================================================
--- Scheduling/trunk/m/BSDX24.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX24.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX24	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:22am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX25.m
===================================================================
--- Scheduling/trunk/m/BSDX25.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX25.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX25	; VEN/SMH - WINDOWS SCHEDULING RPCS ; 7/5/12 11:55am
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
@@ -16,5 +16,5 @@
 	Q
 	;
-CHECKIN(BSDXY,BSDXAPPTID,BSDXCDT) ;Private EP Check in appointment
+CHECKIN(BSDXY,BSDXAPPTID,BSDXCDT)	;Private EP Check in appointment
 	; Old additional vars: ,BSDXCC,BSDXPRV,BSDXROU,BSDXVCL,BSDXVFM,BSDXOG)
 	; Called by RPC: BSDX CHECKIN APPOINTMENT
Index: Scheduling/trunk/m/BSDX26.m
===================================================================
--- Scheduling/trunk/m/BSDX26.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX26.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX26	 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 6/25/12 4:29pm
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	; Change History:
@@ -87,5 +87,5 @@
 	QUIT
 	;
-ROLLBACK(BSDXAPTID) ; Rollback note to original in ^BSDXAPPT
+ROLLBACK(BSDXAPTID)	; Rollback note to original in ^BSDXAPPT
 	M ^BSDXAPPT(BSDXAPTID)=^TMP($J,"BEFORE","BSDXAPPT")
 	K ^TMP($J)
Index: Scheduling/trunk/m/BSDX27.m
===================================================================
--- Scheduling/trunk/m/BSDX27.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX27.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX27	 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:24am
-	   ;;1.6T2;BSDX;;May 16, 2011
+	   ;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	   ; Licensed under LGPL
 	   ; 
Index: Scheduling/trunk/m/BSDX28.m
===================================================================
--- Scheduling/trunk/m/BSDX28.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX28.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDX28	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:25am
-	;;1.6T2;BSDX;;May 16, 2011
+BSDX28	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 7/6/12 10:57am
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	; Change Log:
@@ -38,21 +38,21 @@
 	. S BSDXRET=BSDXRET_NAME_U_HRN_U_PID_U_DOB_U_BSDXIEN_$C(30)
 PID	;PID Lookup
-	   ; If this ID exists, go get it. If "UJOPID" index doesn't exist,
-	   ; won't work anyways.
-	   I $D(^DPT("UJOPID",BSDXP)) DO  SET BSDXY=BSDXRET_$C(31) QUIT
-	   . S BSDXIEN=$O(^DPT("UJOPID",BSDXP,""))
-	   . Q:'$D(^DPT(BSDXIEN,0))
-	   . S BSDXDPT=$G(^DPT(BSDXIEN,0))
-	   . S BSDXZ=$P(BSDXDPT,U) ;NAME
-	   . S BSDXHRN=$P($G(^AUPNPAT(BSDXIEN,41,DUZ(2),0)),U,2) ;CHART
-	   . I BSDXHRN="" Q  ;NO CHART AT THIS DUZ2
-	   . ; Inactivated Chart get an *
-	   . I $P($G(^AUPNPAT(BSDXIEN,41,DUZ(2),0)),U,3) S BSDXHRN=BSDXHRN_"(*)" Q
-	   . S $P(BSDXZ,BSDXDLIM,2)=BSDXHRN
-	   . S $P(BSDXZ,BSDXDLIM,3)=$P(^DPT(BSDXIEN,.36),U,3) ;PID
-	   . S Y=$P(BSDXDPT,U,3) X ^DD("DD")
-	   . S $P(BSDXZ,BSDXDLIM,4)=Y ;DOB
-	   . S $P(BSDXZ,BSDXDLIM,5)=BSDXIEN
-	   . S BSDXRET=BSDXRET_BSDXZ_$C(30)
+	; If this ID exists, go get it. If "UJOPID" index doesn't exist,
+	; won't work anyways.
+	I $D(^DPT("UJOPID",BSDXP)) DO  SET BSDXY=BSDXRET_$C(31) QUIT
+	. S BSDXIEN=$O(^DPT("UJOPID",BSDXP,""))
+	. Q:'$D(^DPT(BSDXIEN,0))
+	. S BSDXDPT=$G(^DPT(BSDXIEN,0))
+	. S BSDXZ=$P(BSDXDPT,U) ;NAME
+	. S BSDXHRN=$P($G(^AUPNPAT(BSDXIEN,41,DUZ(2),0)),U,2) ;CHART
+	. I BSDXHRN="" Q  ;NO CHART AT THIS DUZ2
+	. ; Inactivated Chart get an *
+	. I $P($G(^AUPNPAT(BSDXIEN,41,DUZ(2),0)),U,3) S BSDXHRN=BSDXHRN_"(*)" Q
+	. S $P(BSDXZ,BSDXDLIM,2)=BSDXHRN
+	. S $P(BSDXZ,BSDXDLIM,3)=$P(^DPT(BSDXIEN,.36),U,3) ;PID
+	. S Y=$P(BSDXDPT,U,3) X ^DD("DD")
+	. S $P(BSDXZ,BSDXDLIM,4)=Y ;DOB
+	. S $P(BSDXZ,BSDXDLIM,5)=BSDXIEN
+	. S BSDXRET=BSDXRET_BSDXZ_$C(30)
 	;
 DOB	;DOB Lookup
@@ -76,6 +76,5 @@
 	. Q
 	;
-CHART	
-	   ;Chart# Lookup
+CHART ;Chart# Lookup
 	I +DUZ(2),BSDXP]"",$D(^AUPNPAT("D",BSDXP)) D  S BSDXY=BSDXRET_$C(31) Q
 	. S BSDXIEN=0 F  S BSDXIEN=$O(^AUPNPAT("D",BSDXP,BSDXIEN)) Q:'+BSDXIEN  I $D(^AUPNPAT("D",BSDXP,BSDXIEN,DUZ(2))) D  Q
Index: Scheduling/trunk/m/BSDX29.m
===================================================================
--- Scheduling/trunk/m/BSDX29.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX29.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX29	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 6/22/12 1:46pm
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	; 
Index: Scheduling/trunk/m/BSDX2E.m
===================================================================
--- Scheduling/trunk/m/BSDX2E.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX2E.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX2E	;IHS/OIT/MJL - ENVIRONMENT CHECK FOR WINDOWS SCHEDULING [4/28/11 10:28am]
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX30.m
===================================================================
--- Scheduling/trunk/m/BSDX30.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX30.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDX30	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; [4/28/11 10:28am]
-	;;1.6T2;BSDX;;May 16, 2011
+BSDX30	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; [7/6/12 11:03am]
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
@@ -7,5 +7,5 @@
 	;Entry point for debugging
 	;
-	D DEBUG^%Serenji("SPACE^BSDX30(.BSDXY,BSDXDIC,BSDXVAL)")
+	; D DEBUG^%Serenji("SPACE^BSDX30(.BSDXY,BSDXDIC,BSDXVAL)")
 	Q
 	;
@@ -49,5 +49,5 @@
 EHRPTD(BSDXY,BSDXWID,BSDXDFN)	;
 	;
-	D DEBUG^%Serenji("EHRPT^BSDX30(.BSDXY,BSDXWID,BSDXDFN)")
+	; D DEBUG^%Serenji("EHRPT^BSDX30(.BSDXY,BSDXWID,BSDXDFN)")
 	Q
 	;
@@ -70,4 +70,7 @@
 	;
 PEVENT(BSDXWID,DFN)	;EP - Raise patient selection event to EHR
+	; VEN/SMH v1.7 3120706 - Not used in VISTA.
+	; No way right now to synchronize with CPRS.
+	; Code commented out for now.
 	;
 	;Change patient context to patient DFN
@@ -78,13 +81,13 @@
 	;all EHR client sessions belonging to user DUZ.
 	;
-	Q:'$G(DUZ)
+	;Q:'$G(DUZ)
 	;N X
 	;S X="CIANBUTL" X ^%ZOSF("TEST") Q:'$T
 	;S X="CIANBEVT" X ^%ZOSF("TEST") Q:'$T
-	N UID,BRET
-	S BRET=0,UID=0
-	F  S BRET=$$NXTUID^CIANBUTL(.UID,1) Q:'UID  D
-	. Q:DUZ'=$$GETVAR^CIANBUTL("DUZ",,,UID)
-	. I BSDXWID'="" Q:BSDXWID'=$TR($$GETVAR^CIANBUTL("WID",,,UID),"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
-	. D QUEUE^CIANBEVT("CONTEXT.PATIENT",+DFN,UID)
-	Q
+	;N UID,BRET
+	;S BRET=0,UID=0
+	;F  S BRET=$$NXTUID^CIANBUTL(.UID,1) Q:'UID  D
+	;. Q:DUZ'=$$GETVAR^CIANBUTL("DUZ",,,UID)
+	;. I BSDXWID'="" Q:BSDXWID'=$TR($$GETVAR^CIANBUTL("WID",,,UID),"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
+	;. D QUEUE^CIANBEVT("CONTEXT.PATIENT",+DFN,UID)
+	;Q
Index: Scheduling/trunk/m/BSDX31.m
===================================================================
--- Scheduling/trunk/m/BSDX31.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX31.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX31	 ; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 6/27/12 4:57pm
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	; Change Log:
@@ -121,5 +121,5 @@
 	QUIT
 	;
-BSDXNOS(BSDXAPTID,BSDXNS) ; $$ Private; File/unfile noshow in ^BSDXAPPT
+BSDXNOS(BSDXAPTID,BSDXNS)	; $$ Private; File/unfile noshow in ^BSDXAPPT
 	; in v1.7 I delete the no-show value rather than file zero
 	N BSDXFDA,BSDXIENS,BSDXMSG
Index: Scheduling/trunk/m/BSDX32.m
===================================================================
--- Scheduling/trunk/m/BSDX32.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX32.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX32	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 5/11/11 10:39am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
Index: Scheduling/trunk/m/BSDX33.m
===================================================================
--- Scheduling/trunk/m/BSDX33.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX33.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX33	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:29am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	; Mods by WV/STAR
Index: Scheduling/trunk/m/BSDX34.m
===================================================================
--- Scheduling/trunk/m/BSDX34.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX34.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX34	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:29am
-	;;1.6T2;BSDX;;May 16, 2011
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL  
 	;
Index: Scheduling/trunk/m/BSDX35.m
===================================================================
--- Scheduling/trunk/m/BSDX35.m	(revision 1470)
+++ Scheduling/trunk/m/BSDX35.m	(revision 1472)
@@ -1,4 +1,4 @@
 BSDX35	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 6/21/12 3:57pm
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL  
 	;
Index: Scheduling/trunk/m/BSDXAPI.m
===================================================================
--- Scheduling/trunk/m/BSDXAPI.m	(revision 1470)
+++ Scheduling/trunk/m/BSDXAPI.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDXAPI	; IHS/LJF,HMW,MAW & VEN/SMH - SCHEDULING APIs ; 7/5/12 12:52pm
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+BSDXAPI	; IHS/LJF,HMW,MAW & VEN/SMH - SCHEDULING APIs ; 7/6/12 10:24am
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL  
 	;
@@ -112,5 +112,5 @@
 	;
 	; Update the Availablilities ; Doesn't fail. Global reads and sets.
-	D AVUPDTMK^BSDXAPI1(BSDR("CLN"),BSDR("ADT"),BSDR("LEN"))
+	D AVUPDTMK^BSDXAPI1(BSDR("CLN"),BSDR("ADT"),BSDR("LEN"),BSDR("PAT"))
 	;
 	; call event driver
@@ -121,5 +121,5 @@
 	Q 0
 	;
-MAKECK(BSDR) ; $$ - Is it okay to make an appointment? ; PEP
+MAKECK(BSDR)	; $$ - Is it okay to make an appointment? ; PEP
 	; Input: Same as $$MAKE
 	; Output: 1^error or 0 for success
@@ -151,5 +151,5 @@
 	Q 0
 	;
-UNMAKE(BSDR) ; Reverse Make - Private $$
+UNMAKE(BSDR)	; Reverse Make - Private $$
 	; Only used in Emergiencies where Fileman data filing fails.
 	; If previous data exists, which caused an error, it's destroyed.
@@ -256,5 +256,5 @@
 	Q $$CHECKICK(.BSDR)
 	;
-CHECKICK(BSDR) ; $$ PEP; - Is it okay to check-in patient?
+CHECKICK(BSDR)	; $$ PEP; - Is it okay to check-in patient?
 	; Input: Same as $$CHECKIN
 	; Output: 0 if okay or 1^message if error
@@ -371,5 +371,5 @@
 	Q 0
 	;
-CANCELCK(BSDR) ; $$ PEP; Okay to Cancel Appointment?
+CANCELCK(BSDR)	; $$ PEP; Okay to Cancel Appointment?
 	; Input: .BSDR array as documented in $$CANCEL
 	; Output: 0 or 1^Error message
@@ -386,5 +386,9 @@
 	NEW IEN S IEN=$$SCIEN(BSDR("PAT"),BSDR("CLN"),BSDR("ADT"))
 	I 'IEN Q 1_U_"Error trying to find appointment for cancel: Patient="_BSDR("PAT")_" Clinic="_BSDR("CLN")_" Appt="_BSDR("ADT")
-	Q 0
+	;
+	; Check-out check. New in v1.7
+	I $$CO(BSDR("PAT"),BSDR("CLN"),BSDR("ADT"),IEN) Q 1_U_"Cannot delete. Appointment has already been checked-out!"
+	Q 0
+	;
 CI(PAT,CLINIC,DATE,SDIEN)	;PEP; -- returns 1 if appt already checked-in
 	NEW X
@@ -394,4 +398,11 @@
 	Q $S(X:1,1:0)
 	;
+CO(PAT,CLINIC,DATE,SDIEN)	;PEP; -- returns 1 if appt already checked-out
+	NEW X
+	S X=$G(SDIEN)   ;ien sent in call
+	I 'X S X=$$SCIEN(PAT,CLINIC,DATE) I 'X Q 0
+	S X=$P($G(^SC(CLINIC,"S",DATE,1,X,"C")),U,3)
+	Q $S(X:1,1:0)
+	;
 SCIEN(PAT,CLINIC,DATE)	;PEP; returns ien for appt in ^SC
 	NEW X,IEN
@@ -401,5 +412,5 @@
 	Q $G(IEN)
 	;
-APPLEN(PAT,CLINIC,DATE) ; $$ PEP; returns an appointment's length
+APPLEN(PAT,CLINIC,DATE)	; $$ PEP; returns an appointment's length
 	; Get either the appointment length or zero
 	; TODO: Test
@@ -410,11 +421,4 @@
 	NEW X S X=$P($G(^DPT(PAT,"S",DATE,0)),U,7)
 	Q $S(X=3:"SCHED",X=4:"WALK-IN",1:"??")
-	;
-CO(PAT,CLINIC,DATE,SDIEN)	;PEP; -- returns 1 if appt already checked-out
-	NEW X
-	S X=$G(SDIEN)   ;ien sent in call
-	I 'X S X=$$SCIEN(PAT,CLINIC,DATE) I 'X Q 0
-	S X=$P($G(^SC(CLINIC,"S",DATE,1,X,"C")),U,3)
-	Q $S(X:1,1:0)
 	;
 UPDATENT(PAT,CLINIC,DATE,NOTE)	; PEP; Update Note in ^SC for patient's appointment @ DATE
Index: Scheduling/trunk/m/BSDXAPI1.m
===================================================================
--- Scheduling/trunk/m/BSDXAPI1.m	(revision 1470)
+++ Scheduling/trunk/m/BSDXAPI1.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDXAPI1 ; VEN/SMH - SCHEDULING APIs - Continued!!! ; 7/5/12 12:55pm
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+BSDXAPI1	; VEN/SMH - SCHEDULING APIs - Continued!!! ; 7/6/12 10:23am
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL  
 	;
@@ -50,5 +50,5 @@
 	; call the EPs here.
 	;
-NOSHOW(PAT,CLINIC,DATE,NSFLAG) ; $$ PEP; No-show Patient at appt date (new in v1.7)
+NOSHOW(PAT,CLINIC,DATE,NSFLAG)	; $$ PEP; No-show Patient at appt date (new in v1.7)
 	; PAT = DFN
 	; CLINIC = SC IEN
@@ -97,5 +97,5 @@
 	Q 0
 	;
-NOSHOWCK(PAT,CLINIC,DATE,NSFLAG) ; $$ PEP; No-show Check
+NOSHOWCK(PAT,CLINIC,DATE,NSFLAG)	; $$ PEP; No-show Check
 	; TODO: Not all appointments can be no showed.
 	; Check the code in SDAMN 
@@ -243,5 +243,5 @@
 	Q
 	;
-AVUPDTMK(BSDXSCD,BSDXSTART,BSDXLEN) ; Update RPMS Clinic availability for Make
+AVUPDTMK(BSDXSCD,BSDXSTART,BSDXLEN,BSDXPATID)	; Update RPMS Clinic availability for Make
 	;SEE SDM1
 	N Y,DFN
@@ -255,5 +255,5 @@
 	S SDDATE=BSDXSTART
 	S SDSDATE=SDDATE,SDDATE=SDDATE\1
-1 ;L  Q:$D(SDXXX)  S CCXN=0 K MXOK,COV,SDPROT Q:DFN<0  S SC=+SC
+1	;L  Q:$D(SDXXX)  S CCXN=0 K MXOK,COV,SDPROT Q:DFN<0  S SC=+SC
 	Q:$D(SDXXX)  S CCXN=0 K MXOK,COV,SDPROT Q:DFN<0  S SC=+SC
 	S X1=DT,SDEDT=365 S:$D(^SC(SC,"SDP")) SDEDT=$P(^SC(SC,"SDP"),"^",2)
Index: Scheduling/trunk/m/BSDXGPRV.m
===================================================================
--- Scheduling/trunk/m/BSDXGPRV.m	(revision 1470)
+++ Scheduling/trunk/m/BSDXGPRV.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDXGPRV	; WV/SMH - WINDOWS SCHEDULING RPCS ; 4/28/11 10:31am
-	;;1.6T2;BSDX;;May 16, 2011
+BSDXGPRV	; WV/SMH - WINDOWS SCHEDULING RPCS ; 7/6/12 11:07am
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL  
 	;
@@ -18,5 +18,5 @@
 PD(BSDXY,HLIEN)	;EP Debugging entry point
 	;
-	D DEBUG^%Serenji("P^BSDXGPRV(.BSDXY,HLIEN)","192.168.254.130")
+	;D DEBUG^%Serenji("P^BSDXGPRV(.BSDXY,HLIEN)","192.168.254.130")
 	;
 	Q
@@ -33,5 +33,5 @@
 	S BSDXI=0
 	I '$D(^SC(HLIEN,0)) D ERR("HOSPITAL LOCATION NOT FOUND") QUIT
-	D ^XBKVAR 
+	D ^XBKVAR
 	N $ET S $ET="G ERROR^BSDXGPRV"
 	K ^BSDXTMP($J)
Index: Scheduling/trunk/m/BSDXUT.m
===================================================================
--- Scheduling/trunk/m/BSDXUT.m	(revision 1470)
+++ Scheduling/trunk/m/BSDXUT.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDXUT ; VEN/SMH - Unit Tests for Scheduling GUI ; 6/29/12 12:20pm
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+BSDXUT	; VEN/SMH - Unit Tests for Scheduling GUI ; 6/29/12 12:20pm
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	; Licensed under LGPL
 	;
@@ -242,68 +242,68 @@
 	QUIT
 	; 
-UTCR(RESNAM) ; $$ - Create Unit Test Clinic and Resource Pair ; Private
- ; Input: Resource Name By Value
- ; Output: -1^Error or HLIEN^RESIEN for Success (file 44 IEN^file 9002018.1 IEN)
- ; DO NOT USE IN A PRODUCTION ENVIRONTMENT. INTENDED FOR TESTING ONLY
- N HLIEN S HLIEN=$$UTCR44(RESNAM)
- I +HLIEN=-1 QUIT HLIEN
- ;
- N RESIEN S RESIEN=$$UTCRRES(RESNAM,HLIEN)
- I +RESIEN=-1 QUIT RESIEN
- E  QUIT HLIEN_U_RESIEN
- ;
-UTCR44(HLNAME) ; $$ - Create Unit Test Clinic in File 44; Private ; TESTING ONLY CODE
- ; Output: -1^Error or IEN for Success
- ; Input: Hosp Location Name by Value
- ; DO NOT USE IN A PRODUCTION ENVIRONTMENT. INTENDED FOR TESTING ONLY
- ;
- I $D(^SC("B",HLNAME)) Q $O(^(HLNAME,""))
- ;
- N SAM
- S SAM(44,"?+1,",.01)=HLNAME            ; Name
- S SAM(44,"?+1,",2)="C"                 ; Type = Clinic
- S SAM(44,"?+1,",2.1)=1                 ; Type Extension (not used)
- S SAM(44,"?+1,",3.5)=$O(^DG(40.8,0))   ; Division (not yet used)
- S SAM(44,"?+1,",8)=295                 ; Stop Code Number (not used)
- S SAM(44,"?+1,",9)="M"          ; Service (not used)
- S SAM(44,"?+1,",1912)=15               ; Length of Appt (not used)
- S SAM(44,"?+1,",1917)=4                ; Display increments per hour (not used)
- S SAM(44,"?+1,",1918)=8                ; Overbooks/day max (not used)
- S SAM(44,"?+1,",2000.5)=0              ; Require Action Profiles: Yes (not used)
- S SAM(44,"?+1,",2001)=999              ; Allowable consecutive no-shows (not used)
- S SAM(44,"?+1,",2002)=999              ; Max # days for Future Booking (not used)
- S SAM(44,"?+1,",2005)=365              ; Max # days for Auto Rebook (not used)
- S SAM(44,"?+1,",2502)="N"             ; Non-Count Clinic (not used)
- S SAM(44,"?+1,",2504)="Y"            ; Clinic meets at this Facility? (not used)
- S SAM(44,"?+1,",2507)=9              ; Appointment Type (not used)
- ;
- N BSDXERR,BSDXIEN
- D UPDATE^DIE("",$NA(SAM),$NA(BSDXIEN),$NA(BSDXERR))
- Q $S($D(BSDXERR):-1_U_BSDXERR("DIERR",1,"TEXT",1),1:BSDXIEN(1))
- ;
-UTCRRES(NAME,HLIEN) ; $$ - Create Unit Test Resource in 9002018.1 (BSDX RESOURCE); Private
- ; Input: Hospital Location IEN
- ; Output: -1^Error or IEN for Success
- ; DO NOT USE IN A PRODUCTION ENVIRONTMENT. INTENDED FOR TESTING ONLY
- I $D(^BSDXRES("B",NAME)) Q $O(^(NAME,""))
- S HLIEN=$G(HLIEN) ; If we don't send one in
- N RES ; garbage variable
- D RSRC^BSDX16(.RES,"|"_NAME_"||"_HLIEN)
- N RTN S RTN=@$Q(^BSDXTMP($J,0)) ; return array next value
- Q $S(RTN=0:-1_U_RTN,1:+RTN) ; 0 means an error has occurred; 1 means IEN returned
- ;
-TIMES() ; $$ - Create a next available appointment time^ending time; Private
- ; Output: appttime^endtime
- N NOW S NOW=$$NOW^XLFDT() ; Now time
- N LAST S LAST=$O(^BSDXAPPT("B"," "),-1) ; highest time in file
- N TIME2USE S TIME2USE=$S(NOW>LAST:NOW,1:LAST) ; Which time to use?
- S TIME2USE=$E(TIME2USE,1,12) ; Strip away seconds
- N APPTIME S APPTIME=$$FMADD^XLFDT(TIME2USE,0,0,15,0) ; Add 15 min
- N ENDTIME S ENDTIME=$$FMADD^XLFDT(APPTIME,0,0,15,0) ; Add 15 more min
- Q APPTIME_U_ENDTIME ; quit with apptime^endtime
- ;
-TIMEHL(HLIEN) ; $$ - Create a next available appointment time^ending time by HL; Private
- ; Input: HLIEN
- ; Output: Next available appointment time for the HLIEN
- N LAST S LAST=$O(^SC(HLIEN,"S",""),-1)
- Q $$FMADD^XLFDT(LAST,1,0,15,0) ; Add 1 day and 15 minutes
+UTCR(RESNAM)	; $$ - Create Unit Test Clinic and Resource Pair ; Private
+	; Input: Resource Name By Value
+	; Output: -1^Error or HLIEN^RESIEN for Success (file 44 IEN^file 9002018.1 IEN)
+	; DO NOT USE IN A PRODUCTION ENVIRONTMENT. INTENDED FOR TESTING ONLY
+	N HLIEN S HLIEN=$$UTCR44(RESNAM)
+	I +HLIEN=-1 QUIT HLIEN
+	;
+	N RESIEN S RESIEN=$$UTCRRES(RESNAM,HLIEN)
+	I +RESIEN=-1 QUIT RESIEN
+	E  QUIT HLIEN_U_RESIEN
+	;
+UTCR44(HLNAME)	; $$ - Create Unit Test Clinic in File 44; Private ; TESTING ONLY CODE
+	; Output: -1^Error or IEN for Success
+	; Input: Hosp Location Name by Value
+	; DO NOT USE IN A PRODUCTION ENVIRONTMENT. INTENDED FOR TESTING ONLY
+	;
+	I $D(^SC("B",HLNAME)) Q $O(^(HLNAME,""))
+	;
+	N SAM
+	S SAM(44,"?+1,",.01)=HLNAME            ; Name
+	S SAM(44,"?+1,",2)="C"                 ; Type = Clinic
+	S SAM(44,"?+1,",2.1)=1                 ; Type Extension (not used)
+	S SAM(44,"?+1,",3.5)=$O(^DG(40.8,0))   ; Division (not yet used)
+	S SAM(44,"?+1,",8)=295                 ; Stop Code Number (not used)
+	S SAM(44,"?+1,",9)="M"          ; Service (not used)
+	S SAM(44,"?+1,",1912)=15               ; Length of Appt (not used)
+	S SAM(44,"?+1,",1917)=4                ; Display increments per hour (not used)
+	S SAM(44,"?+1,",1918)=8                ; Overbooks/day max (not used)
+	S SAM(44,"?+1,",2000.5)=0              ; Require Action Profiles: Yes (not used)
+	S SAM(44,"?+1,",2001)=999              ; Allowable consecutive no-shows (not used)
+	S SAM(44,"?+1,",2002)=999              ; Max # days for Future Booking (not used)
+	S SAM(44,"?+1,",2005)=365              ; Max # days for Auto Rebook (not used)
+	S SAM(44,"?+1,",2502)="N"             ; Non-Count Clinic (not used)
+	S SAM(44,"?+1,",2504)="Y"            ; Clinic meets at this Facility? (not used)
+	S SAM(44,"?+1,",2507)=9              ; Appointment Type (not used)
+	;
+	N BSDXERR,BSDXIEN
+	D UPDATE^DIE("",$NA(SAM),$NA(BSDXIEN),$NA(BSDXERR))
+	Q $S($D(BSDXERR):-1_U_BSDXERR("DIERR",1,"TEXT",1),1:BSDXIEN(1))
+	;
+UTCRRES(NAME,HLIEN)	; $$ - Create Unit Test Resource in 9002018.1 (BSDX RESOURCE); Private
+	; Input: Hospital Location IEN
+	; Output: -1^Error or IEN for Success
+	; DO NOT USE IN A PRODUCTION ENVIRONTMENT. INTENDED FOR TESTING ONLY
+	I $D(^BSDXRES("B",NAME)) Q $O(^(NAME,""))
+	S HLIEN=$G(HLIEN) ; If we don't send one in
+	N RES ; garbage variable
+	D RSRC^BSDX16(.RES,"|"_NAME_"||"_HLIEN)
+	N RTN S RTN=@$Q(^BSDXTMP($J,0)) ; return array next value
+	Q $S(RTN=0:-1_U_RTN,1:+RTN) ; 0 means an error has occurred; 1 means IEN returned
+	;
+TIMES()	; $$ - Create a next available appointment time^ending time; Private
+	; Output: appttime^endtime
+	N NOW S NOW=$$NOW^XLFDT() ; Now time
+	N LAST S LAST=$O(^BSDXAPPT("B"," "),-1) ; highest time in file
+	N TIME2USE S TIME2USE=$S(NOW>LAST:NOW,1:LAST) ; Which time to use?
+	S TIME2USE=$E(TIME2USE,1,12) ; Strip away seconds
+	N APPTIME S APPTIME=$$FMADD^XLFDT(TIME2USE,0,0,15,0) ; Add 15 min
+	N ENDTIME S ENDTIME=$$FMADD^XLFDT(APPTIME,0,0,15,0) ; Add 15 more min
+	Q APPTIME_U_ENDTIME ; quit with apptime^endtime
+	;
+TIMEHL(HLIEN)	; $$ - Create a next available appointment time^ending time by HL; Private
+	; Input: HLIEN
+	; Output: Next available appointment time for the HLIEN
+	N LAST S LAST=$O(^SC(HLIEN,"S",""),-1)
+	Q $$FMADD^XLFDT(LAST,1,0,15,0) ; Add 1 day and 15 minutes
Index: Scheduling/trunk/m/BSDXUT1.m
===================================================================
--- Scheduling/trunk/m/BSDXUT1.m	(revision 1470)
+++ Scheduling/trunk/m/BSDXUT1.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDXUT1 ; VEN/SMH - Unit Tests for Scheduling GUI - cont. ; 7/3/12 12:28pm
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+BSDXUT1	; VEN/SMH - Unit Tests for Scheduling GUI - cont. ; 7/3/12 12:28pm
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	;
 	;
@@ -145,5 +145,5 @@
 	QUIT
 	;
-UT29 ; Unit Test for BSDX29
+UT29	; Unit Test for BSDX29
 	; HLs/Resources are created as part of the UT
 	; Patients 1,2,3,4,5 must exist
@@ -339,5 +339,5 @@
 	QUIT
 	;
-UT31 ; Unit Tests for BSDX31
+UT31	; Unit Tests for BSDX31
 	; Set-up - Create Clinics
 	N RESNAM S RESNAM="UTCLINIC"
Index: Scheduling/trunk/m/BSDXUT2.m
===================================================================
--- Scheduling/trunk/m/BSDXUT2.m	(revision 1470)
+++ Scheduling/trunk/m/BSDXUT2.m	(revision 1472)
@@ -1,4 +1,4 @@
-BSDXUT2 ; VEN/SMH - Unit Tests for Scheduling GUI - cont. ; 7/5/12 11:39am
-	;;1.7T1;BSDX;;Aug 31, 2011;Build 18
+BSDXUT2	; VEN/SMH - Unit Tests for Scheduling GUI - cont. ; 7/5/12 11:39am
+	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
 	;
 EN	; Run all unit tests in this routine
@@ -6,5 +6,5 @@
 	QUIT
 	;
-UT25 ; Unit Tests for BSDX25
+UT25	; Unit Tests for BSDX25
 	; Make appointment, checkin, then uncheckin
 	N $ET S $ET="W ""An Error Occured. Breaking."",! BREAK"
