BSDX06	; IHS/OIT/HMW - WINDOWS SCHEDULING RPCS ; 4/28/11 10:16am
	;;1.7T1;BSDX;;Jul 06, 2012;Build 18
	; Licensed under LGPL
	; Change Log:
	; UJO/SMH: July 15 2010: Change in BSDXSTART and BSDXEND: get
	; dates in FM format for i18n
	;
	;
TPBLKOV(BSDXY,BSDXSTART,BSDXEND,BSDXRES)	 ;EP
	;Called by BSDXD TYPE BLOCKS OVERLAP
	;(Duplicates old qryTypeBlocksOverlapB)
	;BSDXRES is resource name
	;
	;Test lines:
	;D TPBLKOV^BSDX06(.RES,"3030513","3030516","REMILLARD,MIKE") ZW RES
	;BSDX TYPE BLOCKS OVERLAP^303513^3030516^REMILLARD,MIKE
	;S ^HW("BSDXD06")=BSDXSTART_U_BSDXEND_U_BSDXRES
	;
	N BSDXERR,BSDXIEN,BSDXDEP,BSDXBS,BSDXI,BSDXNEND,BSDXNSTART,BSDXPEND,BSDXRESD,BSDXRESN,BSDXS,BSDXTPID,BSDXNOD,BSDXAD
	K ^BSDXTMP($J)
	S BSDXERR=""
	S BSDXY="^BSDXTMP("_$J_")"
	S ^BSDXTMP($J,0)="D00030StartTime^D00030EndTime^I00010AppointmentTypeID^I00010AvailabilityID^T00030ResourceName"_$C(30)
	S BSDXI=0
	D
	. S BSDXBS=0
	. I $L(BSDXEND,".")=1 S BSDXEND=BSDXEND+.9999 ;Go to end of day if only date (not time) is passed
	. S BSDXRESN=BSDXRES
	. Q:BSDXRESN=""
	. Q:'$D(^BSDXRES("B",BSDXRESN))
	. S BSDXRESD=$O(^BSDXRES("B",BSDXRESN,0))
	. Q:'+BSDXRESD
	. D STCOMM(BSDXRESN,BSDXRESD)
	. Q
	;
	S BSDXI=$G(BSDXI)+1
	S ^BSDXTMP($J,BSDXI)=$C(31)
	Q
	;
STCOMM(BSDXRESN,BSDXRESD)	;EP
	;
	Q:'$D(^BSDXAB("ARSCT",BSDXRESD))
	Q:'$D(^BSDXRES(BSDXRESD,0))
	;$O THRU "ARSCT" XREF OF ^BSDXAB
	S BSDXNEND=0,BSDXNSTART=0,BSDXPEND=0
	;Start at the beginning of the day -- AV Blocks can't overlap days
	S BSDXS=$P(BSDXSTART,"."),BSDXS=BSDXS-.0001
	F  S BSDXS=$O(^BSDXAB("ARSCT",BSDXRESD,BSDXS)) Q:'+BSDXS  Q:BSDXS>BSDXEND  D
	. S BSDXAD=0 F  S BSDXAD=$O(^BSDXAB("ARSCT",BSDXRESD,BSDXS,BSDXAD)) Q:'+BSDXAD  D
	. . Q:'$D(^BSDXAB(BSDXAD,0))
	. . S BSDXNOD=^BSDXAB(BSDXAD,0)
	. . S BSDXNSTART=$P(BSDXNOD,U,2)
	. . S BSDXNEND=$P(BSDXNOD,U,3)
	. . I BSDXNEND'>BSDXSTART Q
	. . S Y=BSDXNSTART X ^DD("DD") S BSDXNSTART=$TR(Y,"@"," ")
	. . S Y=BSDXNEND X ^DD("DD") S BSDXNEND=$TR(Y,"@"," ")
	. . S BSDXTPID=$P(BSDXNOD,U,5)
	. . S BSDXI=BSDXI+1
	. . S ^BSDXTMP($J,BSDXI)=BSDXNSTART_U_BSDXNEND_U_BSDXTPID_U_BSDXAD_U_BSDXRESN_$C(30)
	. . Q
	. Q
	Q
