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

AMQQQ.m

Go to the documentation of this file.
  1. AMQQQ ; IHS/CMI/THL - SCRIPT INTERFACE ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. ;1:UNDEFINED OR ILLEGAL INPUT VARIABLE
  1. ;2:UNDEFINED OR ILLEGAL OUTPUT VARIABLE
  1. ;3:SUBJECT LOOKUP FAILED
  1. ;4:MORE THAN ONE SUBJECT
  1. ;5:UNABLE TO CREATE TAXONOMY
  1. ;6:ATTRIBUTE LOOKUP FAILED
  1. ;7:CONDITION LOOKUP FAILED
  1. ;8:FAILED TO FIND VALUE
  1. ;9:OR GROUP ERROR
  1. ;10:SUBQUERY ERROR
  1. EN ; ENTRY POINT FROM SEARCH^AMQQ
  1. K AMQQFAIL
  1. RUN F AMQQQRUN=1:1:6 D @$P("KILL;VAL;ANAL;^AMQQQ0;^AMQQQ2;^AMQQCMPL",";",AMQQQRUN) Q:$D(AMQQQUIT) Q:$D(AMQQFAIL)
  1. EXIT D KILL
  1. Q
  1. ;
  1. KILL K AMQQXXAA,AMQQXXAS,AMQQXXAT,AMQQXXCC,AMQQXXVV,AMQQNECO,AMQQRUN,AMQQQ,%,A,Z
  1. K AMQQYYAT,AMQQXXGG,AMQQXXGO,AMQQXXGI,AMQQXXII,AMQQXXSS,AMQQXXXX
  1. K AMQQATN,AMQQATNM,AMQQCTXS,AMQQFTYP,AMQQPRST,AMQQSBCT,AMQQVCL
  1. K AUPNDAYS,AUPNDOB,AUPNDOD,AUPNPAT,AUPNSEX
  1. Q
  1. ;
  1. VAL ; ENTRY POINT FROM AMQQE1
  1. S X=AMQQXX
  1. D TEST
  1. I $D(AMQQFAIL) Q
  1. D TEST1
  1. I $D(AMQQFAIL) Q
  1. S X=AMQQYY
  1. I X[U,$P(X,U)=+X S AMQV("OPTION")="SAVE" G VAL1
  1. D TEST
  1. I $D(AMQQFAIL) S AMQQFAIL=2 Q
  1. VAL1 S AMQQXXGO=AMQQYY_"AMQQXXGN)"
  1. S AMQQNECO=""
  1. I '$D(AMQV("OPTION")) S AMQV("OPTION")="LIST"
  1. Q
  1. ;
  1. TEST S %=$E(X,$L(X))
  1. I %'=",",%'="(" S AMQQFAIL=1 Q
  1. S %=$E(X,1,$L(X)-1)
  1. S Y=$E(X,$L(X))
  1. S Z=X
  1. I Y="," S %=%_")"
  1. S X="I "_%_"=1"
  1. D ^DIM
  1. I '$D(X) S AMQQFAIL=1
  1. Q
  1. ;
  1. TEST1 S Z=AMQQXX
  1. S AMQQXXGG=Z_"AMQQXXGN)"
  1. I $D(@(Z_"1,0)")) S AMQQXXGI=Z_"AMQQXXGN,0)" Q
  1. I $D(@(Z_"1)")) S AMQQXXGI=Z_"AMQQXXGN)" Q
  1. S AMQQFAIL=1
  1. Q
  1. ;
  1. ANAL F AMQQXXGN=0:0 S AMQQXXGN=$O(@AMQQXXGG) Q:'AMQQXXGN S AMQQXXXX=@AMQQXXGI D A1 I $D(AMQQFAIL)!($D(AMQQQUIT)) Q
  1. I '$D(AMQQXX(0)) S AMQQFAIL=3
  1. Q
  1. ;
  1. A1 S %=AMQQXXXX
  1. S %=$P(%,"**")
  1. I %="" Q
  1. I $E(%)="*",$E(%,2)'="*" S %=$E(%,2,999),X=$P(%,"="),AMQQXXSS=$P(%,"=",2,99)
  1. E Q
  1. S A=X
  1. D STRIP
  1. S X=A
  1. I X="" S AMQQFAIL=1 Q
  1. I X=$E("FORMAT",1,$L(X)) S A=AMQQXXSS D STRIP S AMQQXX("FORMAT")=A Q
  1. I X=$E("SUBJECT",1,$L(X)) D SUBJECT Q
  1. S %=$P(X," ")
  1. I %=$E("TAXONOMY",1,$L(%)) D TAX Q
  1. Q
  1. ;
  1. STRIP ; ENTRY POINT FROM AMQQ0
  1. F Q:$E(A)'=" " S A=$E(A,2,999)
  1. F Q:$E(A,$L(A))'=" " S A=$E(A,1,$L(A)-1)
  1. Q
  1. ;
  1. SUBJECT I $D(AMQQXX(0)) S AMQQFAIL=4 Q
  1. S A=AMQQXXSS
  1. D STRIP
  1. S (X,AMQQXXSS)=A
  1. I X?1"`"1.N,$D(^DPT($E(X,2,9),0)) S AMQQCCLS="P",AMQQONE=$P(^(0),U),AMQQXX(0)=X Q
  1. D AUTO^AMQQ1
  1. I Y=-1 S AMQQFAIL=3 Q
  1. S AMQQXX(0)=Y
  1. D NEW^AMQQ1
  1. Q
  1. ;
  1. TAX S A=$P(X," ",2,99)
  1. D STRIP
  1. I A="" S AMQQFAIL=5 Q
  1. S AMQQXXTX=A
  1. S A=AMQQXXSS
  1. D STRIP
  1. I A="" S AMQQFAIL=5 Q
  1. S AMQQXXTI=0
  1. D SETAX
  1. S AMQQXXTN=AMQQXXGN
  1. N AMQQXXGN
  1. D PLUSTAX
  1. S AMQQXXGN=AMQQXXTN
  1. K AMQQXXTN,AMQQXXTI,AMQQXXTX
  1. Q
  1. ;
  1. PLUSTAX S AMQQXXGN=AMQQXXTN
  1. F S AMQQXXGN=$O(@AMQQXXGG) Q:'AMQQXXGN S A=@AMQQXXGI Q:$E(A)'="+" S A=$E(A,2,999) D STRIP,SETAX
  1. S AMQQXXTN=AMQQXXGN
  1. Q
  1. ;
  1. SETAX F AMQQXXTP=1:1 S %=$P(A,",",AMQQXXTP) Q:%="" S AMQQXXTI=AMQQXXTI+1,^UTILITY("AMQQ",$J,"XXTAX",AMQQXXTX,AMQQXXTI)=%
  1. Q
  1. ;
  1. SAVE D ^AMQQCMPS
  1. Q
  1. ;