Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: PXRMDOUT

PXRMDOUT.m

Go to the documentation of this file.
  1. PXRMDOUT ; SLC/PKR - Handle outpatient med findings. ;17-Jun-2015 06:50;du
  1. ;;2.0;CLINICAL REMINDERS;**4,1001,12,17,1005**;Feb 04, 2005;Build 23
  1. ;DBIA #5187 for PSSCLINR
  1. ;IHS/MSC/MGH Patch 1001 and 1005
  1. ;===============================================
  1. GETDATA(DAS,FIEVT) ;Return data for an outpatient drug finding.
  1. ;DBIA #3793
  1. N ERX,END
  1. S ERX=0
  1. D PSRX^PSOPXRM1(DAS,.FIEVT)
  1. ;IHS/MSC/MGH Patch 1001 make changes for e-prescribing
  1. I $P($G(^PSRX($P(DAS,";",1),999999921)),U,3)=1 S ERX=1
  1. I +ERX S END=FIEVT("DAYS SUPPLY")*(FIEVT("REFILLS")+1)
  1. ;DBIA #5188
  1. S (FIEVT("STATUS"),FIEVT("VALUE"))=$$STAT^PSO52CLR(FIEVT("STATUS"))
  1. ;S FIEVT("START DATE")=FIEVT("RELEASED DATE/TIME")
  1. ;S FIEVT("STOP DATE")=$$FMADD^XLFDT(FIEVT("START DATE"),FIEVT("DAYS SUPPLY"))
  1. I ERX=0 D
  1. .S FIEVT("START DATE")=FIEVT("RELEASED DATE/TIME")
  1. .I $G(FIEVT("RELEASED DATE/TIME"))="" S FIEVT("START DATE")=FIEVT("FILL DATE")
  1. I ERX=1 S FIEVT("START DATE")=FIEVT("FILL DATE")
  1. I ERX=0 S FIEVT("STOP DATE")=$$FMADD^XLFDT(FIEVT("START DATE"),FIEVT("DAYS SUPPLY"))
  1. I ERX=1 S FIEVT("STOP DATE")=$$FMADD^XLFDT(FIEVT("START DATE"),END)
  1. S FIEVT("DURATION")=$$DURATION^PXRMDATE(FIEVT("START DATE"),FIEVT("STOP DATE"))
  1. Q
  1. ;
  1. ;===============================================
  1. EVALTERM(DFN,FINDPA,ENODE,TERMARR,TFIEVAL) ;Evaluate terms.
  1. D EVALTERM^PXRMINDX(DFN,.FINDPA,ENODE,.TERMARR,.TFIEVAL)
  1. Q
  1. ;
  1. ;===============================================
  1. MHVOUT(INDENT,IFIEVAL,NLINES,TEXT) ;Produce the MHV output.
  1. N DRUG,JND,NOUT,TEMP,TEXTOUT
  1. S DRUG=IFIEVAL("DISPENSE DRUG")
  1. ;DBIA #5187
  1. S DRUG=$S(+DRUG=0:DRUG,1:$$DRUG^PSSCLINR(DRUG))
  1. S TEMP="Outpatient Drug: "_DRUG_" = "
  1. S TEMP=TEMP_"("_$$EDATE^PXRMDATE(IFIEVAL("START DATE"))
  1. S TEMP=TEMP_" - "_$$EDATE^PXRMDATE(IFIEVAL("STOP DATE"))_")"
  1. D FORMATS^PXRMTEXT(INDENT+1,PXRMRM,TEMP,.NOUT,.TEXTOUT)
  1. F JND=1:1:NOUT S NLINES=NLINES+1,TEXT(NLINES)=TEXTOUT(JND)
  1. Q
  1. ;
  1. ;===============================================
  1. OUTPUT(INDENT,IFIEVAL,NLINES,TEXT) ;Produce the clinical
  1. ;maintenance output.
  1. N DRUG,JND,NOUT,TEMP,TEXTOUT
  1. S DRUG=IFIEVAL("DISPENSE DRUG")
  1. S DRUG=$S(+DRUG=0:DRUG,1:$$DRUG^PSSCLINR(DRUG))
  1. S NLINES=NLINES+1
  1. S TEXT(NLINES)=$$INSCHR^PXRMEXLC(INDENT," ")_"Outpatient Medication: "_DRUG
  1. S TEMP=$$EDATE^PXRMDATE(IFIEVAL("DATE"))_" Status: "_IFIEVAL("STATUS")_"\\"
  1. S TEMP=TEMP_"Start date: "_$$EDATE^PXRMDATE(IFIEVAL("START DATE"))
  1. S TEMP=TEMP_" Stop date: "_$$EDATE^PXRMDATE(IFIEVAL("STOP DATE"))
  1. I $D(IFIEVAL("DURATION")) S TEMP=TEMP_" Duration: "_IFIEVAL("DURATION")_" D"_"\\"
  1. S TEMP=TEMP_"Last release date: "_$$EDATE^PXRMDATE(IFIEVAL("RELEASED DATE/TIME"))
  1. S TEMP=TEMP_" Days supply: "_IFIEVAL("DAYS SUPPLY")
  1. D FORMATS^PXRMTEXT(INDENT+1,PXRMRM,TEMP,.NOUT,.TEXTOUT)
  1. F JND=1:1:NOUT S NLINES=NLINES+1,TEXT(NLINES)=TEXTOUT(JND)
  1. S NLINES=NLINES+1,TEXT(NLINES)=""
  1. Q
  1. ;