Skip to content

An implementation of the SNOMED CT Expression Constraint Language.

License

Notifications You must be signed in to change notification settings

githubstoreforme/snomed-query-service

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SNOMED CT Query Service

An implementation of the SNOMED CT Expression Constraint Language.

Expression Constraint Language feature support

Feature Example Supported
Self 404684003 |clinical finding| Yes
Descendant Of < 404684003 |clinical finding| Yes
Descendant Or Self Of << 73211009 |diabetes mellitus| Yes
Ancestor Of > 40541001 |acute pulmonary edema| Yes
Ancestor Or Self Of >> 40541001|acute pulmonary edema| Yes
MemberOf ^ 700043003 |example problem list concepts reference set| Yes
Any * Yes
Attribute * : 246075003 |causative agent| = 387517004 |paracetamol| Yes
Focus Concept Range, Attribute < 19829001 |disorder of lung|: 116676008 |associated morphology| = 79654002 |edema| Yes
Focus Concept Range, Attribute Value Range < 404684003 |clinical finding|: 363698007 |finding site| = << 39057004 |pulmonary valve structure| Yes
Focus Concept Range, Attributes with Value Ranges < 404684003 |clinical finding|: 363698007 |finding site| = << 39057004 |pulmonary valve structure|, 116676008 |associated morphology| = << 415582006 |stenosis| Yes
Attribute Grouping < 404684003 |clinical finding|: { 363698007 |finding site| = << 39057004 |pulmonary valve structure|, 116676008 |associated morphology| = << 415582006 |stenosis|}, { 363698007 |finding site| = << 53085002 |right ventricular structure|, 116676008 |associated morphology| = << 56246009 |hypertrophy|} No
Nested Attribute < 404684003 |clinical finding|: 47429007 |associated with| = (< 404684003 |clinical finding|: 116676008 |associated morphology| = << 55641003 |infarct|) No
Attribute Operator << 404684003 |clinical finding|: << 47429007 |associated with| = << 267038008 |edema| Yes
Concrete Values < 373873005 |pharmaceutical / biologic product|: 111115 |trade name| = "PANADOL" No
Concrete Values < 27658006 |amoxicillin|: 411116001 |has dose form| = << 385049006 |capsule|, { 111115 |has basis of strength| = ( 111115 |amoxicillin only|: 111115 |strength magnitude| >= #500, 111115 |strength unit| = 258684004 |mg|)} No
Reverse Of < 105590001 |substance|: R 127489000 |has active ingredient| = 111115 |TRIPHASIL tablet| No
Any Attribute Type < 404684003 |clinical finding|: * = 79654002 |edema| No
Any Attribute Value < 404684003 |clinical finding|: 116676008 |associated morphology| = * Yes
Attribute Cardinality < 373873005 |pharmaceutical / biologic product|: [1..3] 127489000 |has active ingredient| = < 105590001 |substance| No
Attribute Group Cardinality < 373873005 |pharmaceutical / biologic product|: [1..3] { [1..*] 127489000 |has active ingredient| = < 105590001 |substance|} No
Attribute Conjunction < 404684003 |clinical finding|: 363698007 |finding site| = << 39057004 |pulmonary valve structure| AND 116676008 |associated morphology| = << 415582006 |stenosis| No
Attribute Disjunction < 404684003 |clinical finding|: 116676008 |associated morphology| = << 55641003 |infarct| OR 42752001 |due to| = << 22298006 |myocardial infarction| No
Simple Conjunction < 19829001 |disorder of lung| AND < 301867009 |edema of trunk| Yes
Simple Disjunction < 19829001 |disorder of lung| OR < 301867009 |edema of trunk| Yes
Simple Conjunction With Refset < 19829001 |disorder of lung| AND ^ 700043003 |example problem list concepts reference set| Yes
Attribute Group Conjunction Disjunction < 404684003 |clinical finding|: { 363698007 |finding site| = << 39057004 |pulmonary valve structure|, 116676008 |associated morphology| = << 415582006 |stenosis|} OR { 363698007 |finding site| = << 53085002 |right ventricular structure|, 116676008 |associated morphology| = << 56246009 |hypertrophy|} No
Attribute Value Disjunction ^ 447563008 |ICD-9-CM equivalence complex map reference set|: 246075003 |causative agent| = (< 373873005 |pharmaceutical / biologic product| OR < 105590001 |substance|) Yes
Attribute Value Conjunction < 404684003 |clinical finding|: 116676008 |associated morphology| = (<< 56208002 |ulcer| AND << 50960005 |hemorrhage|) Yes
Exclusion Simple Expressions << 19829001 |disorder of lung| MINUS << 301867009 |edema of trunk| Yes
Exclusion Simple Expressions << 19829001 |disorder of lung| MINUS ^ 700043003 |example problem list concepts reference set| Yes
Exclusion Attribute Values < 404684003 |clinical finding|: 116676008 |associated morphology| = ((<< 56208002 |ulcer| AND << 50960005 |hemorrhage|) MINUS << 26036001 |obstruction|) Yes
Not Equal To Attribute Value < 404684003 |clinical finding|: 116676008 |associated morphology| != 26036001 |obstruction| No

Quick Start

Download the latest release Jar from the releases page, unzip your SNOMED RF2 archive, load your SNOMED content and then serve.

cd my-documents
unzip SnomedCT_RF2Release_INT_20160131.zip
java -jar snomed-query-service-1.4.0.jar --loadRelease="/my-documents/SnomedCT_RF2Release_INT_20160131"
java -jar snomed-query-service-1.4.0.jar --serve

This will create an "index" directory. This directory must be removed before running the load process again. Once the service is running in serve mode Swagger API documentation can be found at: http://localhost:8080/

Example Expression Constraint Language queries:

Follow the quick start to use these examples:

Run on another port

This is useful for running multiple instances of the tool to serve more releases.

java -jar target/*.jar --serve --server.port=8081

Building the software yourself

If you would like to build this open source software yourself it's simple with maven:

git clone https://github.com/ihtsdo/snomed-query-service.git
cd snomed-query-service
mvn clean package

Find the binaries in the target directory.

Licence

Apache 2.0 Open Source Licence

Thanks

kaicode for the code donation

About

An implementation of the SNOMED CT Expression Constraint Language.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 82.0%
  • Java 14.7%
  • CSS 3.1%
  • HTML 0.2%