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

PXRMEXAM.m

Go to the documentation of this file.
  1. PXRMEXAM ;SLC/PKR - Handle examination findings. ;04/15/2022
  1. ;;2.0;CLINICAL REMINDERS;**42,65**;Feb 04, 2005;Build 438
  1. ;
  1. ;=============================================================
  1. EVALFI(DFN,DEFARR,ENODE,FIEVAL) ;Evaluate examination findings.
  1. D EVALFI^PXRMINDX(DFN,.DEFARR,ENODE,.FIEVAL)
  1. Q
  1. ;
  1. ;=============================================================
  1. EVALPL(FINDPA,ENODE,TERMARR,PLIST) ;Evaluate examination 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 examination terms.
  1. D EVALTERM^PXRMINDX(DFN,.FINDPA,ENODE,.TERMARR,.TFIEVAL)
  1. Q
  1. ;
  1. ;=============================================================
  1. GETDATA(DAS,FIEVT) ;Return data, for a specified V Exam entry.
  1. ;DBIA #4250.
  1. D VXAM^PXPXRM(DAS,.FIEVT)
  1. Q
  1. ;
  1. ;=============================================================
  1. MHVOUT(INDENT,IFIEVAL,NLINES,TEXT) ;Produce the MHV output.
  1. N CAPTION,EM,EXAM220,FIEN,IND,JND,MAGNITUDE,NAME,NOUT,PNAME,RESULT,TEMP,TEXTOUT
  1. N UCUMIEN,UCUMDISPLAY,UCUMFIELD,UNITS,VDATE
  1. S FIEN=$P(IFIEVAL("FINDING"),";",1)
  1. S PNAME=$P($G(^AUTTEXAM(FIEN,200)),U,1)
  1. I PNAME="" S PNAME=$P(^AUTTEXAM(FIEN,0),U,1)
  1. S NAME=$$INSCHR^PXRMEXLC(INDENT," ")_"Exam: "_PNAME_" = "
  1. S EXAM220=$G(^AUTTEXAM(FIEN,220))
  1. S UCUMIEN=$P(EXAM220,U,4)
  1. I UCUMIEN'="" D
  1. . S UCUMDISPLAY=$P(EXAM220,U,6)
  1. . I UCUMDISPLAY="N" S UNITS="" Q
  1. . S UCUMFIELD=$S(UCUMDISPLAY="C":"UCUM CODE",1:"DESCRIPTION")
  1. . S UNITS=$$UCUMFIELDS^PXRMUCUM(UCUMIEN,UCUMFIELD)
  1. E S UNITS=""
  1. S IND=0
  1. F S IND=+$O(IFIEVAL(IND)) Q:IND=0 D
  1. . S RESULT=$G(IFIEVAL(IND,"RESULT"))
  1. . I RESULT'="" S RESULT=$$EXTERNAL^DILFD(9000010.13,.04,"",RESULT,.EM)
  1. . S VDATE=IFIEVAL(IND,"DATE")
  1. . S TEMP=NAME_RESULT_" ("_$$EDATE^PXRMDATE(VDATE)_")"
  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. . I IFIEVAL(IND,"MEASUREMENT")'="" D
  1. .. S MAGNITUDE=$P(IFIEVAL(IND,"MEASUREMENT"),U,1)
  1. .. I MAGNITUDE="" Q
  1. .. S NLINES=NLINES+1
  1. .. S CAPTION=$S(UNITS="":"Magnitude: ",1:"Measurement: ")
  1. .. S TEXT(NLINES)=$$INSCHR^PXRMEXLC(INDENT+1," ")_CAPTION_MAGNITUDE
  1. .. I UNITS'="" S TEXT(NLINES)=TEXT(NLINES)_" "_UNITS
  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 CAPTION,EM,EXAM220,FIEN,IND,JND,MAGNITUDE,NOUT,PNAME,RESULT,TEMP,TEXTOUT
  1. N UCUMIEN,UCUMDISPLAY,UCUMFIELD,UNITS,VDATE
  1. S FIEN=$P(IFIEVAL("FINDING"),";",1)
  1. S PNAME=$P($G(^AUTTEXAM(FIEN,200)),U,1)
  1. I PNAME="" S PNAME=$P(^AUTTEXAM(FIEN,0),U,1)
  1. S EXAM220=$G(^AUTTEXAM(FIEN,220))
  1. S UCUMIEN=$P(EXAM220,U,4)
  1. I UCUMIEN'="" D
  1. . S UCUMDISPLAY=$P(EXAM220,U,6)
  1. . I UCUMDISPLAY="N" S UNITS="" Q
  1. . S UCUMFIELD=$S(UCUMDISPLAY="C":"UCUM CODE",1:"DESCRIPTION")
  1. . S UNITS=$$UCUMFIELDS^PXRMUCUM(UCUMIEN,UCUMFIELD)
  1. E S UNITS=""
  1. I INDENT+6+$L(PNAME)<81 D
  1. . S NLINES=NLINES+1
  1. . S TEXT(NLINES)=$$INSCHR^PXRMEXLC(INDENT," ")_"Exam: "_PNAME
  1. E D
  1. . N COL1W,COL2W,FMTSTR
  1. . S TEMP="Exam:^"_PNAME
  1. . S COL1W=INDENT+5,COL2W=80-COL1W
  1. . S FMTSTR=COL1W_"R1^"_COL2W_"L"
  1. . D COLFMT^PXRMTEXT(FMTSTR,TEMP," ",.NOUT,.TEXTOUT)
  1. . F JND=1:1:NOUT S NLINES=NLINES+1,TEXT(NLINES)=TEXTOUT(JND)
  1. S IND=0
  1. F S IND=+$O(IFIEVAL(IND)) Q:IND=0 D
  1. . S VDATE=IFIEVAL(IND,"DATE")
  1. . S TEMP=$$EDATE^PXRMDATE(VDATE)
  1. . S RESULT=$G(IFIEVAL(IND,"RESULT"))
  1. . I RESULT'="" D
  1. .. S TEMP=TEMP_" result - "
  1. .. S TEMP=TEMP_$$EXTERNAL^DILFD(9000010.13,.04,"",RESULT,.EM)
  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. . I IFIEVAL(IND,"MEASUREMENT")'="" D
  1. .. S MAGNITUDE=$P(IFIEVAL(IND,"MEASUREMENT"),U,1)
  1. .. I MAGNITUDE="" Q
  1. .. S NLINES=NLINES+1
  1. .. S CAPTION=$S(UNITS="":"Magnitude: ",1:"Measurement: ")
  1. .. S TEXT(NLINES)=$$INSCHR^PXRMEXLC(INDENT+1," ")_CAPTION_MAGNITUDE
  1. .. I UNITS'="" S TEXT(NLINES)=TEXT(NLINES)_" "_UNITS
  1. . I IFIEVAL(IND,"COMMENTS")'="" D
  1. .. S TEMP="Comments: "_IFIEVAL(IND,"COMMENTS")
  1. .. D FORMATS^PXRMTEXT(INDENT+3,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. ;