RADRPT1A ;HISC/GJC Radiation dosage report utility one A ;01 Aug 2017 1:26 PM
 ;;5.0;Radiology/Nuclear Medicine;**113,119**;Mar 16, 1998;Build 7
 ;
 ;--- IAs ---
 ;Call/File             Number     Type
 ;------------------------------------------------
 ;$$SS^%ZTLOAD          10063      S
 ;$$GET1^DIQ            2056       S
 ;GETS^DIQ              2056       S
 ;$$FMTE^XLFDT          10103      S
 ;$$NOW^XLFDT           10103      S
 ;$$CJ^XLFSTR           10104      S
 ;^DPT(                 10035      S
 ;^VA(200,              10060      S
 ;where 'S'=Supported; 'C'=Controlled Subscription; 'P'=Private
 ;
EN ;entry point
 ; variables saved
 ;----------------
 ; ^TMP($J,"RAEX",n)=IEN 70.3 ^ RADFN ^ Exam Date ^ inv. Exam Date (IEN 70.02)
 ;                     ^ Case Number ^ IEN EXAMINATIONS (70.03) ^ Report (if none null)
 S (RAI,RAP,RAQUIT)=0
 S RANODT=$$FMTE^XLFDT($$NOW^XLFDT(),"1M")
 S RATITLE=$$CJ^XLFSTR("Patient Profile With Radiation Dose Data",IOM)
 ;RAX = field numbers returned 70.03 level
 S RAX=".01:4;6:8;9;9.5;12:16;19;125*" ;*** see DD map of 70.03 ***
 S $P(RABORDR,"=",(IOM+1))="",$P(RALINE,"-",(IOM+1))=""
 S RATAB(1)=2,RATAB(2)=14,RATAB(3)=38,RATAB(4)=49
 S RATAB(5)=16,RATAB(6)=38,RATAB(7)=51
 ;
 K RAZDFN D GETS^DIQ(2,RADFN_",",".01;.09","E","RAZDFN")
 S RA("NAME")=$E(RAZDFN(2,RADFN_",",".01","E"),1,30)
 S X=RAZDFN(2,RADFN_",",".09","E"),RA("PID")=X
 ;RA("PID") is the full SSN just like VA("PID")
 S X1=$E(X,($L(X)-3),$L(X))
 ;RA("BID") is the last four of the SSN just like VA("BID")
 S RA("BID")=X1 K RAZDFN,X,X1
 ;
 K ^TMP($J,"RA DISCLAIMER") D DISCLAIM^RADRPT2A
 ;
 F  S RAI=$O(^TMP($J,"RAEX",RAI)) Q:'RAI  D  Q:RAQUIT
 .S Y=$G(^TMP($J,"RAEX",RAI))
 .F I=1:1:7 S @$P("RARAD^RADFN^RADTE^RADTI^RACN^RACNI^RARPT","^",I)=$P(Y,"^",I)
 .;RARAD = IEN file 70.3; RARPT = IEN of the report for this study
 .S RAY2=$G(^RADPT(RADFN,"DT",RADTI,0)) Q:RAY2=""
 .S RAY3=$G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0)) Q:RAY3=""
 .S RAORD(0)=$G(^RAO(75.1,+$P(RAY3,U,11),0))
 .;fluoro data on 0 node
 .S RARAD(0)=$G(^RAD(RARAD,0)) Q:RARAD(0)=""
 .S RAIEN=RADTI_","_RADFN_"," K RAY2A,RAY3A
 .D GETS^DIQ(70.02,RAIEN,".01:4","E","RAY2A")
 .S RAIENS=RACNI_","_RADTI_","_RADFN_","
 .D GETS^DIQ(70.03,RAIENS,RAX,"E","RAY3A")
 .S RA("RACN")=$$CN() ; case # accession #
 .;
 .;--- header for first page only ---
 .S RAPG=1 W @IOF,!,RATITLE
 .W !,"Date: ",RANODT,?69,"Page: ",RAPG
 .W !,RABORDR
 .;
 .;--- name and SSN (last four) ---
 .W !?RATAB(1),"Name",?RATAB(2),": ",RA("NAME"),"    ",RA("BID")
 .;
 .W !?RATAB(1),"Division",?RATAB(2),": ",$E(RAY2A(70.02,RAIEN,"3","E"),1,21)
 .W ?RATAB(3),"Category",?RATAB(4),": ",$E(RAY3A(70.03,RAIENS,"4","E"),1,27)
 .W !?RATAB(1),"Location",?RATAB(2),": ",$E(RAY2A(70.02,RAIEN,"4","E"),1,21)
 .W ?RATAB(3),"Ward",?RATAB(4),": ",$E(RAY3A(70.03,RAIENS,"6","E"),1,27)
 .W !?RATAB(1),"Exam Date",?RATAB(2),": ",$E(RAY2A(70.02,RAIEN,".01","E"),1,21)
 .W ?RATAB(3),"Service",?RATAB(4),": ",$E(RAY3A(70.03,RAIENS,"7","E"),1,27)
 .W !?RATAB(1),"Case No.",?RATAB(2),": ",$$CN() ;16 digits max
 .W ?RATAB(3),"Bedsection",?RATAB(4),": ",$E(RAY3A(70.03,RAIENS,"19","E"),1,27)
 .W !?RATAB(3),"Clinic",?RATAB(4),": ",$E(RAY3A(70.03,RAIENS,"8","E"),1,27)
 .W:$E(RAY3A(70.03,RAIENS,"4","E"),1)="C" !?RATAB(3),"Contract",?RATAB(4),": ",$E(RAY3A(70.03,RAIENS,"9","E"),1,27)
 .W:$E(RAY3A(70.03,RAIENS,"4","E"),1)="S" !?RATAB(3),"Sharing",?RATAB(4),": ",$E(RAY3A(70.03,RAIENS,"9","E"),1,27)
 .W:$E(RAY3A(70.03,RAIENS,"4","E"),1)="R" !?RATAB(3),"Research",?RATAB(4),": ",$E(RAY3A(70.03,RAIENS,"9.5","E"),1,27)
 .W !,RALINE ;spacer
 .S RAOPRC=$$GET1^DIQ(71,+$P(RAORD(0),U,2)_",",.01) ;name of ordered proc.
 .S RAPRC=$$GET1^DIQ(71,+$P(RAY3,U,2)_",",.01) ;name of registered proc.
 .W !?RATAB(1),"Registered",?RATAB(2),": ",$E(RAPRC,1,30),?RATAB(4),$$PRC(+$P(RAY3,U,2))
 .W:RAPRC'=RAOPRC !?RATAB(1),"Requested",?RATAB(2),": ",$E(RAOPRC,1,60)
 .S RA("PHYS")=$$GET1^DIQ(200,+$P(RAY3,U,14)_",",.01) ;name of requesting physician
 .S RA("EXS")=$P($G(^RA(72,+$P(RAY3,U,3),0)),U) ;exam status
 .S RA("PIR")=$$GET1^DIQ(200,+$P(RAY3,U,12)_",",.01) ;name of primary interpreting resident
 .I $P(RAY3,U,17)>0 D
 ..S RA("RPT")=$$GET1^DIQ(74,+$P(RAY3,U,17)_",",5)
 ..S RA("RPT")=$S($G(RA("RPT"))'="":RA("RPT"),1:"No Report")
 ..S RA("PREVFIER")=+$P($G(^RARPT(+$P(RAY3,U,17),0)),U,13) ;13th piece fld #15
 ..S RA("PREVFIER")=$$GET1^DIQ(200,+RA("PREVFIER")_",",.01) ;name of requesting physician
 ..S RA("PREVFIED")=$S(RA("PREVFIER")'="":RA("PREVFIER"),1:"No") K RA("PREVFIER")
 ..Q
 .S RA("CAM")=$S(+$P(RAY3,U,18)>0:$P($G(^RA(78.6,+$P(RAY3,U,18),0)),U),1:"") ;cam/eq/rm
 .S RA("PIS")=$$GET1^DIQ(200,+$P(RAY3,U,15)_",",.01) ;name of primary interpreting staff
 .S RA("DX")=$S(+$P(RAY3,U,13)>0:$P($G(^RA(78.3,+$P(RAY3,U,13),0)),U),1:"")
 .S RA("TECH")=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"TC",0))
 .I RA("TECH") D
 ..S RA("T")=+$P($G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"TC",RA("TECH"),0)),U)
 ..S RA("TECH")=$$GET1^DIQ(200,RA("T")_",",.01) ;name of technologist
 ..K RA("T")
 ..QUIT
 .S RA("CMP")=$E(RAY3A(70.03,RAIENS,"16","E"),1,27)
 .W !?RATAB(1),"Requesting Phy",?RATAB(5),": ",$E(RA("PHYS"),1,18)
 .W ?RATAB(6),"Exam Status",?RATAB(7),": ",$E(RA("EXS"),1,27)
 .W !?RATAB(1),"Int'g Resident",?RATAB(5),": ",$E(RA("PIR"),1,18)
 .W ?RATAB(6),"Report Status",?RATAB(7),": ",$E($G(RA("RPT")),1,27)
 .W !?RATAB(1),"Pre-Verified",?RATAB(5),": ",$E($G(RA("PREVFIED")),1,18)
 .W ?RATAB(6),"Cam/Equip/Rm",?RATAB(7),": ",$E(RA("CAM"),1,27)
 .W !?RATAB(1),"Int'g Staff",?RATAB(5),": ",$E(RA("PIS"),1,18)
 .W ?RATAB(6),"Diagnosis",?RATAB(7),": ",$E(RA("DX"),1,27)
 .W !?RATAB(1),"Technologist",?RATAB(5),": ",$E($G(RA("TECH")),1,18)
 .W ?RATAB(6),"Complication",?RATAB(7),": ",$E(RA("CMP"),1,27)
 .I $P(RAORD(0),U,13)'="" W !?RATAB(1),"Pregnant at time of order entry: "_$$GET1^DIQ(75.1,+$P(RAY3,U,11)_",",13)
 .;
 .;--------- get procedure modifiers/CPT Modifiers ---------------
 .S RALBL="Modifiers",RAHDR=$$CJ^XLFSTR(RALBL,IOM,"-")
 .W !,RAHDR,!?RATAB(1),RALBL,?RATAB(5),": "
 .I $O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"M",0)) D  K RAL,RAS
 ..S RAL=$O(RAY3A("70.1",$C(126)),-1)
 ..S RAS="" F  S RAS=$O(RAY3A("70.1",RAS)) Q:RAS=""  D  Q:RAQUIT
 ...I $Y>(IOSL-4) D HDR Q:RAQUIT
 ...W ?18,$E($G(RAY3A("70.1",RAS,.01,"E")),1,30)
 ...W:RAL'=RAS ! ;more data
 ...Q
 ..Q
 .E  W "None"
 .Q:RAQUIT
 .S RALBL="CPT Modifiers" W !?RATAB(1),RALBL,?RATAB(5),": "
 .I $O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CMOD",0)) D  K RACPT,RAL,RALBL,RAS,RAX99,Y
 ..;EX: - RACPT("70.3135","1,1,6889176.8884,76,",".01","I")=4
 ..D GETS^DIQ(70.03,RAIENS,"135*","I","RACPT")
 ..S RAL=$O(RACPT("70.3135",$C(126)),-1)
 ..S RAS="" F  S RAS=$O(RACPT("70.3135",RAS)) Q:RAS=""  D  Q:RAQUIT
 ...I $Y>(IOSL-4) D HDR Q:RAQUIT
 ...;EX - RAX99="4^23^UNUSUAL ANESTHESIA^09923^C^2930101^1^^2930101^"
 ...S Y=$G(RACPT("70.3135",RAS,.01,"I")),RAX99=""
 ...S:Y RAX99=$$BASICMOD^RACPTMSC(Y,RADTE)
 ...W ?18,$P(RAX99,U,2)," ",$P(RAX99,U,3)
 ...W:RAL'=RAS !
 ...Q
 ..Q
 .E  W "None"
 .Q:RAQUIT
 .;
 .;-------------------- get Contrast Media --------------------------
 .I $O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CM",0)) D  K RACM,RAL,RALBL,RAS
 ..S RALBL="Contrast Media",RAHDR=$$CJ^XLFSTR(RALBL,IOM,"-")
 ..W !,RAHDR,!?RATAB(1),RALBL,?RATAB(5),": "
 ..D GETS^DIQ(70.03,RAIENS,"225*","E","RACM")
 ..S RAL=$O(RACM("70.3225",$C(126)),-1)
 ..S RAS="" F  S RAS=$O(RACM("70.3225",RAS)) Q:RAS=""  D  Q:RAQUIT
 ...I $Y>(IOSL-4) D HDR Q:RAQUIT
 ...W ?18,$E($G(RACM("70.3225",RAS,.01,"E")),1,30)
 ...W:RAL'=RAS ! ;more data
 ...Q
 ..Q
 .Q:RAQUIT
 .;
 .;----------------------- get Medications ------------------------------
 .I $O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"RX",0)) D  K RAS,RAMED
 ..S RAHDR=$$CJ^XLFSTR("Medications",IOM,"-") W !,RAHDR
 ..K RAMED D GETS^DIQ(70.03,RAIENS,"200*","E","RAMED")
 ..S RAL=$O(RAMED("70.15",$C(126)),-1)
 ..S RAS="" F  S RAS=$O(RAMED("70.15",RAS)) Q:RAS=""  D  Q:RAQUIT
 ...I $Y>(IOSL-4) D HDR Q:RAQUIT
 ...W !?RATAB(1),"Med: ",$E($G(RAMED("70.15",RAS,.01,"E")),1,28)
 ...W ?RATAB(3),"Dose Adm'd: ",$E($G(RAMED("70.15",RAS,2,"E")),1,25)
 ...W !?RATAB(1),"Adm'd by: ",$E($G(RAMED("70.15",RAS,3,"E")),1,24)
 ...W ?RATAB(3),"Date Adm'd: ",$E($G(RAMED("70.15",RAS,4,"E")),1,20)
 ...W:RAS'=RAL ! ;more data
 ...Q
 ..Q
 .Q:RAQUIT
 .;
 .;----------------------- get Radiopharms ------------------------------
 .I $P(RAY3,U,28)>0 D  K RADA,RADIO,RAS,RAU
 ..;#500 NUCLEAR MED DATA
 ..S RADA=$P(RAY3,U,28)_",",RAHDR=$$CJ^XLFSTR("Radiopharmaceuticals",IOM,"-")
 ..W !,RAHDR K RADIO S RAS=""
 ..D GETS^DIQ(70.2,RADA_",","100*","E","RADIO")
 ..S RAL=$O(RADIO("70.21",$C(126)),-1)
 ..F  S RAS=$O(RADIO("70.21",RAS)) Q:RAS=""  D  Q:RAQUIT
 ...I $Y>(IOSL-4) D HDR Q:RAQUIT
 ...S RAU=0 F  S RAU=$O(RADIO("70.21",RAS,RAU)) Q:RAU'>0  D  Q:RAQUIT
 ....I $Y>(IOSL-4) D HDR Q:RAQUIT
 ....S RAU(0)=$$TRN1^RAPROD2(RAU)_$G(RADIO("70.21",RAS,RAU,"E"))
 ....S RAU(0)=RAU(0)_$S(RAU=2:" mCi",RAU=4:" mCi",RAU=7:" mCi",1:"")
 ....W !?RATAB(1),$E(RAU(0),1,28)
 ....S RAU=$O(RADIO("70.21",RAS,RAU))
 ....S:RAU'>0 RAU=$C(32) Q:RAU=$C(32)
 ....S RAU(1)=$$TRN1^RAPROD2(RAU)_$G(RADIO("70.21",RAS,RAU,"E"))
 ....S RAU(1)=RAU(1)_$S(RAU=2:" mCi",RAU=4:" mCi",RAU=7:" mCi",1:"")
 ....W ?RATAB(4),$E(RAU(1),1,27)
 ....Q
 ...W:RAS'=RAL ! ;more data
 ...Q
 ..Q
 .Q:RAQUIT
 .;
 .;----------------------- get Rad Dose (fluoro) --------------------
 .I $P(RARAD(0),U,5)'=""!($P(RARAD(0),U,6)'="") D  ;air kerma OR air kerma area product
 ..S RAHDR=$$CJ^XLFSTR("Rad Dose",IOM,"-"),RAZFL=""
 ..S RACOL(1)="Air Kerma (mGy)"
 ..S RACOL(2)="Air Kerma Area Product (Gy-cm2)"
 ..S RACOL(3)="Fluoro Time (min)" ;note: data is in seconds
 ..W !,RAHDR
 ..I $Y>(IOSL-4) D HDR Q:RAQUIT
 ..W !?RATAB(1),RACOL(1),?24,RACOL(2),?60,RACOL(3)
 ..S $P(XRA,"-",($L(RACOL(1))+1))="" W !?RATAB(1),XRA
 ..K XRA S $P(XRA,"-",($L(RACOL(2))+1))="" W ?24,XRA
 ..K XRA S $P(XRA,"-",($L(RACOL(3))+1))="" W ?60,XRA
 ..W !?RATAB(1),$J($P(RARAD(0),U,5),8,2),?24,$J(+$P(RARAD(0),U,6),8,2)
 ..W ?60,$J(($P(RARAD(0),U,7))/60,1,1) ;to mins to tenths
 ..K RACOL,XRA
 ..Q
 .Q:RAQUIT
 .;
 .;----------------------- get Rad Dose (CT SCAN) -------------------
 .I $O(^RAD(RARAD,"II",0)) S RAZCT="" D CT^RADRPT1 ;if CT Scan data
 .Q:RAQUIT
 .S RAP=RAP+1
 .I $D(ZTQUEUED) S:RAP#500=0 (RAQUIT,ZTSTOP)=$$S^%ZTLOAD()
 .; --- disclaimer ---
 .K RALBL D HDR Q:RAQUIT
 .F RAII=1:1:5 D  Q:RAQUIT
 ..I ($D(RAZFL)#2)=1,(($D(RAZCT)#2)=0) Q:RAII=3!(RAII=4)
 ..I ($D(RAZFL)#2)=0,(($D(RAZCT)#2)=1) Q:RAII=5
 ..S RAYY=0
 ..F  S RAYY=$O(^TMP($J,"RA DISCLAIMER",RAII,RAYY)) Q:RAYY'>0  D  Q:RAQUIT
 ...I $Y>(IOSL-4) D HDR Q:RAQUIT
 ...W !,$G(^TMP($J,"RA DISCLAIMER",RAII,RAYY))
 ...Q
 ..Q
 .S DX=0,DY=IOSL X ^%ZOSF("XY")
 .K DX,DY,RAIEN,RAIENS,RAII,RAY2A,RAY3A,RAYY,RAZCT,RAZFL,RTFL,Y,Z
 .Q
 D XIT
 Q
 ;
CN() ;return case # in the form of the accession # (SSAN aware)
 N X S X=$P(RAY3,U,31) ;SITE ACCESSION NUMBER (SSAN)
 S:X="" X=$E(RADTE,4,5)_$E(RADTE,6,7)_$E(RADTE,2,3)_"-"_$P(RAY3,U)
 Q X
 ; 
HDR ;header/end of screen logic
 ;RAHDR: is dynamic; its value is based on the section
 ;HDR^RADRPT1A is called from.
 I $E(IOST,1,2)="C-" D  Q:RAQUIT
 .W !,"Press RETURN to continue or '^' to exit: " R X:DTIME
 .S RAQUIT='$T!(X["^") K X
 .Q
 S RAPG=RAPG+1 W @IOF,!,RATITLE
 W !,"Date: ",RANODT,?69,"Page: ",RAPG
 W !,RABORDR
 W !?RATAB(1),"Name: ",$E(RA("NAME"),1,27)_"    "_RA("BID")
 W ?RATAB(4),"Exam Date: ",$E(RAY2A(70.02,RAIEN,".01","E"),1,21)
 W !?RATAB(1),"Procedure: ",$E(RAPRC,1,30)
 W ?RATAB(4),"Case Number: ",RA("RACN")
 W !,RAHDR W:$D(RALBL)#2 !?RATAB(1),RALBL,": "
 Q
 ;
XIT ;kill variables set ZTREQ then exit
 K %,%H,%I,N,RA,RABORDR,RACN,RACNI,RADA,RADFN,RADTE,RADPT,RADTI,RAHDR
 K RAI,RAIEN,RAIENS,RAL,RALBL,RALINE,RAM,RAMED,RANODT,RAOPRC,RAORD,RAP,RAPG
 K RAPRC,RAQUIT,RARAD,RARPT,RARX,RAS,RATAB,RATITLE,RAU,RAX,RAY,RAY2,RAY2A
 K RAY3,RAY3A,RAZCT,RAZFL
 K ^TMP($J,"RAEX"),^TMP($J,"RA DISCLAIMER")
 S:$D(ZTQUEUED) ZTREQ="@"
 Q
 ;
PRC(Y) ;print procedure data (file #71)
 ;Input: Y = IEN file 71
 ;Output: imaging type abbreviation - procdure type or inactive - CPT code
 ;       (if not a Parent or Broad procedure)
 ;ex: (NM  Parent)
 ;    (MAM  Inactive) Note: may be broad or parent type
 ;    (CT  Inactive)  CPT:76361
 ;    (VAS  Detailed)  CPT:93619   
 N X
 S X(0)=$G(^RAMIS(71,Y,0)),X("I")=$G(^RAMIS(71,Y,"I"))
 S X("IN")=$S(X("I")="":0,DT'>X("I"):0,1:1)
 S X=$P(X(0),U,6),X("CPT")=""
 S X("PT")=$S(X="B":"Broad",X="D":"Detailed",X="P":"Parent",X="S":"Series",1:"Unknown")
 S X=+$P(X(0),U,12) S X("IT")=$S(X=0:"Unknown",1:$P(^RA(79.2,X,0),U,3)) ;required identifier
 I $E(X("PT"),1)'="B",$E(X("PT"),1)'="P" S X("CPT")="CPT:"_$P($$NAMCODE^RACPTMSC(+$P(X(0),U,9),DT),U)
 S X="("_X("IT")_"  "_$S(X("IN"):"Inactive",1:X("PT"))_")  "_X("CPT")
 Q X
 ;
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HRADRPT1A   12933     printed  Sep 23, 2025@20:10:52                                                                                                                                                                                                   Page 2
RADRPT1A  ;HISC/GJC Radiation dosage report utility one A ;01 Aug 2017 1:26 PM
 +1       ;;5.0;Radiology/Nuclear Medicine;**113,119**;Mar 16, 1998;Build 7
 +2       ;
 +3       ;--- IAs ---
 +4       ;Call/File             Number     Type
 +5       ;------------------------------------------------
 +6       ;$$SS^%ZTLOAD          10063      S
 +7       ;$$GET1^DIQ            2056       S
 +8       ;GETS^DIQ              2056       S
 +9       ;$$FMTE^XLFDT          10103      S
 +10      ;$$NOW^XLFDT           10103      S
 +11      ;$$CJ^XLFSTR           10104      S
 +12      ;^DPT(                 10035      S
 +13      ;^VA(200,              10060      S
 +14      ;where 'S'=Supported; 'C'=Controlled Subscription; 'P'=Private
 +15      ;
EN        ;entry point
 +1       ; variables saved
 +2       ;----------------
 +3       ; ^TMP($J,"RAEX",n)=IEN 70.3 ^ RADFN ^ Exam Date ^ inv. Exam Date (IEN 70.02)
 +4       ;                     ^ Case Number ^ IEN EXAMINATIONS (70.03) ^ Report (if none null)
 +5        SET (RAI,RAP,RAQUIT)=0
 +6        SET RANODT=$$FMTE^XLFDT($$NOW^XLFDT(),"1M")
 +7        SET RATITLE=$$CJ^XLFSTR("Patient Profile With Radiation Dose Data",IOM)
 +8       ;RAX = field numbers returned 70.03 level
 +9       ;*** see DD map of 70.03 ***
           SET RAX=".01:4;6:8;9;9.5;12:16;19;125*"
 +10       SET $PIECE(RABORDR,"=",(IOM+1))=""
           SET $PIECE(RALINE,"-",(IOM+1))=""
 +11       SET RATAB(1)=2
           SET RATAB(2)=14
           SET RATAB(3)=38
           SET RATAB(4)=49
 +12       SET RATAB(5)=16
           SET RATAB(6)=38
           SET RATAB(7)=51
 +13      ;
 +14       KILL RAZDFN
           DO GETS^DIQ(2,RADFN_",",".01;.09","E","RAZDFN")
 +15       SET RA("NAME")=$EXTRACT(RAZDFN(2,RADFN_",",".01","E"),1,30)
 +16       SET X=RAZDFN(2,RADFN_",",".09","E")
           SET RA("PID")=X
 +17      ;RA("PID") is the full SSN just like VA("PID")
 +18       SET X1=$EXTRACT(X,($LENGTH(X)-3),$LENGTH(X))
 +19      ;RA("BID") is the last four of the SSN just like VA("BID")
 +20       SET RA("BID")=X1
           KILL RAZDFN,X,X1
 +21      ;
 +22       KILL ^TMP($JOB,"RA DISCLAIMER")
           DO DISCLAIM^RADRPT2A
 +23      ;
 +24       FOR 
               SET RAI=$ORDER(^TMP($JOB,"RAEX",RAI))
               if 'RAI
                   QUIT 
               Begin DoDot:1
 +25               SET Y=$GET(^TMP($JOB,"RAEX",RAI))
 +26               FOR I=1:1:7
                       SET @$PIECE("RARAD^RADFN^RADTE^RADTI^RACN^RACNI^RARPT","^",I)=$PIECE(Y,"^",I)
 +27      ;RARAD = IEN file 70.3; RARPT = IEN of the report for this study
 +28               SET RAY2=$GET(^RADPT(RADFN,"DT",RADTI,0))
                   if RAY2=""
                       QUIT 
 +29               SET RAY3=$GET(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0))
                   if RAY3=""
                       QUIT 
 +30               SET RAORD(0)=$GET(^RAO(75.1,+$PIECE(RAY3,U,11),0))
 +31      ;fluoro data on 0 node
 +32               SET RARAD(0)=$GET(^RAD(RARAD,0))
                   if RARAD(0)=""
                       QUIT 
 +33               SET RAIEN=RADTI_","_RADFN_","
                   KILL RAY2A,RAY3A
 +34               DO GETS^DIQ(70.02,RAIEN,".01:4","E","RAY2A")
 +35               SET RAIENS=RACNI_","_RADTI_","_RADFN_","
 +36               DO GETS^DIQ(70.03,RAIENS,RAX,"E","RAY3A")
 +37      ; case # accession #
                   SET RA("RACN")=$$CN()
 +38      ;
 +39      ;--- header for first page only ---
 +40               SET RAPG=1
                   WRITE @IOF,!,RATITLE
 +41               WRITE !,"Date: ",RANODT,?69,"Page: ",RAPG
 +42               WRITE !,RABORDR
 +43      ;
 +44      ;--- name and SSN (last four) ---
 +45               WRITE !?RATAB(1),"Name",?RATAB(2),": ",RA("NAME"),"    ",RA("BID")
 +46      ;
 +47               WRITE !?RATAB(1),"Division",?RATAB(2),": ",$EXTRACT(RAY2A(70.02,RAIEN,"3","E"),1,21)
 +48               WRITE ?RATAB(3),"Category",?RATAB(4),": ",$EXTRACT(RAY3A(70.03,RAIENS,"4","E"),1,27)
 +49               WRITE !?RATAB(1),"Location",?RATAB(2),": ",$EXTRACT(RAY2A(70.02,RAIEN,"4","E"),1,21)
 +50               WRITE ?RATAB(3),"Ward",?RATAB(4),": ",$EXTRACT(RAY3A(70.03,RAIENS,"6","E"),1,27)
 +51               WRITE !?RATAB(1),"Exam Date",?RATAB(2),": ",$EXTRACT(RAY2A(70.02,RAIEN,".01","E"),1,21)
 +52               WRITE ?RATAB(3),"Service",?RATAB(4),": ",$EXTRACT(RAY3A(70.03,RAIENS,"7","E"),1,27)
 +53      ;16 digits max
                   WRITE !?RATAB(1),"Case No.",?RATAB(2),": ",$$CN()
 +54               WRITE ?RATAB(3),"Bedsection",?RATAB(4),": ",$EXTRACT(RAY3A(70.03,RAIENS,"19","E"),1,27)
 +55               WRITE !?RATAB(3),"Clinic",?RATAB(4),": ",$EXTRACT(RAY3A(70.03,RAIENS,"8","E"),1,27)
 +56               if $EXTRACT(RAY3A(70.03,RAIENS,"4","E"),1)="C"
                       WRITE !?RATAB(3),"Contract",?RATAB(4),": ",$EXTRACT(RAY3A(70.03,RAIENS,"9","E"),1,27)
 +57               if $EXTRACT(RAY3A(70.03,RAIENS,"4","E"),1)="S"
                       WRITE !?RATAB(3),"Sharing",?RATAB(4),": ",$EXTRACT(RAY3A(70.03,RAIENS,"9","E"),1,27)
 +58               if $EXTRACT(RAY3A(70.03,RAIENS,"4","E"),1)="R"
                       WRITE !?RATAB(3),"Research",?RATAB(4),": ",$EXTRACT(RAY3A(70.03,RAIENS,"9.5","E"),1,27)
 +59      ;spacer
                   WRITE !,RALINE
 +60      ;name of ordered proc.
                   SET RAOPRC=$$GET1^DIQ(71,+$PIECE(RAORD(0),U,2)_",",.01)
 +61      ;name of registered proc.
                   SET RAPRC=$$GET1^DIQ(71,+$PIECE(RAY3,U,2)_",",.01)
 +62               WRITE !?RATAB(1),"Registered",?RATAB(2),": ",$EXTRACT(RAPRC,1,30),?RATAB(4),$$PRC(+$PIECE(RAY3,U,2))
 +63               if RAPRC'=RAOPRC
                       WRITE !?RATAB(1),"Requested",?RATAB(2),": ",$EXTRACT(RAOPRC,1,60)
 +64      ;name of requesting physician
                   SET RA("PHYS")=$$GET1^DIQ(200,+$PIECE(RAY3,U,14)_",",.01)
 +65      ;exam status
                   SET RA("EXS")=$PIECE($GET(^RA(72,+$PIECE(RAY3,U,3),0)),U)
 +66      ;name of primary interpreting resident
                   SET RA("PIR")=$$GET1^DIQ(200,+$PIECE(RAY3,U,12)_",",.01)
 +67               IF $PIECE(RAY3,U,17)>0
                       Begin DoDot:2
 +68                       SET RA("RPT")=$$GET1^DIQ(74,+$PIECE(RAY3,U,17)_",",5)
 +69                       SET RA("RPT")=$SELECT($GET(RA("RPT"))'="":RA("RPT"),1:"No Report")
 +70      ;13th piece fld #15
                           SET RA("PREVFIER")=+$PIECE($GET(^RARPT(+$PIECE(RAY3,U,17),0)),U,13)
 +71      ;name of requesting physician
                           SET RA("PREVFIER")=$$GET1^DIQ(200,+RA("PREVFIER")_",",.01)
 +72                       SET RA("PREVFIED")=$SELECT(RA("PREVFIER")'="":RA("PREVFIER"),1:"No")
                           KILL RA("PREVFIER")
 +73                       QUIT 
                       End DoDot:2
 +74      ;cam/eq/rm
                   SET RA("CAM")=$SELECT(+$PIECE(RAY3,U,18)>0:$PIECE($GET(^RA(78.6,+$PIECE(RAY3,U,18),0)),U),1:"")
 +75      ;name of primary interpreting staff
                   SET RA("PIS")=$$GET1^DIQ(200,+$PIECE(RAY3,U,15)_",",.01)
 +76               SET RA("DX")=$SELECT(+$PIECE(RAY3,U,13)>0:$PIECE($GET(^RA(78.3,+$PIECE(RAY3,U,13),0)),U),1:"")
 +77               SET RA("TECH")=$ORDER(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"TC",0))
 +78               IF RA("TECH")
                       Begin DoDot:2
 +79                       SET RA("T")=+$PIECE($GET(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"TC",RA("TECH"),0)),U)
 +80      ;name of technologist
                           SET RA("TECH")=$$GET1^DIQ(200,RA("T")_",",.01)
 +81                       KILL RA("T")
 +82                       QUIT 
                       End DoDot:2
 +83               SET RA("CMP")=$EXTRACT(RAY3A(70.03,RAIENS,"16","E"),1,27)
 +84               WRITE !?RATAB(1),"Requesting Phy",?RATAB(5),": ",$EXTRACT(RA("PHYS"),1,18)
 +85               WRITE ?RATAB(6),"Exam Status",?RATAB(7),": ",$EXTRACT(RA("EXS"),1,27)
 +86               WRITE !?RATAB(1),"Int'g Resident",?RATAB(5),": ",$EXTRACT(RA("PIR"),1,18)
 +87               WRITE ?RATAB(6),"Report Status",?RATAB(7),": ",$EXTRACT($GET(RA("RPT")),1,27)
 +88               WRITE !?RATAB(1),"Pre-Verified",?RATAB(5),": ",$EXTRACT($GET(RA("PREVFIED")),1,18)
 +89               WRITE ?RATAB(6),"Cam/Equip/Rm",?RATAB(7),": ",$EXTRACT(RA("CAM"),1,27)
 +90               WRITE !?RATAB(1),"Int'g Staff",?RATAB(5),": ",$EXTRACT(RA("PIS"),1,18)
 +91               WRITE ?RATAB(6),"Diagnosis",?RATAB(7),": ",$EXTRACT(RA("DX"),1,27)
 +92               WRITE !?RATAB(1),"Technologist",?RATAB(5),": ",$EXTRACT($GET(RA("TECH")),1,18)
 +93               WRITE ?RATAB(6),"Complication",?RATAB(7),": ",$EXTRACT(RA("CMP"),1,27)
 +94               IF $PIECE(RAORD(0),U,13)'=""
                       WRITE !?RATAB(1),"Pregnant at time of order entry: "_$$GET1^DIQ(75.1,+$PIECE(RAY3,U,11)_",",13)
 +95      ;
 +96      ;--------- get procedure modifiers/CPT Modifiers ---------------
 +97               SET RALBL="Modifiers"
                   SET RAHDR=$$CJ^XLFSTR(RALBL,IOM,"-")
 +98               WRITE !,RAHDR,!?RATAB(1),RALBL,?RATAB(5),": "
 +99               IF $ORDER(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"M",0))
                       Begin DoDot:2
 +100                      SET RAL=$ORDER(RAY3A("70.1",$CHAR(126)),-1)
 +101                      SET RAS=""
                           FOR 
                               SET RAS=$ORDER(RAY3A("70.1",RAS))
                               if RAS=""
                                   QUIT 
                               Begin DoDot:3
 +102                              IF $Y>(IOSL-4)
                                       DO HDR
                                       if RAQUIT
                                           QUIT 
 +103                              WRITE ?18,$EXTRACT($GET(RAY3A("70.1",RAS,.01,"E")),1,30)
 +104     ;more data
                                   if RAL'=RAS
                                       WRITE !
 +105                              QUIT 
                               End DoDot:3
                               if RAQUIT
                                   QUIT 
 +106                      QUIT 
                       End DoDot:2
                       KILL RAL,RAS
 +107             IF '$TEST
                       WRITE "None"
 +108              if RAQUIT
                       QUIT 
 +109              SET RALBL="CPT Modifiers"
                   WRITE !?RATAB(1),RALBL,?RATAB(5),": "
 +110              IF $ORDER(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CMOD",0))
                       Begin DoDot:2
 +111     ;EX: - RACPT("70.3135","1,1,6889176.8884,76,",".01","I")=4
 +112                      DO GETS^DIQ(70.03,RAIENS,"135*","I","RACPT")
 +113                      SET RAL=$ORDER(RACPT("70.3135",$CHAR(126)),-1)
 +114                      SET RAS=""
                           FOR 
                               SET RAS=$ORDER(RACPT("70.3135",RAS))
                               if RAS=""
                                   QUIT 
                               Begin DoDot:3
 +115                              IF $Y>(IOSL-4)
                                       DO HDR
                                       if RAQUIT
                                           QUIT 
 +116     ;EX - RAX99="4^23^UNUSUAL ANESTHESIA^09923^C^2930101^1^^2930101^"
 +117                              SET Y=$GET(RACPT("70.3135",RAS,.01,"I"))
                                   SET RAX99=""
 +118                              if Y
                                       SET RAX99=$$BASICMOD^RACPTMSC(Y,RADTE)
 +119                              WRITE ?18,$PIECE(RAX99,U,2)," ",$PIECE(RAX99,U,3)
 +120                              if RAL'=RAS
                                       WRITE !
 +121                              QUIT 
                               End DoDot:3
                               if RAQUIT
                                   QUIT 
 +122                      QUIT 
                       End DoDot:2
                       KILL RACPT,RAL,RALBL,RAS,RAX99,Y
 +123             IF '$TEST
                       WRITE "None"
 +124              if RAQUIT
                       QUIT 
 +125     ;
 +126     ;-------------------- get Contrast Media --------------------------
 +127              IF $ORDER(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CM",0))
                       Begin DoDot:2
 +128                      SET RALBL="Contrast Media"
                           SET RAHDR=$$CJ^XLFSTR(RALBL,IOM,"-")
 +129                      WRITE !,RAHDR,!?RATAB(1),RALBL,?RATAB(5),": "
 +130                      DO GETS^DIQ(70.03,RAIENS,"225*","E","RACM")
 +131                      SET RAL=$ORDER(RACM("70.3225",$CHAR(126)),-1)
 +132                      SET RAS=""
                           FOR 
                               SET RAS=$ORDER(RACM("70.3225",RAS))
                               if RAS=""
                                   QUIT 
                               Begin DoDot:3
 +133                              IF $Y>(IOSL-4)
                                       DO HDR
                                       if RAQUIT
                                           QUIT 
 +134                              WRITE ?18,$EXTRACT($GET(RACM("70.3225",RAS,.01,"E")),1,30)
 +135     ;more data
                                   if RAL'=RAS
                                       WRITE !
 +136                              QUIT 
                               End DoDot:3
                               if RAQUIT
                                   QUIT 
 +137                      QUIT 
                       End DoDot:2
                       KILL RACM,RAL,RALBL,RAS
 +138              if RAQUIT
                       QUIT 
 +139     ;
 +140     ;----------------------- get Medications ------------------------------
 +141              IF $ORDER(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"RX",0))
                       Begin DoDot:2
 +142                      SET RAHDR=$$CJ^XLFSTR("Medications",IOM,"-")
                           WRITE !,RAHDR
 +143                      KILL RAMED
                           DO GETS^DIQ(70.03,RAIENS,"200*","E","RAMED")
 +144                      SET RAL=$ORDER(RAMED("70.15",$CHAR(126)),-1)
 +145                      SET RAS=""
                           FOR 
                               SET RAS=$ORDER(RAMED("70.15",RAS))
                               if RAS=""
                                   QUIT 
                               Begin DoDot:3
 +146                              IF $Y>(IOSL-4)
                                       DO HDR
                                       if RAQUIT
                                           QUIT 
 +147                              WRITE !?RATAB(1),"Med: ",$EXTRACT($GET(RAMED("70.15",RAS,.01,"E")),1,28)
 +148                              WRITE ?RATAB(3),"Dose Adm'd: ",$EXTRACT($GET(RAMED("70.15",RAS,2,"E")),1,25)
 +149                              WRITE !?RATAB(1),"Adm'd by: ",$EXTRACT($GET(RAMED("70.15",RAS,3,"E")),1,24)
 +150                              WRITE ?RATAB(3),"Date Adm'd: ",$EXTRACT($GET(RAMED("70.15",RAS,4,"E")),1,20)
 +151     ;more data
                                   if RAS'=RAL
                                       WRITE !
 +152                              QUIT 
                               End DoDot:3
                               if RAQUIT
                                   QUIT 
 +153                      QUIT 
                       End DoDot:2
                       KILL RAS,RAMED
 +154              if RAQUIT
                       QUIT 
 +155     ;
 +156     ;----------------------- get Radiopharms ------------------------------
 +157              IF $PIECE(RAY3,U,28)>0
                       Begin DoDot:2
 +158     ;#500 NUCLEAR MED DATA
 +159                      SET RADA=$PIECE(RAY3,U,28)_","
                           SET RAHDR=$$CJ^XLFSTR("Radiopharmaceuticals",IOM,"-")
 +160                      WRITE !,RAHDR
                           KILL RADIO
                           SET RAS=""
 +161                      DO GETS^DIQ(70.2,RADA_",","100*","E","RADIO")
 +162                      SET RAL=$ORDER(RADIO("70.21",$CHAR(126)),-1)
 +163                      FOR 
                               SET RAS=$ORDER(RADIO("70.21",RAS))
                               if RAS=""
                                   QUIT 
                               Begin DoDot:3
 +164                              IF $Y>(IOSL-4)
                                       DO HDR
                                       if RAQUIT
                                           QUIT 
 +165                              SET RAU=0
                                   FOR 
                                       SET RAU=$ORDER(RADIO("70.21",RAS,RAU))
                                       if RAU'>0
                                           QUIT 
                                       Begin DoDot:4
 +166                                      IF $Y>(IOSL-4)
                                               DO HDR
                                               if RAQUIT
                                                   QUIT 
 +167                                      SET RAU(0)=$$TRN1^RAPROD2(RAU)_$GET(RADIO("70.21",RAS,RAU,"E"))
 +168                                      SET RAU(0)=RAU(0)_$SELECT(RAU=2:" mCi",RAU=4:" mCi",RAU=7:" mCi",1:"")
 +169                                      WRITE !?RATAB(1),$EXTRACT(RAU(0),1,28)
 +170                                      SET RAU=$ORDER(RADIO("70.21",RAS,RAU))
 +171                                      if RAU'>0
                                               SET RAU=$CHAR(32)
                                           if RAU=$CHAR(32)
                                               QUIT 
 +172                                      SET RAU(1)=$$TRN1^RAPROD2(RAU)_$GET(RADIO("70.21",RAS,RAU,"E"))
 +173                                      SET RAU(1)=RAU(1)_$SELECT(RAU=2:" mCi",RAU=4:" mCi",RAU=7:" mCi",1:"")
 +174                                      WRITE ?RATAB(4),$EXTRACT(RAU(1),1,27)
 +175                                      QUIT 
                                       End DoDot:4
                                       if RAQUIT
                                           QUIT 
 +176     ;more data
                                   if RAS'=RAL
                                       WRITE !
 +177                              QUIT 
                               End DoDot:3
                               if RAQUIT
                                   QUIT 
 +178                      QUIT 
                       End DoDot:2
                       KILL RADA,RADIO,RAS,RAU
 +179              if RAQUIT
                       QUIT 
 +180     ;
 +181     ;----------------------- get Rad Dose (fluoro) --------------------
 +182     ;air kerma OR air kerma area product
                   IF $PIECE(RARAD(0),U,5)'=""!($PIECE(RARAD(0),U,6)'="")
                       Begin DoDot:2
 +183                      SET RAHDR=$$CJ^XLFSTR("Rad Dose",IOM,"-")
                           SET RAZFL=""
 +184                      SET RACOL(1)="Air Kerma (mGy)"
 +185                      SET RACOL(2)="Air Kerma Area Product (Gy-cm2)"
 +186     ;note: data is in seconds
                           SET RACOL(3)="Fluoro Time (min)"
 +187                      WRITE !,RAHDR
 +188                      IF $Y>(IOSL-4)
                               DO HDR
                               if RAQUIT
                                   QUIT 
 +189                      WRITE !?RATAB(1),RACOL(1),?24,RACOL(2),?60,RACOL(3)
 +190                      SET $PIECE(XRA,"-",($LENGTH(RACOL(1))+1))=""
                           WRITE !?RATAB(1),XRA
 +191                      KILL XRA
                           SET $PIECE(XRA,"-",($LENGTH(RACOL(2))+1))=""
                           WRITE ?24,XRA
 +192                      KILL XRA
                           SET $PIECE(XRA,"-",($LENGTH(RACOL(3))+1))=""
                           WRITE ?60,XRA
 +193                      WRITE !?RATAB(1),$JUSTIFY($PIECE(RARAD(0),U,5),8,2),?24,$JUSTIFY(+$PIECE(RARAD(0),U,6),8,2)
 +194     ;to mins to tenths
                           WRITE ?60,$JUSTIFY(($PIECE(RARAD(0),U,7))/60,1,1)
 +195                      KILL RACOL,XRA
 +196                      QUIT 
                       End DoDot:2
 +197              if RAQUIT
                       QUIT 
 +198     ;
 +199     ;----------------------- get Rad Dose (CT SCAN) -------------------
 +200     ;if CT Scan data
                   IF $ORDER(^RAD(RARAD,"II",0))
                       SET RAZCT=""
                       DO CT^RADRPT1
 +201              if RAQUIT
                       QUIT 
 +202              SET RAP=RAP+1
 +203              IF $DATA(ZTQUEUED)
                       if RAP#500=0
                           SET (RAQUIT,ZTSTOP)=$$S^%ZTLOAD()
 +204     ; --- disclaimer ---
 +205              KILL RALBL
                   DO HDR
                   if RAQUIT
                       QUIT 
 +206              FOR RAII=1:1:5
                       Begin DoDot:2
 +207                      IF ($DATA(RAZFL)#2)=1
                               IF (($DATA(RAZCT)#2)=0)
                                   if RAII=3!(RAII=4)
                                       QUIT 
 +208                      IF ($DATA(RAZFL)#2)=0
                               IF (($DATA(RAZCT)#2)=1)
                                   if RAII=5
                                       QUIT 
 +209                      SET RAYY=0
 +210                      FOR 
                               SET RAYY=$ORDER(^TMP($JOB,"RA DISCLAIMER",RAII,RAYY))
                               if RAYY'>0
                                   QUIT 
                               Begin DoDot:3
 +211                              IF $Y>(IOSL-4)
                                       DO HDR
                                       if RAQUIT
                                           QUIT 
 +212                              WRITE !,$GET(^TMP($JOB,"RA DISCLAIMER",RAII,RAYY))
 +213                              QUIT 
                               End DoDot:3
                               if RAQUIT
                                   QUIT 
 +214                      QUIT 
                       End DoDot:2
                       if RAQUIT
                           QUIT 
 +215              SET DX=0
                   SET DY=IOSL
                   XECUTE ^%ZOSF("XY")
 +216              KILL DX,DY,RAIEN,RAIENS,RAII,RAY2A,RAY3A,RAYY,RAZCT,RAZFL,RTFL,Y,Z
 +217              QUIT 
               End DoDot:1
               if RAQUIT
                   QUIT 
 +218      DO XIT
 +219      QUIT 
 +220     ;
CN()      ;return case # in the form of the accession # (SSAN aware)
 +1       ;SITE ACCESSION NUMBER (SSAN)
           NEW X
           SET X=$PIECE(RAY3,U,31)
 +2        if X=""
               SET X=$EXTRACT(RADTE,4,5)_$EXTRACT(RADTE,6,7)_$EXTRACT(RADTE,2,3)_"-"_$PIECE(RAY3,U)
 +3        QUIT X
 +4       ; 
HDR       ;header/end of screen logic
 +1       ;RAHDR: is dynamic; its value is based on the section
 +2       ;HDR^RADRPT1A is called from.
 +3        IF $EXTRACT(IOST,1,2)="C-"
               Begin DoDot:1
 +4                WRITE !,"Press RETURN to continue or '^' to exit: "
                   READ X:DTIME
 +5                SET RAQUIT='$TEST!(X["^")
                   KILL X
 +6                QUIT 
               End DoDot:1
               if RAQUIT
                   QUIT 
 +7        SET RAPG=RAPG+1
           WRITE @IOF,!,RATITLE
 +8        WRITE !,"Date: ",RANODT,?69,"Page: ",RAPG
 +9        WRITE !,RABORDR
 +10       WRITE !?RATAB(1),"Name: ",$EXTRACT(RA("NAME"),1,27)_"    "_RA("BID")
 +11       WRITE ?RATAB(4),"Exam Date: ",$EXTRACT(RAY2A(70.02,RAIEN,".01","E"),1,21)
 +12       WRITE !?RATAB(1),"Procedure: ",$EXTRACT(RAPRC,1,30)
 +13       WRITE ?RATAB(4),"Case Number: ",RA("RACN")
 +14       WRITE !,RAHDR
           if $DATA(RALBL)#2
               WRITE !?RATAB(1),RALBL,": "
 +15       QUIT 
 +16      ;
XIT       ;kill variables set ZTREQ then exit
 +1        KILL %,%H,%I,N,RA,RABORDR,RACN,RACNI,RADA,RADFN,RADTE,RADPT,RADTI,RAHDR
 +2        KILL RAI,RAIEN,RAIENS,RAL,RALBL,RALINE,RAM,RAMED,RANODT,RAOPRC,RAORD,RAP,RAPG
 +3        KILL RAPRC,RAQUIT,RARAD,RARPT,RARX,RAS,RATAB,RATITLE,RAU,RAX,RAY,RAY2,RAY2A
 +4        KILL RAY3,RAY3A,RAZCT,RAZFL
 +5        KILL ^TMP($JOB,"RAEX"),^TMP($JOB,"RA DISCLAIMER")
 +6        if $DATA(ZTQUEUED)
               SET ZTREQ="@"
 +7        QUIT 
 +8       ;
PRC(Y)    ;print procedure data (file #71)
 +1       ;Input: Y = IEN file 71
 +2       ;Output: imaging type abbreviation - procdure type or inactive - CPT code
 +3       ;       (if not a Parent or Broad procedure)
 +4       ;ex: (NM  Parent)
 +5       ;    (MAM  Inactive) Note: may be broad or parent type
 +6       ;    (CT  Inactive)  CPT:76361
 +7       ;    (VAS  Detailed)  CPT:93619   
 +8        NEW X
 +9        SET X(0)=$GET(^RAMIS(71,Y,0))
           SET X("I")=$GET(^RAMIS(71,Y,"I"))
 +10       SET X("IN")=$SELECT(X("I")="":0,DT'>X("I"):0,1:1)
 +11       SET X=$PIECE(X(0),U,6)
           SET X("CPT")=""
 +12       SET X("PT")=$SELECT(X="B":"Broad",X="D":"Detailed",X="P":"Parent",X="S":"Series",1:"Unknown")
 +13      ;required identifier
           SET X=+$PIECE(X(0),U,12)
           SET X("IT")=$SELECT(X=0:"Unknown",1:$PIECE(^RA(79.2,X,0),U,3))
 +14       IF $EXTRACT(X("PT"),1)'="B"
               IF $EXTRACT(X("PT"),1)'="P"
                   SET X("CPT")="CPT:"_$PIECE($$NAMCODE^RACPTMSC(+$PIECE(X(0),U,9),DT),U)
 +15       SET X="("_X("IT")_"  "_$SELECT(X("IN"):"Inactive",1:X("PT"))_")  "_X("CPT")
 +16       QUIT X
 +17      ;