Great discussion On Fri, Jul 10, 2015 at 7:16 PM, Finan, Sean <sean.fi...@childrens.harvard.edu> wrote:
> Hi Tom, > Just for fun I checked "ctakes-allergy" into sandbox. Great title. While > too simple to be really useful, it might serve as a testing point or example > for future endeavors. > Sean > -----Original Message----- > From: Finan, Sean [mailto:sean.fi...@childrens.harvard.edu] > Sent: Friday, July 10, 2015 4:21 PM > To: dev@ctakes.apache.org > Subject: RE: Allergy Annotator > Hi Tom, > It is exactly because the sentence detector splits "KEY:" from "VALUE" that I > didn't suggest using sentences. Instead, I would just iterate over the whole > cas collection of medication events and attempt to match allergy phrases > ("allergic to medication") with text the note spanning from event.begin-15 to > event.end+15 or whatever window size you prefer. > Sean > -----Original Message----- > From: Tom Devel [mailto:deve...@gmail.com] > Sent: Friday, July 10, 2015 4:12 PM > To: dev@ctakes.apache.org > Subject: Re: Allergy Annotator > Sean and Dima, these are great suggestions, thanks so far. > Sean, when looping over medication events as you say, I can see how it is > possible to take the textspan.Sentence of this MedicationMention, and then do > a regex check for the phrase structure as Dima said. > But instead of textspan.Sentence, you mention "see any is included in a > phrase". What cTAKES/UIMA class is related to this? > Because if I would use textspan.Sentence, it would work for "The patient is > allergic to penicillin.", but cTAKES splits "ALLERGIES: PENICILLIN, WHEAT" > into two sentences, so that the MedicationMentions here would not be in the > same sentence as the word "ALLERGIES". > Thanks again, > Tom > On Fri, Jul 10, 2015 at 2:12 PM, Finan, Sean < > sean.fi...@childrens.harvard.edu> wrote: >> Hi Dima, Tom, >> >> I was thinking the same as Dima's first solution. Iterate through the >> medication events and see any is included in a phrase as mentioned in >> Tom's original email. Each phrase structure would have to be >> specified beforehand. However, assigning appropriate CUIs would >> require having a lookup table for each medication allergy. I think >> that would be the simplest solution. >> >> Sean >> >> -----Original Message----- >> From: Dligach, Dmitriy [mailto:dmitriy.dlig...@childrens.harvard.edu] >> Sent: Friday, July 10, 2015 2:50 PM >> To: cTAKES Developer list >> Subject: Re: Allergy Annotator >> >> Hi Tom, >> >> If the patters are pretty simple, you could just add a few rules on >> top of the cTAKES dictionary lookup output. Something of the kind >> "allergic to <medication>" or "allergies: <medication1>, >> <medication2>, <substance1>, ...". >> >> If these patterns are hard to express as rules, you should consider a >> machine learning based sequence labeling route (e.g. something similar >> to the cTAKES chunker). >> >> >> Dima >> >> -- >> Dmitriy (Dima) Dligach, Ph.D. >> Boston Children's Hospital and Harvard Medical School >> (617) 651-0397 >> >> >> >> On Jul 10, 2015, at 13:40, Tom Devel <deve...@gmail.com<mailto: >> deve...@gmail.com>> wrote: >> >> Sean, >> >> It would be a wider net, such that if an allergy is mentioned in the >> clinical note, this is captured in the corresponding >> IdentifiedAnnotation (or alternatively, if the IdentifiedAnnotation >> class should not be changed with a new attribute, in a separate allergy >> annotation). >> >> This annotator would then have to of course run after the clinical >> pipeline has run and discovered all IdentifiedAnnotations. >> >> I am familiar with writing UIMA/cTAKES annotators, but not sure how a >> new ML method could be integrated here for detecting allergies. Do you >> have any thoughts about how to approach this in general? >> >> Thanks, >> Tom >> >> On Fri, Jul 10, 2015 at 11:54 AM, Finan, Sean < >> sean.fi...@childrens.harvard.edu<mailto:Sean.Finan@childrens.harvard.e >> du>> >> wrote: >> >> Hi Tom, >> >> Are you interested in catching all allergies or just a few specific >> allergies for a study? If you are only concerned with a few then >> there is a (possibly) simple solution. If you are interested in >> throwing a wider net then I think that a new module would need to be >> created; does anybody reading this have an ML or regex style module? >> >> Sean >> >> -----Original Message----- >> From: Tom Devel [mailto:deve...@gmail.com] >> Sent: Friday, July 10, 2015 12:42 PM >> To: dev@ctakes.apache.org<mailto:dev@ctakes.apache.org> >> Subject: Allergy Annotator >> >> Hi, >> >> I would like to use/extend cTAKES to detect allergies. >> >> In the cTAKES publication (2010) >> >> >> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.ncbi.nlm.nih.g >> ov_pmc_articles_PMC2995668_&d=BQIFaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZM >> SdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=ZApJmGKjz >> vFfNco5rRFVwSIyxmg4MRsxakfuXHbMZME&s=mGWu0XBCJqG2MI5qPlwIpGbQL5IYe7t5E >> WcvhPYW7Lo&e= >> there is the mention >> that: "Allergies to a given medication are handled by setting the >> negation attribute of that medication to 'is negated'." >> >> However, in a post here in 2014 (RE: Allergy Indication) it is said >> that cTAKES does not have a module for allergy discovery. >> >> 1. What is the current status of allergy detection in cTAKES? >> >> 2. I did some testing, while cTAKES discovers concepts about allegies >> ("wheat allergy" is found as C0949570), using "ALLERGIES: PENICILLIN, >> WHEAT" or "The patient is allergic to penicillin." does not give >> penicillin or wheat annotations allergy status. >> >> How would I go about detecting these allergy mentions? >> >> Thanks, >> Tom >> >> >>