1 | RADLY1 ;HISC/GJC-Rad Daily Log Report ;5/7/97 13:50
|
---|
2 | ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
|
---|
3 | PRINT ; Output subroutine part one
|
---|
4 | S RA1=""
|
---|
5 | P1 S RA1=$O(^TMP($J,"RADLY",RA1)) Q:RA1']"" S RA2=""
|
---|
6 | S RADIV=$P($G(^DIC(4,RA1,0)),"^") D CKCHANGE Q:RAXIT
|
---|
7 | P2 S RA2=$O(^TMP($J,"RADLY",RA1,RA2)) I RA2']"" D DIVCHK Q:RAXIT G P1
|
---|
8 | S RAITYPE=RA2,RA3="" D CKCHANGE Q:RAXIT
|
---|
9 | P3 S RA3=$O(^TMP($J,"RADLY",RA1,RA2,RA3)) I RA3']"" D IMGCHK Q:RAXIT G P2
|
---|
10 | S RAILOC=RA3,RA4="" D CKCHANGE Q:RAXIT
|
---|
11 | P4 S RA4=$O(^TMP($J,"RADLY",RA1,RA2,RA3,RA4)) I RA4']"" D LOCCHK Q:RAXIT G P3
|
---|
12 | S RA5=""
|
---|
13 | P5 S RA5=$O(^TMP($J,"RADLY",RA1,RA2,RA3,RA4,RA5)) G:RA5']"" P4 S RA6=""
|
---|
14 | P6 S RA6=$O(^TMP($J,"RADLY",RA1,RA2,RA3,RA4,RA5,RA6)) G:RA6']"" P5 S RA0=$G(^(RA6))
|
---|
15 | D:RA0]"" PRT1 Q:RAXIT
|
---|
16 | G P6
|
---|
17 | HD ; Header
|
---|
18 | W:RAPG!($E(IOST,1,2)="C-") @IOF
|
---|
19 | S RAPG=RAPG+1 W !?(IOM-$L(RAHEAD)\2-5),RAHEAD,?RATAB(9),"Page: ",RAPG
|
---|
20 | ; raflg gets set after all records are printed,=1 if more than 1 div.
|
---|
21 | W:'$D(RAFLG) !,"Division : ",$S(RADIV]"":RADIV,1:"Unknown")
|
---|
22 | W:$D(RAFLG) !,"Division : "
|
---|
23 | W ?RATAB(9),"Date: ",RATDY
|
---|
24 | N RA12
|
---|
25 | S RA12=$S(RAILOC]"":RAILOC,1:"Unknown")
|
---|
26 | S:IOM<132 RA12=$E(RA12,1,30)
|
---|
27 | W:'$D(RAFLG) !,"Imaging Location : ",RA12," ("
|
---|
28 | W:$D(RAFLG) !,"Imaging Location :"
|
---|
29 | S RA12=$S(RAITYPE]"":RAITYPE,1:"Unknown")
|
---|
30 | S:IOM<132 RA12=$E(RA12,1,30)
|
---|
31 | W:'$D(RAFLG) RA12,")"
|
---|
32 | I IOM=132 D ; If 132 column
|
---|
33 | . W !,"Name",?RATAB(2),"Pt ID",?RATAB(3),"Time",?RATAB(4),"Ward/Clinic"
|
---|
34 | . W ?RATAB(5),"Procedure",?RATAB(6),"Exam Status",?RATAB(7),"Case#"
|
---|
35 | . W ?RATAB(8),"Reported",!,RALN
|
---|
36 | . Q
|
---|
37 | E D ; default to 80 column format
|
---|
38 | . W !,"Name",?RATAB(3),"Pt ID",?RATAB(5),"Ward/Clinic"
|
---|
39 | . W ?RATAB(7),"Procedure",!,?RATAB(2),"Exam Status",?RATAB(4),"Case #"
|
---|
40 | . W ?RATAB(6),"Time",?RATAB(8),"Reported",!,RALN
|
---|
41 | . Q
|
---|
42 | I $D(ZTQUEUED) D STOPCHK^RAUTL9 S:$G(ZTSTOP)=1 RAXIT=1
|
---|
43 | Q
|
---|
44 | PRT1 ; Output subroutine two
|
---|
45 | F I=1:1:7 D
|
---|
46 | . S @$P("RACN^RAPRC^RAST^RATME^RAWHE^RARPT^RASSN","^",I)=$P(RA0,"^",I)
|
---|
47 | . Q
|
---|
48 | I $Y>(IOSL-4) D Q:RAXIT
|
---|
49 | . S:$E(IOST,1,2)="C-" RAXIT=$$EOS^RAUTL5() D:'RAXIT HD
|
---|
50 | . Q
|
---|
51 | I IOM=132 D ; default to 132 column format
|
---|
52 | . W !,RA4,?RATAB(2),RASSN,?RATAB(3),RATME,?RATAB(4),RAWHE
|
---|
53 | . W ?RATAB(5),RAPRC,?RATAB(6),RAST,?RATAB(7),RACN,?RATAB(8),RARPT
|
---|
54 | . Q
|
---|
55 | E D ; If 80 column
|
---|
56 | . W !,RA4,?RATAB(3),RASSN,?RATAB(5),RAWHE,?RATAB(7),RAPRC
|
---|
57 | . W !?RATAB(2),RAST,?RATAB(4),RACN,?RATAB(6),RATME,?RATAB(8),RARPT
|
---|
58 | . Q
|
---|
59 | Q
|
---|
60 | KILL ; Kill variables
|
---|
61 | K %,%I,%X,%Y,DIC,I,RA0,RA1,RA2,RA3,RA4,RA5,RA6,RA7,RA8,RA9,RA10,RA11
|
---|
62 | K RACN,RACNI,RADFN,RADIV,RADIVNM,RADIVTY,RADTE,RADTI,RAEX,RAFLG,RAHEAD
|
---|
63 | K RAIMGTY,RAITYPE,RALDTI,RALDTX,RALN,RAMES,RANME,RAPG,RAPOP,RAPRC,RAPT
|
---|
64 | K RAQUIT,RARE,RARPT,RASSN,RAST,RATAB,RATDY,RATME,RAWHE,RAXIT,X,Y,ZTDESC
|
---|
65 | K RAILOC,RADIV0,RAITYPE0,RAILOC0
|
---|
66 | K ZTRTN,ZTSAVE K:$D(RAPSTX) RACCESS,RAPSTX,POP,DUOUT
|
---|
67 | K ^TMP($J,"RA D-TYPE"),^TMP($J,"RA I-TYPE"),^TMP($J,"RADLY")
|
---|
68 | K ^TMP($J,"RA LOC-TYPE"),^TMP($J,"DIV-ITYP-ILOC")
|
---|
69 | Q
|
---|
70 | DIVCHK ; Output statistics within division.
|
---|
71 | N RA7 I $Y>(IOSL-4) S RAXIT=$$EOS^RAUTL5() D:'RAXIT HD Q:RAXIT
|
---|
72 | W !?RATAB(2),"Division Total '"_RADIV_"': ",+$G(^TMP($J,"RADLY",RA1))
|
---|
73 | Q
|
---|
74 | IMGCHK ; Check for EOS on I-Type
|
---|
75 | N RA10 I $Y>(IOSL-4) S RAXIT=$$EOS^RAUTL5() D:'RAXIT HD Q:RAXIT
|
---|
76 | W !?RATAB(2),"Imaging Type Total '"_RAITYPE_"': ",+$G(^TMP($J,"RADLY",RA1,RAITYPE))
|
---|
77 | Q
|
---|
78 | LOCCHK ; Check for EOS on Loc-Type
|
---|
79 | N RA9 I $Y>(IOSL-4) S RAXIT=$$EOS^RAUTL5() D:'RAXIT HD Q:RAXIT
|
---|
80 | W !?RATAB(2),"Imaging Location Total '"_RAILOC_"': ",+$G(^TMP($J,"RADLY",RA1,RAITYPE,RAILOC))
|
---|
81 | Q
|
---|
82 | CKCHANGE ; Check for change in div/img-type/img-loc, for header
|
---|
83 | N A,RAPRTHD
|
---|
84 | S RAPRTHD=0 ;whether to print page header or not, 1=yes
|
---|
85 | S A=$P($G(^DIC(4,+RA1,0)),"^")
|
---|
86 | I $G(RA2)]"",$G(RA3)]"" S:A'=RADIV0 RAPRTHD=1
|
---|
87 | I $G(RA2)]"",$G(RA3)]"",RADIV0=A S:RA2'=RAITYPE0 RAPRTHD=1
|
---|
88 | I $G(RA3)]"",RAITYPE0=RA2 S:RA3'=RAILOC0 RAPRTHD=1
|
---|
89 | S RADIV0=A S:$G(RA2)]"" RAITYPE0=RA2 S:$G(RA3)]"" RAILOC0=RA3
|
---|
90 | Q:'RAPRTHD&($Y<(IOSL-5))
|
---|
91 | S:$E(IOST,1,2)="C-" RAXIT=$$EOS^RAUTL5()
|
---|
92 | D:'RAXIT HD
|
---|
93 | Q
|
---|
94 | SORT ; Gather/sort data
|
---|
95 | S RARE(0)=$G(^RADPT(RADFN,"DT",RADTI,0))
|
---|
96 | S RADIV=+$P(RARE(0),"^",3),RADIV("I")=+$P($G(^RA(79,RADIV,0)),"^")
|
---|
97 | S RADIV=$P($G(^DIC(4,RADIV("I"),0)),"^")
|
---|
98 | I RADIV']""!('$D(^TMP($J,"RA D-TYPE",RADIV))) Q ; no div
|
---|
99 | S RADIV=RADIV("I") K RADIV("I")
|
---|
100 | S RAITYPE=+$P(RARE(0),"^",2) Q:RAITYPE'>0
|
---|
101 | S RAITYPE=$P($G(^RA(79.2,RAITYPE,0)),"^")
|
---|
102 | Q:'$D(^TMP($J,"RA I-TYPE",RAITYPE)) ; no img type
|
---|
103 | S RAILOC=+$P(RARE(0),"^",4) Q:RAILOC'>0
|
---|
104 | S RAILOC=$P($G(^RA(79.1,RAILOC,0)),"^"),RAILOC=$P($G(^SC(+RAILOC,0)),"^")
|
---|
105 | Q:'$D(^TMP($J,"RA LOC-TYPE",RAILOC)) ;no img loc
|
---|
106 | S (RANME,RASSN)="Unknown",RAPT(0)=$G(^DPT(RADFN,0))
|
---|
107 | S RANME=$S($P(RAPT(0),"^")]"":$P(RAPT(0),"^"),1:RANME)
|
---|
108 | S RASSN=$$SSN^RAUTL,RANME=$E(RANME,1,23)
|
---|
109 | F RACNI=0:0 S RACNI=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI)) Q:'RACNI D Q:RAXIT
|
---|
110 | . D:$D(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0)) SET^RADLY
|
---|
111 | . Q
|
---|
112 | Q
|
---|
113 | ZEROUT ; zero out the ^tmp($j,"RADLY"
|
---|
114 | ; loop throu raccess(duz,"DIV,ITYP-ILOC",divname,imgtypename,imglocname)
|
---|
115 | ; THIS SECTION REPLACES THE ORIGINAL CALL TO ZEROUT^RADLQ3("RADLY")
|
---|
116 | ; so to ensure that locations not assigned to the user will be
|
---|
117 | ; zeroed out, if those locations share the same imaging types that
|
---|
118 | ; his assigned locations have
|
---|
119 | N X,Y,Z,X1
|
---|
120 | S X=""
|
---|
121 | ZER1 S X=$O(RACCESS(DUZ,"DIV-ITYP-ILOC",X)) Q:X="" ;eg. "cgo (ws)"
|
---|
122 | S Y="",X1=$O(^DIC(4,"B",X,0)) ; eg. 639
|
---|
123 | ZER2 S Y=$O(RACCESS(DUZ,"DIV-ITYP-ILOC",X,Y)) G:Y="" ZER1 S Z="" ;eg. "gen rad"
|
---|
124 | ZER3 S Z=$O(RACCESS(DUZ,"DIV-ITYP-ILOC",X,Y,Z)) G:Z="" ZER2 ;eg. "x-ray"
|
---|
125 | S ^TMP($J,"RADLY",X1,Y,Z)=0
|
---|
126 | G ZER3
|
---|