| 1 | RADEM1 ;HISC/GJC-Display Patient Demographics ;4/19/96  08:17
 | 
|---|
| 2 |  ;;5.0;Radiology/Nuclear Medicine;**45**;Mar 16, 1998
 | 
|---|
| 3 | EXAM D HDR S RAXIT=0
 | 
|---|
| 4 |  S X1=DT,X2=-7 D C^%DTC S RACHKDT=X,X1=DT,X2=-3 D C^%DTC S RACHKDT1=X
 | 
|---|
| 5 |  S (RADTE,RASEQ)=0 F RADTI=0:0 Q:(RASEQ>4)&(RADTE<RACHKDT)!RAXIT  S RADTI=$O(^RADPT(RADFN,"DT",RADTI)) Q:RADTI'>0!RAXIT  I $D(^(RADTI,0)) S Y=^(0),RALOC=+$P(Y,"^",4),(RADTE,Y)=+Y Q:(RASEQ>4)&(RADTE<RACHKDT)  D D^RAUTL S RADATE=Y D RACN
 | 
|---|
| 6 |  I $G(RAXIT) G Q
 | 
|---|
| 7 |  D ORDER ;Check for outstanding orders
 | 
|---|
| 8 |  W:'RASEQ !!?5,"No registered exams filed for this patient.",!
 | 
|---|
| 9 |  W:$D(RABARFL) !?2,"  *Exam with Barium performed in last 7 days."
 | 
|---|
| 10 |  W:$D(RAORFL) !?2," **Oral Cholecystographic medium used in last 7 days."
 | 
|---|
| 11 |  I $D(RACNFL) D
 | 
|---|
| 12 |  .N DIWF,DIWL,DIWR,DIWT,X K ^UTILITY($J,"W")
 | 
|---|
| 13 |  .S:'$D(RAZDFN)#2 X="***Exam with contrast media performed in last 3 days."
 | 
|---|
| 14 |  .S:$D(RAZDFN)#2 X="***Exam with "_$$CM(RAZDFN,RAZDTI,RAZCNI)_" performed in last 3 days."
 | 
|---|
| 15 |  .S DIWL=3,DIWF="C60" D ^DIWP,^DIWW ;UTILITY($J,"W") killed in DIWW
 | 
|---|
| 16 |  .Q
 | 
|---|
| 17 |  I '$D(RACONT),('+$G(RAXIT)) R !!,"Press <RETURN> key to continue.",X:DTIME
 | 
|---|
| 18 | Q K %,%H,DIC,POP,RACNFL,RAORFL,RACODE,RACONT,RABAR,RABARFL,RACHKDT,RACHKDT1,RACN,RACNI,RADATE,RADTE,RADTI,RAPR1,RAPRI,RASEQ,RAST,RASTI,RAXIT,RAZDFN,RAZDTI,RAZCNI Q
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 | RACN S RALOC=$S($D(^RA(79.1,RALOC,0)):$P(^(0),"^"),1:"") S RALOC=$S($D(^SC(+RALOC,0)):$P(^(0),"^"),1:"Unknown")
 | 
|---|
| 21 |  F RACNI=0:0 Q:(RASEQ>4)&(RADTE<RACHKDT)!RAXIT  S RACNI=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI)) Q:RACNI'>0!RAXIT  I $D(^(RACNI,0)) S Y=^(0) D PRT
 | 
|---|
| 22 |  Q
 | 
|---|
| 23 |  ;
 | 
|---|
| 24 | PRT N RAESITY,RAITYPE
 | 
|---|
| 25 |  S RAPRI=+$P(Y,"^",2),RAPR1=99 S:$D(^RAMIS(71,RAPRI,0)) RAPR1=$P(^(0),"^") S RABAR=0
 | 
|---|
| 26 |  I $P(Y,U,10)="Y" D
 | 
|---|
| 27 |  .I RADTE'<RACHKDT,($O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CM","B",""))="B") S (RABAR,RABARFL)=1,RACODE="  *"
 | 
|---|
| 28 |  .I RADTE'<RACHKDT,(+$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CM","B","C",0))>0) S (RABAR,RAORFL)=1,RACODE=" **"
 | 
|---|
| 29 |  .I RADTE'<RACHKDT1 D
 | 
|---|
| 30 |  ..S (RABAR,RACNFL)=1,RACODE="***"
 | 
|---|
| 31 |  ..I +$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CM",0)) S RAZDFN=RADFN,RAZDTI=RADTI,RAZCNI=RACNI
 | 
|---|
| 32 |  ..Q
 | 
|---|
| 33 |  .Q
 | 
|---|
| 34 |  S RASTI=+$P(Y,"^",3)
 | 
|---|
| 35 |  S RAST=$S($D(^RA(72,RASTI,0)):$P(^(0),"^"),1:"Unknown")
 | 
|---|
| 36 |  S RAESITY=+$P($G(^RA(72,RASTI,0)),U,7)
 | 
|---|
| 37 |  S RAITYPE=$P($G(^RA(79.2,RAESITY,0)),U)
 | 
|---|
| 38 |  S RAITYPE=$S(RAITYPE]"":RAITYPE,1:"Unknown")
 | 
|---|
| 39 |  S RACN=$S($D(^RA(72,"AA",RAITYPE,9,RASTI)):"",1:+Y)
 | 
|---|
| 40 |  ; flag if print set and if lowest case of set
 | 
|---|
| 41 |  N RAPRTSET,RAMEMLOW,RADISP D EN1^RAUTL20
 | 
|---|
| 42 |  S RADISP=$S(RAMEMLOW&(RAPRTSET):"+",RAPRTSET:".",1:" ")
 | 
|---|
| 43 |  S RASEQ=RASEQ+1 W:RASEQ<6!(RABAR) !,RACN,?6,RADISP,?7,$S(RABAR:RACODE,1:""),?10,$E(RAPR1,1,28),?39,$E(RADATE,1,11),?51,$E(RAST,1,12),?67,$E(RALOC,1,12)
 | 
|---|
| 44 |  I $E(IOST,1,2)="C-",($Y>(IOSL-4)) D
 | 
|---|
| 45 |  . N DIR S DIR(0)="E" D ^DIR S RAXIT=$S(Y'>0:1,1:0)
 | 
|---|
| 46 |  . I 'RAXIT W @IOF D HDR
 | 
|---|
| 47 |  . Q
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 | ORDER ; Check for pat rad orders before registering a patient in rad
 | 
|---|
| 50 |  ; Created by GJC@1/3/94
 | 
|---|
| 51 |  N RALP,RA751,DIROUT,DIRUT,DTOUT,DUOUT S (RALP,RAXIT)=0
 | 
|---|
| 52 |  F  S RALP=$O(^RAO(75.1,"B",RADFN,RALP)) Q:RALP'>0!(RAXIT)  D
 | 
|---|
| 53 |  . Q:$D(^RADPT("AO",RALP,RADFN))\10  ;Check for entry in file 70.
 | 
|---|
| 54 |  . Q:+$P($G(^RAO(75.1,RALP,0)),U,5)<3
 | 
|---|
| 55 |  . S RA751(0)=$G(^RAO(75.1,RALP,0)),RA751(2)=$P(RA751(0),U,2)
 | 
|---|
| 56 |  . S RA751(16)=$P(RA751(0),U,16),RA751(20)=$P(RA751(0),U,20)
 | 
|---|
| 57 |  . S RA751(5)=+$P(RA751(0),U,5) Q:RA751(5)=1  ;GJC@4/4/94 Cancelled xam
 | 
|---|
| 58 |  . S Y=RA751(2),C=$P($G(^DD(75.1,2,0)),U,2) D:Y]"" Y^DIQ S RA751(2)=Y
 | 
|---|
| 59 |  . S Y=RA751(20),C=$P($G(^DD(75.1,20,0)),U,2) D:Y]"" Y^DIQ S RA751(20)=Y
 | 
|---|
| 60 |  . W !?10,$E(RA751(2),1,28),?51,"Ord "
 | 
|---|
| 61 |  . W $S(RA751(16)]"":$$FMTE^XLFDT(RA751(16),"2D"),1:"")
 | 
|---|
| 62 |  . W ?67,$E(RA751(20),1,12) ; prints 'SUBMIT REQUEST TO' data
 | 
|---|
| 63 |  . I $E(IOST,1,2)="C-",($Y>(IOSL-4)) D
 | 
|---|
| 64 |  .. K DIR S DIR(0)="E" D ^DIR K DIR S:'+Y RAXIT=1
 | 
|---|
| 65 |  .. I 'RAXIT W @IOF D HDR
 | 
|---|
| 66 |  .. Q
 | 
|---|
| 67 |  . Q
 | 
|---|
| 68 |  Q
 | 
|---|
| 69 | HDR ; Header
 | 
|---|
| 70 |  ; Created by GJC@1/3/94
 | 
|---|
| 71 |  ; The variable: RAOPT("ORDEREXAM") is defined in the entry action of
 | 
|---|
| 72 |  ; the option RA ORDEREXAM.  It is subsequently kill in the exit action
 | 
|---|
| 73 |  ; of the option.
 | 
|---|
| 74 |  D HOME^%ZIS W:$D(RAOPT("ORDEREXAM"))#2 @IOF
 | 
|---|
| 75 |  W !!,"Case #",?10,"Last 5 Procedures/New Orders",?39,"Exam Date",?51,"Status of Exam",?67,"Imaging Loc."
 | 
|---|
| 76 |  W !,"------",?10,"----------------------------",?39,"---------",?51,"--------------",?67,"------------"
 | 
|---|
| 77 |  Q
 | 
|---|
| 78 |  ;
 | 
|---|
| 79 | CM(RADFN,RADTI,RACNI) ;Return the contrast media used while performing an
 | 
|---|
| 80 |  ;exam.
 | 
|---|
| 81 |  ;Input: RADFN=patient DFN
 | 
|---|
| 82 |  ;       RADTI=inverse date/time of exam
 | 
|---|
| 83 |  ;       RACNI=IEN of an individual case
 | 
|---|
| 84 |  ;Return: contrast media used with exam delimited by ', '.
 | 
|---|
| 85 |  N I,X S X="",I=0
 | 
|---|
| 86 |  F  S I=$O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CM",I)) Q:'I  D
 | 
|---|
| 87 |  .S I(0)=$P(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"CM",I,0),U)
 | 
|---|
| 88 |  .S X=X_$$EXTERNAL^DILFD(70.3225,.01,"",I(0))_", "
 | 
|---|
| 89 |  .Q
 | 
|---|
| 90 |  I $L(X,", ")'>2 S X=$P(X,", ")
 | 
|---|
| 91 |  E  S X=$P(X,", ",1,($L(X,", ")-1))
 | 
|---|
| 92 |  Q X
 | 
|---|
| 93 |  ;
 | 
|---|