1 | IBDFUTL ;ALB/MAF - Maintenance Utility Routine - APR 20 1995
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;**9,32,51**;APR 24, 1997
|
---|
3 | ;
|
---|
4 | ; -- Set up variables for display by clinic/form/group
|
---|
5 | OUT S IBDFL=0 ;W !!,"Display output by: CLINICS// " D ZSET1 S X="" R X:DTIME G QUIT:X="^"!('$T) I X=""!("Cc"[X) S X="1"
|
---|
6 | S DIR("B")="CLINICS",DIR(0)="SBM^C:CLINICS (Individual);G:GROUPS (Clinics);F:FORMS",DIR("A")="Sort by [C]linics, [G]roups, [F]orms" D ^DIR
|
---|
7 | K DIR I $D(DIRUT)&('$D(IBDF1))!(Y<0) G EXIT
|
---|
8 | I $D(DIRUT)&$D(IBDF1) G QUIT
|
---|
9 | S X=$S("Gg"[X:2,"Ff"[X:3,"Ss"[X:4,1:1)
|
---|
10 | ;I X="?" D ZSET1,HELP1 G OUT
|
---|
11 | S IBDFSRT=$E(X) ;D IN^DGHELP W ! I %=-1 D ZSET1,HELP1 G OUT
|
---|
12 | S IBDFDIS=$S(IBDFSRT=1:"CLIN",IBDFSRT=2:"GROUP",IBDFSRT=3:"FORM",1:"QUIT")
|
---|
13 | D @(IBDFDIS) S:Y=-1 IBDFNCNG=1 G:Y=-1 QUIT
|
---|
14 | ;
|
---|
15 | ;
|
---|
16 | OUT1 ; -- Ask for what type of package interface
|
---|
17 | S DIC="^IBE(357.6,",DIC(0)="AEMN"
|
---|
18 | S DIC("S")="I $P(^(0),U,6)=3,$P(^(0),U,9)=1,$G(^(11))'="""""
|
---|
19 | S DIC("A")="Select Type of Code to Display: " D ^DIC K DIC G QUIT:Y<0
|
---|
20 | S IBDFINT=+Y
|
---|
21 | ;
|
---|
22 | S IBDFACT=2 ;default of Inactive
|
---|
23 | S X=$E($G(^IBE(357.6,IBDFINT,11)),7,9)
|
---|
24 | ;
|
---|
25 | ; -- for cpt and icd codes, let them choose active or inactive
|
---|
26 | I X="CPT"!(X="VST")!(X="ICD") D
|
---|
27 | .S DIR("B")="ACTIVE"
|
---|
28 | .S DIR(0)="SBM^A:ACTIVE;I:INACTIVE"
|
---|
29 | .S DIR("A")="Display codes [A]ctive, [I]nactive"
|
---|
30 | .D ^DIR K DIR
|
---|
31 | .Q:$D(DIRUT)
|
---|
32 | .S X=$S("Ii"[$E(X,1):2,1:1)
|
---|
33 | .S IBDFACT=$E(X)
|
---|
34 | I $D(DIRUT)&('$D(IBDF1))!(Y<0) G EXIT
|
---|
35 | I $D(DIRUT)&$D(IBDF1) G QUIT
|
---|
36 | ;
|
---|
37 | I $D(IBDF1) D
|
---|
38 | .K VAUTP F IBI=0:0 S IBI=$O(VAUTJ(IBI)) Q:IBI']"" S VAUTP(IBI)=$G(VAUTJ(IBI))
|
---|
39 | I IBDFACT=1 D
|
---|
40 | .;;I $E($G(^IBE(357.6,IBDFINT,11)),7,9)="CPT" S DIC="^ICPT(",IBDFCODE="CPT "
|
---|
41 | .;;I $E($G(^IBE(357.6,IBDFINT,11)),7,9)="ICD" S DIC="^ICD9(",IBDFCODE="ICD-9 "
|
---|
42 | .;;I $E($G(^IBE(357.6,IBDFINT,11)),7,9)="VST" S DIC="^IBE(357.69,",IBDFCODE="Type of Visit "
|
---|
43 | .;
|
---|
44 | .I $E($G(^IBE(357.6,IBDFINT,11)),7,9)="CPT" S DIC="^ICPT(",IBDFCODE="CPT ",DIC("S")="I $P($$CPT^ICPTCOD(Y),U,7)=1"
|
---|
45 | .;
|
---|
46 | .I $E($G(^IBE(357.6,IBDFINT,11)),7,9)="ICD" S DIC="^ICD9(",IBDFCODE="ICD-9 ",DIC("S")="I $P($$ICDDX^ICDCODE(Y),U,10)=1"
|
---|
47 | .;
|
---|
48 | .I $E($G(^IBE(357.6,IBDFINT,11)),7,9)="VST" S DIC="^IBE(357.69,",IBDFCODE="Type of Visit ",DIC("S")="I $P($$CPT^ICPTCOD(Y),U,7)=1"
|
---|
49 | .;
|
---|
50 | .I $G(DIC)]"" S VAUTVB="VAUTJ",VAUTNI=2,VAUTSTR=IBDFCODE_"code" S VAUTNALL=1 D FIRST^VAUTOMA
|
---|
51 | ;
|
---|
52 | I (Y<0)&$D(IBDF1) D K VAUTP G QUIT
|
---|
53 | .F IBI=0:0 S IBI=$O(VAUTP(IBI)) Q:IBI']"" S VAUTJ(IBI)=$G(VAUTP(IBI))
|
---|
54 | I IBDFACT=1,Y<0,'$D(IBDF1) G EXIT
|
---|
55 | ;
|
---|
56 | I '$D(IBDF1) K XQORS,VALMEVL D EN^VALM("IBDF UTIL PRIMARY SCREEN")
|
---|
57 | I $D(IBDF1) D HDR,KILL,INIT S VALMBCK="R",VALMBG=1
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | HDR ; -- header code
|
---|
61 | I IBDFACT=1 D
|
---|
62 | .S VALMHDR(1)="This screen lists Active codes on Encounter Forms."
|
---|
63 | I IBDFACT'=1 D
|
---|
64 | .S VALMHDR(1)="This screen lists Inactive codes on Encounter Forms."
|
---|
65 | Q
|
---|
66 | ;
|
---|
67 | ; -- Set up list
|
---|
68 | INIT D FULL^VALM1 S (IBDCNT,IBDCNT1,VALMCNT)=0
|
---|
69 | K ^TMP("CPT",$J),^TMP("CPTIDX",$J) D KILL^VALM10()
|
---|
70 | S IBDFCNT1=0 D @(IBDFDIS_"1^IBDFUTL1")
|
---|
71 | I '$D(^TMP("CPT",$J)) D NUL
|
---|
72 | Q
|
---|
73 | ;
|
---|
74 | ; -- Ask for clinics one/many/all
|
---|
75 | CLIN S VAUTVB="VAUTC",DIC="^SC(",DIC("S")="I $P(^(0),U,3)=""C""",VAUTSTR="Clinic",VAUTNI=2 D FIRST^VAUTOMA K DIC S:Y=-1 IBDFL=1 Q:IBDFL
|
---|
76 | Q
|
---|
77 | ;
|
---|
78 | ; -- Ask for forms one/many/all
|
---|
79 | FORM S VAUTVB="VAUTF",DIC="^IBE(357,",VAUTSTR="Form",VAUTNI=2 D FIRST^VAUTOMA S:Y=-1 IBDFL=1 Q:IBDFL
|
---|
80 | Q
|
---|
81 | ;
|
---|
82 | ; -- Ask for clinic groups one/many/all
|
---|
83 | GROUP S VAUTVB="VAUTG",DIC="^IBD(357.99,",VAUTSTR="Clinic Group",VAUTNI=2 D FIRST^VAUTOMA S:Y=-1 IBDFL=1 Q:IBDFL
|
---|
84 | Q
|
---|
85 | ;
|
---|
86 | ; -- Ask for divisions one/many/all
|
---|
87 | DIV S IBDFL=0 D DIVISION^VAUTOMA
|
---|
88 | S:Y=-1 IBDFL=1 Q:IBDFL
|
---|
89 | Q
|
---|
90 | ; -- Help for display choices
|
---|
91 | HELP1 W !!,"Choose a number or first initial :" F K=2:1:4 W !?15,$P(Z,"^",K)
|
---|
92 | W ! Q
|
---|
93 | ;
|
---|
94 | ; -- Listing of selections
|
---|
95 | ZSET1 S Z="^1 [C]LINICS (Individual)^2 [G]ROUPS (CLINIC)^3 [F]ORMS^" Q
|
---|
96 | ;
|
---|
97 | ;
|
---|
98 | QUIT ; -- Kill variables and reset to last display if no change has been taken place.
|
---|
99 | I $D(IBDF1) S IBDFDIS=IBDFDIS1,IBDFINT=IBDFINT1,IBDFACT=IBDFACT1
|
---|
100 | I '$D(IBDF1) G EXIT
|
---|
101 | D KILL,INIT K IBDFNCNG S VALMBCK="R",VALMBG=1
|
---|
102 | Q
|
---|
103 | ;
|
---|
104 | ;
|
---|
105 | KILL ; -- Kill extra array variables
|
---|
106 | N IBDFXX
|
---|
107 | S IBDFXX=$S(IBDFDIS="FORM":"VAUTF",IBDFDIS="GROUP":"VAUTG",1:"VAUTC")
|
---|
108 | I IBDFXX="VAUTF" K VAUTG,VAUTC,^TMP("CLN",$J),^TMP("CLN1",$J),^TMP("GRP",$J),^TMP("GRP1",$J)
|
---|
109 | I IBDFXX="VAUTC" K VAUTG,VAUTF,^TMP("FRM",$J),^TMP("FRM1",$J),^TMP("GRP1",$J)
|
---|
110 | I IBDFXX="VAUTG" K VAUTC,VAUTF,^TMP("FRM",$J),^TMP("FRM1",$J),^TMP("CLN",$J),^TMP("CLN1",$J)
|
---|
111 | Q
|
---|
112 | ;
|
---|
113 | ;
|
---|
114 | EXIT ; -- Code executed at action exit
|
---|
115 | K IBDFDIS,IBDFINT,VAUTC,VAUTF,VAUTG,VAUTJ,VAUTP,IBDFINT1,IBDFDIS1,^TMP("CLN",$J),IBDFCODE,IBI,IBDFACT1
|
---|
116 | EXIT1 K DIC,IBDBLK,IBDCLN,IBDCLNM,IBDCNODE,IBDCNT,IBDCNT1,IBDF,IBDFBK,IBDFCIFN,IBDFCLIN,IBDFL,IBDFLG,IBDFN,IBDFNAME,IBDFNM,IBDFNODE,IBDFORM1,IBDFRM,IBDFSEL,IBDFSRT,IBDFTMP,IBDFVAL
|
---|
117 | K IBDFX,IBDORM,IBDVAL,IBDVAL1,IBDFCNT1,Z,IBDFRNM,IBDFX1,IBDFX2,IBDFX3
|
---|
118 | K IBCLN,IBDFCLN,IBDFCLNM,IBDFDIV,IBDFGIFN,IBDFGN,IBDFGNM,IBDIV,IBDNAM,IBDNAME,IEN,^TMP("IBDF",$J),^TMP("UTIL",$J),^TMP("CPT",$J),^TMP("CPTIDX",$J),DIVISION,IBDF,IBDFACT,VAUTNALL Q
|
---|
119 | ;
|
---|
120 | ;
|
---|
121 | HLP ; -- help code
|
---|
122 | S X="?" D DISP^XQORM1 W !!
|
---|
123 | Q
|
---|
124 | ;
|
---|
125 | ;
|
---|
126 | EXP ; -- expand code
|
---|
127 | Q
|
---|
128 | NUL ; -- NULL MESSAGE
|
---|
129 | S ^TMP("CPT",$J,1,0)=" ",^TMP("CPT",$J,2,0)="There are no "_$S(IBDFACT=1:"active",1:"inactive")_" codes on any forms.",^TMP("CPTIDX",$J,1)=1,^TMP("CPTIDX",$J,2)=2
|
---|
130 | Q
|
---|