Coder Social home page Coder Social logo

adrapp's Introduction

ADRApp: Detects Adverse Drug Reactions from clinical text

A GATE application to detect Adverse Drug Reactions from clinical text.

Author & Contributors

Versions

ADRapp Release Version
Latest v2.0-alpha

Developed using:

  • GATE version: 8
  • Java Version: latest
  • Context Tagger version: 2015 release

Tested on Windows Verison 7.

Getting the App

  1. Clone/Download the app.
git clone https://github.com/KHP-Informatics/ADRApp.git

or click the Download button.

Loading the App in GATE

  • Open GATE
  • Select: File > Restore Application From File
  • point to application.xgapp

Its as easy as that!

Running the App in GATE

[coming soon]

Adding ADE New Terms

The current application comes with over 50 ADEs related to antipsychotic drugs.

If you wish to add more ADEs, please add them in application-resources\Gazeteer

Step 1. Please create the .lst file, related terms for the ADE you wish to add. For example, if you want to create a list of ADE, fever. Add all the related terms for fever such feverish, feeling hot, high temperature into a file called fever.lst:

create a new .lst file

cd application-resources/Gazeteer/

touch fever.lst

echo -e "
feverish
feeling hot 
high temperature
" >> fever.lst

Step 2. Please add fever.lst to the application-resources/Gazeteer/ADR.def file. The first few lines are shown below.

the ADR.def file

akathisia.lst:ADR:akathisia
alopecia.lst:ADR:alopecia
Amenorrhoea.lst:ADR:Amenorrhoea
Backache.lst:ADR:Backache

The format is <list.lst>:<major>:<minor> (see GATE doc for details).

adding fever.lst to ADR.def

echo -e "fever.lst:ADR:fever" >> ADR.def

You can do all this in any text editor of your choice!

How to improve this application

This section describes how to add new terms (negation, medication, drug names and others) to the application. [coming soon]


ADR Pipeline development

I started developing the app by picking up three random corpus for common ADEs (Dystonia, constipation and weight gain) and one rare ADE Steven Johnson. We measure the precision and recall on each corpus, once we made changes in dictionary terms and JAPE rules. This is not to over fit the application on one single ADE.

On the first step we strip down the pipelines with GATE built in resources (Document reset, Tokeniser, Sentence Splitter, Part of Speech (POS) Tagger, dictionary terms (ADE terms, Helping terms (all other terms) and Drug names), single JAPE rule ‘ADELookup’ which detects the ADE from clinical text as recorded in ADE terms dictionary and create a new annotation called ADR. This new annotation show two new features, Type (ADE Name) and JAPERule (The Name of the JAPE rules, if there is any used on this sentence)

image 1

In the second step we added the Context Tagger as processing resource. This processing creates three more features on ADR annotation, experiencer (Patients or others), negation (affirmed or negated) and temporality (recent, hypothetical or historical).

image 2

In the third step we implemented the JAPE rules in 3 distinct categories.

Stage1, the JAPE rules looks for punctuation which negates the presence of ADE in the sentence such as ADE discussion with ‘?’ or ‘@’. By these JAPE rules we changed the negation feature value to ‘negated’.

Removal Rules; generally where the clinicians are monitoring for ADE or it is merely a general discussion about the ADE. By these JAPE rules we changed the negation feature value to ‘negated’. Retain Rules; where the context made it clear the ADE is present. By these JAPE rules we changed the negation feature value to ‘affirmed’.

image 3

In the 4th step we implemented a rule which create a new feature on ADE_Status and on the basis of features decided if ‘Yes’ or ‘No’ such as. If the experiencer is ‘patient’, temporality is ‘current’ and negation is ‘affirmed’ then the ADE_Status is ‘Yes’ else ‘No’.

image 4

ADR Pipeline Workflow

ADR Pipeline Workflow with output annotation and features

workflow_1

Acknowledgements

This work is funded by the National Institute for Health Research (NIHR) Biomedical Research Centre at South London and Maudsley NHS Foundation Trust and King’s College London.

adrapp's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.