CRHD11 ; CAIRO/CLC - GET USERS PARAMETERS ;23-Mar-2008 13:13;CLC
 ;;1.0;CRHD;****;Jan 28, 2008;Build 19
 ;=================================================================
GETALLPL(CRHDRTN,DUZ,CRHDDIV) ;
 ;get a list of Parameters levels
 
CRHDPAR,CRHDTEAM,CRHDSRV,Y,CRHDX,CRHDIVIE,CRHDCT,CRHDMGR
 
CRHDI
 
MGR^CRHD7(.CRHDMGR,+DUZ)
 
+CRHDMGR GETMGRPL(.CRHDRTN,DUZQ
 S 
Y=-1
 
CRHDCT=1
 
TEAMS^ORWTPT(.CRHDTEAM,DUZ)
 
CRHDSRV=$$GET1^DIQ(200,DUZ_",",29,"E")
 
CRHDPAR="USR.`"_DUZ
 
LOOKUP^XPAREDIT(CRHDPAR,183)
 
;I (Y>0)&($$CKATNRES(+Y)) S CRHDRTN(CRHDCT)=Y_"^"_$$GETFENT($P(Y,"^",2),0,1)
 
Y>0 CRHDRTN(CRHDCT)=Y_"^"_$$GETFENT($P(Y,"^",2),0,1)
 
I $D(CRHDTEAMD
 
.CRHDI=0
 .
F  S CRHDI=$O(CRHDTEAM(CRHDI)) Q:'CRHDI  D
 
..Y=0,CRHDPAR="OTL.`"_+CRHDTEAM(CRHDILOOKUP^XPAREDIT(CRHDPAR,183)
 ..
Y>0 CRHDCT=CRHDCT+1,CRHDRTN(CRHDCT)=Y_"^"_$$GETFENT($P(Y,"^",2),0,1)
 
I $G(CRHDSRV)'="" Y=0,CRHDPAR="SRV."_CRHDSRV LOOKUP^XPAREDIT(CRHDPAR,183)
 
Y>0 CRHDCT=CRHDCT+1,CRHDRTN(CRHDCT)=Y_"^"_$$GETFENT($P(Y,"^",2),0,1)
 
'+$G(CRHDDIVCRHDDIV=+$$SITE^VASITE
 
Y=0,CRHDPAR="DIV.`"_+CRHDDIV LOOKUP^XPAREDIT(CRHDPAR,183)
 
Y>0 CRHDCT=CRHDCT+1,CRHDRTN(CRHDCT)=Y_"^"_$$GETFENT($P(Y,"^",2),0,1)
 
(Y<0) D
 
.CRHDIVIE=$O(^DIC(4,"D",CRHDDIV,0))
 .
CRHDIVIE Y=0,CRHDPAR="DIV.`"_CRHDIVIE LOOKUP^XPAREDIT(CRHDPAR,183)
 .
Y>0 CRHDCT=CRHDCT+1,CRHDRTN(CRHDCT)=Y_"^"_$$GETFENT($P(Y,"^",2),0,1)
 
Q
GETIT(CRHDRTN,CRHDMN) ;get all of the users PARameters 2
 
CRHDX2,CRHDCT,CRHDP,CRHDMGR
 
CRHDRTN
 
(CRHDP,CRHDCT)=0
 
;Q:'$$CKATNRES(+CRHDMN)
 
F  S CRHDP=$O(^CRHD(183,+CRHDMN,1,CRHDP)) Q:'CRHDP  D
 
.CRHDCT=CRHDCT+1
 .
I $P($G(^CRHD(183,+CRHDMN,1,CRHDP,0)),"^",2)="" D
 
..CRHDX2=0 F  S CRHDX2=$O(^CRHD(183,+CRHDMN,1,CRHDP,1,CRHDX2)) Q:'CRHDX2  D
 
...CRHDRTN(CRHDCT)=$P($G(^CRHD(183,+CRHDMN,1,CRHDP,0)),"^",1)_"^"_$G(^CRHD(183,+CRHDMN,1,CRHDP,1,CRHDX2,0))
 ...
CRHDCT=CRHDCT+1
 .
E  S CRHDRTN(CRHDCT)=$G(^CRHD(183,+CRHDMN,1,CRHDP,0))
 
Q
CKATNRES(CRHDN) ;Check for Resident and Student fields only exist
 ;0 - Resident and/or Student Parameters or no Parameters exist
 ;1 - if full setup
 ;I '$D(^CRHD(183,CRHDN)) Q 0
 ;I $D(^CRHD(183,CRHDN,1,0))&($P(^CRHD(183,CRHDN,1,0),"^",4)>2) Q 1
 ;E  Q 0
 ;
GETMGRPL(CRHDRTN,CRHDUSR) ;Get a list of preferences for Manager, excludes user levels- this could be to long
 
CRHDPNAM,CRHDMN,CRHDCT,CRHDMGR
 
CRHDCT=0
 
MGR^CRHD7(.CRHDMGR,+CRHDUSR)
 
Q:'CRHDMGR
 
CRHDPNAM=""
 
F  S CRHDPNAM=$O(^CRHD(183,"B",CRHDPNAM)) Q:CRHDPNAM=""  D
 
.CRHDMN=0
 .
F  S CRHDMN=$O(^CRHD(183,"B",CRHDPNAM,CRHDMN)) Q:'CRHDMN  D
 
..;Q:'$$CKATNRES(+CRHDMN)
 
..;S CRHDPFMT="^"_$P(CRHDPNAM,";",2)_+CRHDPNAM_",0)"
 
..CRHDPNAM[";" CRHDCT=CRHDCT+1,CRHDRTN(CRHDCT)=CRHDMN_"^"_CRHDPNAM_"^"_$$GETFENT(CRHDPNAM,0,1)
 
Q
GETFENT(CRHDE,CRHDN,CRHDP) ;Convert to file entry
 ;CRHDE = entity
 ;CRHDN = node
 ;CRHDP = piece
 
CRHDPFMT
 
CRHDPFMT="^"_$P(CRHDE,";",2)_+CRHDE_","_CRHDN_")"
 
Q $P($G(@CRHDPFMT),"^",CRHDP)
DEFPREF(CRHDRTN,CRHDUSR) ;Default preference for a user
 
CRHDE,CRHDOLST,CRHDX,Y,CRHDP
 
CRHDRTN
 
CRHDE="USR.`"_+CRHDUSR
 
;D GETLST^XPAR(.CRHDOLST,CRHDE,"CRHD DEFAULT PREFERENCE","E")
 
CRHDOLST=$$GET^XPAR(CRHDE,"CRHD DEFAULT PREFERENCE",1,"E")
 
CRHDOLST D
 
.'$$GET1^DIQ(183,+CRHDOLST_",",.01,"I"NDEL^XPAR("USR.`"_+CRHDUSR,"CRHD DEFAULT PREFERENCE"Q
 
.CRHDOLST'?.E1"|".CRHDRTN(1)=+CRHDOLST_"^"_$$GET1^DIQ(183,+CRHDOLST_",",.01,"I")_"^"_$$GET1^DIQ(183,+CRHDOLST_",",.01,"E")_"^DEF" Q
 
.CRHDRTN(1)=$P(CRHDOLST,"^",2)
 .
CRHDRTN(1)=$TR(CRHDRTN(1),"|","^")_"^D"
 
Q