| 1 | RART3 ;HISC/GJC,SWM-Reporting Menu (Part 2) ;8/31/99  13:57
 | 
|---|
| 2 |  ;;5.0;Radiology/Nuclear Medicine;**8,10,18,27,35,45,75**;Mar 16, 1998;Build 4
 | 
|---|
| 3 |  ; continue from RART1
 | 
|---|
| 4 |  ; last modif by SS for P18
 | 
|---|
| 5 | QRPT ; Queue the report to run
 | 
|---|
| 6 |  N X K IOP,%ZIS S %ZIS="Q",%ZIS("B")=""
 | 
|---|
| 7 |  S %ZIS("S")="I $E($P($G(^%ZIS(2,+$P($G(^(""SUBTYPE"")),""^""),0)),""^""),1,2)=""P-"""
 | 
|---|
| 8 |  W ! D ^%ZIS
 | 
|---|
| 9 |  I POP D Q6^RART1 Q
 | 
|---|
| 10 |  I $E(IOST,1,2)="P-",('$D(IO("Q"))) D
 | 
|---|
| 11 |  . D PRT^RARTR
 | 
|---|
| 12 |  . Q
 | 
|---|
| 13 |  I $D(IO("Q")) D
 | 
|---|
| 14 |  . K RANME,RAPRC,Y S U="^",DT=$S($G(DT)]"":DT,1:$$DT^XLFDT())
 | 
|---|
| 15 |  . S ZTDESC="Rad/Nuc Med Abnormal Report Alert",ZTRTN="PRT^RARTR"
 | 
|---|
| 16 |  . S:$D(RARTMES) ZTSAVE("RARTMES")=""
 | 
|---|
| 17 |  . F I="DT","RARPT","U" S ZTSAVE(I)=""
 | 
|---|
| 18 |  . D ^%ZTLOAD W:$D(ZTSK) "   Task # ",ZTSK
 | 
|---|
| 19 |  . K IO("Q"),ZTDESC,ZTRTN,ZTSAVE
 | 
|---|
| 20 |  . Q
 | 
|---|
| 21 |  W ! D ^%ZISC,HOME^%ZIS
 | 
|---|
| 22 |  D Q6^RART1,EXIT^RART
 | 
|---|
| 23 |  Q
 | 
|---|
| 24 | PHYS N RA2ND,R1,R2,RASTR
 | 
|---|
| 25 |  S (R1,R2)=0 F  S R2=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"SRR",R2)) Q:'R2  S:+$G(^(R2,0)) R1=R1+1,RA2ND("SRR",R1)=+^(0),RA2ND("SRR",R1)=$E($P($G(^VA(200,RA2ND("SRR",R1),0)),"^"),1,20)
 | 
|---|
| 26 |  S (R1,R2)=0 F  S R2=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"SSR",R2)) Q:'R2  S:+$G(^(R2,0)) R1=R1+1,RA2ND("SSR",R1)=+^(0),RA2ND("SSR",R1)=$E($P($G(^VA(200,RA2ND("SSR",R1),0)),"^"),1,20)
 | 
|---|
| 27 |  S R1=$E($P($G(^VA(200,+$P(R3,"^",15),0)),"^"),1,15)
 | 
|---|
| 28 |  S RASTR="Staff Phys: "_R1 S:R1]"" RASTR=RASTR_" (P)"
 | 
|---|
| 29 | PHYS1 I '$O(RA2ND("SSR",0)) W !,RASTR G PHYS2
 | 
|---|
| 30 |  S R1=0
 | 
|---|
| 31 | PHYS11 S R1=$O(RA2ND("SSR",R1)) G:R1="" PHYS19
 | 
|---|
| 32 |  I $L(RASTR)+$L(RA2ND("SSR",R1))>79 W !,RASTR,";" S RASTR="   "
 | 
|---|
| 33 |  S:RASTR]"   " RASTR=RASTR_"; " S RASTR=RASTR_RA2ND("SSR",R1) G PHYS11
 | 
|---|
| 34 | PHYS19 W:RASTR]"" !,RASTR
 | 
|---|
| 35 | PHYS2 S R1=$E($P($G(^VA(200,+$P(R3,"^",12),0)),"^"),1,15)
 | 
|---|
| 36 |  S RASTR="Residents : "_R1 S:R1]"" RASTR=RASTR_" (P)"
 | 
|---|
| 37 |  I '$O(RA2ND("SRR",0)) W !,RASTR Q
 | 
|---|
| 38 |  S R1=0
 | 
|---|
| 39 | PHYS21 S R1=$O(RA2ND("SRR",R1)) G:R1="" PHYS29
 | 
|---|
| 40 |  I $L(RASTR)+$L(RA2ND("SRR",R1))>79 W !,RASTR,";" S RASTR="   "
 | 
|---|
| 41 |  S:RASTR]"   " RASTR=RASTR_"; " S RASTR=RASTR_RA2ND("SRR",R1) G PHYS21
 | 
|---|
| 42 | PHYS29 W:RASTR]"" !,RASTR
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 | MODSET ; print modifiers of all cases of print set
 | 
|---|
| 45 |  N RACDIS,RALDIS,RACNISAV,RAMEMARR,R1
 | 
|---|
| 46 |  D EN2^RAUTL20(.RAMEMARR) Q:'$O(RAMEMARR(0))
 | 
|---|
| 47 |  S RACNISAV=RACNI,RACNI=0
 | 
|---|
| 48 |  D CDIS^RAPROD S (RAREZON,RACNI)=0
 | 
|---|
| 49 |  ;for printsets print the REASON FOR STUDY along with the lead procedure
 | 
|---|
| 50 |  ;(avoid duplicate printing of the same data)
 | 
|---|
| 51 |  F  S RACNI=$O(RAMEMARR(RACNI)) Q:'RACNI  D  Q:$L($G(X))  I $G(RAXIT) S X="^" Q
 | 
|---|
| 52 |  . S R1=$G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0))
 | 
|---|
| 53 |  . D MODS^RAUTL2
 | 
|---|
| 54 |  . ; If printing page at a time we need to check the length - RA*5*8
 | 
|---|
| 55 |  . I $Y>(IOSL-6),'$D(RARTVERF) S RAP="" D WAIT^RART1 I X="^"!(X="P")!(X="T") Q
 | 
|---|
| 56 |  . K X
 | 
|---|
| 57 |  . D OUT1 S RAREZON=1
 | 
|---|
| 58 |  . S:+$P(R1,"^",28) X=$$RDIO1^RARTUTL1(+$P(R1,"^",28))  Q:$L($G(X))
 | 
|---|
| 59 |  . S:+$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"RX",0)) X=$$PHARM1^RARTUTL(RACNI_","_RADTI_","_RADFN_",")
 | 
|---|
| 60 |  . W:$O(RAMEMARR(RACNI)) !
 | 
|---|
| 61 |  . Q
 | 
|---|
| 62 |  S RACNI=RACNISAV
 | 
|---|
| 63 |  W ! K RAREZON
 | 
|---|
| 64 |  Q
 | 
|---|
| 65 | OUT1 ; print Procedure name, CPT code, Procedure modifier, and CPT Modifiers
 | 
|---|
| 66 |  ; $O(RAMEMARR(0)) may be defined, if previously called MODSET^RART3
 | 
|---|
| 67 |  ; RALDIS flags long display wanted, comes from certain output options
 | 
|---|
| 68 |  ; RACDIS(n) exists if case n is to be displayed
 | 
|---|
| 69 |  ; RACDIS(n) not set for dupl proc+pmod+cptmod so don't display
 | 
|---|
| 70 |  ; If printset, skip if not long format or case not marked for cond.displ
 | 
|---|
| 71 |  I $O(RAMEMARR(0)),'$G(RALDIS),'$D(RACDIS(RACNI)) Q
 | 
|---|
| 72 |  N I,J,RACRF S RACRF=1
 | 
|---|
| 73 |  N RA18RET S RA18RET=0 ;P18
 | 
|---|
| 74 |  S R1=$G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0))
 | 
|---|
| 75 |  S RASTUDY=$P($G(^RAO(75.1,+$P(R1,U,11),.1)),U) ;Convey 'Reason for Study' P75
 | 
|---|
| 76 |  ; Check if cancelled and not part of this report
 | 
|---|
| 77 |  I $P(^RA(72,+$P(R1,"^",3),0),"^",3)=0,($P(R1,"^",17)="") Q
 | 
|---|
| 78 |  I $P(^RA(72,+$P(R1,"^",3),0),"^",3)=0 D
 | 
|---|
| 79 |  .W !,$S($G(RALDIS):"",'$D(RACDIS):"",$G(RACDIS(RACNI))=1:"",1:RACDIS(RACNI)_"x"),?4,$E($P($G(^RAMIS(71,+$P(R1,"^",2),0)),"^"),1,42)_" (cancelled)"
 | 
|---|
| 80 |  E  W !,$S($G(RALDIS):"",'$D(RACDIS):"",$G(RACDIS(RACNI))=1:"",1:RACDIS(RACNI)_"x"),?4,$P($G(^RAMIS(71,+$P(R1,"^",2),0)),"^")
 | 
|---|
| 81 |  D PRCCPT^RAPROD ;disp proc. abbr, proc type, & CPT
 | 
|---|
| 82 |  ;check for contrast media; display if CM data exists (patch 45)
 | 
|---|
| 83 |  S RACMDATA=$$CMEDIA^RAUTL8(RADFN,RADTI,RACNI)
 | 
|---|
| 84 |  I $L(RACMDATA) D
 | 
|---|
| 85 |  .W !?5,"Contrast Media :"
 | 
|---|
| 86 |  .F RAIZ=1:1 Q:$P(RACMDATA,", ",RAIZ)=""  D
 | 
|---|
| 87 |  ..W ?22,$P(RACMDATA,", ",RAIZ) W:$P(RACMDATA,", ",RAIZ+1)'="" !
 | 
|---|
| 88 |  ..I '$D(RARTVERF),$Y>(IOSL-5) S RAXIT=$$EOS^RAUTL5() S:RAXIT RA18RET=-1 Q:RAXIT  W @IOF W !
 | 
|---|
| 89 |  ..Q
 | 
|---|
| 90 |  .K RAIZ
 | 
|---|
| 91 |  .QUIT
 | 
|---|
| 92 |  K RACMDATA Q:RA18RET=-1  ;P18
 | 
|---|
| 93 |  W:Y'="None" !?5,"Proc Modifiers : ",Y
 | 
|---|
| 94 |  W:Y(1)'="None" !?5,"CPT Modifiers  :"
 | 
|---|
| 95 |  I Y(1)'="None" S RACRF=0 D
 | 
|---|
| 96 |  .F I=1:1 Q:$P(Y(2),", ",I)']""  S J=$P(Y(2),", ",I),J=$$BASICMOD^RACPTMSC(J,DT) W ?22,$P(J,"^",2)," ",$P(J,"^",3) W:$P(Y(2),", ",I+1)]"" ! I '$D(RARTVERF),$Y>(IOSL-5) S RAXIT=$$EOS^RAUTL5() S:RAXIT RA18RET=-1 Q:RAXIT  W @IOF W !
 | 
|---|
| 97 |  Q:RA18RET=-1
 | 
|---|
| 98 |  I $L(RASTUDY),$G(RAREZON,0)=0 W:RACRF ! S RACRF=0 D DIWP^RAUTL5(5,68,"Reason for Study: "_RASTUDY) ;P75
 | 
|---|
| 99 |  K RASTUDY
 | 
|---|
| 100 |  ;RATECHCO is defined in OPTION FILE's  ENTRY/EXIT ACTION
 | 
|---|
| 101 |  I $D(RATECHCO) W:RACRF ! S RA18RET=$$PUTTCOM^RAUTL11(RADFN,RADTI,RACNI,"     Tech.Comment   : ",22,70,7,0,0,2,0) S:RA18RET=-1 RAXIT=1 Q:RA18RET=-1  ;P18
 | 
|---|
| 102 |  Q
 | 
|---|