RAORD2 ;HISC/CAH,FPT,GJC,DAD AISC/RMO-Detailed Request Display ;9/3/99 13:48
;;5.0;Radiology/Nuclear Medicine;**5,10,51,45,75**;Mar 16, 1998;Build 4
K XQADATA
D HOME^%ZIS K DIC S DIC="^DPT(",DIC(0)="AEMQ"
W ! D ^DIC G Q:Y<0
S RADFN=+Y,RANME=$S($D(^DPT(RADFN,0)):$P(^(0),"^"),1:"Unknown")
S RAOFNS="Display",RAOVSTS="1;2;3;5;6;8" D LOCATN I $G(RAQUIT) D Q Q
I RAONE]"" S ^TMP($J,"RA L-TYPE",$P(RAONE,"^"),$P(RAONE,"^",2))=""
S ^TMP($J,"RA L-TYPE","Unknown")=""
I '$D(^TMP($J,"RA L-TYPE")) D ERROR^RAUTL7A D Q QUIT
S X=0 W !!,"Imaging Location(s) included:"
F S X=$O(^TMP($J,"RA L-TYPE",X)) Q:X']"" D
. W:($X+$L(X)+2)'<IOM !?$L("Imaging Location(s) included:") W ?($X+3),X
. Q
W ! K DIR S DIR(0)="E" D ^DIR K DIR I $D(DUOUT)!($D(DTOUT)) D Q Q
D ^RAORDS G Q:'$D(RAORDS)
OERR ; Entry Point for OE/RR Cancel/Hold Alert
I $D(XQADATA) D
. S RAORDS(1)=+XQADATA
. I $P(XQADATA,",",2)'="" S RADFN=$P(XQADATA,",",2)
S RAPKG="",RAOSTSYM="dc^c^h^^p^^^s",$P(RALNE,"-",79)="",RAX=""
F RAOLP=1:1 S RAOIFN=$S($D(RAORDS(RAOLP)):RAORDS(RAOLP),1:0) Q:'RAOIFN!(RAX=U) D DISORD
;
K:RAX="^" XQAID,XQAKILL I $D(XQAID) S DFN=$P(XQAID,",",2) D DELETE^XQALERT
Q K %,DIC,I,OREND,RA,RACI,RACNI,RADFN,RADIV,RADIVPAR,RADPT0,RADTI,RALNE
K RANME,RAOFNS,RAOIFN,RAOLP,RAORD0,RAORDS,RAOSTS,RAOSTSYM,RAOVSTS,RAPKG
K RAONE,RAQUIT,RASSN,X,XQAID,XQALERT,Y,RAX,VA200,VAERR,VAIP
K RAPARENT,RACMFLG
K DFN,DIPGM,DISYS,DIW,DIWI,DIWT,DIWTC,DIWX,DN,RA6,RA7,POP,^TMP($J,"PRO-ORD")
K ^TMP($J,"RA L-TYPE"),^TMP($J,"RAORDS"),^TMP($J,"RA DIFF PRC") Q
;
;
DISORD Q:'$D(^DPT(RADFN,0)) S RADPT0=^(0),RA("NME")=$P(RADPT0,"^"),RA("DOB")=$P(RADPT0,"^",3),RASSN=$$SSN^RAUTL Q:'$D(^RAO(75.1,RAOIFN,0)) S RAORD0=^(0)
;determine if ordered procedure has CM assoc.; return null if none
S RAZPRC0=$G(^RAMIS(71,+$P(RAORD0,U,2),0))
S RACMFLG("O")=$$CMEDIA^RAO7UTL(+$P(RAORD0,U,2),$P(RAZPRC0,U,6))
K RAZPRC0
I $D(^RADPT("AO",RAOIFN,RADFN)) D DPRC(RAOIFN,RADFN)
S RA("PROC. NODE")=$G(^RAMIS(71,+$P(RAORD0,U,2),0))
S RA("PRC")=$E($P(RA("PROC. NODE"),U),1,36)
S RA("PRCTY")=$P(RA("PROC. NODE"),U,6)
S RA("PRCTY")=$$XTERNAL^RAUTL5(RA("PRCTY"),$P($G(^DD(71,6,0)),U,2))
S RA("PRCTY")=$E(RA("PRCTY"))_$$LOW^XLFSTR($E(RA("PRCTY"),2,99))
S RA("CPT")=+$P(RA("PROC. NODE"),U,9)
; don't find CPT code if procedure has type = Parent
S RA("CPT")=$S($E(RA("PRCTY"))="P":"",1:$P($$NAMCODE^RACPTMSC(RA("CPT"),DT),U))
S RA("PRCIT")=+$P(RA("PROC. NODE"),U,12)
S RA("PRCIT")=$P($G(^RA(79.2,RA("PRCIT"),0)),U,3)
S RA("PROC INFO")="",$E(RA("PROC INFO"),1,36)=RA("PRC")
S RA("CNCAT")="("_RA("PRCIT")_" "_RA("PRCTY")_" "_RA("CPT")_")"
S $E(RA("PROC INFO"),38,60)=RA("CNCAT") K RA("CNCAT"),RA("PRCIT")
K RA("PRCTY"),RA("CPT")
S RA("STY_REA")=$P($G(^RAO(75.1,RAOIFN,.1)),U) ;P75
K RA("MOD") F I=0:0 S I=$O(^RAO(75.1,RAOIFN,"M","B",I)) Q:'I I $D(^RAMIS(71.2,+I,0)) S RA("MOD")=$S('$D(RA("MOD")):$P(^(0),"^"),1:RA("MOD")_", "_$P(^(0),"^"))
S RA("OST")=$P($P(^DD(75.1,5,0),$P(RAORD0,"^",5)_":",2),";")_$S($P(RAOSTSYM,"^",$P(RAORD0,"^",5))="":"",1:" ("_$P(RAOSTSYM,"^",$P(RAORD0,"^",5))_")")
S RA("PHY")=$S($D(^VA(200,+$P(RAORD0,"^",14),0)):$P(^(0),"^"),1:"")
; Requesting Physician phone/pager info
D PHONE^RAORD5("R",+$P(RAORD0,"^",14))
S RA("HLC")=$S($D(^SC(+$P(RAORD0,"^",22),0)):$P(^(0),"^"),1:"")
S DFN=RADFN,VA200=1 D IN5^VADPT I VAIP(1) S RA("ROOM-BED")=$S(+VAIP(6):$P(VAIP(6),"^",2),1:"")
K RA("ODT") S X=$P(RAORD0,"^",16) I X S:$P(X,".",2) X=$P(X,".")_"."_$$NOSECNDS^RAORD3($P(X,".",2)) S RA("ODT")=$$FMTE^XLFDT(X,"1P")
S RA("USR")=$S($D(^VA(200,+$P(RAORD0,"^",15),0)):$P(^(0),"^"),1:"")
D HDR ; display a header
W !,"Requested :",?12,RA("PROC INFO")
I $D(^TMP($J,"RA DIFF PRC")) D
.N CRTN,I S CRTN=0,I="" W !,"Registered:"
.F S I=$O(^TMP($J,"RA DIFF PRC",I)) Q:I']"" D
..W:CRTN ! W ?12,I S CRTN=1
.Q
I $G(RACMFLG("O"))'="" W:$X ! W ?12,"** The requested procedure has contrast media assigned **"
I $G(RACMFLG("R"))'="" W:$X ! W ?12,"** A registered procedure uses contrast media **"
W:$D(RA("MOD")) !,"Procedure Modifiers:",?22,RA("MOD")
W !!,"Current Status:",?22,$E(RA("OST"),1,24)
W !,"Requester:",?22,$E(RA("PHY"),1,24)
W !?1,"Tel/Page/Dig Page: ",RA("RPHOINFO")
W !,"Patient Location:",?22,$E(RA("HLC"),1,20)
W:$D(RA("ROOM-BED")) !,"Room-Bed:",?22,$E(RA("ROOM-BED"),1,20)
W !,"Entered:",?22,$S($D(RA("ODT")):RA("ODT"),1:"")," by ",$E(RA("USR"),1,20)
;
ENDIS ;OE/RR Entry Point for the PRINT ACTION Option
I '$D(RAPKG) Q:'$D(ORPK) S RAOIFN=+ORPK Q:'$D(^RAO(75.1,RAOIFN,0)) S RAORD0=^(0),RADFN=+$P(RAORD0,"^")
S RA("TRAN")=$S($P(RAORD0,"^",19)']"":"",1:$P($P(^DD(75.1,19,0),$P(RAORD0,"^",19)_":",2),";"))
K RA("ST") I $D(^RADPT("AO",RAOIFN,RADFN)) S RADTI=+$O(^(RADFN,0)),RACNI=+$O(^(RADTI,0)) I $D(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0)) S RA(0)=^(0) I $D(^RA(72,+$P(RA(0),"^",3),0)) S RA("ST")=$P(^(0),"^")
I '$D(RAPKG) D DPRC(RAOIFN,RADFN) K ^TMP($J,"RA DIFF PRC")
S RADIV(0)=$G(^SC(+$P(RAORD0,"^",22),0))
S RADIV=+$$SITE^VASITE(DT,+$P(RADIV(0),"^",15)) S:RADIV<0 RADIV=0
S RADIV=$S($D(^RA(79,RADIV,0)):RADIV,1:$O(^RA(79,0)))
S RADIVPAR=$S($D(^RA(79,+RADIV,.1)):^(.1),1:"")
K RA("RDT") S Y=$P(RAORD0,"^",21) I Y S:$P(Y,".",2) Y=$P(Y,".")_"."_$$NOSECNDS^RAORD3($P(Y,".",2)) S RA("RDT")=$$FMTE^XLFDT(Y,"1P")
K RA("PDT") S Y=$P(RAORD0,"^",12) I Y S:$P(Y,".",2) Y=$P(Y,".")_"."_$$NOSECNDS^RAORD3($P(Y,".",2)) S RA("PDT")=$$FMTE^XLFDT(Y,"1P")
K RA("VDT") S Y=$P(RAORD0,"^",17) I Y S:$P(Y,".",2) Y=$P(Y,".")_"."_$$NOSECNDS^RAORD3($P(Y,".",2)) S RA("VDT")=$$FMTE^XLFDT(Y,"1P")
K RA("SDT") S Y=$P(RAORD0,"^",23) I Y S:$P(Y,".",2) Y=$P(Y,".")_"."_$$NOSECNDS^RAORD3($P(Y,".",2)) S RA("SDT")=$$FMTE^XLFDT(Y,"1P")
S RA("ILC")=$S('$P(RAORD0,"^",20):"UNKNOWN",'$D(^RA(79.1,+$P(RAORD0,"^",20),0)):"UNKNOWN",$D(^SC(+^(0),0)):$P(^(0),"^"),1:"UNKNOWN")
I $S('$D(XQORNOD(0)):0,$P(XQORNOD(0),"^",3)'="Results Display":0,1:1),$D(RA(0)) D ^RAORR3 Q
D ^RAORD3 K RA,RACI,RACNI,RADIV,RADIVPAR,RADPT0,RADTI,RAORD0,RAOSTS,X,Y I '$D(RAPKG) K RADFN,RAOIFN
Q
LOCATN ; Select or default to a Rad/Nuc Med location.
S RAONE=$$LOC1() Q:RAONE]""
S RADIC="^RA(79.1,",RADIC(0)="QEAMZ"
S RADIC("A")="Select Rad/Nuc Med Location: "
S RADIC("B")="All",RAUTIL="RA L-TYPE"
W !! D EN1^RASELCT(.RADIC,RAUTIL) K DIC,RADIC,RAUTIL,X,Y
Q
LOC1() ; Checking for only one Imaging Location
; Pass back null if more that one entry exists in 79.1
; If one entry, pass back: external Hosp. Loc. file_"^"_IEN of file 79.1
N X,Y S X=""
I $P($G(^RA(79.1,0)),"^",4)=1 D
. S Y=+$O(^RA(79.1,0)) Q:'Y
. S Y(0)=$G(^RA(79.1,Y,0)),Y(1)=+$P(Y(0),"^")
. S Y(44)=$P($G(^SC(Y(1),0)),"^"),X=Y(44)_"^"_Y
. Q
Q X
HDR ; Header for the 'Detailed Request Display' option. Called from above
; (D HDR) and from RAORD3
W @IOF,?22,"**** Detailed Display ****",!!,"Name: ",RA("NME")," (",RASSN,")" S Y=RA("DOB") D D^RAUTL W ?45,"Date of Birth: ",Y,!,RALNE
Q
;
DPRC(RAOIFN,RADFN) ; If the ordered procedure has been registered check
;if this is an examset. If not an examset, find the status of the exam
;RA("ST"). Also, check if the ordered procedure has been changed at
;time of registration (DPROC^RAUTL15). If it has, store the data off
;in ^TMP($J,"RA DIFF PRC").
;
; NOTE: The only time we don't set ^TMP($J,"RA DIFF PRC") is when
; we are using the 'Detailed Request Display' option and the ordered
; procedure is the same as the registered procedure. All other
; Request display options output the ordered procedure, the
; registered procedure and exam case number if the order
; is active.
;
;Set the variable RACMFLG("R") to "Y" if an exam, either a single or
;descendant, has used contrast media during the examination.
;
N RA7003,RACNI,RADTI,RAFLG K RA("ST"),^TMP($J,"RA DIFF PRC")
S (RADTI,RAFLG)=0
F S RADTI=+$O(^RADPT("AO",RAOIFN,RADFN,RADTI)) Q:RADTI'>0 D
. S RACNI=0
. F S RACNI=$O(^RADPT("AO",RAOIFN,RADFN,RADTI,RACNI)) Q:RACNI'>0 D
.. I $D(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0)) D
... S RA7003=$G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0)),RAFLG=RAFLG+1
... S:$G(RACMFLG("R"))="" RACMFLG("R")=$S($P(RA7003,U,10)="Y":"Y",1:"")
... S RA("ST")=$$GET1^DIQ(72,+$P(RA7003,"^",3)_",",.01)
... N RAPRC S RAPRC=$$DPROC^RAUTL15(RADFN,RADTI,RACNI,RAOIFN)
... S:RAPRC]"" ^TMP($J,"RA DIFF PRC",RAPRC)=""
... Q
.. Q
. Q
K:RAFLG>1 RA("ST") ; >1 reg. xam for this order, RA("ST") not valid
Q
RAORD2 ;HISC/CAH,FPT,GJC,DAD AISC/RMO-Detailed Request Display ;9/3/99 13:48
+1 ;;5.0;Radiology/Nuclear Medicine;**5,10,51,45,75**;Mar 16, 1998;Build 4
+2 KILL XQADATA
+3 DO HOME^%ZIS
KILL DIC
SET DIC="^DPT("
SET DIC(0)="AEMQ"
+4 WRITE !
DO ^DIC
IF Y<0
GOTO Q
+5 SET RADFN=+Y
SET RANME=$SELECT($DATA(^DPT(RADFN,0)):$PIECE(^(0),"^"),1:"Unknown")
+6 SET RAOFNS="Display"
SET RAOVSTS="1;2;3;5;6;8"
DO LOCATN
IF $GET(RAQUIT)
DO Q
QUIT
+7 IF RAONE]""
SET ^TMP($JOB,"RA L-TYPE",$PIECE(RAONE,"^"),$PIECE(RAONE,"^",2))=""
+8 SET ^TMP($JOB,"RA L-TYPE","Unknown")=""
+9 IF '$DATA(^TMP($JOB,"RA L-TYPE"))
DO ERROR^RAUTL7A
DO Q
QUIT
+10 SET X=0
WRITE !!,"Imaging Location(s) included:"
+11 FOR
SET X=$ORDER(^TMP($JOB,"RA L-TYPE",X))
IF X']""
QUIT
Begin DoDot:1
+12 IF ($X+$LENGTH(X)+2)'<IOM
WRITE !?$LENGTH("Imaging Location(s) included:")
WRITE ?($X+3),X
+13 QUIT
End DoDot:1
+14 WRITE !
KILL DIR
SET DIR(0)="E"
DO ^DIR
KILL DIR
IF $DATA(DUOUT)!($DATA(DTOUT))
DO Q
QUIT
+15 DO ^RAORDS
IF '$DATA(RAORDS)
GOTO Q
OERR ; Entry Point for OE/RR Cancel/Hold Alert
+1 IF $DATA(XQADATA)
Begin DoDot:1
+2 SET RAORDS(1)=+XQADATA
+3 IF $PIECE(XQADATA,",",2)'=""
SET RADFN=$PIECE(XQADATA,",",2)
End DoDot:1
+4 SET RAPKG=""
SET RAOSTSYM="dc^c^h^^p^^^s"
SET $PIECE(RALNE,"-",79)=""
SET RAX=""
+5 FOR RAOLP=1:1
SET RAOIFN=$SELECT($DATA(RAORDS(RAOLP)):RAORDS(RAOLP),1:0)
IF 'RAOIFN!(RAX=U)
QUIT
DO DISORD
+6 ;
+7 IF RAX="^"
KILL XQAID,XQAKILL
IF $DATA(XQAID)
SET DFN=$PIECE(XQAID,",",2)
DO DELETE^XQALERT
Q KILL %,DIC,I,OREND,RA,RACI,RACNI,RADFN,RADIV,RADIVPAR,RADPT0,RADTI,RALNE
+1 KILL RANME,RAOFNS,RAOIFN,RAOLP,RAORD0,RAORDS,RAOSTS,RAOSTSYM,RAOVSTS,RAPKG
+2 KILL RAONE,RAQUIT,RASSN,X,XQAID,XQALERT,Y,RAX,VA200,VAERR,VAIP
+3 KILL RAPARENT,RACMFLG
+4 KILL DFN,DIPGM,DISYS,DIW,DIWI,DIWT,DIWTC,DIWX,DN,RA6,RA7,POP,^TMP($JOB,"PRO-ORD")
+5 KILL ^TMP($JOB,"RA L-TYPE"),^TMP($JOB,"RAORDS"),^TMP($JOB,"RA DIFF PRC")
QUIT
+6 ;
+7 ;
DISORD IF '$DATA(^DPT(RADFN,0))
QUIT
SET RADPT0=^(0)
SET RA("NME")=$PIECE(RADPT0,"^")
SET RA("DOB")=$PIECE(RADPT0,"^",3)
SET RASSN=$$SSN^RAUTL
IF '$DATA(^RAO(75.1,RAOIFN,0))
QUIT
SET RAORD0=^(0)
+1 ;determine if ordered procedure has CM assoc.; return null if none
+2 SET RAZPRC0=$GET(^RAMIS(71,+$PIECE(RAORD0,U,2),0))
+3 SET RACMFLG("O")=$$CMEDIA^RAO7UTL(+$PIECE(RAORD0,U,2),$PIECE(RAZPRC0,U,6))
+4 KILL RAZPRC0
+5 IF $DATA(^RADPT("AO",RAOIFN,RADFN))
DO DPRC(RAOIFN,RADFN)
+6 SET RA("PROC. NODE")=$GET(^RAMIS(71,+$PIECE(RAORD0,U,2),0))
+7 SET RA("PRC")=$EXTRACT($PIECE(RA("PROC. NODE"),U),1,36)
+8 SET RA("PRCTY")=$PIECE(RA("PROC. NODE"),U,6)
+9 SET RA("PRCTY")=$$XTERNAL^RAUTL5(RA("PRCTY"),$PIECE($GET(^DD(71,6,0)),U,2))
+10 SET RA("PRCTY")=$EXTRACT(RA("PRCTY"))_$$LOW^XLFSTR($EXTRACT(RA("PRCTY"),2,99))
+11 SET RA("CPT")=+$PIECE(RA("PROC. NODE"),U,9)
+12 ; don't find CPT code if procedure has type = Parent
+13 SET RA("CPT")=$SELECT($EXTRACT(RA("PRCTY"))="P":"",1:$PIECE($$NAMCODE^RACPTMSC(RA("CPT"),DT),U))
+14 SET RA("PRCIT")=+$PIECE(RA("PROC. NODE"),U,12)
+15 SET RA("PRCIT")=$PIECE($GET(^RA(79.2,RA("PRCIT"),0)),U,3)
+16 SET RA("PROC INFO")=""
SET $EXTRACT(RA("PROC INFO"),1,36)=RA("PRC")
+17 SET RA("CNCAT")="("_RA("PRCIT")_" "_RA("PRCTY")_" "_RA("CPT")_")"
+18 SET $EXTRACT(RA("PROC INFO"),38,60)=RA("CNCAT")
KILL RA("CNCAT"),RA("PRCIT")
+19 KILL RA("PRCTY"),RA("CPT")
+20 ;P75
SET RA("STY_REA")=$PIECE($GET(^RAO(75.1,RAOIFN,.1)),U)
+21 KILL RA("MOD")
FOR I=0:0
SET I=$ORDER(^RAO(75.1,RAOIFN,"M","B",I))
IF 'I
QUIT
IF $DATA(^RAMIS(71.2,+I,0))
SET RA("MOD")=$SELECT('$DATA(RA("MOD")):$PIECE(^(0),"^"),1:RA("MOD")_", "_$PIECE(^(0),"^"))
+22 SET RA("OST")=$PIECE($PIECE(^DD(75.1,5,0),$PIECE(RAORD0,"^",5)_":",2),";")_$SELECT($PIECE(RAOSTSYM,"^",$PIECE(RAORD0,"^",5))="":"",1:" ("_$PIECE(RAOSTSYM,"^",$PIECE(RAORD0,"^",5))_")")
+23 SET RA("PHY")=$SELECT($DATA(^VA(200,+$PIECE(RAORD0,"^",14),0)):$PIECE(^(0),"^"),1:"")
+24 ; Requesting Physician phone/pager info
+25 DO PHONE^RAORD5("R",+$PIECE(RAORD0,"^",14))
+26 SET RA("HLC")=$SELECT($DATA(^SC(+$PIECE(RAORD0,"^",22),0)):$PIECE(^(0),"^"),1:"")
+27 SET DFN=RADFN
SET VA200=1
DO IN5^VADPT
IF VAIP(1)
SET RA("ROOM-BED")=$SELECT(+VAIP(6):$PIECE(VAIP(6),"^",2),1:"")
+28 KILL RA("ODT")
SET X=$PIECE(RAORD0,"^",16)
IF X
IF $PIECE(X,".",2)
SET X=$PIECE(X,".")_"."_$$NOSECNDS^RAORD3($PIECE(X,".",2))
SET RA("ODT")=$$FMTE^XLFDT(X,"1P")
+29 SET RA("USR")=$SELECT($DATA(^VA(200,+$PIECE(RAORD0,"^",15),0)):$PIECE(^(0),"^"),1:"")
+30 ; display a header
DO HDR
+31 WRITE !,"Requested :",?12,RA("PROC INFO")
+32 IF $DATA(^TMP($JOB,"RA DIFF PRC"))
Begin DoDot:1
+33 NEW CRTN,I
SET CRTN=0
SET I=""
WRITE !,"Registered:"
+34 FOR
SET I=$ORDER(^TMP($JOB,"RA DIFF PRC",I))
IF I']""
QUIT
Begin DoDot:2
+35 IF CRTN
WRITE !
WRITE ?12,I
SET CRTN=1
End DoDot:2
+36 QUIT
End DoDot:1
+37 IF $GET(RACMFLG("O"))'=""
IF $X
WRITE !
WRITE ?12,"** The requested procedure has contrast media assigned **"
+38 IF $GET(RACMFLG("R"))'=""
IF $X
WRITE !
WRITE ?12,"** A registered procedure uses contrast media **"
+39 IF $DATA(RA("MOD"))
WRITE !,"Procedure Modifiers:",?22,RA("MOD")
+40 WRITE !!,"Current Status:",?22,$EXTRACT(RA("OST"),1,24)
+41 WRITE !,"Requester:",?22,$EXTRACT(RA("PHY"),1,24)
+42 WRITE !?1,"Tel/Page/Dig Page: ",RA("RPHOINFO")
+43 WRITE !,"Patient Location:",?22,$EXTRACT(RA("HLC"),1,20)
+44 IF $DATA(RA("ROOM-BED"))
WRITE !,"Room-Bed:",?22,$EXTRACT(RA("ROOM-BED"),1,20)
+45 WRITE !,"Entered:",?22,$SELECT($DATA(RA("ODT")):RA("ODT"),1:"")," by ",$EXTRACT(RA("USR"),1,20)
+46 ;
ENDIS ;OE/RR Entry Point for the PRINT ACTION Option
+1 IF '$DATA(RAPKG)
IF '$DATA(ORPK)
QUIT
SET RAOIFN=+ORPK
IF '$DATA(^RAO(75.1,RAOIFN,0))
QUIT
SET RAORD0=^(0)
SET RADFN=+$PIECE(RAORD0,"^")
+2 SET RA("TRAN")=$SELECT($PIECE(RAORD0,"^",19)']"":"",1:$PIECE($PIECE(^DD(75.1,19,0),$PIECE(RAORD0,"^",19)_":",2),";"))
+3 KILL RA("ST")
IF $DATA(^RADPT("AO",RAOIFN,RADFN))
SET RADTI=+$ORDER(^(RADFN,0))
SET RACNI=+$ORDER(^(RADTI,0))
IF $DATA(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0))
SET RA(0)=^(0)
IF $DATA(^RA(72,+$PIECE(RA(0),"^",3),0))
SET RA("ST")=$PIECE(^(0),"^")
+4 IF '$DATA(RAPKG)
DO DPRC(RAOIFN,RADFN)
KILL ^TMP($JOB,"RA DIFF PRC")
+5 SET RADIV(0)=$GET(^SC(+$PIECE(RAORD0,"^",22),0))
+6 SET RADIV=+$$SITE^VASITE(DT,+$PIECE(RADIV(0),"^",15))
IF RADIV<0
SET RADIV=0
+7 SET RADIV=$SELECT($DATA(^RA(79,RADIV,0)):RADIV,1:$ORDER(^RA(79,0)))
+8 SET RADIVPAR=$SELECT($DATA(^RA(79,+RADIV,.1)):^(.1),1:"")
+9 KILL RA("RDT")
SET Y=$PIECE(RAORD0,"^",21)
IF Y
IF $PIECE(Y,".",2)
SET Y=$PIECE(Y,".")_"."_$$NOSECNDS^RAORD3($PIECE(Y,".",2))
SET RA("RDT")=$$FMTE^XLFDT(Y,"1P")
+10 KILL RA("PDT")
SET Y=$PIECE(RAORD0,"^",12)
IF Y
IF $PIECE(Y,".",2)
SET Y=$PIECE(Y,".")_"."_$$NOSECNDS^RAORD3($PIECE(Y,".",2))
SET RA("PDT")=$$FMTE^XLFDT(Y,"1P")
+11 KILL RA("VDT")
SET Y=$PIECE(RAORD0,"^",17)
IF Y
IF $PIECE(Y,".",2)
SET Y=$PIECE(Y,".")_"."_$$NOSECNDS^RAORD3($PIECE(Y,".",2))
SET RA("VDT")=$$FMTE^XLFDT(Y,"1P")
+12 KILL RA("SDT")
SET Y=$PIECE(RAORD0,"^",23)
IF Y
IF $PIECE(Y,".",2)
SET Y=$PIECE(Y,".")_"."_$$NOSECNDS^RAORD3($PIECE(Y,".",2))
SET RA("SDT")=$$FMTE^XLFDT(Y,"1P")
+13 SET RA("ILC")=$SELECT('$PIECE(RAORD0,"^",20):"UNKNOWN",'$DATA(^RA(79.1,+$PIECE(RAORD0,"^",20),0)):"UNKNOWN",$DATA(^SC(+^(0),0)):$PIECE(^(0),"^"),1:"UNKNOWN")
+14 IF $SELECT('$DATA(XQORNOD(0)):0,$PIECE(XQORNOD(0),"^",3)'="Results Display":0,1:1)
IF $DATA(RA(0))
DO ^RAORR3
QUIT
+15 DO ^RAORD3
KILL RA,RACI,RACNI,RADIV,RADIVPAR,RADPT0,RADTI,RAORD0,RAOSTS,X,Y
IF '$DATA(RAPKG)
KILL RADFN,RAOIFN
+16 QUIT
LOCATN ; Select or default to a Rad/Nuc Med location.
+1 SET RAONE=$$LOC1()
IF RAONE]""
QUIT
+2 SET RADIC="^RA(79.1,"
SET RADIC(0)="QEAMZ"
+3 SET RADIC("A")="Select Rad/Nuc Med Location: "
+4 SET RADIC("B")="All"
SET RAUTIL="RA L-TYPE"
+5 WRITE !!
DO EN1^RASELCT(.RADIC,RAUTIL)
KILL DIC,RADIC,RAUTIL,X,Y
+6 QUIT
LOC1() ; Checking for only one Imaging Location
+1 ; Pass back null if more that one entry exists in 79.1
+2 ; If one entry, pass back: external Hosp. Loc. file_"^"_IEN of file 79.1
+3 NEW X,Y
SET X=""
+4 IF $PIECE($GET(^RA(79.1,0)),"^",4)=1
Begin DoDot:1
+5 SET Y=+$ORDER(^RA(79.1,0))
IF 'Y
QUIT
+6 SET Y(0)=$GET(^RA(79.1,Y,0))
SET Y(1)=+$PIECE(Y(0),"^")
+7 SET Y(44)=$PIECE($GET(^SC(Y(1),0)),"^")
SET X=Y(44)_"^"_Y
+8 QUIT
End DoDot:1
+9 QUIT X
HDR ; Header for the 'Detailed Request Display' option. Called from above
+1 ; (D HDR) and from RAORD3
+2 WRITE @IOF,?22,"**** Detailed Display ****",!!,"Name: ",RA("NME")," (",RASSN,")"
SET Y=RA("DOB")
DO D^RAUTL
WRITE ?45,"Date of Birth: ",Y,!,RALNE
+3 QUIT
+4 ;
DPRC(RAOIFN,RADFN) ; If the ordered procedure has been registered check
+1 ;if this is an examset. If not an examset, find the status of the exam
+2 ;RA("ST"). Also, check if the ordered procedure has been changed at
+3 ;time of registration (DPROC^RAUTL15). If it has, store the data off
+4 ;in ^TMP($J,"RA DIFF PRC").
+5 ;
+6 ; NOTE: The only time we don't set ^TMP($J,"RA DIFF PRC") is when
+7 ; we are using the 'Detailed Request Display' option and the ordered
+8 ; procedure is the same as the registered procedure. All other
+9 ; Request display options output the ordered procedure, the
+10 ; registered procedure and exam case number if the order
+11 ; is active.
+12 ;
+13 ;Set the variable RACMFLG("R") to "Y" if an exam, either a single or
+14 ;descendant, has used contrast media during the examination.
+15 ;
+16 NEW RA7003,RACNI,RADTI,RAFLG
KILL RA("ST"),^TMP($JOB,"RA DIFF PRC")
+17 SET (RADTI,RAFLG)=0
+18 FOR
SET RADTI=+$ORDER(^RADPT("AO",RAOIFN,RADFN,RADTI))
IF RADTI'>0
QUIT
Begin DoDot:1
+19 SET RACNI=0
+20 FOR
SET RACNI=$ORDER(^RADPT("AO",RAOIFN,RADFN,RADTI,RACNI))
IF RACNI'>0
QUIT
Begin DoDot:2
+21 IF $DATA(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0))
Begin DoDot:3
+22 SET RA7003=$GET(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0))
SET RAFLG=RAFLG+1
+23 IF $GET(RACMFLG("R"))=""
SET RACMFLG("R")=$SELECT($PIECE(RA7003,U,10)="Y":"Y",1:"")
+24 SET RA("ST")=$$GET1^DIQ(72,+$PIECE(RA7003,"^",3)_",",.01)
+25 NEW RAPRC
SET RAPRC=$$DPROC^RAUTL15(RADFN,RADTI,RACNI,RAOIFN)
+26 IF RAPRC]""
SET ^TMP($JOB,"RA DIFF PRC",RAPRC)=""
+27 QUIT
End DoDot:3
+28 QUIT
End DoDot:2
+29 QUIT
End DoDot:1
+30 ; >1 reg. xam for this order, RA("ST") not valid
IF RAFLG>1
KILL RA("ST")
+31 QUIT