Skip to content

Create a Neo4j database to import AMT/Snomed drug files and provide a REST interface to access the data

Notifications You must be signed in to change notification settings

zentiment/Snomed

 
 

Repository files navigation

Snomed

Create a Neo4j database to import Snomed drug files and provide a REST interface to access the data.

For information reg Neo4j please visit http://neo4j.com/

Application is written in python and accepts a Snomed-CT zip file. The data from Snomed-CT around 3 miliion rows of TDV files will be uploaded to the graph database Neo4j.

Neo4j is a NoSql graph database which has a rich query capabilities which makes it ideal for decesion support and BI.

Prepare files to be uploaded to Neo4j
  • update the config.ini file in the config folder as required.
  • Run the run_snomed_upload.py
  • the updated concepts and relationship files with the term and description type id is present in the results folder.
  • the script uploads concepts, synonyms and relations into a neo4j instance.
  • The graph database url should be specified in config.ini file.
  • The entire script takes about ~ 2 hours to upload a snomed snapshot into a new neo4j database.
  • Update of the Snomed Concepts is done using threads.
  • Update of Relationships is done using a single thread as Neo4j is throwing deadlock exceptions if we process the relations in parallel.
TODO
- DSL to query data from neo4j.(Scala) - Faster upload(may be scala | Graphx) - Update existing installation with delta - UX to provide DSL queries.(Play framework) - Provie scripts for AMT, RxNorm and DND. - Sample Cypher queries. - Better logging. - Unit tests - Rest Interface

About

Create a Neo4j database to import AMT/Snomed drug files and provide a REST interface to access the data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 84.4%
  • Java 15.6%