Hi Muhammad, Obviously, the first thing to say is that you can only extract information that is available in the note. So if the note doesn't give you enough clues, then there's no magic way to infer dates. Sometimes what you want is already in structured data that is available alongside the note. Especially the dates of procedures. That would be your most painless way of getting that information.
Look for the note structure first - is it free text or is it just a rendered table, where the date you're looking for is in another column? But back to your topic, one way I've tackled it in the past is to allow for degrees of "accuracy" or fuzziness. It was a while ago so I don't remember which of the temporal annotators I was using, but the process is the same. Perhaps someone else here has spent time on this with the current temporal annotators and can give you a more detailed answer. 1. Starting with the date of the note as the coarsest timestamp. That would have the lowest accuracy and potentially be used as an anchor. 2. Then see if there's a better anchor date in the note (perhaps at the head of an inner section) 2. Then you use the temporal annotator to see if an actual date is available for the procedure. These are rarely found in free text but that would have the highest accuracy. 3. Then you look for relative times clues like "yesterday", "tomorrow", "last monday", "two days ago". A temporal annotator should be able to find these.. If they're present, then a relative date, can be created by using anchor datetime as a baseline + offset and calculating the putative time of the event. This is usually done in two stages (here just using pseudocode) "relative time hint" becomes coded relative offset .... as in "yesterday" becomes day -1 then putativeDate = strtotime(anchor, coded_offset) Even if you can calculate a date this way, it is often highly inaccurate because the relative time hints may be relative to something other than the note itself. In short, it is a very tricky area. Peter On Thu, Feb 18, 2021 at 10:32 PM Muhammad Ali Syed <ms...@ncsu.edu> wrote: > Hi there, > > I'm a new cTakes user and have been following the recent developments in > cTakes for a couple of months now. > > My question is: Is there a component that assigns mentioned dates, within > the clinical notes, to the identified annotations? I know the temporal > module can place events into coarse temporal bins but I am talking about > the date / exact-time level.. > > If the answer is no, can someone share how they have approached this > problem(e.g. finding the date a procedure was performed)? I would > appreciate any suggestions. > > Best Regards, > Muhammad >