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

AMQQMGR3.m

Go to the documentation of this file.
  1. AMQQMGR3 ; IHS/CMI/THL - LAB STARTUP ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;----
  1. EN ;EP;TO CHECK ALL LABS
  1. I '$O(^AUPNVLAB(0)) G EXAM
  1. D ^%ZIS
  1. I POP D EXAM Q
  1. U IO
  1. S AMQQLDFN=0
  1. F S AMQQLDFN=$O(^LAB(60,AMQQLDFN)) Q:'AMQQLDFN D LAB
  1. EXAM D ^%ZISC
  1. EXIT K %,AMQQCONO,AMQQI,AMQQLAKA,AMQQLAKN,AMQQLC,AMQQLCO,AMQQLDFN,AMQQLDS,AMQQLHL,AMQQL1,AMQQLOFF,AMQQLOUT,AMQQLSPC,AMQQLSPX,AMQQLSS,AMQQLSSN,AMQQSSX,AMQQLSTG,AMQQLTRM,AMQQLTYP,AMQQLUNT,I,N,Y,Z
  1. K DIRUT,DTOUT,DUOUT
  1. Q
  1. ;
  1. EN1 ; PROGRAMMER ENTRY POINT FOR INDIVIDUAL LAB ENTRIES
  1. S AMQQLDFN=X
  1. N X
  1. F DA=AMQQLDFN+999.999999:0 S DA=$O(^AMQQ(5,DA)) Q:'DA Q:DA<(AMQQLDFN+1001) S DIK="^AMQQ(5," D ^DIK
  1. K DIK,DA D LAB,EXIT
  1. Q
  1. ;
  1. LABZIS D ^%ZIS
  1. I POP D EXIT Q
  1. U IO D LAB
  1. D ^%ZISC
  1. Q
  1. ;
  1. LAB N AMQQLIEN
  1. S AMQQLIEN=AMQQLDFN+1000
  1. Q:$D(^AMQQ(5,(AMQQLIEN)))
  1. I '$D(^LAB(60,AMQQLDFN)) Q
  1. I $P(^LAB(60,AMQQLDFN,0),U)["(" D CO^AMQQMGR4 I $D(AMQQLCOF) K AMQQLCOF Q
  1. S X=$O(^LAB(60,AMQQLDFN,1,0))
  1. S AMQQLAKA=$P(^LAB(60,AMQQLDFN,0),U)
  1. S AMQQLAKN=1
  1. S X=0
  1. F S X=$O(^LAB(60,AMQQLDFN,5,X)) Q:'X S Y=^(X,0),AMQQLAKA=AMQQLAKA_U_Y,AMQQLAKN=AMQQLAKN+1
  1. S (AMQQLSS,AMQQLSSX)=""
  1. S AMQQLSSN=0
  1. F X=70:1:79 I $D(^LAB(60,AMQQLDFN,1,X,0)) D
  1. .I X=70!(X=73),$D(^LAB(60,AMQQLDFN,1,72)) Q
  1. .S AMQQLSS=AMQQLSS_$P("BLOOD^URINE^SERUM^PLASMA^CSF^URETHRAL FLUID^PERITONEAL FLUID^PLEURAL FLUID^SYNOVIAL FLUID^CLOT",U,(X-69))_U
  1. .S AMQQLSSN=AMQQLSSN+1
  1. .S AMQQLSSX=AMQQLSSX_X_U
  1. S AMQQLDS=0
  1. S %=$P(^LAB(60,AMQQLDFN,0),U,12)
  1. I %'="" S %=U_%_"0)",AMQQLDS=($P($G(@%),U,3)[";Trace:")
  1. I AMQQLAKA["HGB^" S AMQQLSS="BLOOD",AMQQLSSN=1
  1. I AMQQLSSN<2 D G LEXIT
  1. .S AMQQLSPX=$P(AMQQLSSX,U)
  1. .S AMQQLOFF=0
  1. .D LN1
  1. .D LTYPE
  1. .D LHEAD^AMQQMGR4
  1. .D LSET
  1. F AMQQLI=1:1:AMQQLSSN D
  1. .S AMQQLSPC=$P(AMQQLSS,U,AMQQLI)
  1. .S AMQQLSPX=$P(AMQQLSSX,U,AMQQLI)
  1. .S AMQQLOFF=+("."_AMQQLSPX)
  1. .D LN2
  1. .D LTYPE
  1. .D LHEAD^AMQQMGR4
  1. .D LSET
  1. LEXIT K AMQQLSTG,AMQQLSS,AMQQLSSN,AMQQLAKA,AMQQLAKN,AMQQLHL,AMQQLHN,AMQQLHL,AMQQLOUT,AMQQLUNT,I,%,N,X,Y,Z,AMQQLOFF,AMQQLI
  1. Q
  1. ;
  1. LN1 S I=0
  1. S AMQQLSTG=""
  1. F X=1:1 S Y=$P(AMQQLAKA,U,X) Q:Y="" D LNS
  1. Q
  1. ;
  1. LNS S I=I+1
  1. S $P(AMQQLSTG,U,I)=Y_$S((AMQQLDS&(AMQQLSS["URINE")):",DIPSTICK",1:"")
  1. I $E(Y,U,6)="URINE " D
  1. .S %=$S(AMQQLDS:"DIPSTICK ",1:"")
  1. .S I=I+1
  1. .S $P(AMQQLSTG,U,I)=$E(Y,7,99)_","_%_"URINE"
  1. .S I=I+1
  1. .S $P(AMQQLSTG,U,I)="UR "_$E(Y,7,99)_$S(%'="":(","_%),1:"")
  1. Q
  1. ;
  1. LN2 S AMQQLSTG=""
  1. S I=0
  1. F Y=1:1 S Z=$P(AMQQLAKA,U,Y) Q:Z="" D LNSET
  1. Q
  1. ;
  1. LNSET S I=I+1
  1. S $P(AMQQLSTG,U,I)=AMQQLSPC_" "_Z
  1. S I=I+1
  1. S $P(AMQQLSTG,U,I)=Z_$S(Z[",":" ",1:",")_AMQQLSPC
  1. I AMQQLSPC="URINE" S I=I+1,$P(AMQQLSTG,U,I)="UR "_Z
  1. Q
  1. ;
  1. LTYPE I $O(^LAB(60,AMQQLDFN,200,0)) S AMQQLTYP="" Q
  1. S %=$P(^LAB(60,AMQQLDFN,0),U,12)
  1. I %="" G TF
  1. S %=U_%_"0)"
  1. I '$D(@%) G TF
  1. I $P(@%,U,3)[";Trace:" S AMQQLTYP=12 Q
  1. I ($P(@%,U,5,6)["Q9=")+($G(^(3))[" NUMBER ") S AMQQLTYP=9 Q
  1. I $P(@%,U,5,6)[" NUMBER " S AMQQLTYP=9 Q
  1. I $P(@%,U,3)[";Pos.:" S AMQQLTYP=11 Q
  1. I $G(AMQQLSTG)["TITRE"!($P(@%,U,5)["""""titre""""")!($G(^(3))["1:") S AMQQLTYP=15 Q
  1. I $P(@%,U,2)="S" S AMQQLTYP=6 Q
  1. TF S AMQQLTYP=2
  1. Q
  1. ;
  1. LSET ;
  1. I $D(AMQQLTRM) K AMQQLTRM Q
  1. K DIE,DIC,DINUM,DR,DA,DD,DO,DIK,DLAYGO
  1. S DIC="^AMQQ(5,"
  1. S DIC(0)="L"
  1. S X=$P(AMQQLSTG,U)
  1. S DINUM=AMQQLDFN+1000+AMQQLOFF
  1. Q:$D(^AMQQ(5,DINUM))
  1. D FILE^DICN
  1. K DIE,DIC,DINUM,DR,DA,DD,DO,DIK,DLAYGO
  1. I Y=-1 Q
  1. S DIE="^AMQQ(5,"
  1. S DA=+Y
  1. F AMQQI=1:1 S %=$P(AMQQLSTG,U,AMQQI) Q:%="" I $L(%)>1 S DR=".02///"_% D ^DIE
  1. S DR="1////P;1.1////V;3////3;4////9;19////C;20////M;41////"_AMQQLTYP_";42////"_AMQQLDFN_";43////"_AMQQLSPX_";44////"_AMQQLHN_";45////"_AMQQLHL_";46////"_AMQQLUNT
  1. I AMQQLOUT'[":",AMQQLOUT'[";" S DR=DR_";47////"_AMQQLOUT
  1. D ^DIE
  1. K DR,DIC,DIE,DQ,DR,DI,D1,D0
  1. I AMQQLOUT[";"!(AMQQLOUT[":") S $P(^AMQQ(5,DA,4),U,7)=AMQQLOUT
  1. ;W !,$P(AMQQLSTG,U)
  1. W "."
  1. Q
  1. ;
  1. AQKILL ; ENTRY POINT FROM THE DD
  1. N AMQQKKK S AMQQKKK=""
  1. AQ ; ENTRY POINT FROM THE DD
  1. N A,B,%
  1. S A=^AMQQ(5,DA,4)
  1. S A=$P(A,U)
  1. S A=$P(^AMQQ(4,A,0),U)
  1. I "SZTNQ"'[A Q
  1. I $D(AMQQKKK) K ^AMQQ(5,"AQ",((DA-1000)\1)) Q
  1. S ^AMQQ(5,"AQ",((DA-1000)\1),A)=""
  1. Q
  1. ;