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
| <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" />
|