1 | IBDECLN1 ;ALB/AAS - Clean up Data Qualifiers and Package interfaces ; 23-JUN-97
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;**14**;APR 24, 1997
|
---|
3 | ;
|
---|
4 | PROBLEM(PROBLEM) ; -- Find out if Problem is in PCE DIM NODE in 357.6
|
---|
5 | ;
|
---|
6 | ; pce dim node should not equal problem
|
---|
7 | N I,J
|
---|
8 | S I=0,PROBLEM=0
|
---|
9 | F S I=$O(^IBE(357.6,I)) Q:'I D
|
---|
10 | . I $P($G(^IBE(357.6,I,12)),"^",1)="PROBLEM" D
|
---|
11 | .. S PROBLEM=PROBLEM+1
|
---|
12 | .. S PROBLEM(0,I)=""
|
---|
13 | .. S PROBLEM(PROBLEM)=$P($G(^IBE(357.6,I,0)),"^",1)_" uses PROBLEM as the PCE DIM NODE"
|
---|
14 | . S J=0
|
---|
15 | . F S J=$O(^IBE(357.6,I,13,J)) Q:'J D
|
---|
16 | .. I $P($G(^IBE(357.6,I,13,J,0)),"^",4)="PROBLEM" D
|
---|
17 | ... S PROBLEM=PROBLEM+1
|
---|
18 | ... S PROBLEM(0,I)=""
|
---|
19 | ... S PROBLEM(PROBLEM)=$P($G(^IBE(357.6,I,0)),"^",1)_" uses PROBLEM as the PCE DIM NODE in the Allow. Qual. Multiple."
|
---|
20 | ;
|
---|
21 | Q
|
---|
22 | ;
|
---|
23 | CLNSEL(TALK) ; -- Clean up selection list entries
|
---|
24 | ; -- should be run after running clnqlf, will update the zzbad pointers
|
---|
25 | ;
|
---|
26 | N I,J,K,L,X,Y,CNT,CNT1,CNT2,NAME,QLF,QLFNAM,PI,PINAM,PINPUT,REALQLF,REALNAM,PROBLEM,SELNAM,BLKNAM,IBQUIT,DIC,DIE,DIK,DA,DR,FRM,FRMNAM,FRMTYPE
|
---|
27 | S (CNT,CNT1,CNT2)=0
|
---|
28 | ;
|
---|
29 | D:TALK MES^XPDUTL(" ")
|
---|
30 | D:TALK MES^XPDUTL(">>> Now checking the SELECTION LIST file for inappropriate Data Qualifiers.")
|
---|
31 | ;
|
---|
32 | ; -- Find out if Problem is in PCE DIM NODE in 357.6
|
---|
33 | D PROBLEM(.PROBLEM)
|
---|
34 | ;
|
---|
35 | ; -- go through selection list file look at data qualifiers in
|
---|
36 | ; subcolumn multiple fields
|
---|
37 | S I=0
|
---|
38 | F S I=$O(^IBE(357.2,I)) Q:'I D
|
---|
39 | . S CNT=CNT+1
|
---|
40 | . S SELNAM=$P($G(^IBE(357.2,I,0)),"^",1)
|
---|
41 | . S BLKNAM=$P($G(^IBE(357.1,+$P($G(^IBE(357.2,I,0)),"^",2),0)),"^",1)
|
---|
42 | . S FRM=+$P($G(^IBE(357.1,+$P($G(^IBE(357.2,I,0)),"^",2),0)),"^",2)
|
---|
43 | . S FRMNAM=$P($G(^IBE(357,+FRM,0)),"^",1)
|
---|
44 | . S FRMTYPE=$P($G(^IBE(357,+FRM,0)),"^",13)
|
---|
45 | . S PI=+$P($G(^IBE(357.2,I,0)),"^",11)
|
---|
46 | . S PINPUT=+$P($G(^IBE(357.6,PI,0)),"^",13)
|
---|
47 | . S PINAM=$P($G(^IBE(357.6,+$P($G(^IBE(357.2,I,0)),"^",11),0)),"^",1)
|
---|
48 | . ;
|
---|
49 | . S J=0
|
---|
50 | . F S J=$O(^IBE(357.2,I,2,J)) Q:'J D
|
---|
51 | .. S QLF=+$P($G(^IBE(357.2,I,2,J,0)),"^",9)
|
---|
52 | .. Q:'QLF
|
---|
53 | .. S QLFNAM=$P($G(^IBD(357.98,QLF,0)),"^",1)
|
---|
54 | .. ;
|
---|
55 | .. Q:$E(QLFNAM,1,6)'="ZZBAD-"
|
---|
56 | .. S CNT1=CNT1+1
|
---|
57 | .. S REALNAM=$P(QLFNAM,"ZZBAD-",2)
|
---|
58 | .. Q:REALNAM=""
|
---|
59 | .. S REALQLF=+$O(^IBD(357.98,"B",REALNAM,0))
|
---|
60 | .. Q:'REALQLF
|
---|
61 | ..;
|
---|
62 | ..; -- don't change if uses Problem node
|
---|
63 | .. I PROBLEM>0 I $D(PROBLEM(0,PI))!($D(PROBLEM(0,PINPUT))) D Q
|
---|
64 | ... D MES^XPDUTL(" ")
|
---|
65 | ... D MES^XPDUTL(" >> The selection list "_SELNAM_" not updated, PCE DIM node set to PROBLEM")
|
---|
66 | ..
|
---|
67 | ..; -- now update the selection list to the real qualifier
|
---|
68 | .. S CNT2=CNT2+1
|
---|
69 | .. S $P(^IBE(357.2,I,2,J,0),"^",9)=REALQLF
|
---|
70 | ..;
|
---|
71 | ..D:TALK MESSAGE
|
---|
72 | ;
|
---|
73 | ; -- write out summary
|
---|
74 | K X
|
---|
75 | S X(1)=" ",X(2)=" >> Summary of Selection List Check:"
|
---|
76 | D:TALK MES^XPDUTL(.X)
|
---|
77 | K X
|
---|
78 | S X(1)=" "
|
---|
79 | S X(2)=" >> A total of "_CNT_" selection list"_$S(CNT=1:" was",1:"s were")_" checked."
|
---|
80 | I CNT1=0 S X(3)=" No problems were found."
|
---|
81 | I CNT1>0 S X(3)=" A total of "_CNT1_" problem"_$S(CNT1=1:" was",1:"s were")_" found and "_CNT2_" were corrected."
|
---|
82 | D:TALK MES^XPDUTL(.X)
|
---|
83 | Q
|
---|
84 | ;
|
---|
85 | MESSAGE ; -- write out what happened
|
---|
86 | N K,X,CLIN,CLNLST
|
---|
87 | S CLNLST=""
|
---|
88 | S CLIN="^TMP(""CLST"",$J)"
|
---|
89 | D CLINICS^IBDFU4(FRM,CLIN)
|
---|
90 | S X(1)=" "
|
---|
91 | S X(2)=">>> Qualifier problem in Encounter form "_FRMNAM
|
---|
92 | I FRMTYPE S X(2)=X(2)_" Number "_FRMTYPE
|
---|
93 | I @CLIN@(0)=0 S X(3)=" This form was not used by clinics"
|
---|
94 | I @CLIN@(0)>0 D
|
---|
95 | . S X(3)=" This form is used in the following clinics:"
|
---|
96 | . S K=0,J=3 F S K=$O(@CLIN@(K)) Q:K="" S CLNLST=CLNLST_", "_K D
|
---|
97 | . . Q:$L(CLNLST)>55
|
---|
98 | . . S J=J+1,X(J)=" "_CLNLST
|
---|
99 | . . S CLNLST=""
|
---|
100 | S X(J+1)=" In the "_BLKNAM_" Block"
|
---|
101 | S X(J+2)=" In the "_SELNAM_" Selection List"
|
---|
102 | S X(J+3)=" the qualifier of "_QLFNAM_" Changed to "_REALNAM
|
---|
103 | D:TALK MES^XPDUTL(.X)
|
---|
104 | Q
|
---|