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

GMRVUTL.m

Go to the documentation of this file.
  1. GMRVUTL ;HIOFO/RM,MD,FT-CALLABLE ENTRY POINTS FOR PROGRAMMER UTILITIES ;5/8/07
  1. ;;5.0;GEN. MED. REC. - VITALS;**23,31**;Oct 31, 2002;Build 2
  1. ;
  1. ; This routine uses the following IAs:
  1. ; #4290 - ^PXRMINDX global (controlled)
  1. ; 05/02/2016 KAM GMRV*5*31 Rem Ticket 1004874 Vitals Measurement
  1. ; Remedy ticket closed and transferred to CA Ticket I9840386FY16
  1. ;
  1. EN1 ; CALL TO CONVERT TEMPERATURE (F) IN VARIABLE X TO TEMPERATURE (C)
  1. ; IN VARIABLE Y
  1. S Y=$J(X-32*5/9,0,1)
  1. Q
  1. EN2 ; CALL TO CONVERT AN INCHES MEASUREMENT IN X TO A CENTIMETER
  1. ; MEASUREMENT IN Y
  1. S Y=$J(2.54*X,0,2)
  1. Q
  1. EN3 ; CALL TO CONVERT A WEIGHT (LBS) IN VARIABLE X TO A WEIGHT (KG)
  1. ; IN VARIABLE Y
  1. ;
  1. ; 05/02/2016 KAM GMRV*5*31 Rem Ticket 1004874 Changed next line
  1. ; lbs to kgs conversion factor
  1. ; Remedy ticket closed and transferred to CA Ticket I9840386FY16
  1. ;
  1. ;S Y=$J(X/2.2,0,2)
  1. S Y=$J(X/2.20462262,0,2)
  1. Q
  1. ;EN4 ; CALL TO RETURN PATIENT'S LATEST WEIGHT READING
  1. ; PATIENT DEFINED BY DFN, WEIGHT RETURNED IN X
  1. ;Q:'$D(DFN) S X="",GMRVIT=$O(^GMRD(120.51,"B","WEIGHT",0)) I GMRVIT'>0 K GMRVIT Q
  1. ;F GMRX=0:0 S GMRX=$O(^GMR(120.5,"AA",DFN,GMRVIT,GMRX)) Q:GMRX'>0!(X'="") F GMRY=0:0 S GMRY=$O(^GMR(120.5,"AA",DFN,GMRVIT,GMRX,GMRY)) Q:GMRY'>0 D
  1. ;. I $S('$D(^GMR(120.5,GMRY,2)):1,$P(^(2),"^")="":1,1:0) S X=$S($D(^(0))&($P(^(0),"^",8)>0):$P(^(0),"^",8),1:"")
  1. ;K GMRVIT,GMRX,GMRY,GMRZ
  1. ;Q
  1. ;Q
  1. EN6 ; ENTRY TO GET LATEST PATIENT VITAL/MEASUREMENT DATA <IA 1120 - SUPPORTED>
  1. ; INPUT VARIABLES:
  1. ; DFN = Patient IEN (REQUIRED)
  1. ; GMRVSTR = Abbreviation of vital type in Vital Type (120.51) file.
  1. ; (REQUIRED)
  1. ; OUTPUT VARIABLES:
  1. ; X = ^GMR(120.5,IEN,0) where IEN is entry number of latest V/M.
  1. ; X Global contains qualifiers, for example
  1. ; X(1)=R ARM, X(2)=LYING for BP
  1. ; GMRVSTR will be killed.
  1. S X="" I '$D(DFN)!'$D(GMRVSTR) Q
  1. S GMRVSTR("TDA")=$O(^GMRD(120.51,"C",GMRVSTR,0))
  1. G Q6:GMRVSTR("TDA")'>0
  1. S GMRVSTR("R")=9999999
  1. F S GMRVSTR("R")=$O(^PXRMINDX(120.5,"PI",DFN,GMRVSTR("TDA"),GMRVSTR("R")),-1) Q:GMRVSTR("R")'>0!(X'="") D C6
  1. Q6 K GMRVSTR
  1. Q
  1. C6 ;
  1. N GMVCNT,GMVLOOP,GMVQIEN,GMVTEMP
  1. F GMRVSTR("IEN")=0:0 S GMRVSTR("IEN")=$O(^PXRMINDX(120.5,"PI",DFN,GMRVSTR("TDA"),GMRVSTR("R"),GMRVSTR("IEN"))) Q:$L(GMRVSTR("IEN"))'>0!(X'="") D
  1. .I GMRVSTR("IEN")=+GMRVSTR("IEN") D
  1. ..D F1205^GMVUTL(.GMVTEMP,+GMRVSTR("IEN"),0)
  1. ..S X=$G(GMVTEMP(0)),GMVTEMP(5)=$G(GMVTEMP(5))
  1. ..Q
  1. .I GMRVSTR("IEN")'=+GMRVSTR("IEN") D
  1. ..D CLIO^GMVUTL(.GMVTEMP,GMRVSTR("IEN"))
  1. ..I '$D(GMVTEMP(0)) Q
  1. ..S X=GMVTEMP(0),GMVTEMP(5)=$G(GMVTEMP(5))
  1. ..Q
  1. .Q
  1. I X="" Q
  1. I "REFUSEDPASSUNAVAILABLE"[$$UP^XLFSTR($P(X,U,8)) S X="" Q
  1. S GMVCNT=0
  1. F GMVLOOP=1:1 Q:$P(GMVTEMP(5),U,GMVLOOP)="" D
  1. .S GMVQIEN=$P(GMVTEMP(5),U,GMVLOOP)
  1. .I GMVQIEN>0 D
  1. ..S GMVCNT=GMVCNT+1
  1. ..S X(GMVCNT)=$G(^GMRD(120.52,+GMVQIEN,0))
  1. ..Q
  1. .Q
  1. Q