1 | IBDFDE42 ;ALB/AAS - AICS Data Entry, check selection rules ; 24-FEB-96
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
|
---|
3 | ;
|
---|
4 | % G ^IBDFDE
|
---|
5 | ;
|
---|
6 | CHK ; -- see if rules allow for more or less than one
|
---|
7 | ; rules 0 := select any number
|
---|
8 | ; 1 := exactly 1
|
---|
9 | ; 2 := at most 1
|
---|
10 | ; 3 := at least 1 (1 or more)
|
---|
11 | N I,IBDY,MATCH
|
---|
12 | S (MATCH,OVER,ASKOTHER)=0
|
---|
13 | ;
|
---|
14 | ; -- find all matches
|
---|
15 | S MATCH=0
|
---|
16 | S IBDY=0 F S IBDY=$O(IBDPI(IBDF("PI"),IBDY)) Q:'IBDY S MATCH=MATCH+1
|
---|
17 | ;
|
---|
18 | ; -- any number allowed
|
---|
19 | I RULE=0 D
|
---|
20 | .I ANS="" S OVER=0 Q ;nothing selected, don't reask
|
---|
21 | .I ANS'="" S OVER=1 Q ;something selected, reask
|
---|
22 | ;
|
---|
23 | ; -- exactly one required
|
---|
24 | I RULE=1 D
|
---|
25 | .I MATCH>1 S OVER=2 W:'$G(IBDREDIT) !,"More than one selected, you must delete one" Q
|
---|
26 | .I MATCH=1 S OVER=0 Q ;exactly one selected
|
---|
27 | .I MATCH<1 S OVER=1 W:'$G(IBDREDIT) !!,"A ",IOINHI,IBDASK,IOINORM," selection is required.",! Q
|
---|
28 | ;
|
---|
29 | ; -- at most one required
|
---|
30 | I RULE=2 D
|
---|
31 | .I MATCH>1 S OVER=2 W:'$G(IBDREDIT) !,"More than one selected, you must delete one" Q
|
---|
32 | .I MATCH=1 S OVER=0 Q ;exactly one selected
|
---|
33 | .I ANS'="",MATCH<1 S OVER=1 ;if match = 0 thats okay but ask
|
---|
34 | ;
|
---|
35 | ; -- at least one required
|
---|
36 | I RULE=3 D
|
---|
37 | .S OVER=1
|
---|
38 | .I MATCH<1 S OVER=1 W:'$G(IBDREDIT) !!,"A ",IOINHI,IBDASK,IOINORM," selection is required.",! Q
|
---|
39 | .I MATCH>1,ANS="" S OVER=0 Q ;more than one selected
|
---|
40 | .I MATCH=1,ANS="" S OVER=0 Q ;exactly one selected
|
---|
41 | ;
|
---|
42 | I OVER=2 D DEL^IBDFDE1
|
---|
43 | D DELQLF
|
---|
44 | CHKQ Q
|
---|
45 | ;
|
---|
46 | DELQLF ; -- delete choices if selected
|
---|
47 | Q:(+$G(SEL)=0)
|
---|
48 | K ^TMP("IBD-LST",$J,IBDFMIEN,IBDF("PI"),IBDF("IEN"),+$G(SEL))
|
---|
49 | Q
|
---|