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

PXRMLAB.m

Go to the documentation of this file.
  1. PXRMLAB ; SLC/PKR - Handle laboratory test findings. ;03/02/2006
  1. ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21
  1. ;
  1. ;=============================================
  1. EVALFI(DFN,DEFARR,ENODE,FIEVAL) ;Evaluate lab findings.
  1. D EVALFI^PXRMINDX(DFN,.DEFARR,ENODE,.FIEVAL)
  1. Q
  1. ;
  1. ;=============================================
  1. EVALPL(FINDPA,ENODE,TERMARR,PLIST) ;Evaluate lab term findings
  1. ;for patient lists.
  1. D EVALPL^PXRMINDL(.FINDPA,ENODE,.TERMARR,PLIST)
  1. Q
  1. ;
  1. ;=============================================
  1. EVALTERM(DFN,FINDPA,ENODE,TERMARR,TFIEVAL) ;Evaluate lab terms.
  1. D EVALTERM^PXRMINDX(DFN,.FINDPA,ENODE,.TERMARR,.TFIEVAL)
  1. Q
  1. ;
  1. ;=============================================
  1. GETDATA(DASP,FIEVT) ;Return Lab data. The first piece of DASP is the item.
  1. N DAS,DATA,ITEM
  1. ;DBIA #4245
  1. S ITEM=$P(DASP,"~",1)
  1. S DAS=$P(DASP,"~",2)
  1. D LRPXRM^LRPXAPI(.DATA,DAS,ITEM)
  1. S FIEVT("DATA")=DATA
  1. S FIEVT("TEST NAME")=$P(DATA,U,2)
  1. I DAS["CH" S FIEVT("VALUE")=$P(DATA,U,3),FIEVT("FLAG")=$P(DATA,U,4)
  1. E S (FIEVT("VALUE"),FIEVT("FLAG"))=""
  1. I $D(DATA("SPECIMEN")) S FIEVT("SPECIMEN")=$P(DATA("SPECIMEN"),U,2)
  1. Q
  1. ;
  1. ;=============================================
  1. MHVOUT(INDENT,IFIEVAL,NLINES,TEXT) ;Produce the MHV output.
  1. N DATE,FLAG,IND,JND,NAME,NOUT,TEXTOUT,TEST,VALUE
  1. S TEST=IFIEVAL("TEST NAME")
  1. S NAME="Laboratory test: "_TEST_" = "
  1. S IND=0
  1. F S IND=+$O(IFIEVAL(IND)) Q:IND=0 D
  1. . S VALUE=$G(IFIEVAL(IND,"VALUE"))
  1. . S FLAG=$G(IFIEVAL(IND,"FLAG"))
  1. . I FLAG'="" S VALUE=VALUE_FLAG
  1. . S DATE=IFIEVAL(IND,"DATE")
  1. . S TEMP=NAME_VALUE_" ("_$$EDATE^PXRMDATE(DATE)_")"
  1. . D FORMATS^PXRMTEXT(INDENT+2,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. ;
  1. ;=============================================
  1. OUTPUT(INDENT,IFIEVAL,NLINES,TEXT) ;Produce the clinical
  1. ;maintenance output.
  1. N DATE,FLAG,IND,JND,NOUT,TEMP,TEXTOUT,TEST,VALUE
  1. S TEST=IFIEVAL("TEST NAME")
  1. S TEMP="Laboratory test: "_TEST
  1. I $D(IFIEVAL("SPECIMEN")) S TEMP=TEMP_"; specimen: "_IFIEVAL("SPECIMEN")
  1. S NLINES=NLINES+1
  1. S TEXT(NLINES)=$$INSCHR^PXRMEXLC(INDENT," ")_TEMP
  1. S IND=0
  1. F S IND=+$O(IFIEVAL(IND)) Q:IND=0 D
  1. . S DATE=IFIEVAL(IND,"DATE")
  1. . S TEMP=$$EDATE^PXRMDATE(DATE)
  1. . S VALUE=$G(IFIEVAL(IND,"VALUE"))
  1. . S FLAG=$G(IFIEVAL(IND,"FLAG"))
  1. . I VALUE'="" S TEMP=TEMP_" value - "_VALUE
  1. . I FLAG'="" S TEMP=TEMP_" "_FLAG
  1. . D FORMATS^PXRMTEXT(INDENT+2,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. ;