PXRMDRCL ; SLC/PKR - Handle VA DRUG CLASS findings. ;08/04/2006
;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21
;
;====================================================
EVALFI(DFN,DEFARR,ENODE,FIEVAL) ;Evaluate drug class (file #50.605) findings.
D EVALFI^PXRMDRGR(DFN,.DEFARR,ENODE,"VAC",.FIEVAL)
Q
;
;====================================================
EVALTERM(DFN,FINDPA,ENODE,TERMARR,TFIEVAL) ;Evaluate drug class
;(file #50.605) terms.
D EVALTERM^PXRMDRGR(DFN,.FINDPA,ENODE,"VAC",.TERMARR,.TFIEVAL)
Q
;
;====================================================
EVALPL(FINDPA,ENODE,TERMARR,PLIST) ;Evaluate VA Drug Class terms
;for building patient lists.
D EVALPL^PXRMDRGR(.FINDPA,ENODE,"VAC",.TERMARR,.PLIST)
Q
;
;====================================================
MHVOUT(INDENT,IFIEVAL,NLINES,TEXT) ;Produce the MHV output.
N CLASSIEN,DRUGCLAS,FTYPE,IND,PFIEVAL,PNAME
S CLASSIEN=$P(IFIEVAL("FINDING"),";",1)
;DBIA #2531
S DRUGCLAS=$$CLASS2^PSNAPIS(CLASSIEN)
S PNAME=$P(DRUGCLAS,U,1)_"-"_$P(DRUGCLAS,U,2)
S NLINES=NLINES+1,TEXT(NLINES)="Drug Class: "_PNAME
S IND=0
F S IND=+$O(IFIEVAL(IND)) Q:IND=0 D
. S TEMP=IFIEVAL(IND,"FINDING")
. S FTYPE=$P(TEMP,";",2)
. K PFIEVAL M PFIEVAL=IFIEVAL(IND)
. I FTYPE="PS(55," D MHVOUT^PXRMDIN(INDENT+1,.PFIEVAL,.NLINES,.TEXT) Q
. I FTYPE="PS(55NVA," D MHVOUT^PXRMDNVA(INDENT+1,.PFIEVAL,.NLINES,.TEXT) Q
. I FTYPE="PSRX(" D MHVOUT^PXRMDOUT(INDENT+1,.PFIEVAL,.NLINES,.TEXT) Q
S NLINES=NLINES+1,TEXT(NLINES)=""
Q
;
;====================================================
OUTPUT(INDENT,IFIEVAL,NLINES,TEXT) ;Produce the clinical
;maintenance output.
N CLASSIEN,DRUGCLAS,FTYPE,IND,PFIEVAL,TEMP
S CLASSIEN=$P(IFIEVAL("FINDING"),";",1)
;DBIA #2531
S DRUGCLAS=$$CLASS2^PSNAPIS(CLASSIEN)
S TEMP=$P(DRUGCLAS,U,1)_"-"_$P(DRUGCLAS,U,2)
S NLINES=NLINES+1
S TEXT(NLINES)=$$INSCHR^PXRMEXLC(INDENT," ")_"Drug Class: "_TEMP
S IND=0
F S IND=+$O(IFIEVAL(IND)) Q:IND=0 D
. S TEMP=IFIEVAL(IND,"FINDING")
. S FTYPE=$P(TEMP,";",2)
. K PFIEVAL M PFIEVAL=IFIEVAL(IND)
. I FTYPE="PS(55," D OUTPUT^PXRMDIN(INDENT+1,.PFIEVAL,.NLINES,.TEXT) Q
. I FTYPE="PS(55NVA," D OUTPUT^PXRMDNVA(INDENT+1,.PFIEVAL,.NLINES,.TEXT) Q
. I FTYPE="PSRX(" D OUTPUT^PXRMDOUT(INDENT+1,.PFIEVAL,.NLINES,.TEXT) Q
Q
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPXRMDRCL 2324 printed Dec 13, 2024@01:44:16 Page 2
PXRMDRCL ; SLC/PKR - Handle VA DRUG CLASS findings. ;08/04/2006
+1 ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21
+2 ;
+3 ;====================================================
EVALFI(DFN,DEFARR,ENODE,FIEVAL) ;Evaluate drug class (file #50.605) findings.
+1 DO EVALFI^PXRMDRGR(DFN,.DEFARR,ENODE,"VAC",.FIEVAL)
+2 QUIT
+3 ;
+4 ;====================================================
EVALTERM(DFN,FINDPA,ENODE,TERMARR,TFIEVAL) ;Evaluate drug class
+1 ;(file #50.605) terms.
+2 DO EVALTERM^PXRMDRGR(DFN,.FINDPA,ENODE,"VAC",.TERMARR,.TFIEVAL)
+3 QUIT
+4 ;
+5 ;====================================================
EVALPL(FINDPA,ENODE,TERMARR,PLIST) ;Evaluate VA Drug Class terms
+1 ;for building patient lists.
+2 DO EVALPL^PXRMDRGR(.FINDPA,ENODE,"VAC",.TERMARR,.PLIST)
+3 QUIT
+4 ;
+5 ;====================================================
MHVOUT(INDENT,IFIEVAL,NLINES,TEXT) ;Produce the MHV output.
+1 NEW CLASSIEN,DRUGCLAS,FTYPE,IND,PFIEVAL,PNAME
+2 SET CLASSIEN=$PIECE(IFIEVAL("FINDING"),";",1)
+3 ;DBIA #2531
+4 SET DRUGCLAS=$$CLASS2^PSNAPIS(CLASSIEN)
+5 SET PNAME=$PIECE(DRUGCLAS,U,1)_"-"_$PIECE(DRUGCLAS,U,2)
+6 SET NLINES=NLINES+1
SET TEXT(NLINES)="Drug Class: "_PNAME
+7 SET IND=0
+8 FOR
SET IND=+$ORDER(IFIEVAL(IND))
if IND=0
QUIT
Begin DoDot:1
+9 SET TEMP=IFIEVAL(IND,"FINDING")
+10 SET FTYPE=$PIECE(TEMP,";",2)
+11 KILL PFIEVAL
MERGE PFIEVAL=IFIEVAL(IND)
+12 IF FTYPE="PS(55,"
DO MHVOUT^PXRMDIN(INDENT+1,.PFIEVAL,.NLINES,.TEXT)
QUIT
+13 IF FTYPE="PS(55NVA,"
DO MHVOUT^PXRMDNVA(INDENT+1,.PFIEVAL,.NLINES,.TEXT)
QUIT
+14 IF FTYPE="PSRX("
DO MHVOUT^PXRMDOUT(INDENT+1,.PFIEVAL,.NLINES,.TEXT)
QUIT
End DoDot:1
+15 SET NLINES=NLINES+1
SET TEXT(NLINES)=""
+16 QUIT
+17 ;
+18 ;====================================================
OUTPUT(INDENT,IFIEVAL,NLINES,TEXT) ;Produce the clinical
+1 ;maintenance output.
+2 NEW CLASSIEN,DRUGCLAS,FTYPE,IND,PFIEVAL,TEMP
+3 SET CLASSIEN=$PIECE(IFIEVAL("FINDING"),";",1)
+4 ;DBIA #2531
+5 SET DRUGCLAS=$$CLASS2^PSNAPIS(CLASSIEN)
+6 SET TEMP=$PIECE(DRUGCLAS,U,1)_"-"_$PIECE(DRUGCLAS,U,2)
+7 SET NLINES=NLINES+1
+8 SET TEXT(NLINES)=$$INSCHR^PXRMEXLC(INDENT," ")_"Drug Class: "_TEMP
+9 SET IND=0
+10 FOR
SET IND=+$ORDER(IFIEVAL(IND))
if IND=0
QUIT
Begin DoDot:1
+11 SET TEMP=IFIEVAL(IND,"FINDING")
+12 SET FTYPE=$PIECE(TEMP,";",2)
+13 KILL PFIEVAL
MERGE PFIEVAL=IFIEVAL(IND)
+14 IF FTYPE="PS(55,"
DO OUTPUT^PXRMDIN(INDENT+1,.PFIEVAL,.NLINES,.TEXT)
QUIT
+15 IF FTYPE="PS(55NVA,"
DO OUTPUT^PXRMDNVA(INDENT+1,.PFIEVAL,.NLINES,.TEXT)
QUIT
+16 IF FTYPE="PSRX("
DO OUTPUT^PXRMDOUT(INDENT+1,.PFIEVAL,.NLINES,.TEXT)
QUIT
End DoDot:1
+17 QUIT
+18 ;