1 | CRHD1 ; CAIRO/CLC - ADDED TO WORK WITH HAND OFF TEAM SECTION ;04-Mar-2008 16:00;CLC
|
---|
2 | ;;1.0;CRHD;****;Jan 28, 2008;Build 19
|
---|
3 | ;=================================================================
|
---|
4 | DELENTS(CRHDRTN,CRHDTM,CRHDTY,CRHDP) ;
|
---|
5 | ;delete a Hand off patient, provider, or team
|
---|
6 | N DA,DIK
|
---|
7 | K CRHDRTN
|
---|
8 | S CRHDRTN=0
|
---|
9 | N CRHDPIEN,CRHDN
|
---|
10 | S CRHDN=$S(CRHDTY="P":1,1:2)
|
---|
11 | S CRHDPIEN=$O(^CRHD(183.3,+CRHDTM,+CRHDN,"B",+CRHDP,0))
|
---|
12 | I CRHDPIEN S DIK="^CRHD(183.3,"_+CRHDTM_","_+CRHDN_",",DA(1)=+CRHDTM,DA=CRHDPIEN D ^DIK S CRHDRTN=1
|
---|
13 | Q
|
---|
14 | HOTMMGR(CRHDRTN,DUZ) ;
|
---|
15 | N CRHDKN,CRHDKEYS,CRHDOUT
|
---|
16 | S CRHDRTN=0
|
---|
17 | S CRHDKN=$$FIND1^DIC(19.1,"","X","CRHD HOT TEAM MGR","","","OUT")
|
---|
18 | D GETS^DIQ(200,DUZ_",","51*","I","CRHDOUT")
|
---|
19 | I CRHDKN>0 S CRHDRTN=$D(CRHDOUT(200.051,+CRHDKN_","_DUZ_","))
|
---|
20 | Q
|
---|
21 | HOTMMEM(CRHDRTN,CRHDTM,CRHDFRM,CRHDDIR,CRHDPFG) ;
|
---|
22 | ;Return a set of providers from the HOT Team list.
|
---|
23 | ;CRHDPFG - only return providers who have patients assigned to them
|
---|
24 | N CRHDPLST,CRHDN,CRHDMAX,CRHDORI,CRHDTL,CRHDPATS
|
---|
25 | K CRHDRTN
|
---|
26 | S CRHDRTN=""
|
---|
27 | I '$G(CRHDDIR) S CRHDDIR=1
|
---|
28 | S CRHDORI=0,CRHDMAX=44
|
---|
29 | I $G(CRHDPFG) D PP G NX
|
---|
30 | D HODLIST^CRHD9(.CRHDPLST,CRHDTM)
|
---|
31 | I $D(CRHDPLST) D
|
---|
32 | .S CRHDN=0
|
---|
33 | .F S CRHDN=$O(CRHDPLST(CRHDN)) Q:'CRHDN D
|
---|
34 | ..S CRHDTL($P(CRHDPLST(CRHDN),"^",2))=CRHDPLST(CRHDN)
|
---|
35 | NX I CRHDFRM'="",$D(CRHDTL(CRHDFRM)) S CRHDFRM=$E(CRHDFRM,1,$L(CRHDFRM)-1)
|
---|
36 | S CRHDN=CRHDFRM
|
---|
37 | F Q:CRHDORI'<CRHDMAX S CRHDN=$O(CRHDTL(CRHDN),CRHDDIR) Q:CRHDN="" D
|
---|
38 | .S CRHDORI=CRHDORI+1,CRHDRTN(CRHDORI)=CRHDTL(CRHDN)
|
---|
39 | Q
|
---|
40 | PP ;
|
---|
41 | N CRHDPATS,CRHDX
|
---|
42 | K CRHDPATS D HOTPRVPT(.CRHDPATS,CRHDTM,"")
|
---|
43 | I $D(CRHDPATS) D
|
---|
44 | .S CRHDX=0
|
---|
45 | .F S CRHDX=$O(CRHDPATS(CRHDX)) Q:'CRHDX D
|
---|
46 | ..S:'$D(CRHDTL($P(CRHDPATS(CRHDX),"^",1))) CRHDTL($P(CRHDPATS(CRHDX),"^",1))=$P(CRHDPATS(CRHDX),"^",2)_"^"_$P(CRHDPATS(CRHDX),"^",1)
|
---|
47 | Q
|
---|
48 | HOTMMEMS(CRHDRTN,CRHDTM,CRHDFRM,CRHDDIR,CRHDCLAS) ;
|
---|
49 | ;Return a subset of HO Team list
|
---|
50 | ;CRHDCLAS
|
---|
51 | ; ATTN:ATTENDING
|
---|
52 | ; RES:RESIDENT
|
---|
53 | ; INTERN:INTERN
|
---|
54 | ; FELLOW:FELLOW
|
---|
55 | ; STUD:MED STUDENT
|
---|
56 | N CRHDPLST,CRHDN,CRHDMAX,CRHDORI,CRHDTL
|
---|
57 | K CRHDRTN
|
---|
58 | I '$G(CRHDDIR) S CRHDDIR=1
|
---|
59 | S CRHDORI=0,CRHDMAX=44
|
---|
60 | D HOTMMEM(.CRHDPLST,CRHDTM,CRHDFRM,CRHDDIR)
|
---|
61 | I $D(CRHDPLST) D
|
---|
62 | .S CRHDN=0
|
---|
63 | .F S CRHDN=$O(CRHDPLST(CRHDN)) Q:'CRHDN D
|
---|
64 | ..I $G(CRHDCLAS)'="" I $P(CRHDPLST(CRHDN),"^",3)=CRHDCLAS S CRHDTL($P(CRHDPLST(CRHDN),"^",2))=CRHDPLST(CRHDN)
|
---|
65 | ..I $G(CRHDCLAS)="" S CRHDTL($P(CRHDPLST(CRHDN),"^",2))=CRHDPLST(CRHDN)
|
---|
66 | F Q:CRHDORI'<CRHDMAX S CRHDN=$O(CRHDTL(CRHDN),CRHDDIR) Q:CRHDN="" D
|
---|
67 | .S CRHDORI=CRHDORI+1,CRHDRTN(CRHDORI)=CRHDTL(CRHDN)
|
---|
68 | Q
|
---|
69 | HOTPRVPT(CRHDRTN,CRHDTM,CRHDPRV) ;
|
---|
70 | ;return list of patients from the HO team list provider
|
---|
71 | K CRHDRTN
|
---|
72 | N CRHDPLST,CRHDORI,CRHDMAX,CRHDP,CRHDTMPL,CRHDCT,CRHDI,CRHDN,CRHDNN,CRHDNNN
|
---|
73 | S CRHDORI=0,CRHDMAX=44
|
---|
74 | D HOPLIST^CRHD9(.CRHDPLST,CRHDTM)
|
---|
75 | I $D(CRHDPLST) D
|
---|
76 | .S CRHDN=0,CRHDCT=0
|
---|
77 | .F S CRHDN=$O(CRHDPLST(CRHDN)) Q:'CRHDN D
|
---|
78 | ..S CRHDP=$P(CRHDPLST(CRHDN),"*",2)
|
---|
79 | ..F CRHDI=2:1:$L(CRHDP,";") I +$P(CRHDP,";",CRHDI) D
|
---|
80 | ...I +CRHDPRV I +CRHDPRV=+$P(CRHDP,";",CRHDI) S CRHDCT=CRHDCT+1,CRHDTMPL($P($P(CRHDP,";",CRHDI),"^",2),+$P(CRHDP,";",CRHDI),CRHDCT)=$P(CRHDPLST(CRHDN),"*",1) Q
|
---|
81 | ...I 'CRHDPRV S CRHDCT=CRHDCT+1,CRHDTMPL($P($P(CRHDP,";",CRHDI),"^",2),+$P(CRHDP,";",CRHDI),CRHDCT)=$P(CRHDPLST(CRHDN),"*",1)
|
---|
82 | I $D(CRHDTMPL) D
|
---|
83 | .S CRHDN=""
|
---|
84 | .F Q:CRHDORI'<CRHDMAX S CRHDN=$O(CRHDTMPL(CRHDN)) Q:CRHDN="" D
|
---|
85 | ..S CRHDNN=0
|
---|
86 | ..F S CRHDNN=$O(CRHDTMPL(CRHDN,CRHDNN)) Q:'CRHDNN D
|
---|
87 | ...S CRHDNNN=0
|
---|
88 | ...F S CRHDNNN=$O(CRHDTMPL(CRHDN,CRHDNN,CRHDNNN)) Q:'CRHDNNN D
|
---|
89 | ....S CRHDORI=CRHDORI+1,CRHDRTN(CRHDORI)=CRHDN_"^"_CRHDNN_"^"_CRHDTMPL(CRHDN,CRHDNN,CRHDNNN)
|
---|
90 | Q
|
---|