1 | SCMCTPU4 ;ALB/MJK - Team Position Dangler Bulletin ; 10-JUL-1998
|
---|
2 | ;;5.3;Scheduling;**148,177**;AUG 13, 1993
|
---|
3 | ;
|
---|
4 | BULL ; -- send bulletin (called from SCMCTPU3)
|
---|
5 | N XMY,XMTEXT,XMSUB,XMDUZ,SCLCNT
|
---|
6 | D INIT
|
---|
7 | D TEXT
|
---|
8 | IF 'SCSTOP D ^XMD
|
---|
9 | D FINAL
|
---|
10 | Q
|
---|
11 | ;
|
---|
12 | INIT ; -- set vars for bulletin
|
---|
13 | N SCPCT
|
---|
14 | S XMDUZ=.5
|
---|
15 | S XMY($S($G(DUZ):DUZ,1:XMDUZ))=""
|
---|
16 | S XMSUB="Patient Team Position Assignment Review"
|
---|
17 | K ^TMP("SCTPTEXT",$J)
|
---|
18 | S XMTEXT="^TMP(""SCTPTEXT"",$J,"
|
---|
19 | S SCLCNT=0
|
---|
20 | S SCPCT="0.00"
|
---|
21 | IF $G(SCNT("TOTAL")) S SCPCT=(+$G(SCNT("BAD"))/+$G(SCNT("TOTAL")))*100
|
---|
22 | ;
|
---|
23 | ; -- summary info
|
---|
24 | ;
|
---|
25 | D SET(" In order to correct the following active positions with discharged team")
|
---|
26 | D SET("assignments, please refer to the documentation for the Patient Team")
|
---|
27 | D SET("Position Assignment Review option found in the Stand-alone Options")
|
---|
28 | D SET("Section of the PCMM User Guide.")
|
---|
29 | D SET(" ")
|
---|
30 | ;
|
---|
31 | ;D SET(" ")
|
---|
32 | ;D SET(" Mode: "_$S(SCMODE=1:"Diagnostic Only",1:"Fix"))
|
---|
33 | ;
|
---|
34 | ; -- show teams
|
---|
35 | D SET(" Teams Reviewed: "_$S(SCTMLST=1:"All",1:""))
|
---|
36 | IF SCTMLST=0 D
|
---|
37 | . ; -- sort and set
|
---|
38 | . N SCTMI,X
|
---|
39 | . S SCTMI=0
|
---|
40 | . F S SCTMI=$O(SCTMLST(SCTMI)) Q:'SCTMI S X(SCTMLST(SCTMI)_SCTMI)=SCTMLST(SCTMI)
|
---|
41 | . S SCTMI=""
|
---|
42 | . F S SCTMI=$O(X(SCTMI)) Q:SCTMI="" D SET(" "_X(SCTMI))
|
---|
43 | . D SET(" ")
|
---|
44 | . Q
|
---|
45 | ;
|
---|
46 | D SET(" ")
|
---|
47 | D SET(" Patient Team Position Assignments Reviewed: "_$J(+$G(SCNT("TOTAL")),6))
|
---|
48 | D SET(" Number of Assignments with Problems : "_$J(+$G(SCNT("BAD")),6)_" ("_$J(SCPCT,6,2)_"%)")
|
---|
49 | D SET(" ")
|
---|
50 | D DASH("=")
|
---|
51 | Q
|
---|
52 | ;
|
---|
53 | FINAL ; -- clean up
|
---|
54 | K ^TMP("SCTPTEXT",$J)
|
---|
55 | Q
|
---|
56 | ;
|
---|
57 | TEXT ; -- set of mm array
|
---|
58 | N SCTMI,SCTPI,SCPTI,SCASDTI,SCPTAI
|
---|
59 | ;
|
---|
60 | ; -- sort is by team, position, patient, assign date, position assignment ien
|
---|
61 | ;
|
---|
62 | S SCSTOP=0
|
---|
63 | S SCTMI=""
|
---|
64 | F S SCTMI=$O(@SCERTMP@(SCTMI)) Q:SCTMI="" D Q:SCSTOP
|
---|
65 | . S SCTPI="" F S SCTPI=$O(@SCERTMP@(SCTMI,SCTPI)) Q:SCTPI="" D
|
---|
66 | . . S SCPTI="" F S SCPTI=$O(@SCERTMP@(SCTMI,SCTPI,SCPTI)) Q:SCPTI="" D
|
---|
67 | . . . S SCASDTI=0 F S SCASDTI=$O(@SCERTMP@(SCTMI,SCTPI,SCPTI,SCASDTI)) Q:'SCASDTI D
|
---|
68 | . . . . S SCTPAI=0 F S SCTPAI=$O(@SCERTMP@(SCTMI,SCTPI,SCPTI,SCASDTI,SCTPAI)) Q:'SCTPAI D PTA
|
---|
69 | . ;
|
---|
70 | . ; -- check if user asked job to stop
|
---|
71 | . IF $$S^%ZTLOAD() S (SCSTOP,ZTSTOP)=1
|
---|
72 | Q
|
---|
73 | ;
|
---|
74 | PTA ; -- process errors for team position assignment
|
---|
75 | N SCTP,SCTP0,SCTPNM
|
---|
76 | N SCTM,SCTM0,SCTMNM
|
---|
77 | N SCPT,SCPT0,SCPTNM,SCPTID
|
---|
78 | N SCTPA,SCTPA0,SCTPASDT,SCTPUNDT
|
---|
79 | N SCTMA,SCTMA0,SCTMASDT,SCTMUNDT
|
---|
80 | N SCER
|
---|
81 | ; -- get data
|
---|
82 | D DATA^SCMCTPU3(SCTPAI)
|
---|
83 | ;
|
---|
84 | ; -- set mm text
|
---|
85 | D SET(" Team: "_SCTMNM_" Position: "_SCTPNM)
|
---|
86 | D SET(" Patient: "_SCPTNM_" ("_SCPTID_")")
|
---|
87 | S SCER=0
|
---|
88 | F S SCER=$O(@SCERTMP@(SCTMI,SCTPI,SCPTI,SCASDTI,SCTPAI,SCER)) Q:'SCER D
|
---|
89 | . IF SCER=1 D
|
---|
90 | . . D SET(" Error: Position Assigned Date is BEFORE Team Assigned Date")
|
---|
91 | . . D SET(" Position Assigned Date: "_$$FMTE^XLFDT($E(SCTPASDT,1,7),"5Z"))
|
---|
92 | . . D SET(" Team Assigned Date: "_$$FMTE^XLFDT($E(SCTMASDT,1,7),"5Z"))
|
---|
93 | . ;
|
---|
94 | . IF SCER=2 D
|
---|
95 | . . D SET(" Error: Position Unassigned Date is AFTER Team Unassigned Date")
|
---|
96 | . . D SET(" Team Unassigned Date: "_$S(SCTMUNDT=9999999:"<none>",1:$$FMTE^XLFDT($E(SCTMUNDT,1,7),"5Z")))
|
---|
97 | . . D SET(" Position Unassigned Date: "_$S(SCTPUNDT=9999999:"<none>",1:$$FMTE^XLFDT($E(SCTPUNDT,1,7),"5Z")))
|
---|
98 | . ; -- do fix if selected
|
---|
99 | . IF SCMODE=2 D FIX
|
---|
100 | D DASH()
|
---|
101 | Q
|
---|
102 | ;
|
---|
103 | FIX ; -- fix team position assignment entry (future)
|
---|
104 | Q
|
---|
105 | ;
|
---|
106 | SET(X) ;
|
---|
107 | S SCLCNT=SCLCNT+1,^TMP("SCTPTEXT",$J,SCLCNT,0)=X
|
---|
108 | Q
|
---|
109 | ;
|
---|
110 | DASH(CHAR) ; -- send line of CHAR
|
---|
111 | N X
|
---|
112 | S $P(X,$E($G(CHAR,"-")),78)=""
|
---|
113 | D SET(" "_X)
|
---|
114 | Q
|
---|
115 | ;
|
---|