- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/RADIOLOGY_NUCLEAR_MEDICINE-RA/RADD4.m
r613 r623 1 RADD4 ;HISC/GJC-Radiology Utility Routine ;11/25/97 12:40 2 ;;5.0;Radiology/Nuclear Medicine;**65**;Mar 16, 1998;Build 8 3 ; 4 ;supported IA #10104 reference to STRIP^XLFSTR and LOW^XLFSTR 5 ; 6 VALADM() ;edit validation 7 ;Used to validate/screen radiopharm dosage administrator, 8 ; radiopharm prescribing phys, person who measured radiopharm dose, 9 ;---------------------------------------------------------------------- 10 ; RAD0 : IEN of entry in question for NUC MED EXAM DATA (70.2) file 11 ; Y : Pointer to the New Person file 12 ; RADT : Xam Date; if not passed, calculate exam date from file 70.2 13 ; RAUTH : 1 - only staff/resid, must be auth'zd to write med orders 14 ; : 0 - staff/resid & tech's 15 ;---------------------------------------------------------------------- 16 ; Output: '1' authorized to write med orders, else '0' 17 ;---------------------------------------------------------------------- 18 N RAPS S RAPS=$G(^VA(200,Y,"PS")) 19 ; $P(RAPS,"^") - authorized to write med orders '1': Yes 20 ; $P(RAPS,"^",4) - person CAN'T write med orders after this date(if any) 21 S:$G(RADT)="" RADT=$P($G(^RADPTN(RAD0,0)),"^",2) 22 I 'RAUTH,($D(^VA(200,"ARC","R",Y))!$D(^VA(200,"ARC","S",Y))!$D(^VA(200,"ARC","T",Y))) Q 1 23 I RAUTH,($D(^VA(200,"ARC","R",Y))!$D(^VA(200,"ARC","S",Y))),(+$P(RAPS,"^")),($S('$P(RAPS,"^",4):1,$P(RAPS,"^",4)'<RADT:1,1:0)) Q 1 24 Q 0 25 ; 26 VOL() ; Validate the format of the value input for volume. 27 ; RAX must be a number followed by a space then text -or- 28 ; a number followed by text 29 ; Input Variable : 'RAX'- user's input 30 ; Output Variable: null if 'RAX' erroneous, formatted version of 'RAX' 31 Q:(RAX'?0.5N0.1"."0.2N1" "1.30A)&(RAX'?0.5N0.1"."0.2N1.30A) "" 32 N RAX1,RAY S RAX1=+RAX,RAY=$P(RAX,RAX1,2) Q:RAX1'>0 "" 33 S RAY=$S($F(RAY," ")>0:$E(RAY,$F(RAY," "),9999),1:RAY) 34 S RAY=$S($F(RAY,".")>0:$E(RAY,$F(RAY,"."),9999),1:RAY) 35 S RAY=$$STRIP^XLFSTR(RAY,"0") 36 S RAY=$$LOW^XLFSTR($E(RAY,1)) 37 I RAY'="c",(RAY'="m") Q "" 38 Q RAX1_" "_RAY 1 RADD4 ;HISC/GJC-Radiology Utility Routine ;11/25/97 12:40 2 ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998 3 ; 4 DCHK() ; Check if drug if DRUG is active AND a Radiopharmaceutical. 5 ; 'RASTAT=1' if active AND RADG condition met 6 ; 'RASTAT=0' if inactive OR RADG condition not met 7 ; VERSION 5.0 called from ^DD(70.21,.01,12.1) & DCHK^RADD1 8 ; 'Y' is the IEN for the Drug file 9 ; 'RADT' is the cutoff date for drugs in the drug file 10 ; 'RADG':$S(RADG="R":Radiopharm,"P":non-Radioharm,1:non-Radiopharm) 11 N RACLASS,RADRUG,RASTAT S:RADG']"" RADG="P" 12 S RADRUG(2)=$P($G(^PSDRUG(Y,0)),"^",2) 13 S RACLASS="^DX200^DX201^DX202^" 14 S RASTAT=$$DCHK1() ; is it active '1' yes, '0' no. 15 I RASTAT D ; is active check class 16 . S:RADG="R"&(RACLASS'[("^"_RADRUG(2)_"^")) RASTAT=0 17 . S:RADG="P"&(RACLASS[("^"_RADRUG(2)_"^")) RASTAT=0 18 . Q 19 Q RASTAT 20 ; 21 DCHK1() ; Check if drug if DRUG is an active pharmaceutical 22 ; '1' if active AND Pharm, '0' if inactive 23 ; VERSION 5.0 called from DCHK above 24 ; 'Y' is the IEN for the Drug file 25 ; 'RADT' is the cutoff date for drugs in the drug file 26 ; VERSION 5.0 27 N RAINACT 28 S RAINACT=+$G(^PSDRUG(Y,"I")) 29 Q:'RAINACT 1 ; not inactive 30 I RAINACT,(RAINACT'>RADT) Q 0 ; not active 31 Q 1 ; active 32 ; 33 VALADM() ;edit validation 34 ;Used to validate/screen radiopharm dosage administrator, 35 ; radiopharm prescribing phys, person who measured radiopharm dose, 36 ;---------------------------------------------------------------------- 37 ; RAD0 : IEN of entry in question for NUC MED EXAM DATA (70.2) file 38 ; Y : Pointer to the New Person file 39 ; RADT : Xam Date; if not passed, calculate exam date from file 70.2 40 ; RAUTH : 1 - only staff/resid, must be auth'zd to write med orders 41 ; : 0 - staff/resid & tech's 42 ;---------------------------------------------------------------------- 43 ; Output: '1' authorized to write med orders, else '0' 44 ;---------------------------------------------------------------------- 45 N RAPS S RAPS=$G(^VA(200,Y,"PS")) 46 ; $P(RAPS,"^") - authorized to write med orders '1': Yes 47 ; $P(RAPS,"^",4) - person CAN'T write med orders after this date(if any) 48 S:$G(RADT)="" RADT=$P($G(^RADPTN(RAD0,0)),"^",2) 49 I 'RAUTH,($D(^VA(200,"ARC","R",Y))!$D(^VA(200,"ARC","S",Y))!$D(^VA(200,"ARC","T",Y))) Q 1 50 I RAUTH,($D(^VA(200,"ARC","R",Y))!$D(^VA(200,"ARC","S",Y))),(+$P(RAPS,"^")),($S('$P(RAPS,"^",4):1,$P(RAPS,"^",4)'<RADT:1,1:0)) Q 1 51 Q 0 52 ; 53 VOL() ; Validate the format of the value input for volume. 54 ; RAX must be a number followed by a space then text -or- 55 ; a number followed by text 56 ; Input Variable : 'RAX'- user's input 57 ; Output Variable: null if 'RAX' erroneous, formatted version of 'RAX' 58 Q:(RAX'?0.5N0.1"."0.2N1" "1.30A)&(RAX'?0.5N0.1"."0.2N1.30A) "" 59 N RAX1,RAY S RAX1=+RAX,RAY=$P(RAX,RAX1,2) Q:RAX1'>0 "" 60 S RAY=$S($F(RAY," ")>0:$E(RAY,$F(RAY," "),9999),1:RAY) 61 S RAY=$S($F(RAY,".")>0:$E(RAY,$F(RAY,"."),9999),1:RAY) 62 S RAY=$$STRIP^XLFSTR(RAY,"0") 63 S RAY=$$LOW^XLFSTR($E(RAY,1)) 64 I RAY'="c",(RAY'="m") Q "" 65 Q RAX1_" "_RAY
Note:
See TracChangeset
for help on using the changeset viewer.