Changeset 623 for WorldVistAEHR/trunk/r/CLINICAL_REMINDERS-PXRM/PXRMVITL.m
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- 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 ; 1 PXRMVITL ; SLC/PKR - Handle vitals findings. ;10/21/2004 2 ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005 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 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 ;=========================================================== 41 MHVOUT(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 ;=========================================================== 57 OUTPUT(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.