VistA-FOIAVistA/r/AUTOMATED_INFO_COLLECTION_S.../IBDFDE61.m

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