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
>

Reply via email to