62 lines
1.8 KiB
Mathematica
62 lines
1.8 KiB
Mathematica
IBDFDE61 ;ALB/AAS - AICS Manual Data Entry, process selection lists ; 24-FEB-96
|
|
;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
|
|
;
|
|
% G ^IBDFDE6
|
|
;
|
|
PARTLST(NEXT,ANS) ; -- user gave inexact match, find which one
|
|
;
|
|
N I,J,K,IBD,ANS2,SEL
|
|
S J=1,I=^TMP("IBD-PLN",$J,IBDF("CLINIC"),NEXT),IBD(J)=I,SEL=""
|
|
D ONE^IBDFDE6(I,J)
|
|
;
|
|
S K=NEXT F S K=$O(^TMP("IBD-PLN",$J,IBDF("CLINIC"),K)) Q:$E(K,1,$L(ANS))'=ANS D
|
|
.S J=J+1,IBD(J)=^TMP("IBD-PLN",$J,IBDF("CLINIC"),K)
|
|
.D ONE^IBDFDE6(IBD(J),J)
|
|
;
|
|
ASKNUM G:J<1 PARTLQ
|
|
W !," Choose 1-",J,": " R ANS2:DTIME
|
|
I '$T!($E(ANS2,1)="^")!(ANS2="") S SEL="" G PARTLQ
|
|
I $E(ANS2,1)="?" W !,"Enter a number from 1 - ",J G ASKNUM
|
|
S ANS2=+ANS2
|
|
I ANS2<1!(ANS2>J) G ASKNUM
|
|
I $G(IBD(ANS2))="" G ASKNUM
|
|
W !
|
|
S SEL=$G(IBD(ANS2))
|
|
PARTLQ I ANS2="^" S IBQUIT=1
|
|
Q SEL
|
|
;
|
|
MULT(CNT,IBD) ; -- multiple appointment
|
|
N IBDI,ANS2,RESULT
|
|
I 'CNT!'$D(IBD) Q ""
|
|
S RESULT=""
|
|
; -- Loop through appointments, same date, same clinic
|
|
F IBDI=1:1:CNT S NODE=$G(^TMP(ARRAY,$J,IBDF("CLINIC"),$P(IBD(IBDI),"^",2),+IBD(IBDI))) Q:NODE']"" D ONE^IBDFDE6(NODE,IBDI)
|
|
;
|
|
ASKN G:CNT<1 MULTQ
|
|
W !," Choose 1-",CNT,": " R ANS2:DTIME
|
|
I '$T!($E(ANS2,1)="^")!(ANS2="") G MULTQ
|
|
I $E(ANS2,1)="?" W !,"Enter a number from 1 - ",CNT G ASKN
|
|
S ANS2=+ANS2
|
|
I ANS2<1!(ANS2>CNT) G ASKN
|
|
I $G(IBD(ANS2))="" G ASKN
|
|
W !
|
|
S RESULT=$G(^TMP(ARRAY,$J,IBDF("CLINIC"),$P(IBD(ANS2),"^",2),+IBD(ANS2)))
|
|
MULTQ I ANS2="^" S IBQUIT=1
|
|
Q RESULT
|
|
;
|
|
ASKPT(CNT) ; -- select patient from list
|
|
Q:$G(IBQUIT)
|
|
N I,DIR,DIRUT,DUOUT,DTOUT ;F I=1:1 Q:($Y>(IOSL-3)) W !
|
|
I $E(IOST,1,2)["C-" S DIR(0)="E" D ^DIR S IBQUIT='Y
|
|
Q
|
|
;
|
|
W !," Choose 1-",CNT,": " R ANS2:DTIME
|
|
I '$T!($E(ANS2,1)="^")!(ANS2="") S SEL="" G MULTQ
|
|
I $E(ANS2,1)="?" W !,"Enter a number from 1 - ",CNT G ASKN
|
|
S ANS2=+ANS2
|
|
I ANS2<1!(ANS2>CNT) G ASKN
|
|
I $G(IBD(ANS2))="" G ASKN
|
|
W !
|
|
S RESULT=$G(IBD(ANS2))
|
|
Q RESULT
|