Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

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
     1RADD4 ;HISC/GJC-Radiology Utility Routine ;11/25/97  12:40
     2 ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
     3 ;
     4DCHK() ; 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 ;
     21DCHK1() ; 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 ;
     33VALADM() ;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 ;
     53VOL() ; 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.