ORWGAPIF	; SLC/STAFF - Graph Fast Data Retrieval ;11/1/06  12:49
	;;3.0;ORDER ENTRY/RESULTS REPORTING;**243**;Dec 17, 1997;Build 242
	;
FASTDATA(DATA,DFN)	; from ORWGAPI
	I '$G(DFN) Q
	D FAST(.DATA,DFN,"ALL DATA")
	Q
	;
FASTITEM(DATA,DFN)	; from ORWGAPI
	I '$G(DFN) Q
	D FAST(.DATA,DFN,"ALL ITEMS")
	Q
	;
FASTLABS(DATA,DFN)	; from ORWGAPI
	I '$G(DFN) Q
	D FAST(.DATA,DFN,"ALL LABS")
	Q
	;
FAST(DATA,DFN,SOURCE)	;
	I '$L($G(^XTMP("ORGRAPH",0))) Q
	I '$G(DFN) Q
	I '$G(DUZ) Q
	N OK,PATUSER
	S PATUSER=DFN_U_DUZ
	S OK=0
	I $L($O(^XTMP("ORGRAPH",SOURCE,PATUSER,""))) S OK=1
	D LOG(DFN,DUZ,SOURCE)
	I 'OK Q
	L +^XTMP("ORGRAPH",SOURCE,PATUSER):3 I '$T Q  ; wait 3 sec for merge
	S DATA=$NA(^XTMP("ORGRAPH",SOURCE,PATUSER))
	L -^XTMP("ORGRAPH",SOURCE,PATUSER)
	Q
	;
LOG(DFN,USER,SOURCE)	;
	N GOLD,GNOW,GSTAMP,PATUSER,LINE,SIZE
	S GOLD=$G(^XTMP("ORGDATA","QT",USER_U_DFN))
	I 'GOLD Q
	S GSTAMP=GOLD_U_USER_U_DFN
	S PATUSER=DFN_U_USER
	I '$D(^XTMP("ORGDATA","Q",GSTAMP)) Q
	S GNOW=$$MNOW^ORWGTASK
	S SIZE=0
	S LINE=""
	F  S LINE=$O(^XTMP("ORGRAPH",SOURCE,PATUSER,LINE)) Q:LINE=""  D
	. S SIZE=$L(^XTMP("ORGRAPH",SOURCE,PATUSER,LINE))+SIZE
	I SOURCE="ALL ITEMS" D  Q
	. S $P(^XTMP("ORGDATA","Q",GSTAMP),U,13)=SIZE
	. I $P($G(^XTMP("ORGDATA","Q",GSTAMP)),U,10)<1 D
	.. D GSTAMP^ORWGTASK(GSTAMP,GOLD,GNOW,9)
	. S $P(^XTMP("ORGDATA","Q",GSTAMP),U,10)=(1+$P($G(^XTMP("ORGDATA","Q",GSTAMP)),U,10))
	I SOURCE="ALL LABS" D  Q
	. S $P(^XTMP("ORGDATA","Q",GSTAMP),U,14)=SIZE
	. D GSTAMP^ORWGTASK(GSTAMP,GOLD,GNOW,11)
	I SOURCE="ALL DATA" D  Q
	. S $P(^XTMP("ORGDATA","Q",GSTAMP),U,15)=SIZE
	. D GSTAMP^ORWGTASK(GSTAMP,GOLD,GNOW,12)
	Q
	;
