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

GMVDCUTL.m

Go to the documentation of this file.
  1. GMVDCUTL ;HOIFO/DAD,FT-VITALS COMPONENT: UTILITIES ;9/29/00 09:18
  1. ;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
  1. ;
  1. ; This routine uses the following IAs:
  1. ; #10104 - ^XLFSTR calls (supported)
  1. ;
  1. VITIEN(GMVITTYP) ;
  1. ; Convert a vital type abbr / PCE abbr / name to an IEN
  1. ; Input:
  1. ; A vital type IEN or abbr or PCE abbr or name
  1. ; Output:
  1. ; A pointer to the GMRV Vital Type file (#120.51)
  1. N GMVABR,GMVNAM,GMVPCE
  1. S GMVABR=$S($G(GMVITTYP)]"":+$O(^GMRD(120.51,"C",GMVITTYP,0)),1:0)
  1. S GMVPCE=$S($G(GMVITTYP)]"":+$O(^GMRD(120.51,"APCE",GMVITTYP,0)),1:0)
  1. S GMVNAM=$S($G(GMVITTYP)]"":+$O(^GMRD(120.51,"B",GMVITTYP,0)),1:0)
  1. S GMVD0=$S(GMVITTYP=+GMVITTYP:GMVITTYP,GMVABR:GMVABR,GMVPCE:GMVPCE,GMVNAM:GMVNAM,1:-1)
  1. S GMVD0=$S($D(^GMRD(120.51,GMVD0,0))#2:GMVD0,1:-1)
  1. Q GMVD0
  1. ;
  1. QUAIEN(GMVITQUA) ;
  1. ; Convert a vital qualifier name to an IEN
  1. ; Input:
  1. ; A vital qualifier IEN or name or synonym
  1. ; Output:
  1. ; A pointer to the GMRV Vital Qualifier file (#120.52)
  1. N GMVD0,GMVIEN,GMVNAM
  1. S GMVNAM=$S($G(GMVITQUA)]"":+$O(^GMRD(120.52,"B",GMVITQUA,0)),1:-1)
  1. S GMVD0=$S(GMVITQUA=+GMVITQUA:GMVITQUA,GMVNAM>0:GMVNAM,1:-1)
  1. S GMVD0=$S($D(^GMRD(120.52,GMVD0,0))#2:GMVD0,1:-1)
  1. I GMVD0'>0,$G(GMVITQUA)]"" D
  1. . S GMVIEN=0
  1. . F S GMVIEN=$O(^GMRD(120.52,GMVIEN)) Q:GMVIEN'>0 D Q:GMVD0>0
  1. .. I $P($G(^GMRD(120.52,GMVIEN,0)),U,2)=GMVITQUA S GMVD0=GMVIEN
  1. .. Q
  1. . Q
  1. Q GMVD0
  1. ;
  1. CATIEN(GMVITCAT) ;
  1. ; Convert a vital category name to an IEN
  1. ; Input:
  1. ; A vital category IEN or name
  1. ; Output:
  1. ; A pointer to the GMRV Vital Category file (#120.53)
  1. N GMVCAT,GMVD0
  1. S GMVCAT=$S($G(GMVITCAT)]"":+$O(^GMRD(120.53,"B",GMVITCAT,0)),1:0)
  1. S GMVD0=$S(GMVITCAT=+GMVITCAT:GMVITCAT,GMVCAT:GMVCAT,1:-1)
  1. S GMVD0=$S($D(^GMRD(120.53,GMVD0,0))#2:GMVD0,1:-1)
  1. Q GMVD0
  1. ;
  1. REAIEN(GMVITREA) ;
  1. ; Convert an entered in error reason external form to an internal form
  1. ; Input:
  1. ; A vital entered in error reason in internal/external form
  1. ; Output:
  1. ; A vital entered in error reason in internal form
  1. N GMVD0,GMVDATA
  1. S GMVDATA=$$GET1^DID(120.506,.01,"","POINTER")
  1. S GMVITREA(0)=$P(GMVDATA,":"_GMVITREA_";")
  1. S GMVITREA(0)=$P(GMVITREA(0),";",$L(GMVITREA(0),";"))
  1. S GMVD0=$S(GMVITREA=+GMVITREA:GMVITREA,GMVITREA(0):GMVITREA(0),1:-1)
  1. S GMVD0=$S(";"_GMVDATA[(";"_GMVD0_":"):GMVD0,1:-1)
  1. Q GMVD0
  1. ;
  1. MEASYS(GMVMSYS) ;
  1. ; Validates and returns the measurement system
  1. ; Input:
  1. ; GMVMSYS = Measurement system (Optional)
  1. ; M = Metric, C - US Customary (Default)
  1. ; Output:
  1. ; M = Metric, C - US Customary (Default)
  1. S GMVMSYS=$$UP^XLFSTR($G(GMVMSYS))
  1. Q $S("^C^M^"[(U_GMVMSYS_U):GMVMSYS,1:"C")
  1. ;
  1. FMTPARAM(GMVIN,GMVOUT) ;
  1. ; Reformat the validate/save list parameter
  1. ; Input:
  1. ; GMVIN = The list parameter data as it comes from the RPC broker
  1. ; See remote procedure GMV SAVE VITALS or GMV VALIDATE VITALS
  1. ; for a description of the format of the data
  1. ; GMVOUT = A closed array reference used to store the reformatted data
  1. ; Output:
  1. ; @GMVOUT@("V",##) = Measurements
  1. ; @GMVOUT@("I",##) = Entered in error IENS
  1. ; @GMVOUT@("Q",##,##) = Qualifiers
  1. ; @GMVOUT@("R",##,##) = Entered in error reasons
  1. ; GMVDFN = PatientDFN
  1. ; GMVDTDUN = DateTimeTaken
  1. ; GMVHOSPL = HospitalLocation
  1. ; GMVDTENT = DateTimeEntered
  1. ; GMVENTBY = EnteredBy
  1. ; GMVERRBY = EnteredInErrorBy
  1. ; GMVMSYS = MeasurementSystem
  1. ;
  1. N GMV,GMVDATA,GMVMAJOR,GMVMINOR,GMVRET,GMVS2V,GMVTYPE,GMVVAR,GMVVARTY
  1. K @GMVOUT
  1. F GMV=1:1 S GMVDATA=$P($T(SUBVAR+GMV),";;",2) Q:GMVDATA="" D
  1. . S GMVVAR=$P(GMVDATA,U,2),GMVVARTY=$P(GMVDATA,U,3)
  1. . S GMVS2V($P(GMVDATA,U))=GMVVAR_U_GMVVARTY
  1. . S @(GMVVAR_"=-1")
  1. . Q
  1. S GMV=""
  1. F S GMV=$O(GMVIN(GMV)) Q:GMV="" D
  1. . I (GMV?1U1"^"1.N)!(GMV?1U1"^"1.N1"^"1.N) D
  1. .. S GMVTYPE=$P(GMV,U),GMVMAJOR=$P(GMV,U,2),GMVMINOR=$P(GMV,U,3)
  1. .. I "^I^V^"[(U_GMVTYPE_U) D ; Entered in Error IENS & Measurements
  1. ... S @GMVOUT@(GMVTYPE,GMVMAJOR)=GMVIN(GMV)
  1. ... Q
  1. .. I "^Q^R^"[(U_GMVTYPE_U) D ; Qualifiers & Reasons entered in error
  1. ... S @GMVOUT@(GMVTYPE,GMVMAJOR,GMVMINOR)=GMVIN(GMV)
  1. ... Q
  1. .. Q
  1. . E D
  1. .. S GMVDATA=$G(GMVS2V(GMV))
  1. .. S GMVVAR=$P(GMVDATA,U),GMVVARTY=$P(GMVDATA,U,2)
  1. .. I GMVVARTY="D" D
  1. ... K GMVRET
  1. ... D DT^DILF("RSTX",GMVIN(GMV),.GMVRET)
  1. ... S GMVIN(GMV)=$G(GMVRET)
  1. ... Q
  1. .. I GMVVARTY="U",$$UP^XLFSTR(GMVIN(GMV))="DUZ" D
  1. ... S GMVIN(GMV)=DUZ
  1. ... Q
  1. .. I GMVVAR]"",GMVIN(GMV)]"" S @(GMVVAR_"="""_GMVIN(GMV)_"""")
  1. .. Q
  1. . Q
  1. Q
  1. SUBVAR ;;Subscript ^ Variable ^ DataType (D-Date/Time, L-Literal, U-User)
  1. ;;PatientDFN^GMVDFN^L
  1. ;;DateTimeTaken^GMVDTDUN^D
  1. ;;HospitalLocation^GMVHOSPL^L
  1. ;;DateTimeEntered^GMVDTENT^D
  1. ;;EnteredBy^GMVENTBY^U
  1. ;;EnteredInErrorBy^GMVERRBY^U
  1. ;;MeasurementSystem^GMVMSYS^L
  1. ;;