Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: RAORD2

RAORD2.m

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