| 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
 | 
|---|