QAMC12 ;HISC/GJC-CONDITION: PREVIOUS DISCHARGE FOR A MOVEMENT TYPE ;8/4/92 08:24
;;1.0;Clinical Monitoring System;;09/13/1993
EN1 ;*** CONDITION CODE
S QAMDIS=$S($D(^QA(743,QAMD0,"COND",QAMD1,"P1"))#2:+^("P1"),1:0)
S QAMMVT=$S($D(^QA(743,QAMD0,"COND",QAMD1,"P2"))#2:+^("P2"),1:0)
S QAMDATE=$S($D(^QA(743,QAMD0,"COND",QAMD1,"P3"))#2:+^("P3"),1:0)
S X1=QAMTODAY,X2=-QAMDIS D C^%DTC S QAMSTRT=X,QAMSTRT=QAMSTRT-.0000001 K ^UTILITY($J,"QAM TEMP")
F QAMDISH=QAMSTRT:0 S QAMDISH=$O(^DGPM("AMV3",QAMDISH)) Q:(QAMDISH'>0)!(QAMDISH\1'?7N)!(QAMDISH>(QAMTODAY+.9999999)) F QAMDFN=0:0 S QAMDFN=$O(^DGPM("AMV3",QAMDISH,QAMDFN)) Q:QAMDFN'>0 D STR1
F QAMDFN=0:0 S QAMDFN=$O(^UTILITY($J,"QAM TEMP",QAMDFN)) Q:QAMDFN'>0 F QAMDISH=0:0 S QAMDISH=$O(^UTILITY($J,"QAM TEMP",QAMDFN,QAMDISH)) Q:QAMDISH'>0 D STR2
K DIR,DIRUT,QAMDATE,QAMDFN,QAMDIS,QAMDISH,QAMGJC,QAMIEN,QAMMVT,QAMMVT1,QAMPARAM,QAMSTRT,X,X1,X2,Y
Q
STR1 ;
F QAMGJC=0:0 S QAMGJC=$O(^DGPM("AMV3",QAMDISH,QAMDFN,QAMGJC)) Q:QAMGJC'>0 D
. Q:$O(^DGPM("APTT1",QAMDFN,QAMDISH))'>0
. K ^UTILITY($J,"QAM TEMP",QAMDFN)
. S ^UTILITY($J,"QAM TEMP",QAMDFN,QAMDISH)=QAMGJC
. Q
Q
STR2 ;
S QAMIEN=$O(^DGPM("AMV3",QAMDISH,QAMDFN,0)) Q:QAMIEN'>0
I QAMMVT S QAMMVT1=+$S($D(^DGPM(QAMIEN,0))#2:$P(^(0),U,18),1:0) Q:$O(^QA(743.5,QAMMVT,"GRP","AB",QAMMVT1,0))'>0
S ^UTILITY($J,"QAM CONDITION",QAMD1,QAMDFN)="",^UTILITY($J,"QAM CONDITION",QAMD1,QAMDFN,$S(QAMDATE:QAMDISH,1:QAMTODAY))=^UTILITY($J,"QAM TEMP",QAMDFN,QAMDISH)
Q
EN2 ;*** LOOK BACK DATE
K DIR,DIRUT S DIR(0)="NO^1:365:0",DIR("A")="LOOK BACK DAYS",DIR("B")=$S($D(^QA(743,QAMD0,"COND",QAMD1,"P1"))#2:^("P1"),1:"") K:DIR("B")="" DIR("B")
S DIR("?",1)="Enter the number of days the condition should 'look back'.",DIR("?")="While trying to find a fall out for this monitor."
S QAMPARAM="P1" D EN3^QAMUTL1 S:$D(DIRUT) Y=-1 Q:Y<0
S:Y]"" ^QA(743,QAMD0,"COND",QAMD1,"P1")=+Y
PRT2 K DIC,DIR,DIRUT S DIC="^QA(743.5,",DIC(0)="EMNQZ",DIC("S")="I $P(^QA(743.5,+Y,0),U,2)=405.2",DIC("A")="MOVEMENT TYPE GROUP: ",DIC("B")=$S($D(^QA(743,QAMD0,"COND",QAMD1,"P2"))#2:$P(^("P2"),U,2),1:"") K:DIC("B")="" DIC("B")
S DIR("?",1)="Press 'RETURN' for ALL MAS movement types.",DIR("?")="Enter a GROUP name that contains MAS movement type."
S QAMPARAM="P2" D EN2^QAMUTL1 S:$D(DIRUT) Y=-1 Q:Y<0
S:Y]"" ^QA(743,QAMD0,"COND",QAMD1,"P2")=+Y_"^"_Y(0,0)
PRT3 K DIR,DIRUT S DIR("A")="ENTER THE TYPE OF DATE",DIR(0)="SOB^0:AUTO ENROLL DATE;1:DISCHARGE DATE",DIR("?",1)=" 0 AUTO ENROLL DATE",DIR("?",2)=" 1 DISCHARGE DATE"
S DIR("?",3)="Enter the date you wish to be",DIR("?",4)="associated with this condition.",DIR("?")="Enter a 'RETURN' for the AUTO ENROLL DATE."
S DIR("B")=$S($D(^QA(743,QAMD0,"COND",QAMD1,"P3"))#2:$P(^("P3"),U,2),1:"") K:DIR("B")="" DIR("B")
S QAMPARAM="P3" D EN3^QAMUTL1 S:$D(DIRUT) Y=-1 Q:Y<0
S:Y]"" ^QA(743,QAMD0,"COND",QAMD1,"P3")=+Y_"^"_Y(0)
EXIT K Y
K QAMPARAM
Y Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HQAMC12 2925 printed Dec 13, 2024@01:41:56 Page 2
QAMC12 ;HISC/GJC-CONDITION: PREVIOUS DISCHARGE FOR A MOVEMENT TYPE ;8/4/92 08:24
+1 ;;1.0;Clinical Monitoring System;;09/13/1993
EN1 ;*** CONDITION CODE
+1 SET QAMDIS=$SELECT($DATA(^QA(743,QAMD0,"COND",QAMD1,"P1"))#2:+^("P1"),1:0)
+2 SET QAMMVT=$SELECT($DATA(^QA(743,QAMD0,"COND",QAMD1,"P2"))#2:+^("P2"),1:0)
+3 SET QAMDATE=$SELECT($DATA(^QA(743,QAMD0,"COND",QAMD1,"P3"))#2:+^("P3"),1:0)
+4 SET X1=QAMTODAY
SET X2=-QAMDIS
DO C^%DTC
SET QAMSTRT=X
SET QAMSTRT=QAMSTRT-.0000001
KILL ^UTILITY($JOB,"QAM TEMP")
+5 FOR QAMDISH=QAMSTRT:0
SET QAMDISH=$ORDER(^DGPM("AMV3",QAMDISH))
if (QAMDISH'>0)!(QAMDISH\1'?7N)!(QAMDISH>(QAMTODAY+.9999999))
QUIT
FOR QAMDFN=0:0
SET QAMDFN=$ORDER(^DGPM("AMV3",QAMDISH,QAMDFN))
if QAMDFN'>0
QUIT
DO STR1
+6 FOR QAMDFN=0:0
SET QAMDFN=$ORDER(^UTILITY($JOB,"QAM TEMP",QAMDFN))
if QAMDFN'>0
QUIT
FOR QAMDISH=0:0
SET QAMDISH=$ORDER(^UTILITY($JOB,"QAM TEMP",QAMDFN,QAMDISH))
if QAMDISH'>0
QUIT
DO STR2
+7 KILL DIR,DIRUT,QAMDATE,QAMDFN,QAMDIS,QAMDISH,QAMGJC,QAMIEN,QAMMVT,QAMMVT1,QAMPARAM,QAMSTRT,X,X1,X2,Y
+8 QUIT
STR1 ;
+1 FOR QAMGJC=0:0
SET QAMGJC=$ORDER(^DGPM("AMV3",QAMDISH,QAMDFN,QAMGJC))
if QAMGJC'>0
QUIT
Begin DoDot:1
+2 if $ORDER(^DGPM("APTT1",QAMDFN,QAMDISH))'>0
QUIT
+3 KILL ^UTILITY($JOB,"QAM TEMP",QAMDFN)
+4 SET ^UTILITY($JOB,"QAM TEMP",QAMDFN,QAMDISH)=QAMGJC
+5 QUIT
End DoDot:1
+6 QUIT
STR2 ;
+1 SET QAMIEN=$ORDER(^DGPM("AMV3",QAMDISH,QAMDFN,0))
if QAMIEN'>0
QUIT
+2 IF QAMMVT
SET QAMMVT1=+$SELECT($DATA(^DGPM(QAMIEN,0))#2:$PIECE(^(0),U,18),1:0)
if $ORDER(^QA(743.5,QAMMVT,"GRP","AB",QAMMVT1,0))'>0
QUIT
+3 SET ^UTILITY($JOB,"QAM CONDITION",QAMD1,QAMDFN)=""
SET ^UTILITY($JOB,"QAM CONDITION",QAMD1,QAMDFN,$SELECT(QAMDATE:QAMDISH,1:QAMTODAY))=^UTILITY($JOB,"QAM TEMP",QAMDFN,QAMDISH)
+4 QUIT
EN2 ;*** LOOK BACK DATE
+1 KILL DIR,DIRUT
SET DIR(0)="NO^1:365:0"
SET DIR("A")="LOOK BACK DAYS"
SET DIR("B")=$SELECT($DATA(^QA(743,QAMD0,"COND",QAMD1,"P1"))#2:^("P1"),1:"")
if DIR("B")=""
KILL DIR("B")
+2 SET DIR("?",1)="Enter the number of days the condition should 'look back'."
SET DIR("?")="While trying to find a fall out for this monitor."
+3 SET QAMPARAM="P1"
DO EN3^QAMUTL1
if $DATA(DIRUT)
SET Y=-1
if Y<0
QUIT
+4 if Y]""
SET ^QA(743,QAMD0,"COND",QAMD1,"P1")=+Y
PRT2 KILL DIC,DIR,DIRUT
SET DIC="^QA(743.5,"
SET DIC(0)="EMNQZ"
SET DIC("S")="I $P(^QA(743.5,+Y,0),U,2)=405.2"
SET DIC("A")="MOVEMENT TYPE GROUP: "
SET DIC("B")=$SELECT($DATA(^QA(743,QAMD0,"COND",QAMD1,"P2"))#2:$PIECE(^("P2"),U,2),1:"")
if DIC("B")=""
KILL DIC("B")
+1 SET DIR("?",1)="Press 'RETURN' for ALL MAS movement types."
SET DIR("?")="Enter a GROUP name that contains MAS movement type."
+2 SET QAMPARAM="P2"
DO EN2^QAMUTL1
if $DATA(DIRUT)
SET Y=-1
if Y<0
QUIT
+3 if Y]""
SET ^QA(743,QAMD0,"COND",QAMD1,"P2")=+Y_"^"_Y(0,0)
PRT3 KILL DIR,DIRUT
SET DIR("A")="ENTER THE TYPE OF DATE"
SET DIR(0)="SOB^0:AUTO ENROLL DATE;1:DISCHARGE DATE"
SET DIR("?",1)=" 0 AUTO ENROLL DATE"
SET DIR("?",2)=" 1 DISCHARGE DATE"
+1 SET DIR("?",3)="Enter the date you wish to be"
SET DIR("?",4)="associated with this condition."
SET DIR("?")="Enter a 'RETURN' for the AUTO ENROLL DATE."
+2 SET DIR("B")=$SELECT($DATA(^QA(743,QAMD0,"COND",QAMD1,"P3"))#2:$PIECE(^("P3"),U,2),1:"")
if DIR("B")=""
KILL DIR("B")
+3 SET QAMPARAM="P3"
DO EN3^QAMUTL1
if $DATA(DIRUT)
SET Y=-1
if Y<0
QUIT
+4 if Y]""
SET ^QA(743,QAMD0,"COND",QAMD1,"P3")=+Y_"^"_Y(0)
EXIT KILL Y
+1 KILL QAMPARAM
Y QUIT