[623] | 1 | ORWTPT ; SLC/STAFF Personal Preference - Teams ;5/4/01 16:01
|
---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**85**;Oct 24, 2000
|
---|
| 3 | ;
|
---|
| 4 | GETTEAM(USERS,TEAM) ; RPC
|
---|
| 5 | ; returns members of a team
|
---|
| 6 | N CNT,NAME,NUM,USER K USERS
|
---|
| 7 | S TEAM=+$G(TEAM),CNT=0
|
---|
| 8 | S NUM=0 F S NUM=$O(^OR(100.21,TEAM,1,NUM)) Q:NUM<1 S USER=+$G(^(NUM,0)) D
|
---|
| 9 | .S NAME=$P($G(^VA(200,USER,0)),U)
|
---|
| 10 | .I '$L(NAME) Q
|
---|
| 11 | .S CNT=CNT+1
|
---|
| 12 | .S USERS(CNT)=USER_U_NAME
|
---|
| 13 | Q
|
---|
| 14 | ;
|
---|
| 15 | TEAMS(TEAMS,USER) ; from ORWTPP
|
---|
| 16 | ; returns all teams a user is a member of (exculdes personal lists)
|
---|
| 17 | N CNT,NUM,ZERO K TEAMS
|
---|
| 18 | S USER=+$G(USER),CNT=0
|
---|
| 19 | S NUM=0 F S NUM=$O(^OR(100.21,"C",USER,NUM)) Q:NUM<1 D
|
---|
| 20 | .S ZERO=$G(^OR(100.21,NUM,0))
|
---|
| 21 | .I $P(ZERO,U,2)="P" Q
|
---|
| 22 | .S CNT=CNT+1
|
---|
| 23 | .S TEAMS(CNT)=NUM_U_ZERO
|
---|
| 24 | Q
|
---|
| 25 | ;
|
---|
| 26 | PLISTS(TEAMS,USER) ; from ORWTPP
|
---|
| 27 | ; returns a user's personal lists
|
---|
| 28 | N CNT,NUM,ZERO K TEAMS
|
---|
| 29 | S USER=+$G(USER),CNT=0
|
---|
| 30 | S NUM=0 F S NUM=$O(^OR(100.21,"C",USER,NUM)) Q:NUM<1 D
|
---|
| 31 | .S ZERO=$G(^OR(100.21,NUM,0))
|
---|
| 32 | .I $P(ZERO,U,2)'="P" Q
|
---|
| 33 | .S CNT=CNT+1
|
---|
| 34 | .S TEAMS(CNT)=NUM_U_ZERO
|
---|
| 35 | Q
|
---|
| 36 | ;
|
---|
| 37 | PLTEAMS(TEAMS,USER) ; from ORWTPP
|
---|
| 38 | ; returns all teams and personal lists for a user
|
---|
| 39 | N CNT,NUM,ZERO K TEAMS
|
---|
| 40 | S USER=+$G(USER),CNT=0
|
---|
| 41 | S NUM=0 F S NUM=$O(^OR(100.21,"C",USER,NUM)) Q:NUM<1 D
|
---|
| 42 | .S ZERO=$G(^OR(100.21,NUM,0))
|
---|
| 43 | .S CNT=CNT+1
|
---|
| 44 | .S TEAMS(CNT)=NUM_U_ZERO
|
---|
| 45 | Q
|
---|
| 46 | ;
|
---|
| 47 | ATEAMS(TEAMS) ; RPC
|
---|
| 48 | ; all teams available to subscribe to
|
---|
| 49 | N CNT,NAME,NODE,NUM K TEAMS
|
---|
| 50 | S CNT=0
|
---|
| 51 | S NUM=0 F S NUM=$O(^OR(100.21,NUM)) Q:NUM<1 S NODE=$G(^(NUM,0)) D
|
---|
| 52 | .I $P(NODE,U,6)'="Y" Q
|
---|
| 53 | .I $P(NODE,U,2)="P" Q
|
---|
| 54 | .S CNT=CNT+1
|
---|
| 55 | .S TEAMS(CNT)=NUM_U_NODE ;$P(NODE,U)
|
---|
| 56 | Q
|
---|
| 57 | ;
|
---|
| 58 | ADDLIST(OK,VALUE,USER) ; from ORWTPP
|
---|
| 59 | ; adds a user to a team
|
---|
| 60 | N DA,DIC,DLAYGO,X,Y K DA,DIC,DLAYGO
|
---|
| 61 | S USER=+$G(USER)
|
---|
| 62 | S DA=USER,DA(1)=+$G(VALUE),OK=1
|
---|
| 63 | I '$D(^OR(100.21,DA(1),0)) Q
|
---|
| 64 | S DIC(0)="LM"
|
---|
| 65 | S DLAYGO=100.212
|
---|
| 66 | S X=$P($G(^VA(200,USER,0)),U)
|
---|
| 67 | S DIC="^OR(100.21,"_DA(1)_",1,"
|
---|
| 68 | D
|
---|
| 69 | .L +^OR(100.21,DA(1)):5 I '$T Q
|
---|
| 70 | .D ^DIC
|
---|
| 71 | .L -^OR(100.21,DA(1))
|
---|
| 72 | I Y=-1 S OK=0
|
---|
| 73 | K DA,DIC,DLAYGO
|
---|
| 74 | Q
|
---|
| 75 | ;
|
---|
| 76 | REMLIST(OK,VALUE,USER) ; from ORWTPP
|
---|
| 77 | ; removes a user from a team
|
---|
| 78 | N DA,DIK K DA
|
---|
| 79 | S DA=+$G(USER),DA(1)=+$G(VALUE),OK=1
|
---|
| 80 | I '$D(^OR(100.21,DA(1),0)) Q
|
---|
| 81 | S DIK="^OR(100.21,"_DA(1)_",1,"
|
---|
| 82 | D
|
---|
| 83 | .L +^OR(100.21,DA(1)):5 I '$T S OK=0 Q
|
---|
| 84 | .D ^DIK
|
---|
| 85 | .L -^OR(100.21,DA(1))
|
---|
| 86 | K DA,DIK
|
---|
| 87 | Q
|
---|
| 88 | ;
|
---|
| 89 | GETCOMBO(VALUES,USER) ; from ORWTPP
|
---|
| 90 | ; get user's combo list definition
|
---|
| 91 | N CNT,IEN,NAME,NODE,NUM,SOURCE K VALUES
|
---|
| 92 | S USER=+$G(USER)
|
---|
| 93 | I '$D(^OR(100.24,USER,0)) Q
|
---|
| 94 | S CNT=0
|
---|
| 95 | S NUM=0 F S NUM=$O(^OR(100.24,USER,.01,NUM)) Q:NUM<1 S NODE=$G(^(NUM,0)) D
|
---|
| 96 | .I '$L(NODE) Q
|
---|
| 97 | .S IEN=+NODE,SOURCE=$P(NODE,";",2),NAME=""
|
---|
| 98 | .D
|
---|
| 99 | ..I SOURCE="DIC(42," S SOURCE="WARD",NAME=$P($G(^DIC(42,IEN,0)),U) Q
|
---|
| 100 | ..I SOURCE="VA(200," S SOURCE="PROVIDER",NAME=$P($G(^VA(200,IEN,0)),U) Q
|
---|
| 101 | ..I SOURCE="DIC(45.7," S SOURCE="SPECIALTY",NAME=$P($G(^DIC(45.7,IEN,0)),U) Q
|
---|
| 102 | ..I SOURCE="OR(100.21," S SOURCE="LIST",NAME=$P($G(^OR(100.21,IEN,0)),U) Q
|
---|
| 103 | ..I SOURCE="SC(" S SOURCE="CLINIC",NAME=$P($G(^SC(IEN,0)),U) Q
|
---|
| 104 | ..I SOURCE="DIC(42," S SOURCE="WARD",NAME=$P($G(^DIC(42,IEN,0)),U) Q
|
---|
| 105 | .I '$L(NAME) Q
|
---|
| 106 | .S CNT=CNT+1
|
---|
| 107 | .S VALUES(CNT)=SOURCE_U_NAME_U_IEN
|
---|
| 108 | Q
|
---|
| 109 | ;
|
---|
| 110 | SETCOMBO(OK,VALUES,USER) ; from ORWTPP
|
---|
| 111 | ; set user's combo list definition
|
---|
| 112 | N CNT,DA,DIK,IEN,NUM,NVALUES,SOURCE,SOURCENM K NVALUES
|
---|
| 113 | S USER=+$G(USER),OK=1
|
---|
| 114 | I 'USER Q
|
---|
| 115 | S NUM=0 F S NUM=$O(VALUES(NUM)) Q:NUM<1 D
|
---|
| 116 | .S IEN=+VALUES(NUM),SOURCENM=$$UP^XLFSTR($P(VALUES(NUM),U,2)),SOURCE=""
|
---|
| 117 | .I 'IEN Q
|
---|
| 118 | .I SOURCENM="WARD" S SOURCE=";DIC(42,"
|
---|
| 119 | .I SOURCENM="PROVIDER" S SOURCE=";VA(200,"
|
---|
| 120 | .I SOURCENM="SPECIALTY" S SOURCE=";DIC(45.7,"
|
---|
| 121 | .I SOURCENM="LIST" S SOURCE=";OR(100.21,"
|
---|
| 122 | .I SOURCENM="CLINIC" S SOURCE=";SC("
|
---|
| 123 | .I '$L(SOURCE) Q
|
---|
| 124 | .S NVALUES(NUM)=IEN_SOURCE
|
---|
| 125 | I '$D(^OR(100.24,USER,0)) D I '$D(^OR(100.24,USER,0)) Q
|
---|
| 126 | .L +^OR(100.24,0):5 I '$T S OK=0 Q
|
---|
| 127 | .S ^OR(100.24,USER,0)=USER
|
---|
| 128 | .S $P(^OR(100.24,0),U,4)=$P(^OR(100.24,0),U,4)+1,$P(^(0),U,3)=USER
|
---|
| 129 | .L -^OR(100.24,0)
|
---|
| 130 | S CNT=0,DA=USER,DIK="^OR(100.24,"
|
---|
| 131 | L +^OR(100.24,USER,0):5 I '$T Q
|
---|
| 132 | K ^OR(100.24,USER,.01)
|
---|
| 133 | S NUM=0 F S NUM=$O(NVALUES(NUM)) Q:NUM<1 D
|
---|
| 134 | .S CNT=CNT+1
|
---|
| 135 | .S ^OR(100.24,USER,.01,CNT,0)=NVALUES(NUM)
|
---|
| 136 | S ^OR(100.24,USER,.01,0)="^100.241V^"_CNT_U_CNT
|
---|
| 137 | D IX1^DIK
|
---|
| 138 | L -^OR(100.24,USER,0)
|
---|
| 139 | K NVALUES
|
---|
| 140 | Q
|
---|