Skip to content

Why Cirs-gapp

cirs-gapp application is mainly intended for retrieving clinical information from patient documents. By using this information we build CAC (Computer Assisted Coding), Auto Query Alert System, Patient Admit Criteria Forms Automation and lot of other health care applications.

Types of clinical information available in patient documents

Diseases, Signs and Symptoms, Procedures, Findings, Laboratory Tests, Medications, Vital signs, Treatment plan, admit information, past medical history ..etc

Already we have Document Analysis application which serves the same purpose, here the question araises then why cirs-gapp?

cirs-gapp over Document Analysis

Drawbacks of Document Analysis application(Normal Corpus running procedure)

  • In Corpus Controller approach, we can't run more than 100 documents at a time due to Memory Issue.
  • Our application is not scalable for more than few hospitals, due to huge hardware requirements.
  • Our application is not provided through Real time service
  • Here comes cirs-gapp(GATE-Spring Document Processor running)

  • In this approach we create xgapp file using our Gate Developer,this gapp file is served to gate-bean xml to create the documentProcessor bean ,which can further be pooled to support the concurrent execution of documents
  • Memory Issue is resolved in this approach as it requires memory to load the processor(which consists of xgapp file) only for the very first time, after that we can process documents for life time without increasing our memory. ####Technical Stack and Knowledge resources used in this Application
  • NLP Engine: [GATE](https://gate.ac.uk)[^1]
  • Java 8: [Java](http://www.oracle.com/technetwork/java/javase/overview/java8-2100321.html)
  • Spring boot framework
  • Health care domain dictionaries
  • [JAPES](https://gate.ac.uk) for Medical Coding
  • Web Services: For DRG Grouping
  • [^1]: [GATE](https://gate.ac.uk) stands for General Architecture for Text Engineering ####gate application being configured in gate-beans.xml
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    <gate:init />
        <!-- set up the definition of the GATE application.  This will load one copy
          of the application and then duplicate it. //classpath:gate-files/application.xgapp-->
          <gate:duplicate id="gateapplication">
          <gate:saved-application location="${gateapplication.path}" />  
          </gate:duplicate>
          <bean id="documentProcessor"
                        class="gate.util.LanguageAnalyserDocumentProcessor">
         <property name="analyser" ref="gateapplication"/>
         <gate:pooled-proxy max-size="1" initial-size="1" />