| 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
 | 
|---|