1 | RATRAN ;HISC/FPT AISC/DMK-Transcriptionist Report ;8/14/97 11:08
|
---|
2 | ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
|
---|
3 | ;
|
---|
4 | K ^TMP($J) S RATITLE="Transcriptionist",RAOUT=0
|
---|
5 | W !!?10,">>> IMAGING TRANSCRIPTIONIST WORKLOAD REPORT <<<",!
|
---|
6 | I $O(RACCESS(DUZ,""))="" D SETVARS^RAPSET1(0) S RAPSTX=""
|
---|
7 | I $O(RACCESS(DUZ,""))="" D ACCVIO^RAUTL19 Q
|
---|
8 | D SELDIV^RAUTL7
|
---|
9 | I '$D(^TMP($J,"RA D-TYPE"))!($G(RAQUIT)) D END Q
|
---|
10 | S A="" F S A=$O(^TMP($J,"RA D-TYPE",A)) Q:A="" S ^TMP($J,"RATWKL",A)=""
|
---|
11 | S RASW=$$ALLNOTH^RALWKL3()
|
---|
12 | I RASW="" D END Q
|
---|
13 | I RASW=0 D USER I '$D(^TMP($J,"RATRAN")) D END Q
|
---|
14 | I RASW=0 S RAFLDCNT=0,RALP="" F S RALP=$O(^TMP($J,"RATRAN",RALP)) Q:RALP="" S RALP1="" F S RALP1=$O(^TMP($J,"RATRAN",RALP,RALP1)) Q:RALP1'>0 S RAFLDCNT=RAFLDCNT+1
|
---|
15 | K RALP,RALP1
|
---|
16 | D DATE^RAUTL I RAPOP D END Q
|
---|
17 | S RABEG=BEGDATE-.0001,RAEND=ENDDATE+.9999
|
---|
18 | S ZTRTN="START^RATRAN",ZTDESC="Rad/Nuc Med TRANSCRIPT RPT",ZTSAVE("^TMP($J,""RATWKL"",")="",ZTSAVE("^TMP($J,""RATRAN"",")=""
|
---|
19 | F RASV="RABEG","RAEND","RAFLDCNT","RASW" S ZTSAVE(RASV)=""
|
---|
20 | D ZIS^RAUTL G END:RAPOP
|
---|
21 | ;
|
---|
22 | START ; start processing
|
---|
23 | U IO S:$D(ZTQUEUED) ZTREQ="@"
|
---|
24 | S QQ="",$P(QQ,"=",80)="=",(LCNT,RAOUT,RAPG)=0
|
---|
25 | S Y=RABEG+.0001 D D^RAUTL S RASTART=Y,Y=RAEND-.9999 D D^RAUTL S RAFINISH=Y
|
---|
26 | ; all transcriptionists
|
---|
27 | I RASW=1 S RADUZ=0 D
|
---|
28 | .F S RADUZ=$O(^RARPT("AD",RADUZ)) Q:RADUZ'>0 D Q:RAOUT
|
---|
29 | ..F I=RABEG:0 S I=$O(^RARPT("AD",RADUZ,I)) Q:I'>0!(I>RAEND) D Q:RAOUT
|
---|
30 | ...F J=0:0 S J=$O(^RARPT("AD",RADUZ,I,J)) Q:J'>0!(RAOUT) I $D(^RARPT(J,0)),$D(^("T")) D SET
|
---|
31 | ...Q
|
---|
32 | ..Q
|
---|
33 | .Q
|
---|
34 | ; selected transcriptionists
|
---|
35 | I 'RASW S RATRAN="" D
|
---|
36 | .F S RATRAN=$O(^TMP($J,"RATRAN",RATRAN)) Q:RATRAN="" S RADUZ=0 D Q:RAOUT
|
---|
37 | ..F S RADUZ=$O(^TMP($J,"RATRAN",RATRAN,RADUZ)) Q:RADUZ'>0 I $D(^RARPT("AD",RADUZ)) D Q:RAOUT
|
---|
38 | ...F I=RABEG:0 S I=$O(^RARPT("AD",RADUZ,I)) Q:I'>0!(I>RAEND) D Q:RAOUT
|
---|
39 | ....F J=0:0 S J=$O(^RARPT("AD",RADUZ,I,J)) Q:J'>0!(RAOUT) I $D(^RARPT(J,0)),$D(^("T")) D SET
|
---|
40 | ....Q
|
---|
41 | ...Q
|
---|
42 | ..Q
|
---|
43 | .Q
|
---|
44 | ;
|
---|
45 | GET ; get tmp global values
|
---|
46 | S RADIV=""
|
---|
47 | F S RADIV=$O(^TMP($J,"RATWKL",RADIV)) Q:RAOUT!(RADIV="") D HDR Q:RAOUT D:+^TMP($J,"RATWKL",RADIV)=0 NEGRPT S I="" F S I=$O(^TMP($J,"RADUZ",RADIV,I)) Q:RAOUT!(I="") D D:'RAOUT WRT
|
---|
48 | .S RACNT=$P(^(I),"^"),RANAME=$P(I,"/",1),RATCNT=$P(^(I),"^",2)
|
---|
49 | ;
|
---|
50 | END ; kill variables, close device
|
---|
51 | K A,BEGDATE,ENDDATE,I,J,LCNT,QQ,RABEG,RACNT,RADFN,RADIV,RADIVNME,RADTI,RADUZ,RADUZNME,RAEND,RAFINISH,RAFLDCNT,RAI
|
---|
52 | K RANAME,RAOUT,RAPG,RAPGM,RAPOP,RAQUIT,RARPTNDE,RASKIP,RASTART,RASV,RASW,RATCNT,RATITLE,RATRAN,X,Y,^TMP($J)
|
---|
53 | K:$D(RAPSTX) RACCESS,RAPSTX
|
---|
54 | D CLOSE^RAUTL
|
---|
55 | K A,DIRUT,DUOUT,I,POP,RAMES,RAOUT,RAPOP,RAPSTX,RAQUIT,RASW,RATITLE,ZTDESC,ZTRTN,ZTSAVE
|
---|
56 | Q
|
---|
57 | SET ; set tmp global
|
---|
58 | I $D(ZTQUEUED) D STOPCHK^RAUTL9 S:$G(ZTSTOP)=1 RAOUT=1 Q:RAOUT
|
---|
59 | S RADUZNME=$P($G(^VA(200,RADUZ,0)),U,1)
|
---|
60 | I RADUZNME="" Q
|
---|
61 | S RARPTNDE=$G(^RARPT(J,0)),RADFN=+$P(RARPTNDE,U,2),RADTI=9999999.9999-$P(RARPTNDE,U,3),RADTI=+RADTI
|
---|
62 | I '$D(^RADPT(+RADFN,"DT",RADTI)) Q
|
---|
63 | S RADIV=$P($G(^RADPT(+RADFN,"DT",RADTI,0)),U,3),RADIV=$P($G(^RA(79,+RADIV,0)),U,1),RADIVNME=$P($G(^DIC(4,+RADIV,0)),U,1)
|
---|
64 | I RADIVNME="" Q
|
---|
65 | I '$D(^TMP($J,"RATWKL",RADIVNME)) Q
|
---|
66 | I 'RASW,'$D(^TMP($J,"RATRAN",RADUZNME,RADUZ)) Q
|
---|
67 | S LCNT=+$$LCNT(J)
|
---|
68 | S RADUZNME=RADUZNME_"/"_RADUZ
|
---|
69 | I '$D(^TMP($J,"RADUZ",RADIVNME,RADUZNME)) S ^(RADUZNME)="0^0"
|
---|
70 | S RADUZ(0)=^TMP($J,"RADUZ",RADIVNME,RADUZNME)
|
---|
71 | S $P(RADUZ(0),"^")=$P(RADUZ(0),"^")+LCNT
|
---|
72 | S $P(RADUZ(0),"^",2)=$P(RADUZ(0),"^",2)+1
|
---|
73 | S ^TMP($J,"RADUZ",RADIVNME,RADUZNME)=RADUZ(0),^TMP($J,"RATWKL",RADIVNME)=^TMP($J,"RATWKL",RADIVNME)+1
|
---|
74 | K RADUZ(0)
|
---|
75 | Q
|
---|
76 | LCNT(J) ; Count lines in report text and impression text. If the number of
|
---|
77 | ; characters in either the report or impression text add up to a number
|
---|
78 | ; greater than zero and less than seventy five, assume that we have
|
---|
79 | ; seventy five characters.
|
---|
80 | N K,LCNT S (LCNT,LCNT("I"),LCNT("R"))=0
|
---|
81 | I $D(^RARPT(J,"I")) S K=0 F S K=$O(^RARPT(J,"I",K)) Q:K="" S LCNT("I")=$L(^RARPT(J,"I",K,0))+LCNT("I") ; count impression text chars
|
---|
82 | S:LCNT("I")&(LCNT("I")<75) LCNT("I")=75
|
---|
83 | I $D(^RARPT(J,"R")) S K=0 F S K=$O(^RARPT(J,"R",K)) Q:K="" S LCNT("R")=$L(^RARPT(J,"R",K,0))+LCNT("R") ; count report text characters
|
---|
84 | S:LCNT("R")&(LCNT("R")<75) LCNT("R")=75
|
---|
85 | ; the total number of lines equal the number of impression text chars
|
---|
86 | ; plus the number of report text chars divided by seventy five.
|
---|
87 | S LCNT=LCNT("I")+LCNT("R")
|
---|
88 | S LCNT=$J(LCNT/75,0,0)
|
---|
89 | Q LCNT
|
---|
90 | WRT ; write out counts
|
---|
91 | I ($Y+4)>IOSL S RAOUT=$$EOS^RAUTL5() Q:RAOUT D:$O(^TMP($J,"RADUZ",RADIV,I))]"" HDR Q:RAOUT
|
---|
92 | W !,RANAME,?50,RACNT,?67,RATCNT
|
---|
93 | I $O(^TMP($J,"RATWKL",RADIV))]"",$O(^TMP($J,"RADUZ",RADIV,I))="" S RAOUT=$$EOS^RAUTL5
|
---|
94 | Q
|
---|
95 | HDR ; header
|
---|
96 | W:$Y>0 @IOF,!?21,">>> IMAGING TRANSCRIPTION REPORT <<<" S RAPG=RAPG+1 W ?70,"PAGE: ",RAPG
|
---|
97 | W !?23,"Division: ",RADIV
|
---|
98 | W !?21,"Date Range: ",RASTART," - ",RAFINISH
|
---|
99 | W !,"# of Transcriptionists selected: ",$S($G(RAFLDCNT)>0:$G(RAFLDCNT),1:"ALL"),!
|
---|
100 | W !,"RADIOLOGY/NUCLEAR MEDICINE PERSONNEL",?44,"NUMBER OF LINES",?61,"NUMBER OF REPORTS"
|
---|
101 | W !,QQ,!
|
---|
102 | I $D(ZTQUEUED) D STOPCHK^RAUTL9 S:$G(ZTSTOP)=1 RAOUT=1
|
---|
103 | Q
|
---|
104 | USER ; select transcriptionists to appear in report
|
---|
105 | S RADIC="^VA(200,",RADIC(0)="AEMQZ",RADIC("A")="Select "_RATITLE_": ",RADIC("S")="I $D(^VA(200,+Y,""RAC"")),$D(^RARPT(""AD"",+Y))",RAUTIL="RATRAN"
|
---|
106 | D EN1^RASELCT(.RADIC,RAUTIL,"",RASW)
|
---|
107 | K RADIC,RAUTIL
|
---|
108 | Q
|
---|
109 | NEGRPT ; negative report message
|
---|
110 | W !!,"In this division there were no reports found for the transcriptionists selected."
|
---|
111 | I $O(^TMP($J,"RATWKL",RADIV))]"" S RAOUT=$$EOS^RAUTL5()
|
---|
112 | Q
|
---|