ORWTPR	; SLC/STAFF Personal Preference - Reminders ; 4/20/07 10:00am
	;;3.0;ORDER ENTRY/RESULTS REPORTING;**85,173,215,243**;Oct 24, 2000;Build 242
	;
GETREM(VALUES,USER)	; from ORWTPP
	; get user's reminders
	N CLASS,CNT,ERR,IEN,NUM,OK,TMPLIST,ZERO K VALUES
	D GETLST^XPAR(.TMPLIST,"USR.`"_USER,"ORQQPX SEARCH ITEMS","Q",.ERR)
	S CNT=0,IEN=0 F  S IEN=$O(^PXD(811.9,IEN)) Q:IEN<1  S ZERO=$G(^(IEN,0)) I $L($P(ZERO,U,3)),'$P(ZERO,U,6) D
	.S CNT=CNT+1
	.S VALUES(CNT)=IEN_"^0^"_$P(ZERO,U,3)_U_$P(ZERO,U)
	.S CLASS=$P($G(^PXD(811.9,IEN,100)),U)
	.S $P(VALUES(CNT),U,5)=$S(CLASS="N":"NATIONAL",CLASS="L":"LOCAL",1:CLASS)
	.S OK=0,NUM=0 F  S NUM=$O(TMPLIST(NUM)) Q:NUM<1  D  Q:OK
	..I IEN=$P(TMPLIST(NUM),U,2) S OK=1
	.I OK S $P(VALUES(CNT),U,2)=$P(TMPLIST(NUM),U)
	Q
	;
SETREM(OK,VALUES,USER)	; from ORWTPP
	; save user's reminders
	N NUM,ERR
	S OK=1
	D NDEL^XPAR("USR.`"_USER,"ORQQPX SEARCH ITEMS",.ERR)
	S NUM=0 F  S NUM=$O(VALUES(NUM)) Q:NUM<1  D
	.D EN^XPAR(USER_";VA(200,","ORQQPX SEARCH ITEMS",$P(VALUES(NUM),U,1),"`"_$P(VALUES(NUM),U,2),.ERR)
	Q
	;
GETOC(VALUES,USER)	; from ORWTPP
	; get user's order checks
	N CNT,IEN,LIST,NUM,VAL,VALOK K LIST,VALUES
	S IEN=0 F  S IEN=$O(^ORD(100.8,IEN)) Q:IEN<1  D
	.S VAL=$$GET^XPAR("ALL","ORK PROCESSING FLAG",IEN,"I")
	.I '$L(VAL) Q
	.S VALOK=$$GET^XPAR("ALL","ORK EDITABLE BY USER",IEN,"I")
	.S LIST(IEN)=VAL_U_VALOK
	S NUM=0,CNT=0 F  S NUM=$O(LIST(NUM)) Q:NUM<1  D
	.S CNT=CNT+1
	.S VALUES(CNT)=NUM_U_$P($G(^ORD(100.8,NUM,0)),U)_U_$S($P(LIST(NUM),U)="E":"ON",1:"OFF")_U_$S($P(LIST(NUM),U,2)="0":"MANDATORY",1:"")
	Q
	;
SAVEOC(OK,VALUES,USER)	; from ORWTPP
	; save user's order checks
	N NUM,ERR
	S OK=1
	S NUM=0 F  S NUM=$O(VALUES(NUM)) Q:NUM<1  D
	.D EN^XPAR(USER_";VA(200,","ORK PROCESSING FLAG","`"_+VALUES(NUM),$S($P(VALUES(NUM),U,2)="ON":"E",1:"D"),.ERR)
	Q
	;
	;
GETNOT(VALUES,USER)	; from ORWTPP
	; get user's notifications
	N CNT,IEN,NAME,RESULT K VALUES
	S CNT=0
	S NAME="" F  S NAME=$O(^ORD(100.9,"B",NAME)) Q:NAME=""  D
	.S IEN=0  F  S IEN=$O(^ORD(100.9,"B",NAME,IEN)) Q:IEN<1  D
	..S RESULT=$$ONOFF^ORB3USER(IEN,USER,"","") I $L($G(RESULT)) D
	...S CNT=CNT+1
	...S VALUES(CNT)=IEN_U_NAME_U_$P(RESULT,U)_U_$S($$UP^XLFSTR($P(RESULT,U,3))["MANDATORY":"MANDATORY",1:"")
	Q
	;
SAVENOT(OK,VALUES,USER)	; from ORWTPP
	; save user's notifications
	N ERR,NUM
	S OK=1
	S NUM=0 F  S NUM=$O(VALUES(NUM)) Q:NUM<1  D
	.D EN^XPAR(USER_";VA(200,","ORB PROCESSING FLAG","`"_+VALUES(NUM),$S($P(VALUES(NUM),U,2)="ON":"E",1:"D"),.ERR)
	Q
	;
CLEARNOT(OK,USER)	; from ORWTPP
	; clear user's notifications
	D RECIPURG^XQALBUTL(USER)
	S OK=1
	Q
	;
GETNOTO(INFO,USER)	; from ORWTPP
	; get user's other info for notifications
	I $$GET^XPAR("USR.`"_USER,"ORB FLAGGED ORDERS BULLETIN",1,"Q")="Y" S $P(INFO,U,2)=1
	I $$GET^XPAR("ALL^USR.`"_USER,"ORB ERASE ALL",1,"Q") S $P(INFO,U,3)=1
	Q
	;
GETSURR(INFO,USER)	; from ORWTPP
	; get user's surrogate info
	N SURR
	D SUROLIST^XQALSURO(USER,.SURR)
	S INFO=$G(SURR(1))
	Q
	;
SAVESURR(OK,INFO,USER)	; from ORWTPP
	; save user's surrogate info
	N START,STOP,SURR,RET
	S OK=1
	S SURR=$P(INFO,U,1)
	S START=$P(INFO,U,2)
	S STOP=$P(INFO,U,3)
	S RET=$$SAVESURR^ORWTPUA(USER,SURR,START,STOP)
	I 'RET S OK="0^"_RET
	Q
	;
SAVENOTO(OK,INFO,USER)	; from ORWTPP
	; save user's notification settings
	N ERR,FLAG,VAL
	S OK=1
	S FLAG=$P(INFO,U,3)
	S VAL=$S(FLAG>0:"Y",1:"@")
	D EN^XPAR(USER_";VA(200,","ORB FLAGGED ORDERS BULLETIN",1,VAL,.ERR)
	Q
	;
OCDESC(TEXT,IEN)	; from RPC
	N CNT,LINE,NUM K TEXT
	S IEN=+$G(IEN) I IEN<1 Q
	S TEXT(1)=$P($G(^ORD(100.8,IEN,0)),U)
	S TEXT(2)=""
	S CNT=2
	S NUM=0 F  S NUM=$O(^ORD(100.8,IEN,1,NUM)) Q:NUM<1  S LINE=$G(^(NUM,0)) D
	.S CNT=CNT+1
	.S TEXT(CNT)=LINE
	S TEXT(CNT+1)=""
	Q
	;
NOTDESC(TEXT,IEN)	; from RPC
	K TEXT
	S IEN=+$G(IEN) I IEN<1 Q
	S TEXT(1)=$P($G(^ORD(100.9,IEN,0)),U)
	S TEXT(2)=""
	S TEXT(3)=$P($G(^ORD(100.9,IEN,4)),U)
	S TEXT(4)=""
	Q
