- GMVDCRPC ;HOIFO/DAD-VITALS COMPONENT: RPCs ;8/24/99 08:28
- ;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
- ;
- ; This routine uses the following IAs:
- ; <None>
- ;
- EN1(RESULT,GMVFMT,GMVITTYP) ;
- ; RPC: GMVDC GET VITAL CATEGORIES
- ; Get list of the categories
- ; Input:
- ; GMVFMT = Format of returned data (Optional)
- ; 1 - IENs (default), 2 - Abbreviations, 3 - Full Names
- ; GMVITTYP = A pointer to GMRV Vital Type file (#120.51) (Optional)
- ; Output:
- ; RESULT() = CategoryIEN ^ CategoryName ^
- ; VitalTypeIEN ^ DefaultQualifier
- N GMVCNT,GMVD0,GMVD1,GMVDATA,GMVDEFQ
- S GMVCNT=0
- S GMVFMT=$S("^1^2^3^"[(U_$G(GMVFMT)_U):GMVFMT,1:1)
- I $G(GMVITTYP)="" D
- . S GMVITTYP=0
- . F S GMVITTYP=$O(^GMRD(120.53,"C",GMVITTYP)) Q:GMVITTYP'>0 D EN1A
- . Q
- E D
- . S GMVITTYP=$$VITIEN^GMVDCUTL(GMVITTYP)
- . D EN1A
- . Q
- S RESULT(0)="OK"
- Q
- EN1A S GMVD0=0
- F S GMVD0=$O(^GMRD(120.53,"C",GMVITTYP,GMVD0)) Q:GMVD0'>0 D
- . S GMVD1=0
- . F S GMVD1=$O(^GMRD(120.53,"C",GMVITTYP,GMVD0,GMVD1)) Q:GMVD1'>0 D
- .. S GMVDATA=$P($G(^GMRD(120.53,GMVD0,0)),U)
- .. I GMVDATA]"" D
- ... S GMVITTYP(0)=$G(^GMRD(120.51,+GMVITTYP,0))
- ... S GMVITTYP(1)=GMVITTYP,GMVITTYP(2)=$P(GMVITTYP(0),U,2)
- ... S GMVITTYP(3)=$P(GMVITTYP(0),U)
- ... S GMVDEFQ=$P($G(^GMRD(120.53,GMVD0,1,GMVD1,0)),U,7)
- ... S GMVDEFQ(0)=$G(^GMRD(120.52,+GMVDEFQ,0))
- ... S GMVDEFQ(1)=GMVDEFQ,GMVDEFQ(2)=$P(GMVDEFQ(0),U,2)
- ... S GMVDEFQ(3)=$P(GMVDEFQ(0),U)
- ... S GMVCNT=GMVCNT+1
- ... S RESULT(GMVCNT)=GMVD0_U_GMVDATA_U_GMVITTYP(GMVFMT)_U_GMVDEFQ(GMVFMT)
- ... Q
- .. Q
- . Q
- Q
- ;
- EN2(RESULT) ;
- ; RPC: GMVDC GET VITAL ERROR REASONS
- ; Get list of the entered in error reasons
- ; Input:
- ; None
- ; Output:
- ; RESULT() = ErrorReasonInternal ^ ErrorReasonExternal
- N GMVD0,GMVDATA
- S GMVDATA=$$GET1^DID(120.506,.01,"","POINTER")
- F GMVD0=1:1 S GMVDATA(0)=$P(GMVDATA,";",GMVD0) Q:GMVDATA(0)="" D
- . S RESULT(GMVD0)=$TR(GMVDATA(0),":","^")
- . Q
- S RESULT(0)="OK"
- Q
- ;
- EN3(RESULT,GMVFMT,GMVITTYP,GMVITCAT) ;
- ; RPC: GMVDC GET VITAL QUALIFIERS
- ; Get list of the qualifiers
- ; Input:
- ; GMVFMT = Format of returned data (Optional)
- ; 1 - IENs (default), 2 - Abbreviations, 3 - Full Names
- ; GMVITTYP = A pointer to GMRV Vital Type file (#120.51) (Optional)
- ; GMVITCAT = A pointer to GMRV Vital Category file (#120.53) (Optional)
- ; Output:
- ; RESULT() = QualifierIEN ^ QualifierName ^ QualifierSynonym ^
- ; VitalTypeIEN ^ CategoryIEN
- N GMVCATD0,GMVCNT,GMVD0,GMVD1,GMVDATA
- S GMVCNT=0
- S GMVFMT=$S("^1^2^3^"[(U_$G(GMVFMT)_U):GMVFMT,1:1)
- S GMVITCAT=$$CATIEN^GMVDCUTL($G(GMVITCAT))
- I $G(GMVITTYP)="" D
- . S GMVITTYP=0
- . F S GMVITTYP=$O(^GMRD(120.52,"C",GMVITTYP)) Q:GMVITTYP'>0 D EN3A
- . Q
- E D
- . S GMVITTYP=$$VITIEN^GMVDCUTL(GMVITTYP)
- . D EN3A
- . Q
- S RESULT(0)="OK"
- Q
- EN3A S GMVD0=0
- F S GMVD0=$O(^GMRD(120.52,"C",GMVITTYP,GMVD0)) Q:GMVD0'>0 D
- . S GMVD1=0
- . F S GMVD1=$O(^GMRD(120.52,"C",GMVITTYP,GMVD0,GMVD1)) Q:GMVD1'>0 D
- .. S GMVCATD0=$P($G(^GMRD(120.52,GMVD0,1,GMVD1,0)),U,2)
- .. I $G(GMVITCAT)>0,GMVITCAT'=GMVCATD0 Q
- .. S GMVDATA=$G(^GMRD(120.52,GMVD0,0))
- .. I GMVDATA]"" D
- ... S GMVITTYP(0)=$G(^GMRD(120.51,+GMVITTYP,0))
- ... S GMVITTYP(1)=GMVITTYP,GMVITTYP(2)=$P(GMVITTYP(0),U,2)
- ... S GMVITTYP(3)=$P(GMVITTYP(0),U)
- ... S GMVITCAT(0)=$G(^GMRD(120.53,+GMVCATD0,0))
- ... S GMVITCAT(1)=GMVCATD0,(GMVITCAT(2),GMVITCAT(3))=$P(GMVITCAT(0),U)
- ... S GMVCNT=GMVCNT+1
- ... S RESULT(GMVCNT)=GMVD0_U_$P(GMVDATA,U)_U_$P(GMVDATA,U,2)_U_GMVITTYP(GMVFMT)_U_GMVITCAT(GMVFMT)
- ... Q
- .. Q
- . Q
- Q
- ;
- EN4(RESULT) ;
- ; RPC: GMVDC GET VITAL TYPES
- ; Get list of the vital types
- ; Input:
- ; None
- ; Output:
- ; RESULT() = VitalTypeIEN ^ VitalTypeName ^
- ; VitalTypeAbbr ^ VitalTypePCE_Abbreviation
- N GMVD0,GMVDATA
- S GMVD0=0
- F S GMVD0=$O(^GMRD(120.51,GMVD0)) Q:GMVD0'>0 D
- . S GMVDATA=$G(^GMRD(120.51,GMVD0,0))
- . I GMVDATA]"" S RESULT(GMVD0)=GMVD0_U_$P(GMVDATA,U)_U_$P(GMVDATA,U,2)_U_$P(GMVDATA,U,7)
- . Q
- S RESULT(0)="OK"
- Q
- ;
- EN5(RESULT,GMVDFN,GMVFMT,GMVABR,GMVMSYS) ;
- ; RPC: GMVDC GET LATEST VITALS
- ; Returns the latest vitals for a selected patient
- ; Input:
- ; GMVDFN = A pointer to the Patient file (#2) (Required)
- ; GMVFMT = Format of returned data (Optional)
- ; 1 - IENs (default), 2 - Abbreviations, 3 - Full Names
- ; GMVABR = Abbreviations of vital types to return (Optional)
- ; "^T^P^R^PO2^BP^HT^WT^CVP^CG^PN^" (Default)
- ; "~ALL~" to return all vital types
- ; GMVMSYS = Measurement system (Optional)
- ; M = Metric, C - US Customary (Default)
- ; Output:
- ; RESULT() = VitalMeasurementIEN ^ DateTimeTaken ^ PatientDFN ^
- ; VitalType ^ DateTimeEntered ^ HospitalLocation ^
- ; EnteredBy ^ Measurement ^ EnteredInError ^
- ; EnteredInErrorBy ^
- ; Qualifier1 ; Qualifier2 ; ... ^
- ; EnteredInErrorReason1 ; EnteredInErrorReason2 ; ... ^
- D EN1^GMVDCEXT("^TMP(""GMV"",$J)",GMVDFN,$G(GMVFMT),$G(GMVABR),0,"","",$G(GMVMSYS),0)
- S RESULT=$NA(^TMP("GMV",$J))
- Q
- ;
- EN6(RESULT,GMVDFN,GMVFMT,GMVABR,GMVBEG,GMVEND,GMVMSYS,GMVEE) ;
- ; RPC: GMVDC GET VITALS
- ; Returns vitals for a selected patient and date/time range
- ; Input:
- ; GMVDFN = A pointer to the Patient file (#2) (Required)
- ; GMVFMT = Format of returned data (Optional)
- ; 1 - IENs (default), 2 - Abbreviations, 3 - Full Names
- ; GMVABR = Abbreviations of vital types to return (Optional)
- ; "^T^P^R^PO2^BP^HT^WT^CVP^CG^PN^" (Default)
- ; "~ALL~" to return all vital types
- ; GMVBEG = Beginning date for all vitals (Not used for GMVALL = 0)
- ; GMVEND = Ending date for all vitals (Not used for GMVALL = 0)
- ; GMVMSYS = Measurement system (Optional)
- ; M = Metric, C - US Customary (Default)
- ; GMVEE = Include entered in error records (Optional)
- ; (0 - No (Default), 1 - Yes)
- ;
- ; Output:
- ; RESULT() = VitalMeasurementIEN ^ DateTimeTaken ^ PatientDFN ^
- ; VitalType ^ DateTimeEntered ^ HospitalLocation ^
- ; EnteredBy ^ Measurement ^ EnteredInError ^
- ; EnteredInErrorBy ^
- ; Qualifier1 ; Qualifier2 ; ... ^
- ; EnteredInErrorReason1 ; EnteredInErrorReason2 ; ... ^
- D EN1^GMVDCEXT("^TMP(""GMV"",$J)",GMVDFN,$G(GMVFMT),$G(GMVABR),1,$G(GMVBEG),$G(GMVEND),$G(GMVMSYS),$G(GMVEE))
- S RESULT=$NA(^TMP("GMV",$J))
- Q
- ;
- EN7(RESULT,GMVITTYP) ;
- ; RPC: GMVDC GET VITALS HELP
- ; Get help text for a selected vital type
- ; Input:
- ; GMVITTYP = A pointer to GMRV Vital Type file (#120.51) (Optional)
- ; Output:
- ; RESULT() = Help text
- S GMVITTYP=$$VITIEN^GMVDCUTL(GMVITTYP)
- S GMVITTYP=$P($G(^GMRD(120.51,+GMVITTYP,0)),U,2)
- I GMVITTYP]"" D
- . D HELP^GMVDCHLP(.RESULT,GMVITTYP)
- . S RESULT(0)="OK"
- . I $O(RESULT(0))'>0 S RESULT(1)="No help text available."
- . Q
- E D
- . S RESULT(0)="ERROR"
- . S RESULT(1)="ERROR: Missing or invalid Vital Type parameter"
- . Q
- Q
- ;
- EN8(RESULT,GMVPARAM) ;
- ; RPC: GMVDC SAVE VITALS
- ; Saves vitals data
- N GMVDFN,GMVDTDUN,GMVDTENT,GMVENTBY,GMVERRBY,GMVHOSPL,GMVMSYS K RESULT
- S RESULT(0)="OK"
- S GMVDATA="^TMP(""GMV"",$J)"
- D FMTPARAM^GMVDCUTL(.GMVPARAM,GMVDATA)
- D EN1^GMVDCVAL(.RESULT,GMVDATA)
- I $G(RESULT(0))="OK" D EN1^GMVDCSAV(.RESULT,GMVDATA)
- K RESULT(-1)
- Q
- ;
- EN9(RESULT,GMVPARAM) ;
- ; RPC: GMVDC VALIDATE VITALS
- ; Validates vitals data
- N GMVDFN,GMVDTDUN,GMVDTENT,GMVENTBY,GMVERRBY,GMVHOSPL,GMVMSYS K RESULT
- S RESULT(0)="OK"
- S GMVDATA="^TMP(""GMV"",$J)"
- D FMTPARAM^GMVDCUTL(.GMVPARAM,GMVDATA)
- D EN1^GMVDCVAL(.RESULT,GMVDATA)
- K RESULT(-1)
- Q
- ;
- EN10(RESULT,GMVMSYS) ;
- ; RPC: GMVDC GET ABNORMAL RANGES
- ; Returns the abnormal ranges for the vital types
- ; Input:
- ; GMVMSYS = Measurement system (Optional)
- ; M = Metric, C - US Customary (Default)
- ; Output:
- ; RESULT(1) = TEMP-HIGH ^ TEMP-LOW ^ PULSE-HIGH ^ PULSE-LOW ^
- ; RESP-HIGH ^ RESP-LOW ^ SYSTOLIC-HIGH ^ DIASTOLIC-HIGH ^
- ; SYSTOLIC-LOW ^ DIASTOLIC-LOW ^ CVP-HIGH ^ CVP-LOW ^
- ; O2SAT-LOW
- N GMVABBR,GMVALUE,GMVPIECE K RESULT
- S GMVMSYS=$$MEASYS^GMVDCUTL($G(GMVMSYS))
- S RESULT(0)="OK"
- S RESULT(1)=$P($G(^GMRD(120.57,1,1)),U,1,13)
- F GMVPIECE=1,2,11,12 D
- . S GMVABBR=$P("T^T^^^^^^^^^CVP^CVP",U,GMVPIECE)
- . S GMVALUE=$P(RESULT(1),U,GMVPIECE)
- . S GMVALUE=$$CNV^GMVDCCNV(GMVALUE,GMVMSYS,"G",GMVABBR)
- . S $P(RESULT(1),U,GMVPIECE)=GMVALUE
- . Q
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMVDCRPC 8721 printed Feb 18, 2025@23:24:55 Page 2
- GMVDCRPC ;HOIFO/DAD-VITALS COMPONENT: RPCs ;8/24/99 08:28
- +1 ;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
- +2 ;
- +3 ; This routine uses the following IAs:
- +4 ; <None>
- +5 ;
- EN1(RESULT,GMVFMT,GMVITTYP) ;
- +1 ; RPC: GMVDC GET VITAL CATEGORIES
- +2 ; Get list of the categories
- +3 ; Input:
- +4 ; GMVFMT = Format of returned data (Optional)
- +5 ; 1 - IENs (default), 2 - Abbreviations, 3 - Full Names
- +6 ; GMVITTYP = A pointer to GMRV Vital Type file (#120.51) (Optional)
- +7 ; Output:
- +8 ; RESULT() = CategoryIEN ^ CategoryName ^
- +9 ; VitalTypeIEN ^ DefaultQualifier
- +10 NEW GMVCNT,GMVD0,GMVD1,GMVDATA,GMVDEFQ
- +11 SET GMVCNT=0
- +12 SET GMVFMT=$SELECT("^1^2^3^"[(U_$GET(GMVFMT)_U):GMVFMT,1:1)
- +13 IF $GET(GMVITTYP)=""
- Begin DoDot:1
- +14 SET GMVITTYP=0
- +15 FOR
- SET GMVITTYP=$ORDER(^GMRD(120.53,"C",GMVITTYP))
- if GMVITTYP'>0
- QUIT
- DO EN1A
- +16 QUIT
- End DoDot:1
- +17 IF '$TEST
- Begin DoDot:1
- +18 SET GMVITTYP=$$VITIEN^GMVDCUTL(GMVITTYP)
- +19 DO EN1A
- +20 QUIT
- End DoDot:1
- +21 SET RESULT(0)="OK"
- +22 QUIT
- EN1A SET GMVD0=0
- +1 FOR
- SET GMVD0=$ORDER(^GMRD(120.53,"C",GMVITTYP,GMVD0))
- if GMVD0'>0
- QUIT
- Begin DoDot:1
- +2 SET GMVD1=0
- +3 FOR
- SET GMVD1=$ORDER(^GMRD(120.53,"C",GMVITTYP,GMVD0,GMVD1))
- if GMVD1'>0
- QUIT
- Begin DoDot:2
- +4 SET GMVDATA=$PIECE($GET(^GMRD(120.53,GMVD0,0)),U)
- +5 IF GMVDATA]""
- Begin DoDot:3
- +6 SET GMVITTYP(0)=$GET(^GMRD(120.51,+GMVITTYP,0))
- +7 SET GMVITTYP(1)=GMVITTYP
- SET GMVITTYP(2)=$PIECE(GMVITTYP(0),U,2)
- +8 SET GMVITTYP(3)=$PIECE(GMVITTYP(0),U)
- +9 SET GMVDEFQ=$PIECE($GET(^GMRD(120.53,GMVD0,1,GMVD1,0)),U,7)
- +10 SET GMVDEFQ(0)=$GET(^GMRD(120.52,+GMVDEFQ,0))
- +11 SET GMVDEFQ(1)=GMVDEFQ
- SET GMVDEFQ(2)=$PIECE(GMVDEFQ(0),U,2)
- +12 SET GMVDEFQ(3)=$PIECE(GMVDEFQ(0),U)
- +13 SET GMVCNT=GMVCNT+1
- +14 SET RESULT(GMVCNT)=GMVD0_U_GMVDATA_U_GMVITTYP(GMVFMT)_U_GMVDEFQ(GMVFMT)
- +15 QUIT
- End DoDot:3
- +16 QUIT
- End DoDot:2
- +17 QUIT
- End DoDot:1
- +18 QUIT
- +19 ;
- EN2(RESULT) ;
- +1 ; RPC: GMVDC GET VITAL ERROR REASONS
- +2 ; Get list of the entered in error reasons
- +3 ; Input:
- +4 ; None
- +5 ; Output:
- +6 ; RESULT() = ErrorReasonInternal ^ ErrorReasonExternal
- +7 NEW GMVD0,GMVDATA
- +8 SET GMVDATA=$$GET1^DID(120.506,.01,"","POINTER")
- +9 FOR GMVD0=1:1
- SET GMVDATA(0)=$PIECE(GMVDATA,";",GMVD0)
- if GMVDATA(0)=""
- QUIT
- Begin DoDot:1
- +10 SET RESULT(GMVD0)=$TRANSLATE(GMVDATA(0),":","^")
- +11 QUIT
- End DoDot:1
- +12 SET RESULT(0)="OK"
- +13 QUIT
- +14 ;
- EN3(RESULT,GMVFMT,GMVITTYP,GMVITCAT) ;
- +1 ; RPC: GMVDC GET VITAL QUALIFIERS
- +2 ; Get list of the qualifiers
- +3 ; Input:
- +4 ; GMVFMT = Format of returned data (Optional)
- +5 ; 1 - IENs (default), 2 - Abbreviations, 3 - Full Names
- +6 ; GMVITTYP = A pointer to GMRV Vital Type file (#120.51) (Optional)
- +7 ; GMVITCAT = A pointer to GMRV Vital Category file (#120.53) (Optional)
- +8 ; Output:
- +9 ; RESULT() = QualifierIEN ^ QualifierName ^ QualifierSynonym ^
- +10 ; VitalTypeIEN ^ CategoryIEN
- +11 NEW GMVCATD0,GMVCNT,GMVD0,GMVD1,GMVDATA
- +12 SET GMVCNT=0
- +13 SET GMVFMT=$SELECT("^1^2^3^"[(U_$GET(GMVFMT)_U):GMVFMT,1:1)
- +14 SET GMVITCAT=$$CATIEN^GMVDCUTL($GET(GMVITCAT))
- +15 IF $GET(GMVITTYP)=""
- Begin DoDot:1
- +16 SET GMVITTYP=0
- +17 FOR
- SET GMVITTYP=$ORDER(^GMRD(120.52,"C",GMVITTYP))
- if GMVITTYP'>0
- QUIT
- DO EN3A
- +18 QUIT
- End DoDot:1
- +19 IF '$TEST
- Begin DoDot:1
- +20 SET GMVITTYP=$$VITIEN^GMVDCUTL(GMVITTYP)
- +21 DO EN3A
- +22 QUIT
- End DoDot:1
- +23 SET RESULT(0)="OK"
- +24 QUIT
- EN3A SET GMVD0=0
- +1 FOR
- SET GMVD0=$ORDER(^GMRD(120.52,"C",GMVITTYP,GMVD0))
- if GMVD0'>0
- QUIT
- Begin DoDot:1
- +2 SET GMVD1=0
- +3 FOR
- SET GMVD1=$ORDER(^GMRD(120.52,"C",GMVITTYP,GMVD0,GMVD1))
- if GMVD1'>0
- QUIT
- Begin DoDot:2
- +4 SET GMVCATD0=$PIECE($GET(^GMRD(120.52,GMVD0,1,GMVD1,0)),U,2)
- +5 IF $GET(GMVITCAT)>0
- IF GMVITCAT'=GMVCATD0
- QUIT
- +6 SET GMVDATA=$GET(^GMRD(120.52,GMVD0,0))
- +7 IF GMVDATA]""
- Begin DoDot:3
- +8 SET GMVITTYP(0)=$GET(^GMRD(120.51,+GMVITTYP,0))
- +9 SET GMVITTYP(1)=GMVITTYP
- SET GMVITTYP(2)=$PIECE(GMVITTYP(0),U,2)
- +10 SET GMVITTYP(3)=$PIECE(GMVITTYP(0),U)
- +11 SET GMVITCAT(0)=$GET(^GMRD(120.53,+GMVCATD0,0))
- +12 SET GMVITCAT(1)=GMVCATD0
- SET (GMVITCAT(2),GMVITCAT(3))=$PIECE(GMVITCAT(0),U)
- +13 SET GMVCNT=GMVCNT+1
- +14 SET RESULT(GMVCNT)=GMVD0_U_$PIECE(GMVDATA,U)_U_$PIECE(GMVDATA,U,2)_U_GMVITTYP(GMVFMT)_U_GMVITCAT(GMVFMT)
- +15 QUIT
- End DoDot:3
- +16 QUIT
- End DoDot:2
- +17 QUIT
- End DoDot:1
- +18 QUIT
- +19 ;
- EN4(RESULT) ;
- +1 ; RPC: GMVDC GET VITAL TYPES
- +2 ; Get list of the vital types
- +3 ; Input:
- +4 ; None
- +5 ; Output:
- +6 ; RESULT() = VitalTypeIEN ^ VitalTypeName ^
- +7 ; VitalTypeAbbr ^ VitalTypePCE_Abbreviation
- +8 NEW GMVD0,GMVDATA
- +9 SET GMVD0=0
- +10 FOR
- SET GMVD0=$ORDER(^GMRD(120.51,GMVD0))
- if GMVD0'>0
- QUIT
- Begin DoDot:1
- +11 SET GMVDATA=$GET(^GMRD(120.51,GMVD0,0))
- +12 IF GMVDATA]""
- SET RESULT(GMVD0)=GMVD0_U_$PIECE(GMVDATA,U)_U_$PIECE(GMVDATA,U,2)_U_$PIECE(GMVDATA,U,7)
- +13 QUIT
- End DoDot:1
- +14 SET RESULT(0)="OK"
- +15 QUIT
- +16 ;
- EN5(RESULT,GMVDFN,GMVFMT,GMVABR,GMVMSYS) ;
- +1 ; RPC: GMVDC GET LATEST VITALS
- +2 ; Returns the latest vitals for a selected patient
- +3 ; Input:
- +4 ; GMVDFN = A pointer to the Patient file (#2) (Required)
- +5 ; GMVFMT = Format of returned data (Optional)
- +6 ; 1 - IENs (default), 2 - Abbreviations, 3 - Full Names
- +7 ; GMVABR = Abbreviations of vital types to return (Optional)
- +8 ; "^T^P^R^PO2^BP^HT^WT^CVP^CG^PN^" (Default)
- +9 ; "~ALL~" to return all vital types
- +10 ; GMVMSYS = Measurement system (Optional)
- +11 ; M = Metric, C - US Customary (Default)
- +12 ; Output:
- +13 ; RESULT() = VitalMeasurementIEN ^ DateTimeTaken ^ PatientDFN ^
- +14 ; VitalType ^ DateTimeEntered ^ HospitalLocation ^
- +15 ; EnteredBy ^ Measurement ^ EnteredInError ^
- +16 ; EnteredInErrorBy ^
- +17 ; Qualifier1 ; Qualifier2 ; ... ^
- +18 ; EnteredInErrorReason1 ; EnteredInErrorReason2 ; ... ^
- +19 DO EN1^GMVDCEXT("^TMP(""GMV"",$J)",GMVDFN,$GET(GMVFMT),$GET(GMVABR),0,"","",$GET(GMVMSYS),0)
- +20 SET RESULT=$NAME(^TMP("GMV",$JOB))
- +21 QUIT
- +22 ;
- EN6(RESULT,GMVDFN,GMVFMT,GMVABR,GMVBEG,GMVEND,GMVMSYS,GMVEE) ;
- +1 ; RPC: GMVDC GET VITALS
- +2 ; Returns vitals for a selected patient and date/time range
- +3 ; Input:
- +4 ; GMVDFN = A pointer to the Patient file (#2) (Required)
- +5 ; GMVFMT = Format of returned data (Optional)
- +6 ; 1 - IENs (default), 2 - Abbreviations, 3 - Full Names
- +7 ; GMVABR = Abbreviations of vital types to return (Optional)
- +8 ; "^T^P^R^PO2^BP^HT^WT^CVP^CG^PN^" (Default)
- +9 ; "~ALL~" to return all vital types
- +10 ; GMVBEG = Beginning date for all vitals (Not used for GMVALL = 0)
- +11 ; GMVEND = Ending date for all vitals (Not used for GMVALL = 0)
- +12 ; GMVMSYS = Measurement system (Optional)
- +13 ; M = Metric, C - US Customary (Default)
- +14 ; GMVEE = Include entered in error records (Optional)
- +15 ; (0 - No (Default), 1 - Yes)
- +16 ;
- +17 ; Output:
- +18 ; RESULT() = VitalMeasurementIEN ^ DateTimeTaken ^ PatientDFN ^
- +19 ; VitalType ^ DateTimeEntered ^ HospitalLocation ^
- +20 ; EnteredBy ^ Measurement ^ EnteredInError ^
- +21 ; EnteredInErrorBy ^
- +22 ; Qualifier1 ; Qualifier2 ; ... ^
- +23 ; EnteredInErrorReason1 ; EnteredInErrorReason2 ; ... ^
- +24 DO EN1^GMVDCEXT("^TMP(""GMV"",$J)",GMVDFN,$GET(GMVFMT),$GET(GMVABR),1,$GET(GMVBEG),$GET(GMVEND),$GET(GMVMSYS),$GET(GMVEE))
- +25 SET RESULT=$NAME(^TMP("GMV",$JOB))
- +26 QUIT
- +27 ;
- EN7(RESULT,GMVITTYP) ;
- +1 ; RPC: GMVDC GET VITALS HELP
- +2 ; Get help text for a selected vital type
- +3 ; Input:
- +4 ; GMVITTYP = A pointer to GMRV Vital Type file (#120.51) (Optional)
- +5 ; Output:
- +6 ; RESULT() = Help text
- +7 SET GMVITTYP=$$VITIEN^GMVDCUTL(GMVITTYP)
- +8 SET GMVITTYP=$PIECE($GET(^GMRD(120.51,+GMVITTYP,0)),U,2)
- +9 IF GMVITTYP]""
- Begin DoDot:1
- +10 DO HELP^GMVDCHLP(.RESULT,GMVITTYP)
- +11 SET RESULT(0)="OK"
- +12 IF $ORDER(RESULT(0))'>0
- SET RESULT(1)="No help text available."
- +13 QUIT
- End DoDot:1
- +14 IF '$TEST
- Begin DoDot:1
- +15 SET RESULT(0)="ERROR"
- +16 SET RESULT(1)="ERROR: Missing or invalid Vital Type parameter"
- +17 QUIT
- End DoDot:1
- +18 QUIT
- +19 ;
- EN8(RESULT,GMVPARAM) ;
- +1 ; RPC: GMVDC SAVE VITALS
- +2 ; Saves vitals data
- +3 NEW GMVDFN,GMVDTDUN,GMVDTENT,GMVENTBY,GMVERRBY,GMVHOSPL,GMVMSYS
- KILL RESULT
- +4 SET RESULT(0)="OK"
- +5 SET GMVDATA="^TMP(""GMV"",$J)"
- +6 DO FMTPARAM^GMVDCUTL(.GMVPARAM,GMVDATA)
- +7 DO EN1^GMVDCVAL(.RESULT,GMVDATA)
- +8 IF $GET(RESULT(0))="OK"
- DO EN1^GMVDCSAV(.RESULT,GMVDATA)
- +9 KILL RESULT(-1)
- +10 QUIT
- +11 ;
- EN9(RESULT,GMVPARAM) ;
- +1 ; RPC: GMVDC VALIDATE VITALS
- +2 ; Validates vitals data
- +3 NEW GMVDFN,GMVDTDUN,GMVDTENT,GMVENTBY,GMVERRBY,GMVHOSPL,GMVMSYS
- KILL RESULT
- +4 SET RESULT(0)="OK"
- +5 SET GMVDATA="^TMP(""GMV"",$J)"
- +6 DO FMTPARAM^GMVDCUTL(.GMVPARAM,GMVDATA)
- +7 DO EN1^GMVDCVAL(.RESULT,GMVDATA)
- +8 KILL RESULT(-1)
- +9 QUIT
- +10 ;
- EN10(RESULT,GMVMSYS) ;
- +1 ; RPC: GMVDC GET ABNORMAL RANGES
- +2 ; Returns the abnormal ranges for the vital types
- +3 ; Input:
- +4 ; GMVMSYS = Measurement system (Optional)
- +5 ; M = Metric, C - US Customary (Default)
- +6 ; Output:
- +7 ; RESULT(1) = TEMP-HIGH ^ TEMP-LOW ^ PULSE-HIGH ^ PULSE-LOW ^
- +8 ; RESP-HIGH ^ RESP-LOW ^ SYSTOLIC-HIGH ^ DIASTOLIC-HIGH ^
- +9 ; SYSTOLIC-LOW ^ DIASTOLIC-LOW ^ CVP-HIGH ^ CVP-LOW ^
- +10 ; O2SAT-LOW
- +11 NEW GMVABBR,GMVALUE,GMVPIECE
- KILL RESULT
- +12 SET GMVMSYS=$$MEASYS^GMVDCUTL($GET(GMVMSYS))
- +13 SET RESULT(0)="OK"
- +14 SET RESULT(1)=$PIECE($GET(^GMRD(120.57,1,1)),U,1,13)
- +15 FOR GMVPIECE=1,2,11,12
- Begin DoDot:1
- +16 SET GMVABBR=$PIECE("T^T^^^^^^^^^CVP^CVP",U,GMVPIECE)
- +17 SET GMVALUE=$PIECE(RESULT(1),U,GMVPIECE)
- +18 SET GMVALUE=$$CNV^GMVDCCNV(GMVALUE,GMVMSYS,"G",GMVABBR)
- +19 SET $PIECE(RESULT(1),U,GMVPIECE)=GMVALUE
- +20 QUIT
- End DoDot:1
- +21 QUIT