| 1 | RABUL1 ;HISC/FPT,GJC-'RAD/NUC MED EXAM DELETED' Bulletin ;10/24/94  15:22
 | 
|---|
| 2 |  ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
 | 
|---|
| 3 |  ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 | 
|---|
| 4 |  ; The DA array and RABULL must be defined.
 | 
|---|
| 5 |  ; The elements of the DA array must be greater than 0, and RABULL must
 | 
|---|
| 6 |  ; exist for the RAD/NUC MED EXAM DELETED bulletin to execute.
 | 
|---|
| 7 |  ; Note: This routine is closely related to the code at: ASKDEL^RAEDCN
 | 
|---|
| 8 |  ; Called from: ^DD(70.03,.01,1,2,0-"DT") xref nodes
 | 
|---|
| 9 |  ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 | 
|---|
| 10 |  ;                     ***** Variable List *****
 | 
|---|
| 11 |  ; 'DIFQ'   -> Variable used check if we are installing the Radiology
 | 
|---|
| 12 |  ;             Package.  If we are, do not fire the bulletins.
 | 
|---|
| 13 |  ; 'RABULL' -> Flag to send bulletin, defined in ASKDEL^RAEDCN
 | 
|---|
| 14 |  ; 'RADFN'  -> IEN of the patient in the PATIENT file (2)
 | 
|---|
| 15 |  ; 'RAFN1'  -> internal format of a FM date/time data element
 | 
|---|
| 16 |  ;             { internal format pointer value }
 | 
|---|
| 17 |  ; 'RAFN2'  -> FM data definition for RAFN1, used in XTERNAL^RAUTL5
 | 
|---|
| 18 |  ; 'A'      -> Zero node of the RADIOLOGY/NUCLEAR MEDICINE PATIENT
 | 
|---|
| 19 |  ;             file (70) { node: ^RADPT(DA(2),"DT",DA(1),"P",DA,0) }
 | 
|---|
| 20 |  ; 'B'      -> Zero node of the RADIOLOGY/NUCLEAR MEDICINE PATIENT
 | 
|---|
| 21 |  ;             file (70) { node: ^RADPT(DA(2),"DT",DA(1),0) }
 | 
|---|
| 22 |  ; 'C'      -> Zero node of the RADIOLOGY PATIENT/NUCLEAR MEDICINE
 | 
|---|
| 23 |  ;             file (70) { node: ^RADPT(DA(2),0) }
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 |  ; Format: Data to be fired;local var name;XMB array representation
 | 
|---|
| 26 |  ; Patient ; RANAME ; XMB(1)     <---> Req. Date ; RARDT ; XMB(5)
 | 
|---|
| 27 |  ; Patient SSN ; RASSN ; XMB(2)  <---> Rad. Location ; RARLOC ; XMB(6)
 | 
|---|
| 28 |  ; Case Number ; RACASE ; XMB(3) <---> Rad. Procedure ; RARPROC ; XMB(7)
 | 
|---|
| 29 |  ; Exam Date ; RAXDT ; XMB(4)
 | 
|---|
| 30 |  ;
 | 
|---|
| 31 |  Q:$D(DIFQ)  ; Quit if installing the software
 | 
|---|
| 32 |  Q:'$D(RABULL)!(+$G(DA(2))'>0)!(+$G(DA(1))'>0)!(+$G(DA)'>0)
 | 
|---|
| 33 |  N A,B,C,RACASE,RADFN,RAFN1,RAFN2,RANAME,RARDT,RARLOC,RARPROC,RASSN
 | 
|---|
| 34 |  N RAXDT,X,Y
 | 
|---|
| 35 |  S A=$G(^RADPT(DA(2),"DT",DA(1),"P",DA,0))
 | 
|---|
| 36 |  S B=$G(^RADPT(DA(2),"DT",DA(1),0))
 | 
|---|
| 37 |  S C=$G(^RADPT(DA(2),0))
 | 
|---|
| 38 |  S (RADFN,RANAME)=+$P(C,U)
 | 
|---|
| 39 |  S RANAME=$S($D(^DPT(RANAME,0)):$P(^(0),U),1:"Unknown")
 | 
|---|
| 40 |  S RASSN=$$SSN^RAUTL()
 | 
|---|
| 41 |  S RACASE=$S($P(A,U)]"":$P(A,U),1:"Unknown")
 | 
|---|
| 42 |  S RAFN1=$P(B,U),RAFN2=$P($G(^DD(70.02,.01,0)),U,2)
 | 
|---|
| 43 |  S RAXDT=$$XTERNAL^RAUTL5(RAFN1,RAFN2)
 | 
|---|
| 44 |  S RAXDT=$S(RAXDT]"":RAXDT,1:"Unknown")
 | 
|---|
| 45 |  S RAFN1=$P(A,U,21),RAFN2=$P($G(^DD(70.03,21,0)),U,2)
 | 
|---|
| 46 |  S RARDT=$$XTERNAL^RAUTL5(RAFN1,RAFN2)
 | 
|---|
| 47 |  S RARDT=$S(RARDT]"":RARDT,1:"Unknown")
 | 
|---|
| 48 |  S RAFN1=$P(B,U,4),RAFN2=$P($G(^DD(70.02,4,0)),U,2)
 | 
|---|
| 49 |  S RARLOC=$$XTERNAL^RAUTL5(RAFN1,RAFN2)
 | 
|---|
| 50 |  S RARLOC=$S(RARLOC]"":RARLOC,1:"Unknown")
 | 
|---|
| 51 |  S RAFN1=$P(A,U,2),RAFN2=$P($G(^DD(70.03,2,0)),U,2)
 | 
|---|
| 52 |  S RARPROC=$$XTERNAL^RAUTL5(RAFN1,RAFN2)
 | 
|---|
| 53 |  S RARPROC=$S(RARPROC]"":RARPROC,1:"Unknown")
 | 
|---|
| 54 |  S XMB(1)=RANAME,XMB(2)=RASSN,XMB(3)=RACASE,XMB(4)=RAXDT
 | 
|---|
| 55 |  S XMB(5)=RARDT,XMB(6)=RARLOC,XMB(7)=RARPROC
 | 
|---|
| 56 |  S XMB="RAD/NUC MED EXAM DELETED"
 | 
|---|
| 57 |  D ^XMB:$D(^XMB(3.6,"B",XMB))
 | 
|---|
| 58 |  K XMB,XMB0,XMC0,XMDT,XMM,XMMG
 | 
|---|
| 59 |  Q
 | 
|---|