| 1 | RANMUTL1 ;HISC/SWM-Nuclear Medicine utilites ;8/6/97  08:48
 | 
|---|
| 2 |  ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
 | 
|---|
| 3 | SELIMG ; Select Imaging Type, if exists; code is from RAUTL7
 | 
|---|
| 4 |  ; Prompts user to select Imaging Type(s).
 | 
|---|
| 5 |  ; Creates ^TMP($J,"RA I-TYPE",Imaging Type name,Imaging Type IEN)=""
 | 
|---|
| 6 |  N RA,RAIMGNUM,RAONE S RA="",RAONE=$$IMG1^RAUTL7()
 | 
|---|
| 7 |  ; .... chk if only 1 img type is available
 | 
|---|
| 8 |  I $P(RAONE,"^")]"",('$D(^TMP($J,"RA D-TYPE"))) S RAQUIT=0 D  Q
 | 
|---|
| 9 |  . S ^TMP($J,"RA I-TYPE",$P(RAONE,"^"),$P(RAONE,"^",2))=""
 | 
|---|
| 10 |  . Q
 | 
|---|
| 11 |  ; .... chk if only 1 img type within selectable division is available
 | 
|---|
| 12 |  ; raimgnum = number of selectable img types
 | 
|---|
| 13 |  I $D(^TMP($J,"RA D-TYPE")) D
 | 
|---|
| 14 |  . D SETUP1 S RAIMGNUM=$$IMGNUM^RAUTL7A()
 | 
|---|
| 15 |  . Q
 | 
|---|
| 16 |  I $D(^TMP($J,"RA D-TYPE")),(RAIMGNUM=1) D  S RAQUIT=0 Q
 | 
|---|
| 17 |  . N RA0,RA1
 | 
|---|
| 18 |  . S RA1=+$O(^TMP($J,"DIV-IMG",0)),RA0=$P($G(^RA(79.2,RA1,0)),"^")
 | 
|---|
| 19 |  . S ^TMP($J,"RA I-TYPE",RA0,RA1)=""
 | 
|---|
| 20 |  . Q
 | 
|---|
| 21 |  S RADIC="^RA(79.2,",RADIC(0)="QEAMZ",RAUTIL="RA I-TYPE"
 | 
|---|
| 22 |  S RADIC("A")="Select Imaging Type: ",RADIC("B")="All"
 | 
|---|
| 23 |  I $D(^TMP($J,"RA D-TYPE")) D
 | 
|---|
| 24 |  . S RADIC("S")="I $D(^TMP($J,""DIV-IMG"",+Y)),($D(RACCESS(DUZ,""IMG"",+Y)))"
 | 
|---|
| 25 |  . Q
 | 
|---|
| 26 |  ; why do we need to check the alternative ?  DIVLOC+3 prevents this
 | 
|---|
| 27 |  ; alternative from occurring.
 | 
|---|
| 28 |  E  S RADIC("S")="I $D(RACCESS(DUZ,""IMG"",+Y))"
 | 
|---|
| 29 |  W !! D EN1^RASELCT(.RADIC,RAUTIL) K %W,%Y1,DIC,RADIC,RAUTIL,X,Y
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 | SELRADIO ; Setup ^TMP($J,"RA EITHER",ien file 50)
 | 
|---|
| 32 |  S RAINPUT=""
 | 
|---|
| 33 |  K DIR,X,Y S DIR(0)="YA",DIR("B")="Yes"
 | 
|---|
| 34 |  S DIR("A")="Do you wish to include all Radiopharms ? "
 | 
|---|
| 35 |  S DIR("?",1)="Enter 'Yes' to select all Radiopharms."
 | 
|---|
| 36 |  S DIR("?")="Enter 'No' to select a subset of Radiopharms."
 | 
|---|
| 37 |  W ! D ^DIR K DIR Q:$D(DIRUT)
 | 
|---|
| 38 |  S RAINPUT=+Y K DIROUT,DIRUT,DTOUT,DUOUT,X,Y
 | 
|---|
| 39 |  Q:RAINPUT
 | 
|---|
| 40 |  S RADIC="^PSDRUG(",RADIC(0)="QEAMZ",RAUTIL="RA EITHER"
 | 
|---|
| 41 |  S RADIC("A")="Select Radiopharm: "
 | 
|---|
| 42 |  S RADIC("S")="I $$DCHK^RADD1(""R"",0,+Y)" ; dt=0, only radiopharms
 | 
|---|
| 43 |  W !! D EN1^RASELCT(.RADIC,RAUTIL) K %W,%Y1,DIC,RADIC,RAUTIL,X,Y
 | 
|---|
| 44 |  Q
 | 
|---|
| 45 | SELADMIN ; Setup ^TMP($J,"RA EITHER",ien file 50)
 | 
|---|
| 46 |  S RAINPUT=""
 | 
|---|
| 47 |  K DIR,X,Y S DIR(0)="YA",DIR("B")="Yes"
 | 
|---|
| 48 |  S DIR("A")="Do you wish to include all who administered dose ? "
 | 
|---|
| 49 |  S DIR("?",1)="Enter 'Yes' to select all who administered dose."
 | 
|---|
| 50 |  S DIR("?")="Enter 'No' to select some who administered dose."
 | 
|---|
| 51 |  W ! D ^DIR K DIR Q:$D(DIRUT)
 | 
|---|
| 52 |  S RAINPUT=+Y K DIROUT,DIRUT,DTOUT,DUOUT,X,Y
 | 
|---|
| 53 |  Q:RAINPUT
 | 
|---|
| 54 |  S RADIC="^VA(200,",RADIC(0)="QEAMZ",RAUTIL="RA EITHER"
 | 
|---|
| 55 |  S RADIC("A")="Select Person Who Admin Dose: "
 | 
|---|
| 56 |  ; passed parameters to circumvent person's inactive date
 | 
|---|
| 57 |  ; only the 4th param, 0, is really used to choose staff/resid/tech
 | 
|---|
| 58 |  S RADIC("S")="I $$VALADM^RADD1(1,+Y,1,0)" ;
 | 
|---|
| 59 |  W !! D EN1^RASELCT(.RADIC,RAUTIL) K %W,%Y1,DIC,RADIC,RAUTIL,X,Y
 | 
|---|
| 60 |  Q
 | 
|---|
| 61 | SELDATES ; Define RADTBEG and RADTEND
 | 
|---|
| 62 |  S RAPOP=0 W !!,"**** Date Range Selection ****"
 | 
|---|
| 63 |  W ! S %DT="APEXT"
 | 
|---|
| 64 |  S %DT("A")="   Beginning DATE : "
 | 
|---|
| 65 |  S %DT("B")="T-1"
 | 
|---|
| 66 |  D ^%DT S:Y<0 RAPOP=1 Q:Y<0  S (%DT(0),RADTBEG)=Y
 | 
|---|
| 67 |  W ! S %DT="APEXT"
 | 
|---|
| 68 |  S %DT("A")="   Ending    DATE : "
 | 
|---|
| 69 |  S %DT("B")="T-1@24:00"
 | 
|---|
| 70 |  D ^%DT K %DT S:Y<0 RAPOP=1 Q:Y<0  S RADTEND=Y
 | 
|---|
| 71 |  S RADTBEG("X")=$$FMTE^XLFDT(RADTBEG,1) ; for display in header
 | 
|---|
| 72 |  S RADTEND("X")=$$FMTE^XLFDT(RADTEND,1)
 | 
|---|
| 73 |  S:$P(RADTEND,".",2)="" RADTEND=RADTEND_".9999"
 | 
|---|
| 74 |  Q
 | 
|---|
| 75 | SELSORT ; select sort order
 | 
|---|
| 76 |  W ! S RAPOP=0,RASORT=0
 | 
|---|
| 77 |  S DIR("A")="Sort Exam Date/Time before "_$S(RATITLE["Usage":"Radiopharm",1:"Who Admin Dose")_" ? : "
 | 
|---|
| 78 |  S DIR(0)="YAO",DIR("B")="NO" D ^DIR
 | 
|---|
| 79 |  I $D(DIRUT)!($D(DUOUT)) S RAPOP=1 Q
 | 
|---|
| 80 |  S RASORT=Y ; 1=YES, 0=NO
 | 
|---|
| 81 |  Q
 | 
|---|
| 82 | SETUP1 ; Setup ^TMP($J,"DIV-IMG",Imaging Type IEN)=""
 | 
|---|
| 83 |  ; based upon ^TMP($J,"RA D-TYPE",Division name)
 | 
|---|
| 84 |  ;  RACCESS "DIV-IMG"
 | 
|---|
| 85 |  ; elements. 
 | 
|---|
| 86 |  N RAX,RAY,RAZ S RAX=""
 | 
|---|
| 87 |  F  S RAX=$O(^TMP($J,"RA D-TYPE",RAX)) Q:RAX']""  D
 | 
|---|
| 88 |  . I $D(RACCESS(DUZ,"DIV-IMG",RAX)) D
 | 
|---|
| 89 |  .. S RAY="" F  S RAY=$O(RACCESS(DUZ,"DIV-IMG",RAX,RAY)) Q:RAY']""  D
 | 
|---|
| 90 |  ... Q:$P($G(^RA(79.2,+$O(^RA(79.2,"B",RAY,0)),0)),U,5)'="Y"  ;file 79.2's RADIOPHARM..USED
 | 
|---|
| 91 |  ... S RAZ=+$O(^RA(79.2,"B",RAY,0)),^TMP($J,"DIV-IMG",RAZ)=""
 | 
|---|
| 92 |  ... Q
 | 
|---|
| 93 |  .. Q
 | 
|---|
| 94 |  . Q
 | 
|---|
| 95 |  Q
 | 
|---|