| 1 | IBDF4C ;ALB/DHH - CPT MODIFIER SELECTION ;26-MAY-1999 | 
|---|
| 2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;**38,51**;APR 24,1997 | 
|---|
| 3 | MOD ;Entry point for selecting or modifying modifiers | 
|---|
| 4 | ; -- this is called by the input transform (fileman file: selection) | 
|---|
| 5 | ; | 
|---|
| 6 | ;    slctn -- is the ien of selection file and should be cpt code | 
|---|
| 7 | ;    $$modp^icptmod  -- screens appropriate modifiers for a cpt code | 
|---|
| 8 | ;    $p($$mod^icptmod,"^",7)   -- check status of the modifier | 
|---|
| 9 | D | 
|---|
| 10 | .N DO,CPT,Y,DIC | 
|---|
| 11 | .Q:$G(SLCTN)="" | 
|---|
| 12 | .S CPT=$P(^IBE(357.3,SLCTN,0),"^") | 
|---|
| 13 | .Q:$G(CPT)="" | 
|---|
| 14 | .;;S DIC=81.3,DIC("S")="I ($$MODP^ICPTMOD(CPT,+Y,""I""))>0" | 
|---|
| 15 | .S DIC=81.3 | 
|---|
| 16 | .; | 
|---|
| 17 | .;Is the modifier active and can it be used with this CPT code | 
|---|
| 18 | .S DIC("S")="I ($$MODP^ICPTMOD(CPT,+Y,""I""))>0,$P($$MOD^ICPTMOD(+Y,""I""),U,7)=1" | 
|---|
| 19 | .S DIC(0)="EM" D ^DIC | 
|---|
| 20 | .S (DIX,X)=$P(Y,"^",2) | 
|---|
| 21 | .I +Y<1 D | 
|---|
| 22 | .. D EN^DDIOL("Invalid CPT Modifier entered for CPT procedure code.") | 
|---|
| 23 | Q | 
|---|
| 24 | ; | 
|---|
| 25 | ; | 
|---|
| 26 | ADD ;add cpt modifiers to the selection file | 
|---|
| 27 | ; | 
|---|
| 28 | ; -- this is to be called via IBDF4 AND IBDF4A | 
|---|
| 29 | ; | 
|---|
| 30 | ; -- check package interface file to see if CPT Modifiers are to be | 
|---|
| 31 | ;    asked. | 
|---|
| 32 | ; | 
|---|
| 33 | Q:$P($G(^IBE(357.6,+$P($G(^IBE(357.2,+IBLIST,0)),U,11),0)),U,21)'=1 | 
|---|
| 34 | ; | 
|---|
| 35 | ; -- use fileman to allow user to add/edit modifiers | 
|---|
| 36 | ;    using CPT API to screen out inappropriate modifiers ( this is | 
|---|
| 37 | ;    done via the input transform on the CPT MODIFIERS multiple field | 
|---|
| 38 | ; | 
|---|
| 39 | N DIE,DA,DR | 
|---|
| 40 | S DIE="^IBE(357.3," | 
|---|
| 41 | S DA=SLCTN | 
|---|
| 42 | S DR="[IBDF CPT MODIFIER]" | 
|---|
| 43 | D ^DIE | 
|---|
| 44 | Q | 
|---|
| 45 | LOOKUP ;response to ?? while entering CPT Modifiers | 
|---|
| 46 | ;xecutable help used this from file 357.3 cTP Modifier field | 
|---|
| 47 | ; | 
|---|
| 48 | N DO,CPT,DIC | 
|---|
| 49 | Q:$G(SLCTN)="" | 
|---|
| 50 | S CPT=$P(^IBE(357.3,SLCTN,0),"^") | 
|---|
| 51 | Q:$G(CPT)="" | 
|---|
| 52 | ;S IBDSAV=DIC | 
|---|
| 53 | ;;S X="??",DIC=81.3,DIC("S")="I ($$MODP^ICPTMOD(CPT,+Y,""I""))>0" | 
|---|
| 54 | S X="??",DIC=81.3 | 
|---|
| 55 | ; | 
|---|
| 56 | ;Is the modifier active and can it be used with this CPT code | 
|---|
| 57 | S DIC("S")="I ($$MODP^ICPTMOD(CPT,+Y,""I""))>0,$P($$MOD^ICPTMOD(+Y,""I""),U,7)=1" | 
|---|
| 58 | S DIC(0)="EMQ" D ^DIC | 
|---|
| 59 | Q | 
|---|