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

AMQQAT1.m

Go to the documentation of this file.
  1. AMQQAT1 ; IHS/CMI/THL - GETS INFO FOR RANDOM SAMPLE COLLECTION ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. I $D(AMQQCHRT) W !!,"You cannot select a RANDOM SAMPLE and a SEARCH COHORT in the same query",!!,*7 K AMQQRAND Q
  1. VAR S %=$S(AMQQCCLS="P":"^DPT",1:"^AUPNVSIT")
  1. S AMQQRNDN=$P(@%@(0),U,4)\2
  1. S AMQQRCNM=$S(AMQQCCLS="P":"PATIENT",1:"VISIT")
  1. D NP
  1. EXIT K AMQQRNDN,AMQQRCNM,%,I
  1. Q
  1. ;
  1. NP W !!,"There are ",(AMQQRNDN*2)," ",AMQQRCNM,"S in the database"
  1. W !!?5,"1) Select a certain number of ",AMQQRCNM,"S for the sample"
  1. W !?5,"2) Select a certain percentage of ",AMQQRCNM,"S for the sample",!
  1. GET ; ENTRY POINT FROM AMQQAT11
  1. R !,"YOUR CHOICE (1-2): 1// ",X:DTIME E S X=U
  1. I X?1."?" W !!,"Enter 1 or 2. You may enter '^' to exit.",!! G GET
  1. I X=U S AMQQQUIT="" Q
  1. I X="" S X=1 W " (1)"
  1. I X,X<3,$D(AMQQCRFL) K AMQQCRFL Q
  1. I X,X<3 D SET Q
  1. W " ??",*7 G GET
  1. Q
  1. ;
  1. SET D @("S"_X)
  1. I Y=-1 Q
  1. S ^UTILITY("AMQQ",$J,"LIST",.2)="W ?6,""A RANDOM SAMPLE OF "_$S(AMQQCNAM'["RANDOM":AMQQCNAM,1:$P(AMQQCNAM," ",4))_" WILL BE USED"""
  1. S AMQQRAND=(AMQQRNDN*2)_";"_Y
  1. S AMQQRNDF=""
  1. D LIST^AMQQ
  1. Q
  1. ;
  1. S1 ; ENTRY POINT FROM AMQQAT11
  1. W !!,"How many ",AMQQRCNM,"S do you want in the sample: "
  1. R X:DTIME E S X=U
  1. I X=U S Y=-1,AMQQQUIT="" Q
  1. I X="" S Y=-1 Q
  1. I X?1."?" W !!,"Enter a number between 1 and ",AMQQRNDN,!! G S1
  1. I X,X'>(AMQQRNDN),X?1.9N S Y=X Q
  1. W " ??",*7
  1. G S1
  1. ;
  1. S2 ; ENTRY POINT FROM AMQQAT11
  1. W !!,"What percent of the patients do you want in the sample: "
  1. R X:DTIME E S X=U
  1. I X=U S Y=-1,AMQQQUIT="" Q
  1. I X="" S Y=-1 Q
  1. I X?1."?" W !!,"Enter a number between 1 and 50" G S2
  1. I X?1.2N,X,X<51 Q:$D(AMQQRCFL) S Y=AMQQRNDN*X\50 W "%" Q
  1. W " ??",*7
  1. G S2
  1. ;
  1. COHORT ; ENTRY POINT FOR SEARCH TEMPLATE COHORTS
  1. S AMQQRCNM=$S(AMQQCCLS="P":"PATIENT",1:"VISIT")
  1. I AMQQATNM="FILE ENTRY" D ^AMQQAT2 Q
  1. I $D(AMQQRAND) W !!,"You cannot select a RANDOM SAMPLE and a SEARCH COHORT in the same query",!!,*7 K AMQQCHRT Q
  1. I '$D(AMQQCHRT),'$D(AMQQYYYY) S DIC="^DIBT(",DIC(0)="AEQ" G CODIC
  1. I $D(AMQQYYYY) S AMQQCHRT=$P(AMQQYYYY,";",3)
  1. S X=$E(AMQQCHRT,2,99)
  1. I $E(X,$L(X))="]" S X=$E(X,1,$L(X)-1)
  1. S DIC="^DIBT("
  1. S DIC(0)="EQ"
  1. K AMQQCHRT
  1. I $D(AMQQXX) S DIC(0)=""
  1. CODIC S DIC("S")="S %=$P(^(0),U,4) I %=2!(%=9000001)"
  1. S %=$P(^AMQQ(1,AMQQLINK,0),U,2)
  1. I %'=2 S DIC("S")="I $P(^(0),U,4)="_%
  1. D ^DIC
  1. K DIC
  1. I Y=-1,X=U S AMQQQUIT="" Q
  1. I Y=-1 Q
  1. S AMQQCHRT=+Y,X=$P(Y,U,2)
  1. D COEX
  1. Q
  1. ;
  1. COEX I $D(AMQQXX) S X=1 Q
  1. I '$D(^DIBT(AMQQCHRT,1)) W !!,"Sorry, this template is empty!!",!!,*7 S AMQQQUIT="" H 3 Q
  1. W !!,"Select one of the following =>",!!?5
  1. W "1) ",AMQQCNAM," must be a member of the ",X," cohort",!?5
  1. W "2) ",AMQQCNAM," must NOT be a member of the ",X," cohort",!?5
  1. W "3) Select a random sample of the ",X," cohort",!?5
  1. W "4) Count the number of entries in the ",X," cohort",!!
  1. CQ W "Your choice (1-4): 1// " R X:DTIME E S X=U
  1. I X=4 D COUNT^AMQQAT11 G COEX
  1. I X="" S X=1
  1. I $E(X)=U S AMQQQUIT="" Q
  1. I X?1N,X,X<5 G CQ1
  1. W " ??",*7,!
  1. G CQ
  1. CQ1 I X=2 S AMQQLINK=$S(AMQQCCLS="P":151,1:85) Q
  1. I X=1 Q
  1. D CNP
  1. Q
  1. ;
  1. CNP S AMQQCRFG=""
  1. D COUNT^AMQQAT11
  1. K AMQQCRFG
  1. S AMQQCHTT=I
  1. S AMQQRNDN=AMQQCHTT\2
  1. CNP1 ; ENTRY POINT FROM AMQQAT2
  1. D ^AMQQAT11
  1. Q
  1. ;