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

AMQQSQBP.m

Go to the documentation of this file.
  1. AMQQSQBP ; IHS/CMI/THL - GETS CONDITIONS AND VALUES FOR SBP AND DPB ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. N AMQQLINK,AMQQQ,AMQQATNM,AMQQCONM,AMQQCOMP,AMQQNOCO,AMQQNOT,AMQQTMPC
  1. RUN D SBP
  1. I $D(AMQQQUIT) G EXIT
  1. S AMQQNOCO=+AMQQQ_"~"_AMQQNOCO
  1. S AMQQTMPC=$P(AMQQQ,U,2)_"~"_AMQQTMPC
  1. D AND
  1. EXIT K AMQQTMPC,X,AMQQDISV,%,%A,%B
  1. Q
  1. ;
  1. SBP W !!!,@AMQQRV,"SYSTOLIC BP",@AMQQNV
  1. S AMQQLINK=10
  1. S AMQQATNM="SYSTOLIC B/P"
  1. D V1
  1. I $D(AMQQQUIT) Q
  1. I '$D(AMQQCONM) Q
  1. S AMQQQ=AMQQNOCO_U_AMQQTMPC
  1. DBP W !!!,@AMQQRV,"DIASTOLIC BP",@AMQQNV
  1. S AMQQLINK=11
  1. S AMQQATNM="DIASTOLIC BP"
  1. D V1
  1. I $D(AMQQQUIT) Q
  1. Q
  1. ;
  1. AND W !!!,"When I analyze the result =>",!
  1. W !?5,"1) Both systolic ",@AMQQRV,"and",@AMQQNV," diastolic BPs must meet your criteria"
  1. W !?5,"2) Either systolic ",@AMQQRV,"or",@AMQQNV," diastolic BP must meet your criteria",!
  1. ANDQ W !,"Your choice (1-2): 1// "
  1. R X:DTIME E S X=U
  1. I $E(X)=U S AMQQQUIT="" Q
  1. I X="" S X=1 W " (1)"
  1. I X?1."?" W !!,"Choose between ""and"" logic and ""or"" logic" G AND
  1. I X=1 S AMQQSQCV=AMQQTMPC_"~&" Q
  1. I X=2 S AMQQSQCV=AMQQTMPC_"~!" Q
  1. W " ??",*7
  1. G ANDQ
  1. ;
  1. V1 W !,"Value limiting condition for ",AMQQSQAN,": "
  1. W:$D(AMQQDISV) AMQQDISV,"// "
  1. R X:DTIME
  1. I X?1."?" N %A,%B S XQH=$O(^DIC(9.2,"B","AMQQBOOL","")) D EN1^XQH G V1
  1. I X=U S AMQQQUIT="" Q
  1. I X="",$D(AMQQDISV) S X=AMQQDISV K AMQQDISV
  1. I X["NOT"!(X["'") D NOT
  1. I X="" S AMQQSQQT="" Q
  1. S DIC="^AMQQ(5,"
  1. S DIC(0)="ES"
  1. S DIC("S")="I $P(^(0),U,21)=17"
  1. S D="C"
  1. D IX^DIC
  1. K DIC
  1. I Y=-1 W " ??",*7 G V1
  1. VA S AMQQCOND=+Y
  1. S AMQQNOCO=$P(^AMQQ(5,+Y,0),U,8)
  1. S (AMQQCONM,AMQQDISV)=$P(Y,U,2)
  1. S AMQQSQCT="B"
  1. S AMQQSQVV=""
  1. I AMQQNOCO=2,$D(AMQQNOT) K AMQQDISV,AMQQNOT W " ??",*7 G V1
  1. I $D(AMQQNOT) S AMQQDISV="NOT "_AMQQDISV
  1. S AMQQSYMB=$P(^AMQQ(5,+Y,0),U,6)
  1. I $D(AMQQNOT) S AMQQSYMB="'"_AMQQSYMB K AMQQNOT
  1. D COMPN^AMQQAV0
  1. I $D(AMQQQUIT) Q
  1. I AMQQNOCO=2 G V2
  1. I '$D(AMQQCOMP) G V1
  1. I AMQQCOMP="" G V1
  1. I $D(AMQQQUIT) Q
  1. S AMQQTMPC=AMQQSYMB_":"_AMQQCOMP
  1. Q
  1. V2 I AMQQCOMP="" G V1
  1. S AMQQTMPC="'<:"_$P(AMQQCOMP,";")_":'>:"_$P(AMQQCOMP,";",2)
  1. Q
  1. ;
  1. NOT I $E(X,1,4)="NOT " S X=$E(X,5,99),AMQQNOT="" Q
  1. I $E(X)="'" S X=$E(X,2,99),AMQQNOT="" Q
  1. S %=$L(X)
  1. I $E(X,%-3,%)=" NOT" S X=$E(X,1,%-4),AMQQNOT=""
  1. Q
  1. ;