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

AMQQMGR4.m

Go to the documentation of this file.
  1. AMQQMGR4 ; IHS/CMI/THL - OVERFLOW FROM AMQQMGR3 ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;-----
  1. I AMQQLSPX S AMQQLUNT=$P($G(^LAB(60,AMQQLDFN,1,AMQQLSPX,0)),U,7)
  1. E S AMQQLUNT=""
  1. S AMQQLHN=$P($G(^LAB(60,AMQQLDFN,.1)),U)
  1. S AMQQLHL=$L(AMQQLHN)
  1. S AMQQLOUT=""
  1. I AMQQLHN'="" G LHT
  1. S N=99
  1. F I=1:1 S X=$P(AMQQLSTG,U,I) Q:X="" I $L(X)<N S Y=X,N=$L(X)
  1. I N=99 Q
  1. S AMQQLHN=Y
  1. S AMQQLHL=N
  1. LHT I AMQQLTYP=9 S %=$P(^LAB(60,AMQQLDFN,0),U,12),%=U_%_"0)",%=$P(@%,U,2),%=+$E(%,4,9) G LH1
  1. I AMQQLTYP=15 S %=8,AMQQLOUT="S X=$P(X,"" ""),X=$S(X="""":""??"",X=0:""Neg."",X=+X:(""1:""_X),1:X)" G LH1
  1. I AMQQLTYP=12 S AMQQLOUT="S X=$P(X,"" "") S:X'?1N X=""??"" S:X?1N X=X+1,X=$P(""Neg.;Trace;1+;2+;3+;4+"","";"",X)" G LH1
  1. I AMQQLTYP=11 S AMQQLOUT="S X=$S($E(X)=""P"",""Pos"",1:""Neg"")",%=4 G LH1
  1. I AMQQLTYP=6 S %=0,X=$P(^LAB(60,AMQQLDFN,0),U,12),X=U_X_"0)",X=$P(@X,U,3) D LOUT F I=1:1 S Y=$P(X,";",I) G:Y="" LH1 S Y=$P(Y,":",2),Y=$L(Y) I Y>% S %=Y
  1. I AMQQLTYP=2 S %=0,X=$P(^LAB(60,AMQQLDFN,0),U,12) Q:X="" S X=U_X_"0)",X=$P($G(@X),U,5),%=+$P(X,"K:$L(X)>",2)
  1. LH1 I (%+4)>AMQQLHL S AMQQLHL=(%+4)
  1. Q
  1. ;
  1. LOUT S AMQQLOUT="N Y S Y="";"_X_""",X=$F(Y,("";""_X_"":"")),X=$E(Y,X,999),X=$P(X,"";"")"
  1. Q
  1. ;
  1. CO ; ENTRY POINT FROM AMQQMGR3
  1. S %=^LAB(60,AMQQLDFN,0)
  1. S %=$P(%,U)
  1. S %=$P(%," (")
  1. S %=$P(%,"(")
  1. S AMQQLC=%
  1. Q:%=""
  1. S AMQQLCO=%
  1. D CO2
  1. I $D(AMQQLCOF) G COEXIT
  1. I $D(AMQQCONO) K AMQQCONO G COEXIT
  1. F AMQQLI=70:1:79 I $D(^LAB(60,AMQQLDFN,1,AMQQLI,0)) D CO1
  1. COEXIT K AMQQLC,AMQQLCO,AMQQLI
  1. Q
  1. ;
  1. CO1 S %=$P("BLOOD^URINE^SERUM^PLASMA^CSF^URETHRAL FLUID^PERITONEAL FLUID^PLEURAL FLUID^SYNOVIAL FLUID^CLOT",U,(AMQQLI-69)),AMQQLCO=AMQQLC_","_%
  1. CO2 S %=$O(^AMQQ(5,"C",AMQQLCO,""))
  1. Q:'%
  1. S DA(1)=%
  1. S X=AMQQLDFN
  1. S DIC="^AMQQ(5,"_DA(1)_",4.1,"
  1. S DIC(0)="L"
  1. I '$D(^AMQQ(5,DA(1),4.1,0)) S ^(0)="^9009075.02PA^^"
  1. D ^DIC
  1. K DIC
  1. I Y'=-1 S AMQQLCOF=""
  1. W !,$P(^LAB(60,AMQQLDFN,0),U)," added as a companion test of ",AMQQLCO
  1. Q
  1. ;
  1. TOP ; ENTRY POINT ; GETS TOP 40 LAB TESTS
  1. D CHECK
  1. S I=$P(^AUPNVLAB(0),U,4)\500
  1. S G="^UTILITY(""AMQQ"",$J,""LU"")"
  1. S Z=""
  1. K @G
  1. F X=0:0 S X=$O(^AUPNVLAB(X)) Q:'X S Y=+^(X,0),%=$G(@G@(1,Y))+1,^(Y)=%,X=X+I W:X#2 "."
  1. F X=0:0 S X=$O(@G@(1,X)) Q:'X S Y=^(X),@G@(2,(10000-Y),X)="" W:X#2 "."
  1. W !!!,?15,"***** TOP 40 LAB TESTS *****",!!!
  1. S I=0
  1. F X=0:0 S X=$O(@G@(2,X)) Q:'X F Y=0:0 S Y=$O(@G@(2,X,Y)) Q:'Y S I=I+1 W:I#2 ! W:'(I#2) ?40 W I,") ",$E($P(^LAB(60,Y,0),U),1,30)," [",(10000-X),"]" S Z=Z_Y_U I I=40 G TOP1
  1. TOP1 S AMQQLUST=Z
  1. D STUFF
  1. K @G,X,Y,Z,I,%
  1. Q
  1. ;
  1. GET ; ENTRY POINT FOR 1 AT A TIME LAB TESTS
  1. D CHECK
  1. S Z=""
  1. F D I Y=-1!($E(Y)=U) Q
  1. .I $L(Z)>235 S Y="" W !!,"I can't accept more new tests now. If you want to add more, try again later",!! Q
  1. .S DIR(0)="PO^60:EMQ"
  1. .S DIR("A")="Lab test"
  1. .S DIR("?")="Enter the name of the test you want to add to the Q-Man metadictionary."
  1. .D ^DIR
  1. .K DIR
  1. .I +Y=175 D NEWGLU
  1. .I +Y=643 W " <= It's already in there" Q
  1. .I $D(^AMQQ(5,1000+Y)) W " <= It's already in there!" Q
  1. .I (U_Z)[(U_Y_U) W " <= Already selected" Q
  1. .S Z=Z_Y_U
  1. S AMQQLUST=Z
  1. D STUFF
  1. Q
  1. ;
  1. STUFF W !!!
  1. F AMQQLSN=1:1 S X=$P(AMQQLUST,U,AMQQLSN) Q:X="" D EN1^AMQQMGR3
  1. K AMQQLUST,AMQQLSN,X,Y,Z
  1. Q
  1. ;
  1. LIST ; - EP - FROM ^AMQQMGR
  1. W !!!
  1. F X=1000:0 S X=$O(^AMQQ(5,X)) Q:'X S Y=^(X,0),Y=$P(Y,U) W Y,", "
  1. K X,Y
  1. Q
  1. ;
  1. CHECK ;
  1. S Z=0
  1. S X=$P(^AUPNVLAB(0),U,3)-1000
  1. F I=1:1:1000 S X=$O(^AUPNVLAB(X)) Q:'X I $P($G(^AUPNVLAB(X,11)),U,3) S Z=1 Q
  1. I Z
  1. W:'Z !!,"Specimen/site not entered into V LAB...Request cancelled",!!,*7 H 2
  1. K X,Z,I
  1. Q
  1. ;
  1. NEWGLU S DA(1)=184
  1. S DIK="^AMQQ(5,"_DA(1)_",1,"
  1. F DA=0:0 S DA=$O(^AMQQ(5,184,1,DA)) Q:'DA D ^DIK
  1. K DIK,DA
  1. Q
  1. ;