GMRVCAQU ;HIRMFO/YH-DISPLAY CATEGORY/QUALIFIER/SYNONYM TABLE FOR VITAL TYPE ;4/30/97
;;4.0;Vitals/Measurements;**1**;Apr 25, 1997
EN1 ;DISPLAY QUALIFIER/SYNONYM TABLE FOR EACH VITAL TYPE
DEV S %ZIS="Q" D ^%ZIS K %ZIS G:POP Q1 I $E(IOST)="P",'$D(IO("Q")),'$D(IO("S")) D ^%ZISC W !,?3,"PRINTED REPORTS MUST BE QUEUED!!",$C(7) G DEV
I $D(IO("Q")) S ZTIO=ION,ZTDESC="Vital Categry/Qualifier/Synonym Table",ZTRTN="START^GMRVCAQU" D ^%ZTLOAD K IO("Q"),ZTSK,ZTIO Q
START ;
S (GMROUT,GMRPG)=0 U IO D HDR F GMRVIT(1)="BLOOD PRESSURE","PULSE","RESPIRATION","TEMPERATURE","WEIGHT","CIRCUMFERENCE/GIRTH","HEIGHT","PULSE OXIMETRY" Q:GMROUT D
. S GMRVIT=$O(^GMRD(120.51,"B",GMRVIT(1),0)) Q:GMRVIT'>0!GMROUT D
. . S GMRVITY=$P(^GMRD(120.51,GMRVIT,0),"^",2) Q:GMRVITY=""!GMROUT S GLVL=8 D LISTQ^GMRVQUAL Q:GMROUT D OTHERQ D CLEAR
Q1 K GMRVIT,GMRVITY,GLVL,GMROUT,GMRPG D CLEAR
S:$D(ZTQUEUED) ZTREQ="@" D ^%ZISC
Q
HDR ;
Q:$G(GSFILE)>0 I $E(IOST)'="P",GMRPG>0 W "Press return to continue ""^"" to escape " R X:DTIME I X="^"!'$T S GMROUT=1 Q
W @IOF S GMRPG=GMRPG+1
W !,"Vitals/Measurements Category/Qualifier/Synonym Table",?65,"Page ",GMRPG,!,$$RJ^XLFSTR(" ",75,"-")
W:GMRPG>1 !,GLABEL,!,GLABEL(1)
Q
CLEAR ;
K GCHART1,GQUAL,GMRVDFLT,GORDER,GLABEL,GFLAG,GMAX,GMIN,GMRLAST,GMRINF,GCAT,GCHA,GCHART,GCOL,GDA,GENTR,GTXT,GBLNK,GCOUNT,GLN,GMRENTR,GMRVODR,GSIDE,GTYPE,GDASH
Q
OTHERQ ;
Q:'$D(GCHART)&('$D(GCHART1)) S GCOL=1,GFLAG=0,$P(GLABEL," ",80)="",$P(GBLNK," ",80)="",$P(GLABEL(1)," ",80)="",$P(GDASH,"-",20)=""
S (GMAX,GMAX(1))=0 F S GMAX(1)=$O(GCOUNT(GMAX(1))) Q:GMAX(1)'>0 S GMAX(2)="" F S GMAX(2)=$O(GCOUNT(GMAX(1),GMAX(2))) Q:GMAX(2)="" I GCOUNT(GMAX(1),GMAX(2))>GMAX S GMAX=GCOUNT(GMAX(1),GMAX(2))
Q:+$G(GMAX)=0 F I=1:1:GMAX S $P(GTXT(I)," ",80)=""
S GMRVODR=0 F S GMRVODR=$O(GCOUNT(GMRVODR)) Q:GMRVODR'>0 S GCAT=$O(GCOUNT(GMRVODR,"")) Q:GCAT="" D
. S GCOL=$S(GMRVODR=1:1,GMRVODR=2:18,GMRVODR=3:39,GMRVODR=4:58,1:70)
. I GMRVODR=2,GMRVIT(1)="PULSE" S GCOL=28
. I GMRVODR=2,GMRVIT(1)="RESPIRATION" S GCOL=32
. S GLABEL=$S(GMRVODR=1:$E(GCAT_GBLNK,1,80),1:$E($E(GLABEL,1,GCOL)_GCAT_GBLNK,1,80))
. S GCAT(1)=$E(GDASH,1,$L(GCAT))
. S GLABEL(1)=$S(GMRVODR=1:$E(GCAT(1)_GBLNK,1,80),1:$E($E(GLABEL(1),1,GCOL)_GCAT(1)_GBLNK,1,80))
. S I=0,GCHA="" F S GCHA=$O(GQUAL(GMRVODR,GCHA)) Q:GCHA="" D
. . S GSYNO(1)=$O(^GMRD(120.52,"B",GCHA,0)) Q:GSYNO(1)'>0 S GSYNO=$P($G(^GMRD(120.52,GSYNO(1),0)),"^",2)
. . S I=I+1,GTXT(I)=$S(GMRVODR=1:$E(GCHA_": "_GSYNO_GBLNK,1,80),1:$E($E(GTXT(I),1,GCOL)_GCHA_": "_GSYNO_GBLNK,1,80))
W !!,"Qualifiers for "_GMRVIT(1)_": ",!!,GLABEL,!,GLABEL(1)
F I=1:1:GMAX D:IOSL<($Y+6) HDR Q:GMROUT W !,GTXT(I)
Q
GETSYN(GSYNON,GCHA) ;EXTRACT SYNONYM
;I $D(GSYNON(GCHA)) S GSYNON=GSYNON(GCHA) Q
;I GCHA["-" S GCHA=$P(GCHA,"-")_" "_$P(GCHA,"-",2)
;I $L(GCHA," ")<2 S GSYNON=$E(GCHA)_$$LOW^XLFSTR($E(GCHA,2,3)) Q
;N GLEN,I S GLEN=$L(GCHA," ") F I=1:1:GLEN S GSYNON=GSYNON_$S($E($P(GCHA," ",I))'="(":$E($P(GCHA," ",I)),1:"")
;Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMRVCAQU 3011 printed Dec 13, 2024@01:56:07 Page 2
GMRVCAQU ;HIRMFO/YH-DISPLAY CATEGORY/QUALIFIER/SYNONYM TABLE FOR VITAL TYPE ;4/30/97
+1 ;;4.0;Vitals/Measurements;**1**;Apr 25, 1997
EN1 ;DISPLAY QUALIFIER/SYNONYM TABLE FOR EACH VITAL TYPE
DEV SET %ZIS="Q"
DO ^%ZIS
KILL %ZIS
if POP
GOTO Q1
IF $EXTRACT(IOST)="P"
IF '$DATA(IO("Q"))
IF '$DATA(IO("S"))
DO ^%ZISC
WRITE !,?3,"PRINTED REPORTS MUST BE QUEUED!!",$CHAR(7)
GOTO DEV
+1 IF $DATA(IO("Q"))
SET ZTIO=ION
SET ZTDESC="Vital Categry/Qualifier/Synonym Table"
SET ZTRTN="START^GMRVCAQU"
DO ^%ZTLOAD
KILL IO("Q"),ZTSK,ZTIO
QUIT
START ;
+1 SET (GMROUT,GMRPG)=0
USE IO
DO HDR
FOR GMRVIT(1)="BLOOD PRESSURE","PULSE","RESPIRATION","TEMPERATURE","WEIGHT","CIRCUMFERENCE/GIRTH","HEIGHT","PULSE OXIMETRY"
if GMROUT
QUIT
Begin DoDot:1
+2 SET GMRVIT=$ORDER(^GMRD(120.51,"B",GMRVIT(1),0))
if GMRVIT'>0!GMROUT
QUIT
Begin DoDot:2
+3 SET GMRVITY=$PIECE(^GMRD(120.51,GMRVIT,0),"^",2)
if GMRVITY=""!GMROUT
QUIT
SET GLVL=8
DO LISTQ^GMRVQUAL
if GMROUT
QUIT
DO OTHERQ
DO CLEAR
End DoDot:2
End DoDot:1
Q1 KILL GMRVIT,GMRVITY,GLVL,GMROUT,GMRPG
DO CLEAR
+1 if $DATA(ZTQUEUED)
SET ZTREQ="@"
DO ^%ZISC
+2 QUIT
HDR ;
+1 if $GET(GSFILE)>0
QUIT
IF $EXTRACT(IOST)'="P"
IF GMRPG>0
WRITE "Press return to continue ""^"" to escape "
READ X:DTIME
IF X="^"!'$TEST
SET GMROUT=1
QUIT
+2 WRITE @IOF
SET GMRPG=GMRPG+1
+3 WRITE !,"Vitals/Measurements Category/Qualifier/Synonym Table",?65,"Page ",GMRPG,!,$$RJ^XLFSTR(" ",75,"-")
+4 if GMRPG>1
WRITE !,GLABEL,!,GLABEL(1)
+5 QUIT
CLEAR ;
+1 KILL GCHART1,GQUAL,GMRVDFLT,GORDER,GLABEL,GFLAG,GMAX,GMIN,GMRLAST,GMRINF,GCAT,GCHA,GCHART,GCOL,GDA,GENTR,GTXT,GBLNK,GCOUNT,GLN,GMRENTR,GMRVODR,GSIDE,GTYPE,GDASH
+2 QUIT
OTHERQ ;
+1 if '$DATA(GCHART)&('$DATA(GCHART1))
QUIT
SET GCOL=1
SET GFLAG=0
SET $PIECE(GLABEL," ",80)=""
SET $PIECE(GBLNK," ",80)=""
SET $PIECE(GLABEL(1)," ",80)=""
SET $PIECE(GDASH,"-",20)=""
+2 SET (GMAX,GMAX(1))=0
FOR
SET GMAX(1)=$ORDER(GCOUNT(GMAX(1)))
if GMAX(1)'>0
QUIT
SET GMAX(2)=""
FOR
SET GMAX(2)=$ORDER(GCOUNT(GMAX(1),GMAX(2)))
if GMAX(2)=""
QUIT
IF GCOUNT(GMAX(1),GMAX(2))>GMAX
SET GMAX=GCOUNT(GMAX(1),GMAX(2))
+3 if +$GET(GMAX)=0
QUIT
FOR I=1:1:GMAX
SET $PIECE(GTXT(I)," ",80)=""
+4 SET GMRVODR=0
FOR
SET GMRVODR=$ORDER(GCOUNT(GMRVODR))
if GMRVODR'>0
QUIT
SET GCAT=$ORDER(GCOUNT(GMRVODR,""))
if GCAT=""
QUIT
Begin DoDot:1
+5 SET GCOL=$SELECT(GMRVODR=1:1,GMRVODR=2:18,GMRVODR=3:39,GMRVODR=4:58,1:70)
+6 IF GMRVODR=2
IF GMRVIT(1)="PULSE"
SET GCOL=28
+7 IF GMRVODR=2
IF GMRVIT(1)="RESPIRATION"
SET GCOL=32
+8 SET GLABEL=$SELECT(GMRVODR=1:$EXTRACT(GCAT_GBLNK,1,80),1:$EXTRACT($EXTRACT(GLABEL,1,GCOL)_GCAT_GBLNK,1,80))
+9 SET GCAT(1)=$EXTRACT(GDASH,1,$LENGTH(GCAT))
+10 SET GLABEL(1)=$SELECT(GMRVODR=1:$EXTRACT(GCAT(1)_GBLNK,1,80),1:$EXTRACT($EXTRACT(GLABEL(1),1,GCOL)_GCAT(1)_GBLNK,1,80))
+11 SET I=0
SET GCHA=""
FOR
SET GCHA=$ORDER(GQUAL(GMRVODR,GCHA))
if GCHA=""
QUIT
Begin DoDot:2
+12 SET GSYNO(1)=$ORDER(^GMRD(120.52,"B",GCHA,0))
if GSYNO(1)'>0
QUIT
SET GSYNO=$PIECE($GET(^GMRD(120.52,GSYNO(1),0)),"^",2)
+13 SET I=I+1
SET GTXT(I)=$SELECT(GMRVODR=1:$EXTRACT(GCHA_": "_GSYNO_GBLNK,1,80),1:$EXTRACT($EXTRACT(GTXT(I),1,GCOL)_GCHA_": "_GSYNO_GBLNK,1,80))
End DoDot:2
End DoDot:1
+14 WRITE !!,"Qualifiers for "_GMRVIT(1)_": ",!!,GLABEL,!,GLABEL(1)
+15 FOR I=1:1:GMAX
if IOSL<($Y+6)
DO HDR
if GMROUT
QUIT
WRITE !,GTXT(I)
+16 QUIT
GETSYN(GSYNON,GCHA) ;EXTRACT SYNONYM
+1 ;I $D(GSYNON(GCHA)) S GSYNON=GSYNON(GCHA) Q
+2 ;I GCHA["-" S GCHA=$P(GCHA,"-")_" "_$P(GCHA,"-",2)
+3 ;I $L(GCHA," ")<2 S GSYNON=$E(GCHA)_$$LOW^XLFSTR($E(GCHA,2,3)) Q
+4 ;N GLEN,I S GLEN=$L(GCHA," ") F I=1:1:GLEN S GSYNON=GSYNON_$S($E($P(GCHA," ",I))'="(":$E($P(GCHA," ",I)),1:"")
+5 ;Q