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

AMEROUT2.m

Go to the documentation of this file.
  1. AMEROUT2 ; IHS/ANMC/GIS - GETS SORT BY CRITERIA ;
  1. ;;3.0;ER VISIT SYSTEM;;FEB 23, 2009
  1. ;
  1. MP ; ENTRY POINT FROM AMEROUT1
  1. W !!!,"This attribute can have multiple values"
  1. I '$D(AMERSTAT) S DIR(0)="SO^1:Sort by all values of this attribute;2:Limit output to one particular value of this attribute;3:Display entries where attribute value is 'null'"
  1. E S DIR(0)="SO^1:Do statistical analysis on this attribute now;2:Analyze only those entries with one particular value;3:Analyze only those entries where attribute value is 'null'"
  1. S DIR("A")="Your choice",DIR("B")="1" D ^DIR K DIR I 1
  1. D OUT^AMEROUT I $D(AMERQUIT) Q
  1. I $D(AMERSTAT) S FLDS="!.01"
  1. I Y=1,$D(AMERSTAT) D STAT Q
  1. ; I $D(AMERSTAT),Y'=2,$E(BY)'="'" S BY="'"_BY
  1. I Y=1 S (AMERFR,AMERTO)="",AMERNXT="Within "_AMERATNM_" sort by" Q
  1. I Y=3 S (AMERFR,AMERTO)="@",AMERNXT="Then sort by",^TMP("AMER",$J,8,AMERATNM)="NULL" Q
  1. I $D(AMERMSFL) D MS1 Q
  1. S DIC("A")="Select "_AMERATNM_": "
  1. S DIC=U_AMERGBL,DIC(0)="AEQZMI" I $D(AMERSCR) S DIC("S")=AMERSCR
  1. D ^DIC K DIC
  1. D OUT^AMEROUT I $D(AMERQUIT) Q
  1. Q:Y=-1
  1. S AMERNXT="Then sort by",(AMERFR,AMERTO)=""
  1. I AMERBY'["," S AMERBY=$S($D(AMERSTAT):"+",1:"'")_"INTERNAL("_$S(+$P(AMERBY,":"):"#",1:"")_""_AMERBY_")="_+Y
  1. E S X=$L(AMERBY,","),%=$P(AMERBY,",",X),$P(AMERBY,",",X)=$S($D(AMERSTAT):"+",1:"'")_"INTERNAL("_$S(+$P(AMERBY,":"):"#",1:"")_""_%_")="_+Y
  1. S ^TMP("AMER",$J,8,AMERATNM)=Y(0,0)
  1. Q
  1. ;
  1. MA ; ENTRY POINT FROM AMEROUT1
  1. D MA^AMEROUT3
  1. Q
  1. ;
  1. MS ; ENTRY POINTY FROM AMEROUT1
  1. S AMERMSFL="" D MP K AMERMSFL
  1. Q
  1. ;
  1. MS1 ;
  1. S %=$P(^DD(+AMERSCR,$P(AMERSCR,";",2),0),U,3),DIR(0)="SO^"_%,DIR("A")="Your choice" D ^DIR K DIR
  1. D OUT^AMEROUT
  1. I $D(AMERQUIT) Q
  1. S AMERNXT="Then sort by",(AMERFR,AMERTO)=""
  1. I AMERBY'["," S AMERBY=$S($D(AMERSTAT):"+",1:"'")_"INTERNAL("_$S(+$P(AMERBY,":"):"#",1:"")_""_AMERBY_")="""_Y_""""
  1. E S X=$L(AMERBY,","),%=$P(AMERBY,",",X),$P(AMERBY,",",X)=$S($D(AMERSTAT):"+",1:"'")_"INTERNAL("_$S(+$P(AMERBY,":"):"#",1:"")_""_%_")="""_Y_""""
  1. S ^TMP("AMER",$J,8,AMERATNM)=Y(0)
  1. Q
  1. ;
  1. MT ; ENTRY POINT FROM AMEROUT1
  1. S DIR(0)="NO^0:30:0",DIR("A")="Enter the mumimum turnaround time in days",DIR("B")="0" D ^DIR K DIR
  1. D OUT^AMEROUT I $D(AMERQUIT) Q
  1. S Y=+Y
  1. S AMERMIN=Y S:Y=0 Y=.1 S AMERFR=Y
  1. S DIR(0)="NO^0:30:0",DIR("A")="Enter the maximum turnaround time in days",DIR("B")=30 D ^DIR K DIR
  1. D OUT^AMEROUT I $D(AMERQUIT) Q
  1. I Y="" S Y=30
  1. S ^TMP("AMER",$J,8,AMERATNM)=AMERMIN_"-"_Y_" day(s)"
  1. S:Y=0 Y=.9 S AMERTO=Y
  1. I AMERFR>AMERTO W " ??",*7,! G MT
  1. I $D(AMERSTAT) S FLDS="#"_AMERBY,AMERBY="+"_AMERBY,AMERSTAT=1 Q
  1. S AMERNXT="Then sort by",AMERBY="'@"_AMERBY
  1. Q
  1. ;
  1. MM ; ENTRY POINT FROM AMEROUT1
  1. I '$D(AMERSTAT) G MM1
  1. S DIR(0)="SO^1:Do statistatical analysis of this attribute now;2:Limit analysis to entries in a certain range",DIR("A")="Your choice",DIR("B")="1",DIR("?")="" D ^DIR K DIR
  1. D OUT^AMEROUT I $D(AMERQUIT) Q
  1. I Y=1 S FLDS="#"_AMERBY,AMERBY="+"_AMERBY,(AMERFR,AMERTO)="" S:$D(AMERSTAT) AMERSTAT=1 Q
  1. MM1 S DIR(0)="NO^1:9999:0",DIR("A")="Enter minimum time in minutes" D ^DIR K DIR
  1. D OUT^AMEROUT I $D(AMERQUIT) Q
  1. I Y="" S Y=1 W " (1)"
  1. S AMERFR=Y
  1. S DIR(0)="NO^1:9999:0",DIR("A")="Enter maximum time in minutes" D ^DIR K DIR
  1. D OUT^AMEROUT I $D(AMERQUIT) Q
  1. I Y="" S Y=9999 W " (9999)"
  1. S ^TMP("AMER",$J,8,AMERATNM)=AMERFR_"-"_Y_" minutes",AMERTO=Y
  1. I AMERFR>AMERTO W " ??",*7,! G MM
  1. I $D(AMERSTAT) S FLDS="#"_AMERBY,AMERBY="+"_AMERBY,AMERSTAT=1 Q
  1. S AMERBY="'@"_AMERBY
  1. S AMERNXT="Then sort by: "
  1. Q
  1. ;
  1. MC ; ENTRY POINT FROM AMEROUT1
  1. D MC^AMEROUT3
  1. Q
  1. ;
  1. MSTAT S AMERSTAT=1,FLDS="!.01",(AMERFR,AMERTO,AMERBY)="" Q
  1. STAT S FLDS="!.01"
  1. ; Print names of DX Codes in statistical reports
  1. I AMERBY="5,.01" S FLDS=FLDS_",5,.01:DIAGNOSIS;N;""DX DESCRIPTION"""
  1. S (AMERFR,AMERTO)="",AMERBY="+"_AMERBY
  1. Q
  1. ;
  1. MU ; ENTRY POINT FROM AMEROUT1
  1. D MU^AMEROUT3
  1. Q