1 | IBDFDE23 ;ALB/DHH - Select CPT Modifiers during Manual Data Entry ; MAY-18-1999
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;**38,37**;APR 24, 1997
|
---|
3 | MOD ;Entry point for selecting or modifying modifiers
|
---|
4 | ;
|
---|
5 | ; -- called by IBDFDE21
|
---|
6 | ;
|
---|
7 | N CODE,I,X,SEL,MOD,Y,CNT,MODLST
|
---|
8 | ;
|
---|
9 | ;-- result is definition is noted in ^ibdfde2
|
---|
10 | ; result:= pckg interface^code to send^text to send...
|
---|
11 | ;
|
---|
12 | S CODE=$P(RESULT(IBDX),"^",2)
|
---|
13 | ;
|
---|
14 | ; --ans = list number, cpt, or cpt-mod,mod (raw data user enters)
|
---|
15 | ; if ans contains "-" then seperate and validate each cpt modifier pair
|
---|
16 | ; if ans contains "-" ans should = cpt-mod,mod,mod...
|
---|
17 | ; else ask for modifiers
|
---|
18 | ;
|
---|
19 | I ANS["-" D
|
---|
20 | .S MODLST=$P(ANS,"-",2)
|
---|
21 | .F I=1:1 S X=$P(MODLST,",",I) Q:X']"" D
|
---|
22 | ..; --check for appropriate modifiers/cpt matches
|
---|
23 | ..; cpts and modifiers can be input as
|
---|
24 | ..; -- cpt-mod,mod,mod
|
---|
25 | ..; if multiple modifiers were entered with cpt, each cpt-mod pair
|
---|
26 | ..; will be checked by modp^icptmod to see if valid. if not, an
|
---|
27 | ..; error message will be displayed for the invalid code pair
|
---|
28 | ..;
|
---|
29 | .. I $$MODP^ICPTMOD(CODE,X)'>0 D ERR Q
|
---|
30 | .. S SEL("MOD",X)=""
|
---|
31 | ;
|
---|
32 | ; --no matter what method user uses to input data modifiers should
|
---|
33 | ; should be asked for each cpt code
|
---|
34 | ;
|
---|
35 | D OTHER,ARRAY
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | OTHER ;--allow for additional modifiers to be selected
|
---|
39 | N DIC
|
---|
40 | F S DIC=81.3,DIC("S")="I ($$MODP^ICPTMOD(CODE,+Y,""I""))>0",DIC(0)="AEMQ" D ^DIC Q:+Y<1 D
|
---|
41 | . S MOD=$P($G(Y),"^",2)
|
---|
42 | . I $D(SEL("MOD",MOD)) D DELMOD Q:Y=1
|
---|
43 | . S:MOD'="" SEL("MOD",MOD)=""
|
---|
44 | Q
|
---|
45 | DELMOD ; Delete modifier from list if duplicate entry
|
---|
46 | N DIR,DA,DR,DIC
|
---|
47 | W !,"Do you want to remove this modifier as being Associated with this CPT Procedure?"
|
---|
48 | S DIR(0)="Y",DIR("B")="YES" D ^DIR Q:$D(DIRUT)
|
---|
49 | I Y=1 K SEL("MOD",MOD)
|
---|
50 | Q
|
---|
51 | ARRAY ; -- transfer modifier data to result array
|
---|
52 | Q:'$D(SEL)
|
---|
53 | S MOD="",CNT=0 F S MOD=$O(SEL("MOD",MOD)) Q:MOD']"" D
|
---|
54 | . S CNT=CNT+1
|
---|
55 | . S RESULT(IBDX,"MODIFIER",CNT)=MOD
|
---|
56 | S RESULT(IBDX,"MODIFIER",0)=CNT
|
---|
57 | Q
|
---|
58 | ;
|
---|
59 | ERR ;Error message
|
---|
60 | W !,X," is not a valid modifier for ",CODE,!
|
---|
61 | Q
|
---|
62 | GAFSCOR ;Enter GAF Score
|
---|
63 | ;GAFCNT is newed in % of IBDFDE,IBDFDE6,IBDFDE7
|
---|
64 | S GAFCNT=$G(GAFCNT)+1
|
---|
65 | I GAFCNT=2 Q
|
---|
66 | I GAFCNT>2 K GAFCNT Q
|
---|
67 | S DIR(0)="N^1:100"
|
---|
68 | S DIR("A")="Enter GAF Score "
|
---|
69 | S DIR("?")="GAF Score is numeric from 1-100."
|
---|
70 | D ^DIR
|
---|
71 | I Y<1 D G GAFSCOR
|
---|
72 | . W "You must enter a GAF Score (1-100)!"
|
---|
73 | . S GAFCNT=$G(GAFCNT)-1
|
---|
74 | S IBDSEL(0)=$G(IBDSEL(0))+1
|
---|
75 | S IBDSEL(IBDSEL(0))=IBDF("PI")_"^"_+Y_"^ ^^^^^GAF SCORE"
|
---|
76 | S $P(PXCA("IBD GAF SCORE",0),"^")=+Y
|
---|
77 | Q
|
---|
78 | ;
|
---|
79 | OKPROV(IEN) ; Screen for provider lookup using person class
|
---|
80 | Q ($D(^XUSEC("SD GAF SCORE",IEN)))
|
---|
81 | ;
|
---|