QAMC20 ;HISC/DAD-CONDITION: ON SERVICE ;8/26/93 08:15
;;1.0;Clinical Monitoring System;;09/13/1993
EN1 ; *** CONDITION CODE
S QAMGRP=$S($D(^QA(743,QAMD0,"COND",QAMD1,"P1"))#2:+^("P1"),1:0)
S QAMSMPSZ=$S($D(^QA(743,QAMD0,"COND",QAMD1,"P2"))#2:","_^("P2")_",",1:0)
D EN^QAMTIME0
F QAMMOV=QAMTODAY-.0000001:0 S QAMMOV=$O(^DGPM("AMV3",QAMMOV)) Q:(QAMMOV'>0)!(QAMMOV>(QAMTODAY+.9999999))!(QAMMOV\1'?7N) F QAMDFN=0:0 S QAMDFN=$O(^DGPM("AMV3",QAMMOV,QAMDFN)) Q:QAMDFN'>0 S QAMXREF="AMV3" D LOOP11
S QAMWRD=""
F S QAMWRD=$O(^DPT("CN",QAMWRD)) Q:QAMWRD="" F QAMDFN=0:0 S QAMDFN=$O(^DPT("CN",QAMWRD,QAMDFN)) Q:QAMDFN'>0 S QAMXREF="ATID6" D LOOP1
K QAMGRP,QAMDFN,QAMMOV,QAMMOVDT,QAMMOVD0,QAMWRD,SERV,X
Q
LOOP1 S QAMMOVDT=$O(^DGPM(QAMXREF,QAMDFN,9999999-QAMTODAY)) Q:(QAMMOVDT'>0)!(QAMMOVDT\1'?7N) S QAMMOVD0=$O(^DGPM(QAMXREF,QAMDFN,QAMMOVDT,0)) Q:QAMMOVD0'>0
LOOP11 I QAMXREF="AMV3" D DC Q:QAMMOVD0'>0
S QAMMOVDT(0)=9999999.9999999-QAMMOVDT
I QAMGRP S SERV=+$S($D(^DGPM(QAMMOVD0,0))#2:$P(^(0),"^",9),1:0),SERV=$S($D(^DIC(45.7,SERV,0))#2:$P(^(0),"^",4),1:0) Q:$O(^QA(743.5,QAMGRP,"GRP","AB",+SERV,0))'>0
Q:QAMMOVDT(0)<+$O(^UTILITY($J,"QAM CONDITION",QAMD1,QAMDFN,0))
K ^UTILITY($J,"QAM CONDITION",QAMD1,QAMDFN)
I (QAMSMPSZ[",1,")!(QAMXREF="ATID6") S ^UTILITY($J,"QAM CONDITION",QAMD1,QAMDFN)="" ; *** TRF
I (QAMSMPSZ[",2,")!(QAMXREF="AMV3") S ^UTILITY($J,"QAM CONDITION",QAMD1,QAMDFN)="" ; *** D/C
I (QAMSMPSZ[",3,")!(QAMTODAY=QAMEND) S ^UTILITY($J,"QAM CONDITION",QAMD1,QAMDFN)="" ; *** IN-HOUSE ENDING
S ^UTILITY($J,"QAM CONDITION",QAMD1,QAMDFN,QAMMOVDT(0))=QAMMOVD0
Q
DC S QAMMOVDT=9999999.9999999-QAMMOV,QAMMOVDT=+$O(^DGPM("ATID6",QAMDFN,QAMMOVDT)),QAMMOVD0=$O(^DGPM("ATID6",QAMDFN,QAMMOVDT,0))
Q
EN2 ; *** PARAMETER CODE
21 K DIC,DIR,DIRUT S DIC=743.5,DIC(0)="EMNQZ",DIC("S")="I $P(^QA(743.5,+Y,0),""^"",2)=49"
S DIC("A")="SERVICE/SECTION GROUP: ",DIC("B")=$S($D(^QA(743,QAMD0,"COND",QAMD1,"P1"))#2:$P(^("P1"),"^",2),1:"") K:DIC("B")="" DIC("B")
S DIR("?",1)="Enter a GROUP name that contains MAS service/sections,",DIR("?")="or press 'RETURN' for all service/sections."
S QAMPARAM="P1" D EN2^QAMUTL1 I $D(DIRUT) S Y=-1 G Y
S:Y]"" ^QA(743,QAMD0,"COND",QAMD1,"P1")=+Y_"^"_Y(0,0)
22 K DIR S DIR(0)="LO^1:3^K:X[""."" X",DIR("A")="COUNT SAMPLE SIZE BY",DIR("B")=$S($D(^QA(743,QAMD0,"COND",QAMD1,"P2"))#2:^("P2"),1:"") K:DIR("B")="" DIR("B")
S DIR("?",1)="Choose one or more of the following:",DIR("?",2)=" 1 Transfers",DIR("?",3)=" 2 Discharges",DIR("?",4)=" 3 # in-house at ending of time frame",DIR("?",5)=""
S DIR("?")="Enter your selections separated by commas, e.g., 1,3"
S QAMPARAM="P2" D EN3^QAMUTL1 I $D(DIRUT) S Y=-1 G Y
S:Y]"" ^QA(743,QAMD0,"COND",QAMD1,"P2")=$S($E(Y,$L(Y))=",":$E(Y,1,$L(Y)-1),1:Y)
EXIT K Y
K QAMPARAM,QAMY
Y Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HQAMC20 2814 printed Dec 13, 2024@01:42:05 Page 2
QAMC20 ;HISC/DAD-CONDITION: ON SERVICE ;8/26/93 08:15
+1 ;;1.0;Clinical Monitoring System;;09/13/1993
EN1 ; *** CONDITION CODE
+1 SET QAMGRP=$SELECT($DATA(^QA(743,QAMD0,"COND",QAMD1,"P1"))#2:+^("P1"),1:0)
+2 SET QAMSMPSZ=$SELECT($DATA(^QA(743,QAMD0,"COND",QAMD1,"P2"))#2:","_^("P2")_",",1:0)
+3 DO EN^QAMTIME0
+4 FOR QAMMOV=QAMTODAY-.0000001:0
SET QAMMOV=$ORDER(^DGPM("AMV3",QAMMOV))
if (QAMMOV'>0)!(QAMMOV>(QAMTODAY+.9999999))!(QAMMOV\1'?7N)
QUIT
FOR QAMDFN=0:0
SET QAMDFN=$ORDER(^DGPM("AMV3",QAMMOV,QAMDFN))
if QAMDFN'>0
QUIT
SET QAMXREF="AMV3"
DO LOOP11
+5 SET QAMWRD=""
+6 FOR
SET QAMWRD=$ORDER(^DPT("CN",QAMWRD))
if QAMWRD=""
QUIT
FOR QAMDFN=0:0
SET QAMDFN=$ORDER(^DPT("CN",QAMWRD,QAMDFN))
if QAMDFN'>0
QUIT
SET QAMXREF="ATID6"
DO LOOP1
+7 KILL QAMGRP,QAMDFN,QAMMOV,QAMMOVDT,QAMMOVD0,QAMWRD,SERV,X
+8 QUIT
LOOP1 SET QAMMOVDT=$ORDER(^DGPM(QAMXREF,QAMDFN,9999999-QAMTODAY))
if (QAMMOVDT'>0)!(QAMMOVDT\1'?7N)
QUIT
SET QAMMOVD0=$ORDER(^DGPM(QAMXREF,QAMDFN,QAMMOVDT,0))
if QAMMOVD0'>0
QUIT
LOOP11 IF QAMXREF="AMV3"
DO DC
if QAMMOVD0'>0
QUIT
+1 SET QAMMOVDT(0)=9999999.9999999-QAMMOVDT
+2 IF QAMGRP
SET SERV=+$SELECT($DATA(^DGPM(QAMMOVD0,0))#2:$PIECE(^(0),"^",9),1:0)
SET SERV=$SELECT($DATA(^DIC(45.7,SERV,0))#2:$PIECE(^(0),"^",4),1:0)
if $ORDER(^QA(743.5,QAMGRP,"GRP","AB",+SERV,0))'>0
QUIT
+3 if QAMMOVDT(0)<+$ORDER(^UTILITY($JOB,"QAM CONDITION",QAMD1,QAMDFN,0))
QUIT
+4 KILL ^UTILITY($JOB,"QAM CONDITION",QAMD1,QAMDFN)
+5 ; *** TRF
IF (QAMSMPSZ[",1,")!(QAMXREF="ATID6")
SET ^UTILITY($JOB,"QAM CONDITION",QAMD1,QAMDFN)=""
+6 ; *** D/C
IF (QAMSMPSZ[",2,")!(QAMXREF="AMV3")
SET ^UTILITY($JOB,"QAM CONDITION",QAMD1,QAMDFN)=""
+7 ; *** IN-HOUSE ENDING
IF (QAMSMPSZ[",3,")!(QAMTODAY=QAMEND)
SET ^UTILITY($JOB,"QAM CONDITION",QAMD1,QAMDFN)=""
+8 SET ^UTILITY($JOB,"QAM CONDITION",QAMD1,QAMDFN,QAMMOVDT(0))=QAMMOVD0
+9 QUIT
DC SET QAMMOVDT=9999999.9999999-QAMMOV
SET QAMMOVDT=+$ORDER(^DGPM("ATID6",QAMDFN,QAMMOVDT))
SET QAMMOVD0=$ORDER(^DGPM("ATID6",QAMDFN,QAMMOVDT,0))
+1 QUIT
EN2 ; *** PARAMETER CODE
21 KILL DIC,DIR,DIRUT
SET DIC=743.5
SET DIC(0)="EMNQZ"
SET DIC("S")="I $P(^QA(743.5,+Y,0),""^"",2)=49"
+1 SET DIC("A")="SERVICE/SECTION GROUP: "
SET DIC("B")=$SELECT($DATA(^QA(743,QAMD0,"COND",QAMD1,"P1"))#2:$PIECE(^("P1"),"^",2),1:"")
if DIC("B")=""
KILL DIC("B")
+2 SET DIR("?",1)="Enter a GROUP name that contains MAS service/sections,"
SET DIR("?")="or press 'RETURN' for all service/sections."
+3 SET QAMPARAM="P1"
DO EN2^QAMUTL1
IF $DATA(DIRUT)
SET Y=-1
GOTO Y
+4 if Y]""
SET ^QA(743,QAMD0,"COND",QAMD1,"P1")=+Y_"^"_Y(0,0)
22 KILL DIR
SET DIR(0)="LO^1:3^K:X[""."" X"
SET DIR("A")="COUNT SAMPLE SIZE BY"
SET DIR("B")=$SELECT($DATA(^QA(743,QAMD0,"COND",QAMD1,"P2"))#2:^("P2"),1:"")
if DIR("B")=""
KILL DIR("B")
+1 SET DIR("?",1)="Choose one or more of the following:"
SET DIR("?",2)=" 1 Transfers"
SET DIR("?",3)=" 2 Discharges"
SET DIR("?",4)=" 3 # in-house at ending of time frame"
SET DIR("?",5)=""
+2 SET DIR("?")="Enter your selections separated by commas, e.g., 1,3"
+3 SET QAMPARAM="P2"
DO EN3^QAMUTL1
IF $DATA(DIRUT)
SET Y=-1
GOTO Y
+4 if Y]""
SET ^QA(743,QAMD0,"COND",QAMD1,"P2")=$SELECT($EXTRACT(Y,$LENGTH(Y))=",":$EXTRACT(Y,1,$LENGTH(Y)-1),1:Y)
EXIT KILL Y
+1 KILL QAMPARAM,QAMY
Y QUIT