- GMVDCVAL ;HOIFO/DAD,FT-VITALS COMPONENT: VALIDATE DATA ;9/29/00 09:18
- ;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
- ;
- ; This routine uses the following IAs:
- ; #10035 - FILE 2 references (supported)
- ; #10040 - FILE 44 references (supported)
- ; #10060 - FILE 200 fields (supported)
- ; #10104 - ^XLFSTR calls (supported)
- ;
- EN1(RESULT,GMVDATA) ;
- ; *** Validates vitals data ***
- N GMV,GMVD0,GMVID0,GMVIFIND,GMVIHOLD,GMVILAST,GMVINUM,GMVIXFRM
- N GMVMSG,GMVOK,GMVQARRY,GMVQD0,GMVQFIND,GMVQHOLD,GMVQNUM,GMVRD0
- N GMVRET,GMVRFIND,GMVRHOLD,GMVRNUM,GMVSYSBP,GMVVABBR,GMVVD0
- N GMVVFIND,GMVVHOLD,GMVVLAST,GMVVMEAS,GMVVNUM
- D EXIT
- F GMV=1:1 S GMVSYSBP=$P($T(BPSYSQ+GMV),";;",2) Q:GMVSYSBP="" D
- . S GMVD0=0
- . F S GMVD0=$O(^GMRD(120.52,"B",GMVSYSBP,GMVD0)) Q:GMVD0'>0 D
- .. I GMVSYSBP=$P($G(^GMRD(120.52,GMVD0,0)),U) S GMVSYSBP(GMVD0)=""
- .. Q
- . Q
- I $O(@GMVDATA@(""))]"" D
- . ; *** Vital measurement data validation ***
- . I ($O(@GMVDATA@("V",0))>0)!($O(@GMVDATA@("Q",0))>0) D VITMEA
- . ; *** Entered in Error data validation ***
- . I ($O(@GMVDATA@("I",0))>0)!($O(@GMVDATA@("R",0))>0) D ENTERR
- . Q
- E D
- . D MSG("ERROR: No data to validate/save")
- . Q
- I $G(RESULT(0))="OK" D MSG("OK: Data validated")
- ;
- EXIT ; *** Clean-up ***
- K ^TMP($J,"GMVXREF")
- Q
- ;
- VITMEA ; *** Validate vital measurement data ***
- I $$FIND1^DIC(2,"","","`"_GMVDFN)'=GMVDFN D
- . D MSG("ERROR: Missing or invalid Patient parameter")
- . Q
- K GMVRET D DT^DILF("RSTX",GMVDTDUN,.GMVRET,"-NOW")
- I $G(GMVRET,-1)<0 D
- . D MSG("ERROR: Missing or invalid Date/Time Vitals Taken parameter")
- . Q
- I $$FIND1^DIC(44,"","","`"_GMVHOSPL)'=GMVHOSPL D
- . D MSG("ERROR: Missing or invalid Hospital Location parameter")
- . Q
- K GMVRET D DT^DILF("RSTX",GMVDTENT,.GMVRET,"-NOW")
- I $G(GMVRET,-1)<0 D
- . D MSG("ERROR: Missing or invalid Date/Time Vitals Entered parameter")
- . Q
- I $$FIND1^DIC(200,"","","`"_GMVENTBY)'=GMVENTBY D
- . D MSG("ERROR: Missing or invalid Entered By parameter")
- . Q
- I "^C^M^"'[(U_$G(GMVMSYS)_U) D
- . D MSG("ERROR: Missing or invalid Measurement System")
- . Q
- S (GMVVNUM,GMVVLAST,GMVVFIND)=0
- F S GMVVNUM=$O(@GMVDATA@("V",GMVVNUM)) Q:GMVVNUM'>0 D
- . S GMVVLAST=GMVVNUM
- . S GMVSYSBP=0,GMVQARRY=U
- . S (GMV,GMVVHOLD)=$G(@GMVDATA@("V",GMVVNUM))
- . S GMVVD0=$$VITIEN^GMVDCUTL($P(GMV,U))
- . S (GMVVMEAS,GMVVMEAS(1))=$P(GMV,U,2)
- . I GMVVD0'>0 D
- .. D MSG("ERROR: Missing or invalid Vital Type (V^"_GMVVNUM_"="_GMVVHOLD_")")
- .. Q
- . E D
- .. S GMVVFIND=1
- .. S GMVVABBR=$P($G(^GMRD(120.51,+GMVVD0,0)),U,2)
- .. S $P(@GMVDATA@("V",GMVVNUM),U,1)=GMVVD0
- .. D BP^GMVDCVAM,PO2^GMVDCVAM
- .. I $$OMIT^GMVDCVAM(GMVVMEAS) D
- ... S GMVVMEAS=$$UP^XLFSTR($E(GMVVMEAS))_$$LOW^XLFSTR($E(GMVVMEAS,2,$L(GMVVMEAS)))
- ... I $O(@GMVDATA@("Q",GMVVNUM,0))>0 D
- .... D MSG("ERROR: Qualifiers not allowed if vital measurement is omitted (V^"_GMVVNUM_"="_GMVVHOLD_")")
- .... Q
- ... Q
- .. S GMVOK=1
- .. I '$$VALID^GMVDCCHK($P(GMVVMEAS,";"),GMVMSYS,GMVVABBR) S GMVOK=0
- .. I GMVOK,GMVVMEAS("PO2")]"" D
- ... S GMVIXFRM=$$GET1^DID(120.5,1.4,"","INPUT TRANSFORM")
- ... I GMVIXFRM]"" S X=GMVVMEAS("PO2") X GMVIXFRM I '$D(X) S GMVOK=0
- ... Q
- .. I 'GMVOK S GMVOK=$$OMIT^GMVDCVAM($P(GMVVMEAS,";"))
- .. I 'GMVOK D
- ... D MSG("ERROR: Invalid Vital Measurement (V^"_GMVVNUM_"="_GMVVHOLD_")")
- ... Q
- .. S GMVVMEAS=$$CNV^GMVDCCNV($P(GMVVMEAS,";"),GMVMSYS,"S",GMVVABBR)
- .. S $P(@GMVDATA@("V",GMVVNUM),U,2)=GMVVMEAS_";"_GMVVMEAS("PO2")
- .. S (GMVQNUM,GMVQFIND)=0
- .. F S GMVQNUM=$O(@GMVDATA@("Q",GMVVNUM,GMVQNUM)) Q:GMVQNUM'>0 D
- ... S (GMV,GMVQHOLD)=$G(@GMVDATA@("Q",GMVVNUM,GMVQNUM))
- ... S GMVQD0=$$QUAIEN^GMVDCUTL(GMV)
- ... I GMVQD0>0,$O(^GMRD(120.52,"C",GMVVD0,GMVQD0,0))'>0 S GMVQD0=-2
- ... I GMVQD0'>0 D
- .... I GMVQD0=-2 D MSG("ERROR: Invalid Qualifier for Vital Type (Q^"_GMVVNUM_U_GMVQNUM_"="_GMVQHOLD_")")
- .... I GMVQD0'=-2 D MSG("ERROR: Missing or invalid Vitals Qualifier (Q^"_GMVVNUM_U_GMVQNUM_"="_GMVQHOLD_")")
- .... Q
- ... E D
- .... S GMVQFIND=1
- .... S $P(@GMVDATA@("Q",GMVVNUM,GMVQNUM),U,1)=GMVQD0
- .... S GMVQARRY=GMVQARRY_GMVQD0_U
- .... I GMVSYSBP,$D(GMVSYSBP(GMVQD0))#2 S GMVSYSBP=0
- .... Q
- ... Q
- .. I GMVSYSBP D
- ... D MSG("ERROR: Systolic only BPs must have a Doppler or Palpated qualifier (V^"_GMVVNUM_"="_GMVVHOLD_")")
- ... Q
- .. I 'GMVQFIND,$O(^GMRD(120.52,"C",GMVVD0,0))>0,'$$OMIT^GMVDCVAM(GMVVMEAS) D
- ... D MSG("WARNING: No valid Qualifiers found (Q^"_GMVVNUM_"^##=Qualifier)")
- ... Q
- .. D DUPCHK^GMVDCVAM
- .. Q
- . Q
- I 'GMVVFIND D
- . D MSG("ERROR: No valid Vital Types / Measurements found (V^##=VitalType^Measurement)")
- . Q
- I $O(@GMVDATA@("Q",GMVVLAST)) D
- . S GMV=$S(GMVVFIND'>0:"ERROR",1:"WARNING")
- . D MSG(GMV_": There are more Qualifiers than there are VitalTypes / Measurements")
- . Q
- Q
- ;
- ENTERR ; *** Validate Entered in Error data ***
- I $$FIND1^DIC(200,"","","`"_GMVERRBY)'=GMVERRBY D
- . D MSG("ERROR: Missing or invalid Entered in Error By parameter")
- . Q
- S (GMVINUM,GMVILAST,GMVIFIND)=0
- F S GMVINUM=$O(@GMVDATA@("I",GMVINUM)) Q:GMVINUM'>0 D
- . S GMVILAST=GMVINUM
- . S (GMVID0,GMVIHOLD)=$G(@GMVDATA@("I",GMVINUM))
- . I $$FIND1^DIC(120.5,"","","`"_GMVID0)'=GMVID0 D
- .. D MSG("ERROR: Entered in Error IENS not found (I^"_GMVINUM_"="_GMVIHOLD_")")
- .. Q
- . E D
- .. I $P($G(^GMR(120.5,GMVID0,2)),U) D
- ... D MSG("ERROR: Vitals record already marked Entered in Error (I^"_GMVINUM_"="_GMVIHOLD_")")
- ... Q
- .. S GMVIFIND=1
- .. S (GMVRNUM,GMVRFIND)=0
- .. F S GMVRNUM=$O(@GMVDATA@("R",GMVINUM,GMVRNUM)) Q:GMVRNUM'>0 D
- ... S (GMV,GMVRHOLD)=$G(@GMVDATA@("R",GMVINUM,GMVRNUM))
- ... S GMVRD0=$$REAIEN^GMVDCUTL(GMV)
- ... I GMVRD0'>0 D
- .... D MSG("ERROR: Missing or invalid Entered in Error Reason (R^"_GMVINUM_U_GMVRNUM_"="_GMVRHOLD_")")
- .... Q
- ... E D
- .... S GMVRFIND=1
- .... S @GMVDATA@("R",GMVINUM,GMVRNUM)=GMVRD0
- .... Q
- ... Q
- .. I 'GMVRFIND D
- ... D MSG("ERROR: No valid Entered in Error Reasons found (R^"_GMVINUM_"^##=EnteredInErrorReason)")
- ... Q
- .. Q
- . Q
- I 'GMVIFIND D
- . D MSG("ERROR: No valid Entered in Error IENS found (I^##=EnteredInError)")
- . Q
- I $O(@GMVDATA@("R",GMVILAST)) D
- . S GMV=$S(GMVIFIND'>0:"ERROR",1:"WARNING")
- . D MSG(GMV_": There are more Entered in Error Reasons than there are Entered in Error IENS")
- . Q
- Q
- ;
- MSG(X) ; *** Add a line to the message array ***
- S (GMVMSG,RESULT(-1))=1+$G(RESULT(-1),0)
- S RESULT(GMVMSG)=X
- I $P(X,":")="ERROR" S RESULT(0)="ERROR"
- Q
- ;
- BPSYSQ ;;Qualifiers that must be present if only systolic BP is present
- ;;DOPPLER
- ;;PALPATED
- ;;
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMVDCVAL 6618 printed Feb 18, 2025@23:24:58 Page 2
- GMVDCVAL ;HOIFO/DAD,FT-VITALS COMPONENT: VALIDATE DATA ;9/29/00 09:18
- +1 ;;5.0;GEN. MED. REC. - VITALS;;Oct 31, 2002
- +2 ;
- +3 ; This routine uses the following IAs:
- +4 ; #10035 - FILE 2 references (supported)
- +5 ; #10040 - FILE 44 references (supported)
- +6 ; #10060 - FILE 200 fields (supported)
- +7 ; #10104 - ^XLFSTR calls (supported)
- +8 ;
- EN1(RESULT,GMVDATA) ;
- +1 ; *** Validates vitals data ***
- +2 NEW GMV,GMVD0,GMVID0,GMVIFIND,GMVIHOLD,GMVILAST,GMVINUM,GMVIXFRM
- +3 NEW GMVMSG,GMVOK,GMVQARRY,GMVQD0,GMVQFIND,GMVQHOLD,GMVQNUM,GMVRD0
- +4 NEW GMVRET,GMVRFIND,GMVRHOLD,GMVRNUM,GMVSYSBP,GMVVABBR,GMVVD0
- +5 NEW GMVVFIND,GMVVHOLD,GMVVLAST,GMVVMEAS,GMVVNUM
- +6 DO EXIT
- +7 FOR GMV=1:1
- SET GMVSYSBP=$PIECE($TEXT(BPSYSQ+GMV),";;",2)
- if GMVSYSBP=""
- QUIT
- Begin DoDot:1
- +8 SET GMVD0=0
- +9 FOR
- SET GMVD0=$ORDER(^GMRD(120.52,"B",GMVSYSBP,GMVD0))
- if GMVD0'>0
- QUIT
- Begin DoDot:2
- +10 IF GMVSYSBP=$PIECE($GET(^GMRD(120.52,GMVD0,0)),U)
- SET GMVSYSBP(GMVD0)=""
- +11 QUIT
- End DoDot:2
- +12 QUIT
- End DoDot:1
- +13 IF $ORDER(@GMVDATA@(""))]""
- Begin DoDot:1
- +14 ; *** Vital measurement data validation ***
- +15 IF ($ORDER(@GMVDATA@("V",0))>0)!($ORDER(@GMVDATA@("Q",0))>0)
- DO VITMEA
- +16 ; *** Entered in Error data validation ***
- +17 IF ($ORDER(@GMVDATA@("I",0))>0)!($ORDER(@GMVDATA@("R",0))>0)
- DO ENTERR
- +18 QUIT
- End DoDot:1
- +19 IF '$TEST
- Begin DoDot:1
- +20 DO MSG("ERROR: No data to validate/save")
- +21 QUIT
- End DoDot:1
- +22 IF $GET(RESULT(0))="OK"
- DO MSG("OK: Data validated")
- +23 ;
- EXIT ; *** Clean-up ***
- +1 KILL ^TMP($JOB,"GMVXREF")
- +2 QUIT
- +3 ;
- VITMEA ; *** Validate vital measurement data ***
- +1 IF $$FIND1^DIC(2,"","","`"_GMVDFN)'=GMVDFN
- Begin DoDot:1
- +2 DO MSG("ERROR: Missing or invalid Patient parameter")
- +3 QUIT
- End DoDot:1
- +4 KILL GMVRET
- DO DT^DILF("RSTX",GMVDTDUN,.GMVRET,"-NOW")
- +5 IF $GET(GMVRET,-1)<0
- Begin DoDot:1
- +6 DO MSG("ERROR: Missing or invalid Date/Time Vitals Taken parameter")
- +7 QUIT
- End DoDot:1
- +8 IF $$FIND1^DIC(44,"","","`"_GMVHOSPL)'=GMVHOSPL
- Begin DoDot:1
- +9 DO MSG("ERROR: Missing or invalid Hospital Location parameter")
- +10 QUIT
- End DoDot:1
- +11 KILL GMVRET
- DO DT^DILF("RSTX",GMVDTENT,.GMVRET,"-NOW")
- +12 IF $GET(GMVRET,-1)<0
- Begin DoDot:1
- +13 DO MSG("ERROR: Missing or invalid Date/Time Vitals Entered parameter")
- +14 QUIT
- End DoDot:1
- +15 IF $$FIND1^DIC(200,"","","`"_GMVENTBY)'=GMVENTBY
- Begin DoDot:1
- +16 DO MSG("ERROR: Missing or invalid Entered By parameter")
- +17 QUIT
- End DoDot:1
- +18 IF "^C^M^"'[(U_$GET(GMVMSYS)_U)
- Begin DoDot:1
- +19 DO MSG("ERROR: Missing or invalid Measurement System")
- +20 QUIT
- End DoDot:1
- +21 SET (GMVVNUM,GMVVLAST,GMVVFIND)=0
- +22 FOR
- SET GMVVNUM=$ORDER(@GMVDATA@("V",GMVVNUM))
- if GMVVNUM'>0
- QUIT
- Begin DoDot:1
- +23 SET GMVVLAST=GMVVNUM
- +24 SET GMVSYSBP=0
- SET GMVQARRY=U
- +25 SET (GMV,GMVVHOLD)=$GET(@GMVDATA@("V",GMVVNUM))
- +26 SET GMVVD0=$$VITIEN^GMVDCUTL($PIECE(GMV,U))
- +27 SET (GMVVMEAS,GMVVMEAS(1))=$PIECE(GMV,U,2)
- +28 IF GMVVD0'>0
- Begin DoDot:2
- +29 DO MSG("ERROR: Missing or invalid Vital Type (V^"_GMVVNUM_"="_GMVVHOLD_")")
- +30 QUIT
- End DoDot:2
- +31 IF '$TEST
- Begin DoDot:2
- +32 SET GMVVFIND=1
- +33 SET GMVVABBR=$PIECE($GET(^GMRD(120.51,+GMVVD0,0)),U,2)
- +34 SET $PIECE(@GMVDATA@("V",GMVVNUM),U,1)=GMVVD0
- +35 DO BP^GMVDCVAM
- DO PO2^GMVDCVAM
- +36 IF $$OMIT^GMVDCVAM(GMVVMEAS)
- Begin DoDot:3
- +37 SET GMVVMEAS=$$UP^XLFSTR($EXTRACT(GMVVMEAS))_$$LOW^XLFSTR($EXTRACT(GMVVMEAS,2,$LENGTH(GMVVMEAS)))
- +38 IF $ORDER(@GMVDATA@("Q",GMVVNUM,0))>0
- Begin DoDot:4
- +39 DO MSG("ERROR: Qualifiers not allowed if vital measurement is omitted (V^"_GMVVNUM_"="_GMVVHOLD_")")
- +40 QUIT
- End DoDot:4
- +41 QUIT
- End DoDot:3
- +42 SET GMVOK=1
- +43 IF '$$VALID^GMVDCCHK($PIECE(GMVVMEAS,";"),GMVMSYS,GMVVABBR)
- SET GMVOK=0
- +44 IF GMVOK
- IF GMVVMEAS("PO2")]""
- Begin DoDot:3
- +45 SET GMVIXFRM=$$GET1^DID(120.5,1.4,"","INPUT TRANSFORM")
- +46 IF GMVIXFRM]""
- SET X=GMVVMEAS("PO2")
- XECUTE GMVIXFRM
- IF '$DATA(X)
- SET GMVOK=0
- +47 QUIT
- End DoDot:3
- +48 IF 'GMVOK
- SET GMVOK=$$OMIT^GMVDCVAM($PIECE(GMVVMEAS,";"))
- +49 IF 'GMVOK
- Begin DoDot:3
- +50 DO MSG("ERROR: Invalid Vital Measurement (V^"_GMVVNUM_"="_GMVVHOLD_")")
- +51 QUIT
- End DoDot:3
- +52 SET GMVVMEAS=$$CNV^GMVDCCNV($PIECE(GMVVMEAS,";"),GMVMSYS,"S",GMVVABBR)
- +53 SET $PIECE(@GMVDATA@("V",GMVVNUM),U,2)=GMVVMEAS_";"_GMVVMEAS("PO2")
- +54 SET (GMVQNUM,GMVQFIND)=0
- +55 FOR
- SET GMVQNUM=$ORDER(@GMVDATA@("Q",GMVVNUM,GMVQNUM))
- if GMVQNUM'>0
- QUIT
- Begin DoDot:3
- +56 SET (GMV,GMVQHOLD)=$GET(@GMVDATA@("Q",GMVVNUM,GMVQNUM))
- +57 SET GMVQD0=$$QUAIEN^GMVDCUTL(GMV)
- +58 IF GMVQD0>0
- IF $ORDER(^GMRD(120.52,"C",GMVVD0,GMVQD0,0))'>0
- SET GMVQD0=-2
- +59 IF GMVQD0'>0
- Begin DoDot:4
- +60 IF GMVQD0=-2
- DO MSG("ERROR: Invalid Qualifier for Vital Type (Q^"_GMVVNUM_U_GMVQNUM_"="_GMVQHOLD_")")
- +61 IF GMVQD0'=-2
- DO MSG("ERROR: Missing or invalid Vitals Qualifier (Q^"_GMVVNUM_U_GMVQNUM_"="_GMVQHOLD_")")
- +62 QUIT
- End DoDot:4
- +63 IF '$TEST
- Begin DoDot:4
- +64 SET GMVQFIND=1
- +65 SET $PIECE(@GMVDATA@("Q",GMVVNUM,GMVQNUM),U,1)=GMVQD0
- +66 SET GMVQARRY=GMVQARRY_GMVQD0_U
- +67 IF GMVSYSBP
- IF $DATA(GMVSYSBP(GMVQD0))#2
- SET GMVSYSBP=0
- +68 QUIT
- End DoDot:4
- +69 QUIT
- End DoDot:3
- +70 IF GMVSYSBP
- Begin DoDot:3
- +71 DO MSG("ERROR: Systolic only BPs must have a Doppler or Palpated qualifier (V^"_GMVVNUM_"="_GMVVHOLD_")")
- +72 QUIT
- End DoDot:3
- +73 IF 'GMVQFIND
- IF $ORDER(^GMRD(120.52,"C",GMVVD0,0))>0
- IF '$$OMIT^GMVDCVAM(GMVVMEAS)
- Begin DoDot:3
- +74 DO MSG("WARNING: No valid Qualifiers found (Q^"_GMVVNUM_"^##=Qualifier)")
- +75 QUIT
- End DoDot:3
- +76 DO DUPCHK^GMVDCVAM
- +77 QUIT
- End DoDot:2
- +78 QUIT
- End DoDot:1
- +79 IF 'GMVVFIND
- Begin DoDot:1
- +80 DO MSG("ERROR: No valid Vital Types / Measurements found (V^##=VitalType^Measurement)")
- +81 QUIT
- End DoDot:1
- +82 IF $ORDER(@GMVDATA@("Q",GMVVLAST))
- Begin DoDot:1
- +83 SET GMV=$SELECT(GMVVFIND'>0:"ERROR",1:"WARNING")
- +84 DO MSG(GMV_": There are more Qualifiers than there are VitalTypes / Measurements")
- +85 QUIT
- End DoDot:1
- +86 QUIT
- +87 ;
- ENTERR ; *** Validate Entered in Error data ***
- +1 IF $$FIND1^DIC(200,"","","`"_GMVERRBY)'=GMVERRBY
- Begin DoDot:1
- +2 DO MSG("ERROR: Missing or invalid Entered in Error By parameter")
- +3 QUIT
- End DoDot:1
- +4 SET (GMVINUM,GMVILAST,GMVIFIND)=0
- +5 FOR
- SET GMVINUM=$ORDER(@GMVDATA@("I",GMVINUM))
- if GMVINUM'>0
- QUIT
- Begin DoDot:1
- +6 SET GMVILAST=GMVINUM
- +7 SET (GMVID0,GMVIHOLD)=$GET(@GMVDATA@("I",GMVINUM))
- +8 IF $$FIND1^DIC(120.5,"","","`"_GMVID0)'=GMVID0
- Begin DoDot:2
- +9 DO MSG("ERROR: Entered in Error IENS not found (I^"_GMVINUM_"="_GMVIHOLD_")")
- +10 QUIT
- End DoDot:2
- +11 IF '$TEST
- Begin DoDot:2
- +12 IF $PIECE($GET(^GMR(120.5,GMVID0,2)),U)
- Begin DoDot:3
- +13 DO MSG("ERROR: Vitals record already marked Entered in Error (I^"_GMVINUM_"="_GMVIHOLD_")")
- +14 QUIT
- End DoDot:3
- +15 SET GMVIFIND=1
- +16 SET (GMVRNUM,GMVRFIND)=0
- +17 FOR
- SET GMVRNUM=$ORDER(@GMVDATA@("R",GMVINUM,GMVRNUM))
- if GMVRNUM'>0
- QUIT
- Begin DoDot:3
- +18 SET (GMV,GMVRHOLD)=$GET(@GMVDATA@("R",GMVINUM,GMVRNUM))
- +19 SET GMVRD0=$$REAIEN^GMVDCUTL(GMV)
- +20 IF GMVRD0'>0
- Begin DoDot:4
- +21 DO MSG("ERROR: Missing or invalid Entered in Error Reason (R^"_GMVINUM_U_GMVRNUM_"="_GMVRHOLD_")")
- +22 QUIT
- End DoDot:4
- +23 IF '$TEST
- Begin DoDot:4
- +24 SET GMVRFIND=1
- +25 SET @GMVDATA@("R",GMVINUM,GMVRNUM)=GMVRD0
- +26 QUIT
- End DoDot:4
- +27 QUIT
- End DoDot:3
- +28 IF 'GMVRFIND
- Begin DoDot:3
- +29 DO MSG("ERROR: No valid Entered in Error Reasons found (R^"_GMVINUM_"^##=EnteredInErrorReason)")
- +30 QUIT
- End DoDot:3
- +31 QUIT
- End DoDot:2
- +32 QUIT
- End DoDot:1
- +33 IF 'GMVIFIND
- Begin DoDot:1
- +34 DO MSG("ERROR: No valid Entered in Error IENS found (I^##=EnteredInError)")
- +35 QUIT
- End DoDot:1
- +36 IF $ORDER(@GMVDATA@("R",GMVILAST))
- Begin DoDot:1
- +37 SET GMV=$SELECT(GMVIFIND'>0:"ERROR",1:"WARNING")
- +38 DO MSG(GMV_": There are more Entered in Error Reasons than there are Entered in Error IENS")
- +39 QUIT
- End DoDot:1
- +40 QUIT
- +41 ;
- MSG(X) ; *** Add a line to the message array ***
- +1 SET (GMVMSG,RESULT(-1))=1+$GET(RESULT(-1),0)
- +2 SET RESULT(GMVMSG)=X
- +3 IF $PIECE(X,":")="ERROR"
- SET RESULT(0)="ERROR"
- +4 QUIT
- +5 ;
- BPSYSQ ;;Qualifiers that must be present if only systolic BP is present
- +1 ;;DOPPLER
- +2 ;;PALPATED
- +3 ;;