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/CLINICAL_REMINDERS-PXRM/PXRMVITL.m

    r613 r623  
    1 PXRMVITL        ; SLC/PKR - Handle vitals findings. ;09/20/2007
    2         ;;2.0;CLINICAL REMINDERS;**6**;Feb 04, 2005;Build 123
    3         ;
    4         ;===========================================================
    5 EVALFI(DFN,DEFARR,ENODE,FIEVAL) ;Evaluate vital measurement findings.
    6         D EVALFI^PXRMINDX(DFN,.DEFARR,ENODE,.FIEVAL)
    7         Q
    8         ;
    9         ;===========================================================
    10 EVALPL(FINDPA,ENODE,TERMARR,PLIST)      ;Evaluate vital measurement
    11         ;term findings for patient lists.
    12         D EVALPL^PXRMINDL(.FINDPA,ENODE,.TERMARR,PLIST)
    13         Q
    14         ;
    15         ;===========================================================
    16 EVALTERM(DFN,FINDPA,ENODE,TERMARR,TFIEVAL)      ;Evaluate vital measurement
    17         ;terms.
    18         D EVALTERM^PXRMINDX(DFN,.FINDPA,ENODE,.TERMARR,.TFIEVAL)
    19         Q
    20         ;
    21         ;===========================================================
    22 GETDATA(DAS,FIEVT)      ;Return data for a GMRV Vital Measurement entry.
    23         N EM,IND,GMRVDATA,STOP,TEMP,TYPE
    24         ;DBIA #3647
    25         D EN^GMVPXRM(.GMRVDATA,DAS,"I")
    26         I $P(GMRVDATA(1),U,1)=-1 D  Q
    27         . S ^TMP("PXRMXMZ",$J,1,0)="Found GMRV entry "_DAS_" in the index, but it does not exist in ^GMR(120.5"
    28         . D SEND^PXRMMSG("Bad entry in Vitals index.")
    29         S FIEVT("TYPE")=$$EXTERNAL^DILFD(120.5,.03,"",GMRVDATA(3),.EM)
    30         ;DBIA #10040
    31         S TEMP=$S(+GMRVDATA(5)'=0:^SC(GMRVDATA(5),0),1:"")
    32         S FIEVT("HOSPITAL LOCATION")=$P(TEMP,U,1)
    33         S FIEVT("LOCATION TYPE")=$P(TEMP,U,3)
    34         S STOP=$P(TEMP,U,7)
    35         S FIEVT("ENTERED BY")=$P(^VA(200,GMRVDATA(6),0),U,1)
    36         S (FIEVT("RATE"),FIEVT("VALUE"))=$P(GMRVDATA(7),U,1)
    37         S IND=0
    38         ;Load the external form of the qualifiers.
    39         F  S IND=$O(GMRVDATA(12,IND)) Q:IND=""  D
    40         . S TEMP=$P(GMRVDATA(12,IND),U,1)
    41         .;DBIA #4504
    42         . I TEMP'="" S FIEVT("QUALIFIER",IND)=$P($G(^GMRD(120.52,+TEMP,0)),U,1)
    43         ;DBIA #557
    44         I STOP'="" S FIEVT("STOP CODE")=$P(^DIC(40.7,STOP,0),U,1,2)
    45         E  S FIEVT("STOP CODE")=""
    46         Q
    47         ;
    48         ;===========================================================
    49 MHVOUT(INDENT,IFIEVAL,NLINES,TEXT)      ;Produce the MHV output.
    50         N DATE,EM,IND,JND,NAME,NOUT,RATE,TEMP,TEXTOUT,TYPE
    51         S TYPE=$$EXTERNAL^DILFD(120.5,.03,"",IFIEVAL("TYPE"),.EM)
    52         S NAME="Vital Measurement: "_TYPE_" = "
    53         S IND=0
    54         F  S IND=+$O(IFIEVAL(IND)) Q:IND=0  D
    55         . S RATE=$G(IFIEVAL(IND,"VALUE"))
    56         . I RATE="" S RATE="MISSING"
    57         . S DATE=IFIEVAL(IND,"DATE")
    58         . S TEMP=NAME_RATE_" ("_$$EDATE^PXRMDATE(DATE)_")"
    59         . D FORMATS^PXRMTEXT(INDENT+2,PXRMRM,TEMP,.NOUT,.TEXTOUT)
    60         . F JND=1:1:NOUT S NLINES=NLINES+1,TEXT(NLINES)=TEXTOUT(JND)
    61         S NLINES=NLINES+1,TEXT(NLINES)=""
    62         Q
    63         ;
    64         ;===========================================================
    65 OUTPUT(INDENT,IFIEVAL,NLINES,TEXT)      ;Produce the clinical
    66         ;maintenance output.
    67         N DATE,EM,IND,JND,NOUT,RATE,TEMP,TEXTOUT,TYPE
    68         S NLINES=NLINES+1
    69         S TEXT(NLINES)=$$INSCHR^PXRMEXLC(INDENT," ")_"Vital Measurement: "_IFIEVAL("TYPE")
    70         S IND=0
    71         F  S IND=+$O(IFIEVAL(IND)) Q:IND=0  D
    72         . S DATE=IFIEVAL(IND,"DATE")
    73         . S TEMP=$$EDATE^PXRMDATE(DATE)
    74         . S RATE=$G(IFIEVAL(IND,"VALUE"))
    75         . I RATE="" S RATE="MISSING"
    76         . S TEMP=TEMP_"; rate - "_RATE
    77         . D FORMATS^PXRMTEXT(INDENT+2,PXRMRM,TEMP,.NOUT,.TEXTOUT)
    78         . F JND=1:1:NOUT S NLINES=NLINES+1,TEXT(NLINES)=TEXTOUT(JND)
    79         .;If there are qualifiers display them.
    80         . I $D(IFIEVAL(IND,"QUALIFIER")) D
    81         .. S TEMP="Qualifiers:"
    82         .. N QIND S QIND=0
    83         .. S QIND=$O(IFIEVAL(IND,"QUALIFIER",QIND)) S TEMP=TEMP_" "_IFIEVAL(IND,"QUALIFIER",QIND)
    84         .. F  S QIND=$O(IFIEVAL(IND,"QUALIFIER",QIND)) Q:QIND=""  S TEMP=TEMP_", "_IFIEVAL(IND,"QUALIFIER",QIND)
    85         .. D FORMATS^PXRMTEXT(INDENT+3,PXRMRM,TEMP,.NOUT,.TEXTOUT)
    86         .. F JND=1:1:NOUT S NLINES=NLINES+1,TEXT(NLINES)=TEXTOUT(JND)
    87         S NLINES=NLINES+1,TEXT(NLINES)=""
    88         Q
    89         ;
     1PXRMVITL ; SLC/PKR - Handle vitals findings. ;10/21/2004
     2 ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
     3 ;
     4 ;===========================================================
     5EVALFI(DFN,DEFARR,ENODE,FIEVAL) ;Evaluate vital measurement findings.
     6 D EVALFI^PXRMINDX(DFN,.DEFARR,ENODE,.FIEVAL)
     7 Q
     8 ;
     9 ;===========================================================
     10EVALPL(FINDPA,ENODE,TERMARR,PLIST) ;Evaluate vital measurement
     11 ;term findings for patient lists.
     12 D EVALPL^PXRMINDL(.FINDPA,ENODE,.TERMARR,PLIST)
     13 Q
     14 ;
     15 ;===========================================================
     16EVALTERM(DFN,FINDPA,ENODE,TERMARR,TFIEVAL) ;Evaluate vital measurement
     17 ;terms.
     18 D EVALTERM^PXRMINDX(DFN,.FINDPA,ENODE,.TERMARR,.TFIEVAL)
     19 Q
     20 ;
     21 ;===========================================================
     22GETDATA(DAS,FIEVT) ;Return the value, which is Rate, for a specified
     23 ;GMRV Vital Measurement entry.
     24 N IND,GMRVDATA,TEMP
     25 ;DBIA #3647
     26 D EN^GMVPXRM(.GMRVDATA,DAS,"I")
     27 I $P(GMRVDATA(1),U,1)=-1 D  Q
     28 . S ^TMP("PXRMXMZ",$J,1,0)="Found GMRV entry "_DAS_" in the index, but it does not exist in ^GMRV(120.5"
     29 . D SEND^PXRMMSG("Bad entry in Vitals index.")
     30 S FIEVT("TYPE")=$P(GMRVDATA(3),U,1)
     31 S (FIEVT("RATE"),FIEVT("VALUE"))=$P(GMRVDATA(7),U,1)
     32 S IND=0
     33 ;Load the external form of the qualifiers.
     34 F  S IND=$O(GMRVDATA(12,IND)) Q:IND=""  D
     35 . S TEMP=$P(GMRVDATA(12,IND),U,1)
     36 .;DBIA #4504
     37 . I TEMP'="" S FIEVT("QUALIFIER",IND)=$P($G(^GMRD(120.52,+TEMP,0)),U,1)
     38 Q
     39 ;
     40 ;===========================================================
     41MHVOUT(INDENT,IFIEVAL,NLINES,TEXT) ;Produce the MHV output.
     42 N DATE,EM,IND,JND,NAME,NOUT,RATE,TEMP,TEXTOUT,TYPE
     43 S TYPE=$$EXTERNAL^DILFD(120.5,.03,"",IFIEVAL("TYPE"),.EM)
     44 S NAME="Vital Measurement: "_TYPE_" = "
     45 S IND=0
     46 F  S IND=+$O(IFIEVAL(IND)) Q:IND=0  D
     47 . S RATE=$G(IFIEVAL(IND,"VALUE"))
     48 . I RATE="" S RATE="MISSING"
     49 . S DATE=IFIEVAL(IND,"DATE")
     50 . S TEMP=NAME_RATE_" ("_$$EDATE^PXRMDATE(DATE)_")"
     51 . D FORMATS^PXRMTEXT(INDENT+2,PXRMRM,TEMP,.NOUT,.TEXTOUT)
     52 . F JND=1:1:NOUT S NLINES=NLINES+1,TEXT(NLINES)=TEXTOUT(JND)
     53 S NLINES=NLINES+1,TEXT(NLINES)=""
     54 Q
     55 ;
     56 ;===========================================================
     57OUTPUT(INDENT,IFIEVAL,NLINES,TEXT) ;Produce the clinical
     58 ;maintenance output.
     59 N DATE,EM,IND,JND,NOUT,RATE,TEMP,TEXTOUT,TYPE
     60 S TYPE=$$EXTERNAL^DILFD(120.5,.03,"",IFIEVAL("TYPE"),.EM)
     61 S NLINES=NLINES+1
     62 S TEXT(NLINES)=$$INSCHR^PXRMEXLC(INDENT," ")_"Vital Measurement: "_TYPE
     63 S IND=0
     64 F  S IND=+$O(IFIEVAL(IND)) Q:IND=0  D
     65 . S DATE=IFIEVAL(IND,"DATE")
     66 . S TEMP=$$EDATE^PXRMDATE(DATE)
     67 . S RATE=$G(IFIEVAL(IND,"VALUE"))
     68 . I RATE="" S RATE="MISSING"
     69 . S TEMP=TEMP_"; rate - "_RATE
     70 . D FORMATS^PXRMTEXT(INDENT+2,PXRMRM,TEMP,.NOUT,.TEXTOUT)
     71 . F JND=1:1:NOUT S NLINES=NLINES+1,TEXT(NLINES)=TEXTOUT(JND)
     72 .;If there are qualifiers display them.
     73 . I $D(IFIEVAL(IND,"QUALIFIER")) D
     74 .. S TEMP="Qualifiers:"
     75 .. N QIND S QIND=0
     76 .. S QIND=$O(IFIEVAL(IND,"QUALIFIER",QIND)) S TEMP=TEMP_" "_IFIEVAL(IND,"QUALIFIER",QIND)
     77 .. F  S QIND=$O(IFIEVAL(IND,"QUALIFIER",QIND)) Q:QIND=""  S TEMP=TEMP_", "_IFIEVAL(IND,"QUALIFIER",QIND)
     78 .. D FORMATS^PXRMTEXT(INDENT+3,PXRMRM,TEMP,.NOUT,.TEXTOUT)
     79 .. F JND=1:1:NOUT S NLINES=NLINES+1,TEXT(NLINES)=TEXTOUT(JND)
     80 S NLINES=NLINES+1,TEXT(NLINES)=""
     81 Q
     82 ;
Note: See TracChangeset for help on using the changeset viewer.