Case statement with multiple field conditions

Hello,

 

I'm trying to write a beast mode fiter that looks for a condition in one field and also searches multiple fields to return a "yes" value. Seems simple enough, but...

 

I want it to:

 

Look in CPT code field and find all records with CPT code of 20610, then look in 5 diagnosis code fields to exclude the procedures that deal with Osteoarthritis. Something like:

 

case when `cpt_code` = '20610' AND
`icd_1` <> '71516'
`icd_2` <> '71516'
`icd_3` <> '71516'
`icd_5` <> '71516'
then 'Yes'

else "No'
end

Basically, this would show me all the large joint injections EXCEPT the ones that deal with OsteoArthritis of a joint.

 

I keep getting syntax errors...  any thoughts? The code for OA could exist in any one of the ICD fields, which is why it needs to search all 4 fields for the OA code (test for that condition) before it allows this procedure to show up on the graph. Need help "structuring" the beast mode to accomplish this.  Thanks in advance... I don't see any examples of this type of filtering in the Dojo.

 

Thanks!

Comments

  • Hi,

     

    Give this a try:

     

    CASE WHEN `cpt_code` = '20610' AND
      `icd_1` != '71516' AND
      `icd_2` != '71516' AND
      `icd_3` != '71516' AND
      `icd_4` != '71516'
    THEN
       'Yes'
    ELSE
       'No'
    END

     

    Basically, you were missing the AND operators and had a double cote in :

    «else "No'». The != (not equal) operator is a little faster when comparing text fields but you could still use the <> operator.

     

    Hope this helps.