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

AMQQAC.m

Go to the documentation of this file.
  1. AMQQAC ; IHS/CMI/THL - GETS CONDITIONS ; [ 07/26/2011 3:56 PM ]
  1. ;;2.0;IHS PCC SUITE;**7**;MAY 14, 2009
  1. ;-----
  1. CONDP I $D(AMQQONE) D ^AMQQAC1 S AMQQUATN=AMQQUATN+1 Q
  1. I AMQQATNM="ALIVE" S AMQQCOND=7,AMQQNOT="",AMQQSYMB="<",AMQQNOCO=1,AMQQCONM="BEFORE" Q
  1. I AMQQATNM="COHORT" S AMQQCOND=238,AMQQSYMB="=",AMQQNOCO=1,AMQQCONM="IS A MEMBER OF" Q
  1. I AMQQATNM="FILE ENTRY" S AMQQCOND=264,AMQQSYMB="=",AMQQNOCO=1,AMQQCONM="IS ENTERED IN" Q
  1. COND K AMQQSVAL
  1. D GETCOND
  1. I $E($G(X))=U K Y Q
  1. Y I Y=-1 D SPEC I '$D(Y) Q
  1. I Y=-1 W " ??",*7 G COND
  1. I $D(AMQQLINK) S %=^AMQQ(1,AMQQLINK,0) I $P(%,U,5)=13,$D(AMQQNOT),+Y>106,+Y<109 S Y=-1 W " ??",*7 G COND
  1. EN1 ; ENTRY POINT FROM AMQQQ2
  1. S AMQQCOND=+Y
  1. S AMQQNOCO=$P(^AMQQ(5,+Y,0),U,8)
  1. S AMQQCONM=$P(Y,U,2)
  1. S AMQQSYMB=$P(^AMQQ(5,+Y,0),U,6)
  1. Q
  1. ;
  1. GETCOND ; ENTRY POINT FORM AMQQSQA1
  1. I AMQQATN=783 S I=5 D S1 S Y=11,AMQQFTYP="S" Q ;PATCH XXX
  1. I AMQQATN=368!(AMQQATN=415)!(AMQQATN=454) S X="ALL" G AUTO
  1. I $D(AMQQNATF),$P(AMQQNATF,";")'="" S Y=$P(AMQQNATF,";") Q
  1. S %=AMQQATN
  1. I "^59^316^317^318^"[(U_%_U) S %=$S(%=316:"AFTER",%=317:"BEFORE",1:"BETWEEN") G CONDIC
  1. I AMQQFTYP="S" D SET G CONDIC
  1. I AMQQFTYP="F",'$D(AMQQFIFL),'$D(AMQQSQTP) S AMQQDICB="ANY"
  1. I "Q"[AMQQFTYP,$D(AMQQFIFL) S AMQQDICB="IS"
  1. K AMQQNOT
  1. I AMQQLINK>764,AMQQLINK<768 D STARSTOP Q
  1. I AMQQLINK=699 D STARSTOP Q
  1. W !,"Condition: "
  1. W:$D(AMQQDICB) AMQQDICB,"// "
  1. R X:DTIME E S X=U
  1. I $E(X)=U S AMQQQUIT="" Q
  1. I X="",$D(AMQQDICB) S X=AMQQDICB
  1. K AMQQDICB,AMQQFIFL
  1. I X="" D ACA Q:X=4 I X="~~~COND"[X G GETCOND
  1. I X="" W !! K AMQQCOND Q
  1. I X="??" S X="AD^"_$O(^AMQQ(4,"B",AMQQFTYP,"")) D ^AMQQHELP G GETCOND
  1. I X?1."?" N %A,%B S XQH=$O(^DIC(9.2,"B","AMQQCONDITION","")) D EN1^XQH G GETCOND
  1. I X[" ",$E(X,$L(X))?1N S AMQQSVAL=$P(X," ",$L(X," ")),X=$P(X," ",1,$L(X," ")-1)
  1. AUTO ; ENTRY POINT FROM AMQQQ
  1. I X["NOT"!(X["'") D NOT
  1. CONDIC ; ENTRY POINT FROM AMQQ1
  1. S DIC="^AMQQ(5,"
  1. S DIC(0)="ES"
  1. S DIC("S")="I $P(^(0),U,3)="_$O(^AMQQ(4,"B",AMQQFTYP,""))
  1. S D="C"
  1. I AMQQFTYP="S"!($D(AMQQXX)) S DIC(0)=""
  1. I $D(AMQQSQRD) S DIC("S")=DIC("S")_"!(Y=363)"
  1. D IX^DIC
  1. K DIC
  1. I +Y'=363 K AMQQSQRD
  1. STARSTOP ;SET CONDITION FOR FORMULA/SOLIDS STARTED AND BREAST STOPPED ATTRIBUTES
  1. I AMQQLINK=766!(AMQQLINK=767) S X="ON OR AFTER",Y="16^ON OR AFTER"
  1. I AMQQLINK=765 S X="ON OR BEFORE",Y="17^ON OR BEFORE"
  1. I AMQQLINK=699 S X="CONTAINS",Y="13^CONTAINS"
  1. Q
  1. ;
  1. SPEC I X="*" S X="ALL" W " (List all values)"
  1. S Z="ANY;SAVE;ALL;EXISTS;BLANK;EMPTY;NULL;@"
  1. F I=1:1 S %=$P(Z,";",I) Q:%="" I X=$E(%,1,$L(X)) W $E(%,$L(X)+1,99) S X=% D S1 Q
  1. Q
  1. ;
  1. S1 I $D(AMQQMULT) Q
  1. I I>2,$D(AMQQNOT) S I=$S(I>4:4,1:5) K AMQQNOT
  1. S X=$S(I>4:"NULL",I>2:"EXISTS",I=1:"ANY",1:"SAVE")
  1. S AMQQCOMP=X
  1. I I>2 S AMQQQ=AMQQLINK_U_AMQQATNM_U_AMQQFTYP_"^^^^^'=^;;;"_X_"^^^^^1",AMQQEXST="" K Y Q
  1. I I=2 S AMQQSVFL="" D ^AMQQAC1 S AMQQUATN=AMQQUATN+1 K Y Q
  1. ANY ; ENTRY POINT FROM AMQQAV0
  1. S Y=" (ANY VALUE INCLUDING 'NULL')"
  1. S AMQQILIN=AMQQILIN+1
  1. S ^UTILITY("AMQQ",$J,"LIST",AMQQILIN)="W ?6,"""_AMQQATNM_Y_""""
  1. S ^UTILITY("AMQQ",$J,"WEIGHT",9,AMQQUATN)=""
  1. S AMQQQ=AMQQLINK_U_AMQQATNM_U_AMQQFTYP_"^^^^^=^;;;ANY^^9^W ?6,"""_AMQQATNM_"""^1^1^1"
  1. S ^UTILITY("AMQQ",$J,"Q",AMQQUATN)=AMQQQ
  1. S AMQQUATN=AMQQUATN+1
  1. S AMQQANYF=""
  1. K Y
  1. Q
  1. ;
  1. ACA ; ENTRY POINT FROM AMQQAV0 AND THE AMQQTAX* ROUTINES
  1. I $D(AMQQSQTP) S X="" Q
  1. I '$D(AMQQATNM) S X="" Q
  1. I "^DX^RX^PROC^"[(U_AMQQATNM_U),'$D(AMQQONE) S X="" Q
  1. W !!,"Since you did not specify a condition, select one of the following =>",!
  1. W !,?5,"1) Whoops...Let me try again"
  1. W !,?5,"2) List every ",AMQQATNM
  1. W !,?5,"3) List any ",AMQQATNM," including 'NULL'"
  1. W !,?5,"4) Exit",!
  1. ACAR R !,"YOUR CHOICE (1-4): 1// ",X:DTIME E S X=U
  1. I X=U S AMQQQUIT="",X="" Q
  1. I X=4 S AMQQQUIT="" Q
  1. I X?1."?" W !!,"Enter a number from 1 to 4 or '^' to exit",!! G ACAR
  1. I X="" S X=1 W " (1)"
  1. I X,X<4 G ACAA
  1. W " ??",*7 G ACAR
  1. ACAA S X=$P("^ALL^ANY",U,X)
  1. Q
  1. ;
  1. SET N A,Y,Z,%,I
  1. S X=$P(^AMQQ(1,AMQQLINK,0),U,6)
  1. S Y=+X
  1. S Z=$P(X,",",2)
  1. S %=";"_$P(^DD(Y,Z,0),U,3)
  1. W !,"CHOOSE FROM: "
  1. F I=2:1 S A=$P(%,";",I) Q:A="" W !,?7,$P(A,":"),?15,$P(A,":",2)
  1. S X="IS"
  1. Q
  1. ;
  1. NOT S Y="AMQQNOT"
  1. G NOTX
  1. DNOT S Y="AMQQDNOT"
  1. NOTX I $E(X,1,4)="NOT " S X=$E(X,5,99),@Y="" Q
  1. I $E(X)="'" S X=$E(X,2,99),@Y="" Q
  1. S %=$L(X)
  1. I $E(X,%-3,%)=" NOT" S X=$E(X,1,%-4),@Y=""
  1. Q
  1. ;-----