diff --git a/README.md b/README.md index 0cac4d8386e..93b8c52fc89 100644 --- a/README.md +++ b/README.md @@ -55,9 +55,10 @@ The IBM FHIR Server is modular and extensible. The following tables provide an o |------|-----------|----------| |fhir-model|An object model generated from the FHIR R4 specification and corresponding parsers and generators for XML and JSON|true| |fhir-registry|A resource registry, registry provider interfaces, and pre-registered resources shipped with the FHIR specification|false| -|fhir-term|A terminology service provider interface with a default implementation that implements terminology services from fully-defined CodeSystems in the registry|false| -|fhir-term-graph|A terminology service provider that implements terminology services using JanusGraph|false| -|fhir-term-remote|A terminology service provider that connects to an external service using a REST client to access code system content|false| +|term/fhir-term|A terminology service provider interface with a default implementation that implements terminology services from fully-defined CodeSystems in the registry|false| +|term/fhir-term-graph|A terminology service provider that implements terminology services using JanusGraph|false| +|term/fhir-term-graph-loader|Populates the terminology service backend when using JanusGraph|false| +|term/fhir-term-remote|A terminology service provider that connects to an external service using a REST client to access code system content|false| |fhir-profile|Helper methods for validating ValueSet membership and Profile conformance|false| |fhir-path|An implementation of version 2.0.0 of the FHIRPath specification assumed by FHIR R4|false| |fhir-validation|Validation utility for validating resource instances against the base specification and/or configured profiles|false| diff --git a/build/audit/kafka/pre-integration-test.sh b/build/audit/kafka/pre-integration-test.sh index fe57602e6cc..e15ae1ad1df 100644 --- a/build/audit/kafka/pre-integration-test.sh +++ b/build/audit/kafka/pre-integration-test.sh @@ -38,8 +38,8 @@ config(){ USERLIB="${DIST}/userlib" mkdir -p $USERLIB find ${WORKSPACE}/conformance -iname 'fhir-ig*.jar' -not -iname 'fhir*-tests.jar' -not -iname 'fhir*-test-*.jar' -exec cp -f {} ${USERLIB} \; - cp -pr ${WORKSPACE}/operation/fhir-operation-test/target/fhir-operation-*-tests.jar ${USERLIB} - cp -pr ${WORKSPACE}/operation/fhir-operation-term-cache/target/fhir-operation-*.jar ${USERLIB} + cp -pr ${WORKSPACE}/fhir-operation-test/target/fhir-operation-*-tests.jar ${USERLIB} + cp -pr ${WORKSPACE}/term/operation/fhir-operation-term-cache/target/fhir-operation-*.jar ${USERLIB} echo "Finished copying fhir-server dependencies..." # Move over the test configurations diff --git a/build/docker/copy-test-operations.sh b/build/docker/copy-test-operations.sh index c8fdcfc548a..dbae4291388 100755 --- a/build/docker/copy-test-operations.sh +++ b/build/docker/copy-test-operations.sh @@ -19,6 +19,6 @@ mkdir -p $USERLIB echo "Copying test artifacts to install location..." find ${WORKSPACE}/conformance -iname 'fhir-ig*.jar' -not -iname 'fhir*-tests.jar' -not -iname 'fhir*-test-*.jar' -exec cp -f {} ${USERLIB} \; cp -pr ${WORKSPACE}/operation/fhir-operation-test/target/fhir-operation-*-tests.jar ${USERLIB} -cp -pr ${WORKSPACE}/operation/fhir-operation-term-cache/target/fhir-operation-*.jar ${USERLIB} +cp -pr ${WORKSPACE}/term/operation/fhir-operation-term-cache/target/fhir-operation-*.jar ${USERLIB} echo "Finished copying test operations." diff --git a/build/migration/db2/2_compose.sh b/build/migration/db2/2_compose.sh index c18f40b0770..debcde09c61 100644 --- a/build/migration/db2/2_compose.sh +++ b/build/migration/db2/2_compose.sh @@ -49,6 +49,10 @@ config(){ then find ${WORKSPACE}/prev/operation/fhir-operation-term-cache/target -iname '*.jar' -exec cp -f {} ${USERLIB} \; fi + if [ -d ${WORKSPACE}/prev/term/operation/fhir-operation-term-cache/target ] + then + find ${WORKSPACE}/prev/term/operation/fhir-operation-term-cache/target -iname '*.jar' -exec cp -f {} ${USERLIB} \; + fi echo "Copying over the overrides for the datasource" mkdir -p ${DIST}/overrides diff --git a/build/migration/db2/5_current-pre-integration-test.sh b/build/migration/db2/5_current-pre-integration-test.sh index c2eb64e64e3..1244df390ea 100644 --- a/build/migration/db2/5_current-pre-integration-test.sh +++ b/build/migration/db2/5_current-pre-integration-test.sh @@ -38,6 +38,10 @@ config(){ then find ${WORKSPACE}/fhir/operation/fhir-operation-term-cache/target -iname '*.jar' -exec cp -f {} ${USERLIB} \; fi + if [ -d ${WORKSPACE}/fhir/term/operation/fhir-operation-term-cache/target ] + then + find ${WORKSPACE}/fhir/term/operation/fhir-operation-term-cache/target -iname '*.jar' -exec cp -f {} ${USERLIB} \; + fi echo "Remove the old overrides, and copy the current overrides for the datasource" rm -rf ${DIST}/overrides diff --git a/build/migration/postgres/2_compose.sh b/build/migration/postgres/2_compose.sh index 1ee6da0ba82..530fc472567 100644 --- a/build/migration/postgres/2_compose.sh +++ b/build/migration/postgres/2_compose.sh @@ -55,6 +55,10 @@ config(){ then find ${WORKSPACE}/prev/operation/fhir-operation-term-cache/target -iname '*.jar' -exec cp -f {} ${USERLIB} \; fi + if [ -d ${WORKSPACE}/prev/term/operation/fhir-operation-term-cache/target ] + then + find ${WORKSPACE}/prev/term/operation/fhir-operation-term-cache/target -iname '*.jar' -exec cp -f {} ${USERLIB} \; + fi # Move over the test configurations echo "Copying over the fhir-server-config.json and updating publishing" cp -f ${DIST}/config/default/fhir-server-config-postgresql.json ${DIST}/config/default/fhir-server-config.json diff --git a/build/migration/postgres/5_current-pre-integration-test.sh b/build/migration/postgres/5_current-pre-integration-test.sh index 011eedadd97..48d5dbd28fb 100644 --- a/build/migration/postgres/5_current-pre-integration-test.sh +++ b/build/migration/postgres/5_current-pre-integration-test.sh @@ -34,6 +34,7 @@ config(){ mkdir -p "${USERLIB}" find ${WORKSPACE}/fhir/conformance -iname 'fhir-ig*.jar' -not -iname 'fhir*-tests.jar' -not -iname 'fhir*-test-*.jar' -exec cp -f {} ${USERLIB} \; find ${WORKSPACE}/fhir/operation/fhir-operation-test/target -iname '*.jar' -exec cp -f {} ${USERLIB} \; + find ${WORKSPACE}/fhir/operation/fhir-operation-test/target -iname '*.jar' -exec cp -f {} ${USERLIB} \; echo "Copying over the overrides for the datasource" mkdir -p ${DIST}/overrides @@ -43,6 +44,11 @@ config(){ then find ${WORKSPACE}/fhir/operation/fhir-operation-term-cache/target -iname '*.jar' -exec cp -f {} ${USERLIB} \; fi + + if [ -d ${WORKSPACE}/fhir/term/operation/fhir-operation-term-cache/target ] + then + find ${WORKSPACE}/fhir/term/operation/fhir-operation-term-cache/target -iname '*.jar' -exec cp -f {} ${USERLIB} \; + fi # Move over the test configurations echo "Copying over the fhir-server-config.json and updating publishing" cp -f ${DIST}/config/default/fhir-server-config-postgresql.json ${DIST}/config/default/fhir-server-config.json diff --git a/build/notifications/kafka/pre-integration-test.sh b/build/notifications/kafka/pre-integration-test.sh index 8687fbec4d7..cd05fd88658 100644 --- a/build/notifications/kafka/pre-integration-test.sh +++ b/build/notifications/kafka/pre-integration-test.sh @@ -38,7 +38,7 @@ config(){ mkdir -p $USERLIB find ${WORKSPACE}/conformance -iname 'fhir-ig*.jar' -not -iname 'fhir*-tests.jar' -not -iname 'fhir*-test-*.jar' -exec cp -f {} ${USERLIB} \; cp -pr ${WORKSPACE}/operation/fhir-operation-test/target/fhir-operation-*-tests.jar ${USERLIB} - cp -pr ${WORKSPACE}/operation/fhir-operation-term-cache/target/fhir-operation-*.jar ${USERLIB} + cp -pr ${WORKSPACE}/term/operation/fhir-operation-term-cache/target/fhir-operation-*.jar ${USERLIB} echo "Finished copying fhir-server dependencies..." # Move over the test configurations diff --git a/build/persistence/postgres/pre-integration-test.sh b/build/persistence/postgres/pre-integration-test.sh index 81d7a2b5222..34e165f6396 100644 --- a/build/persistence/postgres/pre-integration-test.sh +++ b/build/persistence/postgres/pre-integration-test.sh @@ -64,7 +64,7 @@ copy_server_config(){ echo "Copying test artifacts to install location..." find ${WORKSPACE}/conformance -iname 'fhir-ig*.jar' -not -iname 'fhir*-tests.jar' -not -iname 'fhir*-test-*.jar' -exec cp -f {} ${USERLIB} \; cp -pr ${WORKSPACE}/operation/fhir-operation-test/target/fhir-operation-*-tests.jar ${USERLIB} - cp -pr ${WORKSPACE}/operation/fhir-operation-term-cache/target/fhir-operation-*.jar ${USERLIB} + cp -pr ${WORKSPACE}/term/operation/fhir-operation-term-cache/target/fhir-operation-*.jar ${USERLIB} echo "Finished copying fhir-server dependencies..." } diff --git a/build/pre-integration-test.ps1 b/build/pre-integration-test.ps1 index 2550bf8282d..807c906e131 100644 --- a/build/pre-integration-test.ps1 +++ b/build/pre-integration-test.ps1 @@ -118,7 +118,7 @@ If (!(Test-Path -Path $USERLIB_DIR) ) { } Copy-Item $CP_ITEM -Destination $USERLIB_DST -$CP_ITEM=[string]$DIR_WORKSPACE + '\operation\fhir-operation-term-cache\target\fhir-operation-term-cache-*.jar' +$CP_ITEM=[string]$DIR_WORKSPACE + '\term\operation\fhir-operation-term-cache\target\fhir-operation-term-cache-*.jar' Copy-Item $CP_ITEM -Destination $USERLIB_DST # Start up the fhir server diff --git a/build/pre-integration-test.sh b/build/pre-integration-test.sh index 71c74d2b880..32a4b8629ad 100755 --- a/build/pre-integration-test.sh +++ b/build/pre-integration-test.sh @@ -75,7 +75,7 @@ echo "Copying test artifacts to install location..." USERLIB=${SIT}/wlp/usr/servers/fhir-server/userlib rm -rf ${USERLIB}/fhir-operation-*-tests.jar cp -pr ${WORKSPACE}/operation/fhir-operation-test/target/fhir-operation-*-tests.jar ${USERLIB}/ -cp -pr ${WORKSPACE}/operation/fhir-operation-term-cache/target/fhir-operation-*.jar ${USERLIB}/ +cp -pr ${WORKSPACE}/term/operation/fhir-operation-term-cache/target/fhir-operation-*.jar ${USERLIB}/ find ${WORKSPACE}/conformance -iname 'fhir-ig*.jar' -not -iname 'fhir*-tests.jar' -not -iname 'fhir*-test-*.jar' -exec cp -f {} ${USERLIB} \; # Start up the fhir server diff --git a/docs/src/pages/guides/FHIRTerminologyGuide.md b/docs/src/pages/guides/FHIRTerminologyGuide.md index 17ad5091522..9e0489c0a96 100644 --- a/docs/src/pages/guides/FHIRTerminologyGuide.md +++ b/docs/src/pages/guides/FHIRTerminologyGuide.md @@ -6,7 +6,7 @@ date: "2021-04-23" ## Overview -The IBM FHIR Server Terminology module ([fhir-term](https://github.com/IBM/FHIR/tree/main/fhir-term)) provides a FHIR terminology service provider interface (SPI) and a default implementation that implements terminology services using `CodeSystem`, `ValueSet`, and `ConceptMap` resources that have been made available through the FHIR registry module ([fhir-registry](https://github.com/IBM/FHIR/tree/main/fhir-registry)). +The IBM FHIR Server Terminology module ([fhir-term](https://github.com/IBM/FHIR/tree/main/term/fhir-term)) provides a FHIR terminology service provider interface (SPI) and a default implementation that implements terminology services using `CodeSystem`, `ValueSet`, and `ConceptMap` resources that have been made available through the FHIR registry module ([fhir-registry](https://github.com/IBM/FHIR/tree/main/fhir-registry)). ## FHIR Terminology Service Diagram @@ -36,11 +36,11 @@ NOTE: `closure(CodeSystem, Set)`, `getConcepts(CodeSystem, Function)`, `getConce ## Registry Terminology Service Provider Implementation -The default implementation of `FHIRTermServiceProvider` ([RegistryTermServiceProvider](https://github.com/IBM/FHIR/blob/main/fhir-term/src/main/java/com/ibm/fhir/term/service/provider/RegistryTermServiceProvider.java)) leverages terminology resources (`CodeSystem`, `ValueSet`, and `ConceptMap`) that have been made available through the FHIR registry module ([fhir-registry](https://github.com/IBM/FHIR/tree/main/fhir-registry)). It supports `CodeSystem` resources with *complete* content (`CodeSystem.content = 'complete'`) and `ValueSet` resources that reference `CodeSystem` resources that have complete content. +The default implementation of `FHIRTermServiceProvider` ([RegistryTermServiceProvider](https://github.com/IBM/FHIR/blob/main/term/fhir-term/src/main/java/com/ibm/fhir/term/service/provider/RegistryTermServiceProvider.java)) leverages terminology resources (`CodeSystem`, `ValueSet`, and `ConceptMap`) that have been made available through the FHIR registry module ([fhir-registry](https://github.com/IBM/FHIR/tree/main/fhir-registry)). It supports `CodeSystem` resources with *complete* content (`CodeSystem.content = 'complete'`) and `ValueSet` resources that reference `CodeSystem` resources that have complete content. ## FHIR Terminology Service Singleton Facade -The FHIR Terminology Service Singleton facade ([FHIRTermService](https://github.com/IBM/FHIR/blob/main/fhir-term/src/main/java/com/ibm/fhir/term/service/FHIRTermService.java)) loads a list of `FHIRTermServiceProvider` instances from the ServiceLoader and includes an instance of the `RegistryTermServiceProvider`. Client code (Java) that requires terminology capabilities should access them via the `FHIRTermService` singleton facade. Here is an example: +The FHIR Terminology Service Singleton facade ([FHIRTermService](https://github.com/IBM/FHIR/blob/main/term/fhir-term/src/main/java/com/ibm/fhir/term/service/FHIRTermService.java)) loads a list of `FHIRTermServiceProvider` instances from the ServiceLoader and includes an instance of the `RegistryTermServiceProvider`. Client code (Java) that requires terminology capabilities should access them via the `FHIRTermService` singleton facade. Here is an example: ```java ValueSet valueSet = ValueSetSupport.getValueSet("http://ibm.com/fhir/ValueSet/vs1"); @@ -73,7 +73,7 @@ NOTE: The current implementation of `FHIRTermService` does not support optional ## FHIR Server Terminology Extended Operations -The FHIR terminology operations module ([fhir-operation-term](https://github.com/IBM/FHIR/tree/main/operation/fhir-operation-term)) connects the FHIR Server REST layer to the FHIR terminology module via the operations framework. This module implements the terminology operations as defined in the FHIR terminology service specification [http://hl7.org/fhir/terminology-service.html](http://hl7.org/fhir/terminology-service.html). One exception is the `$closure` operation. The `$closure` operation is experimental and does not support versioning or replay. This means that the `$closure` operation will always return the set of closure table entries for the given input concepts and does not store client state. +The FHIR terminology operations module ([fhir-operation-term](https://github.com/IBM/FHIR/tree/main/term/operation/fhir-operation-term)) connects the FHIR Server REST layer to the FHIR terminology module via the operations framework. This module implements the terminology operations as defined in the FHIR terminology service specification [http://hl7.org/fhir/terminology-service.html](http://hl7.org/fhir/terminology-service.html). One exception is the `$closure` operation. The `$closure` operation is experimental and does not support versioning or replay. This means that the `$closure` operation will always return the set of closure table entries for the given input concepts and does not store client state. ## FHIRPath Terminology Functions @@ -107,7 +107,7 @@ Additionally, the FHIRPath functions `subsumedBy` and `subsumes` have been imple ## Graph Terminology Service Provider Implementation (experimental) -The FHIR term graph module [fhir-term-graph](https://github.com/IBM/FHIR/tree/main/fhir-term-graph) provides an implementation of `FHIRTermServiceProvider` that is backed by a graph database ([JanusGraph](https://janusgraph.org)). The module also contains term graph loaders for SNOMED-CT Release Format 2 (RF2) files (SnomedTermGraphLoader), UMLS Rich Release Format (RRF) files (UMLSTermGraphLoader), and FHIR CodeSystem resources (CodeSystemTermGraphLoader). Graph term service providers may be enabled / configured through the `fhir-server-config.json` file per the configuration properties specified in the [FHIR Server User's Guide](https://ibm.github.io/FHIR/guides/FHIRServerUsersGuide#51-configuration-properties-reference). +The FHIR term graph module [fhir-term-graph](https://github.com/IBM/FHIR/tree/main/term/fhir-term-graph) provides an implementation of `FHIRTermServiceProvider` that is backed by a graph database ([JanusGraph](https://janusgraph.org)). The module also contains term graph loaders for SNOMED-CT Release Format 2 (RF2) files (SnomedTermGraphLoader), UMLS Rich Release Format (RRF) files (UMLSTermGraphLoader), and FHIR CodeSystem resources (CodeSystemTermGraphLoader). Graph term service providers may be enabled / configured through the `fhir-server-config.json` file per the configuration properties specified in the [FHIR Server User's Guide](https://ibm.github.io/FHIR/guides/FHIRServerUsersGuide#51-configuration-properties-reference). Example configurations: @@ -144,7 +144,7 @@ Example configurations: ## Remote Terminology Service Provider Implementation (experimental) -The FHIR term remote module [fhir-term-remote](https://github.com/IBM/FHIR/tree/main/fhir-term-remote) provides an implementation of `FHIRTermServiceProvider` that connects to an external service using a REST client to access code system content. The external service must implement the FHIR REST terminology APIs documented [here](http://hl7.org/fhir/terminology-service.html). Remote term service providers may be enabled / configured through the `fhir-server-config.json` file per the configuration properties specified in the [FHIR Server User's Guide](https://ibm.github.io/FHIR/guides/FHIRServerUsersGuide#51-configuration-properties-reference). +The FHIR term remote module [fhir-term-remote](https://github.com/IBM/FHIR/tree/main/term/fhir-term-remote) provides an implementation of `FHIRTermServiceProvider` that connects to an external service using a REST client to access code system content. The external service must implement the FHIR REST terminology APIs documented [here](http://hl7.org/fhir/terminology-service.html). Remote term service providers may be enabled / configured through the `fhir-server-config.json` file per the configuration properties specified in the [FHIR Server User's Guide](https://ibm.github.io/FHIR/guides/FHIRServerUsersGuide#51-configuration-properties-reference). Example configurations: diff --git a/fhir-parent/pom.xml b/fhir-parent/pom.xml index a25704ee17c..dbe61ad0f05 100644 --- a/fhir-parent/pom.xml +++ b/fhir-parent/pom.xml @@ -81,9 +81,7 @@ ../fhir-model ../fhir-audit ../fhir-registry - ../fhir-term - ../fhir-term-graph - ../fhir-term-remote + ../term ../fhir-path ../fhir-profile ../fhir-validation @@ -105,8 +103,6 @@ ../operation/fhir-operation-document ../operation/fhir-operation-healthcheck ../operation/fhir-operation-convert - ../operation/fhir-operation-term - ../operation/fhir-operation-term-cache ../operation/fhir-operation-reindex ../operation/fhir-operation-bulkdata ../operation/fhir-operation-everything diff --git a/term/fhir-term-graph-loader/pom.xml b/term/fhir-term-graph-loader/pom.xml new file mode 100644 index 00000000000..2bb18b49ac6 --- /dev/null +++ b/term/fhir-term-graph-loader/pom.xml @@ -0,0 +1,114 @@ + + 4.0.0 + + com.ibm.fhir + fhir-term-parent + 4.10.0-SNAPSHOT + ../ + + fhir-term-graph-loader + + + ${project.groupId} + fhir-term + ${project.version} + + + ${project.groupId} + fhir-term + ${project.version} + test-jar + test + + + ${project.groupId} + fhir-term-graph + ${project.version} + + + org.janusgraph + janusgraph-core + + + org.noggit + noggit + + + org.apache.tinkerpop + gremlin-groovy + + + org.glassfish + javax.json + + + com.google.code.findbugs + jsr305 + + + org.locationtech.spatial4j + spatial4j + + + + + org.janusgraph + janusgraph-berkeleyje + + + + org.janusgraph + janusgraph-cql + provided + + + org.janusgraph + janusgraph-lucene + + + org.apache.lucene + lucene-spatial + + + + + + org.janusgraph + janusgraph-es + provided + + + org.apache.tinkerpop + gremlin-driver + + + org.slf4j + jcl-over-slf4j + + + org.codehaus.groovy + groovy-json + + + org.codehaus.groovy + groovy + + + + + org.testng + testng + test + + + commons-cli + commons-cli + + + com.ibm.cos + ibm-cos-java-sdk + + + \ No newline at end of file diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/FHIRTermGraphLoader.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/FHIRTermGraphLoader.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/FHIRTermGraphLoader.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/FHIRTermGraphLoader.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/factory/FHIRTermGraphLoaderFactory.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/factory/FHIRTermGraphLoaderFactory.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/factory/FHIRTermGraphLoaderFactory.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/factory/FHIRTermGraphLoaderFactory.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/impl/AbstractTermGraphLoader.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/impl/AbstractTermGraphLoader.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/impl/AbstractTermGraphLoader.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/impl/AbstractTermGraphLoader.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/impl/CodeSystemTermGraphLoader.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/impl/CodeSystemTermGraphLoader.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/impl/CodeSystemTermGraphLoader.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/impl/CodeSystemTermGraphLoader.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/impl/SnomedICD10MapTermGraphLoader.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/impl/SnomedICD10MapTermGraphLoader.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/impl/SnomedICD10MapTermGraphLoader.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/impl/SnomedICD10MapTermGraphLoader.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/impl/SnomedTermGraphLoader.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/impl/SnomedTermGraphLoader.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/impl/SnomedTermGraphLoader.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/impl/SnomedTermGraphLoader.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/impl/UMLSTermGraphLoader.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/impl/UMLSTermGraphLoader.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/impl/UMLSTermGraphLoader.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/impl/UMLSTermGraphLoader.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/main/FHIRTermGraphLoaderMain.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/main/FHIRTermGraphLoaderMain.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/main/FHIRTermGraphLoaderMain.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/main/FHIRTermGraphLoaderMain.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/util/COSObject.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/util/COSObject.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/util/COSObject.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/util/COSObject.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/util/ConfigLoader.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/util/ConfigLoader.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/util/ConfigLoader.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/util/ConfigLoader.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/util/FHIRTermGraphLoaderUtil.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/util/FHIRTermGraphLoaderUtil.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/util/FHIRTermGraphLoaderUtil.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/util/FHIRTermGraphLoaderUtil.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/util/LabelFilter.java b/term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/util/LabelFilter.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/loader/util/LabelFilter.java rename to term/fhir-term-graph-loader/src/main/java/com/ibm/fhir/term/graph/loader/util/LabelFilter.java diff --git a/fhir-term-graph/src/main/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider b/term/fhir-term-graph-loader/src/main/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider similarity index 100% rename from fhir-term-graph/src/main/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider rename to term/fhir-term-graph-loader/src/main/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider diff --git a/fhir-term-graph/src/main/resources/conf/umlsCodesystemMap.properties b/term/fhir-term-graph-loader/src/main/resources/conf/umlsCodesystemMap.properties similarity index 100% rename from fhir-term-graph/src/main/resources/conf/umlsCodesystemMap.properties rename to term/fhir-term-graph-loader/src/main/resources/conf/umlsCodesystemMap.properties diff --git a/fhir-term-graph/src/main/resources/conf/umlsSourceCaseSensitivity.txt b/term/fhir-term-graph-loader/src/main/resources/conf/umlsSourceCaseSensitivity.txt similarity index 100% rename from fhir-term-graph/src/main/resources/conf/umlsSourceCaseSensitivity.txt rename to term/fhir-term-graph-loader/src/main/resources/conf/umlsSourceCaseSensitivity.txt diff --git a/fhir-term-graph/src/main/resources/logback.xml b/term/fhir-term-graph-loader/src/main/resources/logback.xml similarity index 100% rename from fhir-term-graph/src/main/resources/logback.xml rename to term/fhir-term-graph-loader/src/main/resources/logback.xml diff --git a/fhir-term-graph/src/main/resources/snomed/codesystem-snomedct.json b/term/fhir-term-graph-loader/src/main/resources/snomed/codesystem-snomedct.json similarity index 100% rename from fhir-term-graph/src/main/resources/snomed/codesystem-snomedct.json rename to term/fhir-term-graph-loader/src/main/resources/snomed/codesystem-snomedct.json diff --git a/fhir-term-graph/src/test/docker/docker-compose.yml b/term/fhir-term-graph-loader/src/test/docker/docker-compose.yml similarity index 100% rename from fhir-term-graph/src/test/docker/docker-compose.yml rename to term/fhir-term-graph-loader/src/test/docker/docker-compose.yml diff --git a/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/CodeSystemTermGraphLoaderTest.java b/term/fhir-term-graph-loader/src/test/java/com/ibm/fhir/term/graph/test/CodeSystemTermGraphLoaderTest.java similarity index 100% rename from fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/CodeSystemTermGraphLoaderTest.java rename to term/fhir-term-graph-loader/src/test/java/com/ibm/fhir/term/graph/test/CodeSystemTermGraphLoaderTest.java diff --git a/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/GraphTermServiceProviderTest.java b/term/fhir-term-graph-loader/src/test/java/com/ibm/fhir/term/graph/test/GraphTermServiceProviderTest.java similarity index 100% rename from fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/GraphTermServiceProviderTest.java rename to term/fhir-term-graph-loader/src/test/java/com/ibm/fhir/term/graph/test/GraphTermServiceProviderTest.java diff --git a/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/GraphTermServiceProviderTimeLimitTest.java b/term/fhir-term-graph-loader/src/test/java/com/ibm/fhir/term/graph/test/GraphTermServiceProviderTimeLimitTest.java similarity index 100% rename from fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/GraphTermServiceProviderTimeLimitTest.java rename to term/fhir-term-graph-loader/src/test/java/com/ibm/fhir/term/graph/test/GraphTermServiceProviderTimeLimitTest.java diff --git a/fhir-term-graph/src/test/kubernetes/elasticsearch.yaml b/term/fhir-term-graph-loader/src/test/kubernetes/elasticsearch.yaml similarity index 100% rename from fhir-term-graph/src/test/kubernetes/elasticsearch.yaml rename to term/fhir-term-graph-loader/src/test/kubernetes/elasticsearch.yaml diff --git a/fhir-term-graph/src/test/kubernetes/k8ssandra.yaml b/term/fhir-term-graph-loader/src/test/kubernetes/k8ssandra.yaml similarity index 100% rename from fhir-term-graph/src/test/kubernetes/k8ssandra.yaml rename to term/fhir-term-graph-loader/src/test/kubernetes/k8ssandra.yaml diff --git a/fhir-term-graph/src/test/kubernetes/umlsTermGraphLoader.yml b/term/fhir-term-graph-loader/src/test/kubernetes/umlsTermGraphLoader.yml similarity index 100% rename from fhir-term-graph/src/test/kubernetes/umlsTermGraphLoader.yml rename to term/fhir-term-graph-loader/src/test/kubernetes/umlsTermGraphLoader.yml diff --git a/fhir-term-graph/src/test/resources/conf/janusgraph-berkeleyje-lucene.properties b/term/fhir-term-graph-loader/src/test/resources/conf/janusgraph-berkeleyje-lucene.properties similarity index 100% rename from fhir-term-graph/src/test/resources/conf/janusgraph-berkeleyje-lucene.properties rename to term/fhir-term-graph-loader/src/test/resources/conf/janusgraph-berkeleyje-lucene.properties diff --git a/fhir-term-graph/src/test/resources/conf/janusgraph-cassandra-elasticsearch.properties b/term/fhir-term-graph-loader/src/test/resources/conf/janusgraph-cassandra-elasticsearch.properties similarity index 100% rename from fhir-term-graph/src/test/resources/conf/janusgraph-cassandra-elasticsearch.properties rename to term/fhir-term-graph-loader/src/test/resources/conf/janusgraph-cassandra-elasticsearch.properties diff --git a/fhir-term-graph/pom.xml b/term/fhir-term-graph/pom.xml similarity index 94% rename from fhir-term-graph/pom.xml rename to term/fhir-term-graph/pom.xml index b45708b2729..e981a2e155c 100644 --- a/fhir-term-graph/pom.xml +++ b/term/fhir-term-graph/pom.xml @@ -4,9 +4,9 @@ 4.0.0 com.ibm.fhir - fhir-parent + fhir-term-parent 4.10.0-SNAPSHOT - ../fhir-parent + ../ fhir-term-graph @@ -101,9 +101,5 @@ commons-cli commons-cli - - com.ibm.cos - ibm-cos-java-sdk - \ No newline at end of file diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/FHIRTermGraph.java b/term/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/FHIRTermGraph.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/FHIRTermGraph.java rename to term/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/FHIRTermGraph.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/factory/FHIRTermGraphFactory.java b/term/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/factory/FHIRTermGraphFactory.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/factory/FHIRTermGraphFactory.java rename to term/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/factory/FHIRTermGraphFactory.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/impl/FHIRTermGraphImpl.java b/term/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/impl/FHIRTermGraphImpl.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/impl/FHIRTermGraphImpl.java rename to term/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/impl/FHIRTermGraphImpl.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/provider/GraphTermServiceProvider.java b/term/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/provider/GraphTermServiceProvider.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/provider/GraphTermServiceProvider.java rename to term/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/provider/GraphTermServiceProvider.java diff --git a/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/registry/SnomedRegistryResourceProvider.java b/term/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/registry/SnomedRegistryResourceProvider.java similarity index 100% rename from fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/registry/SnomedRegistryResourceProvider.java rename to term/fhir-term-graph/src/main/java/com/ibm/fhir/term/graph/registry/SnomedRegistryResourceProvider.java diff --git a/term/fhir-term-graph/src/main/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider b/term/fhir-term-graph/src/main/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider new file mode 100644 index 00000000000..60faf4bc9a1 --- /dev/null +++ b/term/fhir-term-graph/src/main/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider @@ -0,0 +1 @@ +com.ibm.fhir.term.graph.registry.SnomedRegistryResourceProvider \ No newline at end of file diff --git a/term/fhir-term-graph/src/main/resources/conf/umlsCodesystemMap.properties b/term/fhir-term-graph/src/main/resources/conf/umlsCodesystemMap.properties new file mode 100644 index 00000000000..3b1e5b21e8c --- /dev/null +++ b/term/fhir-term-graph/src/main/resources/conf/umlsCodesystemMap.properties @@ -0,0 +1 @@ +SNOMEDCT_US=http://snomed.info/sct \ No newline at end of file diff --git a/term/fhir-term-graph/src/main/resources/conf/umlsSourceCaseSensitivity.txt b/term/fhir-term-graph/src/main/resources/conf/umlsSourceCaseSensitivity.txt new file mode 100644 index 00000000000..d1ea8db470c --- /dev/null +++ b/term/fhir-term-graph/src/main/resources/conf/umlsSourceCaseSensitivity.txt @@ -0,0 +1,3 @@ +HL7V2.5 +HL7V3.0 +NCI_UCUM \ No newline at end of file diff --git a/term/fhir-term-graph/src/main/resources/logback.xml b/term/fhir-term-graph/src/main/resources/logback.xml new file mode 100644 index 00000000000..08428705812 --- /dev/null +++ b/term/fhir-term-graph/src/main/resources/logback.xml @@ -0,0 +1,15 @@ + + + + + + %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n + + + + + + + + + \ No newline at end of file diff --git a/term/fhir-term-graph/src/main/resources/snomed/codesystem-snomedct.json b/term/fhir-term-graph/src/main/resources/snomed/codesystem-snomedct.json new file mode 100644 index 00000000000..d8ab93933ff --- /dev/null +++ b/term/fhir-term-graph/src/main/resources/snomed/codesystem-snomedct.json @@ -0,0 +1,493 @@ +{ + "resourceType": "CodeSystem", + "id": "snomedct", + "text": { + "status": "generated", + "div": "
\n

SNOMED CT (all versions)

\n
\n

SNOMED CT is the most comprehensive and precise clinical health terminology product in the world, owned and distributed around the world by The International Health Terminology Standards Development Organisation (IHTSDO).

\n\n
\n

\n Copyright Statement:\n

\n
\n

© 2002-2016 International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. "SNOMED" and "SNOMED CT" are registered trademarks of the IHTSDO http://www.ihtsdo.org/snomed-ct/get-snomed-ct

\n\n
\n

\n Properties\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Code\n \n URL\n \n Description\n \n Type\n
inactivehttp://snomed.info/field/Concept.activeWhether the code is active or not (defaults to false). Not the same as deprecatedboolean
definitionStatusIdhttp://snomed.info/field/Concept.definitionStatusIdEither of the codes that are descendants of 900000000000444006code
parenthttp://.........?A SNOMED CT concept id that has the target of a direct is-a relationship from the conceptcode
childhttp://.........?A SNOMED CT concept id that has a direct is-a relationship to the conceptcode
moduleIdhttp://snomed.info/field/Concept.moduleIdThe SNOMED CT concept id of the module that the concept belongs to.code
normalFormhttp://.........?Generated Normal form expression for the provided code or expression, with termsstring
normalFormTersehttp://.........?Generated Normal form expression for the provided code or expression, conceptIds onlystring
Due tohttp://snomed.info/id/42752001\n code
Associated withhttp://snomed.info/id/47429007\n code
Associated morphologyhttp://snomed.info/id/116676008\n code
Has specimenhttp://snomed.info/id/116686009\n code
Specimen source morphologyhttp://snomed.info/id/118168003\n code
Specimen source topographyhttp://snomed.info/id/118169006\n code
Specimen source identityhttp://snomed.info/id/118170007\n code
Specimen procedurehttp://snomed.info/id/118171006\n code
Part ofhttp://snomed.info/id/123005000\n code
Has active ingredienthttp://snomed.info/id/127489000\n code
Subject of informationhttp://snomed.info/id/131195008\n code
Causative agenthttp://snomed.info/id/246075003\n code
Associated findinghttp://snomed.info/id/246090004\n code
Componenthttp://snomed.info/id/246093002\n code
Severityhttp://snomed.info/id/246112005\n code
Occurrencehttp://snomed.info/id/246454002\n code
Episodicityhttp://snomed.info/id/246456000\n code
Techniquehttp://snomed.info/id/246501002\n code
Revision statushttp://snomed.info/id/246513007\n code
Unitshttp://snomed.info/id/246514001\n code
Afterhttp://snomed.info/id/255234002\n code
Accesshttp://snomed.info/id/260507000\n code
Methodhttp://snomed.info/id/260686004\n code
Priorityhttp://snomed.info/id/260870009\n code
Clinical coursehttp://snomed.info/id/263502005\n code
Lateralityhttp://snomed.info/id/272741003\n code
Associated procedurehttp://snomed.info/id/363589002\n code
Finding sitehttp://snomed.info/id/363698007\n code
Lateralityhttp://snomed.info/id/363699004\n code
Direct morphologyhttp://snomed.info/id/363700003\n code
Direct substancehttp://snomed.info/id/363701004\n code
Has focushttp://snomed.info/id/363702006\n code
Has intenthttp://snomed.info/id/363703001\n code
Procedure sitehttp://snomed.info/id/363704007\n code
Has definitional manifestationhttp://snomed.info/id/363705008\n code
Indirect morphologyhttp://snomed.info/id/363709002\n code
Indirect devicehttp://snomed.info/id/363710007\n code
Has interpretationhttp://snomed.info/id/363713009\n code
Interpretshttp://snomed.info/id/363714003\n code
Measurement methodhttp://snomed.info/id/370129005\n code
Propertyhttp://snomed.info/id/370130000\n code
Recipient categoryhttp://snomed.info/id/370131001\n code
Scale typehttp://snomed.info/id/370132008\n code
Specimen substancehttp://snomed.info/id/370133003\n code
Time aspecthttp://snomed.info/id/370134009\n code
Pathological processhttp://snomed.info/id/370135005\n code
Procedure site - Directhttp://snomed.info/id/405813007\n code
Procedure site - Indirecthttp://snomed.info/id/405814001\n code
Procedure devicehttp://snomed.info/id/405815000\n code
Procedure morphologyhttp://snomed.info/id/405816004\n code
Finding contexthttp://snomed.info/id/408729009\n code
Procedure contexthttp://snomed.info/id/408730004\n code
Temporal contexthttp://snomed.info/id/408731000\n code
Subject relationship contexthttp://snomed.info/id/408732007\n code
Route of administrationhttp://snomed.info/id/410675002\n code
Has dose formhttp://snomed.info/id/411116001\n code
Finding methodhttp://snomed.info/id/418775008\n code
Finding informerhttp://snomed.info/id/419066007\n code
Using devicehttp://snomed.info/id/424226004\n code
Using energyhttp://snomed.info/id/424244007\n code
Using substancehttp://snomed.info/id/424361007\n code
Surgical approachhttp://snomed.info/id/424876005\n code
Using access devicehttp://snomed.info/id/425391005\n code
Role grouphttp://snomed.info/id/609096000\n code
Property typehttp://snomed.info/id/704318007\n code
Inheres inhttp://snomed.info/id/704319004\n code
Towardshttp://snomed.info/id/704320005\n code
Characterizeshttp://snomed.info/id/704321009\n code
Process agenthttp://snomed.info/id/704322002\n code
Process durationhttp://snomed.info/id/704323007\n code
Process outputhttp://snomed.info/id/704324001\n code
Relative tohttp://snomed.info/id/704325000\n code
Preconditionhttp://snomed.info/id/704326004\n code
Direct sitehttp://snomed.info/id/704327008\n code
Specified byhttp://snomed.info/id/704346009\n code
Observeshttp://snomed.info/id/704347000\n code
Is abouthttp://snomed.info/id/704647008\n code
\n

\n Filters\n

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Code\n \n Description\n \n operator\n \n Value\n
conceptFilter that includes concepts based on their logical definition. e.g. [concept] [is-a] [x] - include all concepts with an is-a relationship to concept x, or [concept] [in] [x]- include all concepts in the reference set identified by concept xis-a in A SNOMED CT code
expressionThe result of the filter is the result of executing the given SNOMED CT Expression Constraint= A SNOMED CT ECL expression (see http://snomed.org/ecl)
expressionsWhether post-coordinated expressions are included in the value set= true or false
\n

This code system http://snomed.info/sct defines many codes, but they are not represented here

\n
" + }, + "url": "http://snomed.info/sct", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:2.16.840.1.113883.6.96" + } + ], + "name": "SNOMED_CT", + "title": "SNOMED CT (all versions)", + "status": "active", + "experimental": false, + "publisher": "IHTSDO", + "contact": [ + { + "telecom": [ + { + "system": "url", + "value": "http://ihtsdo.org" + } + ] + } + ], + "description": "SNOMED CT is the most comprehensive and precise clinical health terminology product in the world, owned and distributed around the world by The International Health Terminology Standards Development Organisation (IHTSDO).", + "copyright": "© 2002-2016 International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. \"SNOMED\" and \"SNOMED CT\" are registered trademarks of the IHTSDO http://www.ihtsdo.org/snomed-ct/get-snomed-ct", + "caseSensitive": false, + "hierarchyMeaning": "is-a", + "compositional": true, + "versionNeeded": false, + "content": "not-present", + "filter": [ + { + "code": "concept", + "description": "Filter that includes concepts based on their logical definition. e.g. [concept] [is-a] [x] - include all concepts with an is-a relationship to concept x, or [concept] [in] [x]- include all concepts in the reference set identified by concept x", + "operator": [ + "is-a", + "in" + ], + "value": "A SNOMED CT code" + }, + { + "code": "expression", + "description": "The result of the filter is the result of executing the given SNOMED CT Expression Constraint", + "operator": [ + "=" + ], + "value": "A SNOMED CT ECL expression (see http://snomed.org/ecl)" + }, + { + "code": "expressions", + "description": "Whether post-coordinated expressions are included in the value set", + "operator": [ + "=" + ], + "value": "true or false" + } + ], + "property": [ + { + "code": "inactive", + "uri": "http://snomed.info/field/Concept.active", + "description": "Whether the code is active or not (defaults to false). Not the same as deprecated", + "type": "boolean" + }, + { + "code": "definitionStatusId", + "uri": "http://snomed.info/field/Concept.definitionStatusId", + "description": "Either of the codes that are descendants of 900000000000444006", + "type": "code" + }, + { + "code": "parent", + "uri": "http://.........?", + "description": "A SNOMED CT concept id that has the target of a direct is-a relationship from the concept", + "type": "code" + }, + { + "code": "child", + "uri": "http://.........?", + "description": "A SNOMED CT concept id that has a direct is-a relationship to the concept", + "type": "code" + }, + { + "code": "moduleId", + "uri": "http://snomed.info/field/Concept.moduleId", + "description": "The SNOMED CT concept id of the module that the concept belongs to.", + "type": "code" + }, + { + "code": "normalForm", + "uri": "http://.........?", + "description": "Generated Normal form expression for the provided code or expression, with terms", + "type": "string" + }, + { + "code": "normalFormTerse", + "uri": "http://.........?", + "description": "Generated Normal form expression for the provided code or expression, conceptIds only", + "type": "string" + }, + { + "code": "Due to", + "uri": "http://snomed.info/id/42752001", + "type": "code" + }, + { + "code": "Associated with", + "uri": "http://snomed.info/id/47429007", + "type": "code" + }, + { + "code": "Associated morphology", + "uri": "http://snomed.info/id/116676008", + "type": "code" + }, + { + "code": "Has specimen", + "uri": "http://snomed.info/id/116686009", + "type": "code" + }, + { + "code": "Specimen source morphology", + "uri": "http://snomed.info/id/118168003", + "type": "code" + }, + { + "code": "Specimen source topography", + "uri": "http://snomed.info/id/118169006", + "type": "code" + }, + { + "code": "Specimen source identity", + "uri": "http://snomed.info/id/118170007", + "type": "code" + }, + { + "code": "Specimen procedure", + "uri": "http://snomed.info/id/118171006", + "type": "code" + }, + { + "code": "Part of", + "uri": "http://snomed.info/id/123005000", + "type": "code" + }, + { + "code": "Has active ingredient", + "uri": "http://snomed.info/id/127489000", + "type": "code" + }, + { + "code": "Subject of information", + "uri": "http://snomed.info/id/131195008", + "type": "code" + }, + { + "code": "Causative agent", + "uri": "http://snomed.info/id/246075003", + "type": "code" + }, + { + "code": "Associated finding", + "uri": "http://snomed.info/id/246090004", + "type": "code" + }, + { + "code": "Component", + "uri": "http://snomed.info/id/246093002", + "type": "code" + }, + { + "code": "Severity", + "uri": "http://snomed.info/id/246112005", + "type": "code" + }, + { + "code": "Occurrence", + "uri": "http://snomed.info/id/246454002", + "type": "code" + }, + { + "code": "Episodicity", + "uri": "http://snomed.info/id/246456000", + "type": "code" + }, + { + "code": "Technique", + "uri": "http://snomed.info/id/246501002", + "type": "code" + }, + { + "code": "Revision status", + "uri": "http://snomed.info/id/246513007", + "type": "code" + }, + { + "code": "Units", + "uri": "http://snomed.info/id/246514001", + "type": "code" + }, + { + "code": "After", + "uri": "http://snomed.info/id/255234002", + "type": "code" + }, + { + "code": "Access", + "uri": "http://snomed.info/id/260507000", + "type": "code" + }, + { + "code": "Method", + "uri": "http://snomed.info/id/260686004", + "type": "code" + }, + { + "code": "Priority", + "uri": "http://snomed.info/id/260870009", + "type": "code" + }, + { + "code": "Clinical course", + "uri": "http://snomed.info/id/263502005", + "type": "code" + }, + { + "code": "Laterality", + "uri": "http://snomed.info/id/272741003", + "type": "code" + }, + { + "code": "Associated procedure", + "uri": "http://snomed.info/id/363589002", + "type": "code" + }, + { + "code": "Finding site", + "uri": "http://snomed.info/id/363698007", + "type": "code" + }, + { + "code": "Laterality", + "uri": "http://snomed.info/id/363699004", + "type": "code" + }, + { + "code": "Direct morphology", + "uri": "http://snomed.info/id/363700003", + "type": "code" + }, + { + "code": "Direct substance", + "uri": "http://snomed.info/id/363701004", + "type": "code" + }, + { + "code": "Has focus", + "uri": "http://snomed.info/id/363702006", + "type": "code" + }, + { + "code": "Has intent", + "uri": "http://snomed.info/id/363703001", + "type": "code" + }, + { + "code": "Procedure site", + "uri": "http://snomed.info/id/363704007", + "type": "code" + }, + { + "code": "Has definitional manifestation", + "uri": "http://snomed.info/id/363705008", + "type": "code" + }, + { + "code": "Indirect morphology", + "uri": "http://snomed.info/id/363709002", + "type": "code" + }, + { + "code": "Indirect device", + "uri": "http://snomed.info/id/363710007", + "type": "code" + }, + { + "code": "Has interpretation", + "uri": "http://snomed.info/id/363713009", + "type": "code" + }, + { + "code": "Interprets", + "uri": "http://snomed.info/id/363714003", + "type": "code" + }, + { + "code": "Measurement method", + "uri": "http://snomed.info/id/370129005", + "type": "code" + }, + { + "code": "Property", + "uri": "http://snomed.info/id/370130000", + "type": "code" + }, + { + "code": "Recipient category", + "uri": "http://snomed.info/id/370131001", + "type": "code" + }, + { + "code": "Scale type", + "uri": "http://snomed.info/id/370132008", + "type": "code" + }, + { + "code": "Specimen substance", + "uri": "http://snomed.info/id/370133003", + "type": "code" + }, + { + "code": "Time aspect", + "uri": "http://snomed.info/id/370134009", + "type": "code" + }, + { + "code": "Pathological process", + "uri": "http://snomed.info/id/370135005", + "type": "code" + }, + { + "code": "Procedure site - Direct", + "uri": "http://snomed.info/id/405813007", + "type": "code" + }, + { + "code": "Procedure site - Indirect", + "uri": "http://snomed.info/id/405814001", + "type": "code" + }, + { + "code": "Procedure device", + "uri": "http://snomed.info/id/405815000", + "type": "code" + }, + { + "code": "Procedure morphology", + "uri": "http://snomed.info/id/405816004", + "type": "code" + }, + { + "code": "Finding context", + "uri": "http://snomed.info/id/408729009", + "type": "code" + }, + { + "code": "Procedure context", + "uri": "http://snomed.info/id/408730004", + "type": "code" + }, + { + "code": "Temporal context", + "uri": "http://snomed.info/id/408731000", + "type": "code" + }, + { + "code": "Subject relationship context", + "uri": "http://snomed.info/id/408732007", + "type": "code" + }, + { + "code": "Route of administration", + "uri": "http://snomed.info/id/410675002", + "type": "code" + }, + { + "code": "Has dose form", + "uri": "http://snomed.info/id/411116001", + "type": "code" + }, + { + "code": "Finding method", + "uri": "http://snomed.info/id/418775008", + "type": "code" + }, + { + "code": "Finding informer", + "uri": "http://snomed.info/id/419066007", + "type": "code" + }, + { + "code": "Using device", + "uri": "http://snomed.info/id/424226004", + "type": "code" + }, + { + "code": "Using energy", + "uri": "http://snomed.info/id/424244007", + "type": "code" + }, + { + "code": "Using substance", + "uri": "http://snomed.info/id/424361007", + "type": "code" + }, + { + "code": "Surgical approach", + "uri": "http://snomed.info/id/424876005", + "type": "code" + }, + { + "code": "Using access device", + "uri": "http://snomed.info/id/425391005", + "type": "code" + }, + { + "code": "Role group", + "uri": "http://snomed.info/id/609096000", + "type": "code" + }, + { + "code": "Property type", + "uri": "http://snomed.info/id/704318007", + "type": "code" + }, + { + "code": "Inheres in", + "uri": "http://snomed.info/id/704319004", + "type": "code" + }, + { + "code": "Towards", + "uri": "http://snomed.info/id/704320005", + "type": "code" + }, + { + "code": "Characterizes", + "uri": "http://snomed.info/id/704321009", + "type": "code" + }, + { + "code": "Process agent", + "uri": "http://snomed.info/id/704322002", + "type": "code" + }, + { + "code": "Process duration", + "uri": "http://snomed.info/id/704323007", + "type": "code" + }, + { + "code": "Process output", + "uri": "http://snomed.info/id/704324001", + "type": "code" + }, + { + "code": "Relative to", + "uri": "http://snomed.info/id/704325000", + "type": "code" + }, + { + "code": "Precondition", + "uri": "http://snomed.info/id/704326004", + "type": "code" + }, + { + "code": "Direct site", + "uri": "http://snomed.info/id/704327008", + "type": "code" + }, + { + "code": "Specified by", + "uri": "http://snomed.info/id/704346009", + "type": "code" + }, + { + "code": "Observes", + "uri": "http://snomed.info/id/704347000", + "type": "code" + }, + { + "code": "Is about", + "uri": "http://snomed.info/id/704647008", + "type": "code" + } + ] +} \ No newline at end of file diff --git a/term/fhir-term-graph/src/test/docker/docker-compose.yml b/term/fhir-term-graph/src/test/docker/docker-compose.yml new file mode 100644 index 00000000000..d0990053e43 --- /dev/null +++ b/term/fhir-term-graph/src/test/docker/docker-compose.yml @@ -0,0 +1,33 @@ +version: "3" + +services: + cassandra: + image: cassandra:3.11.0 + container_name: fhir-cassandra + ports: + - "9042:9042" + - "9160:9160" + networks: + - fhir-network + + elasticsearch: + image: elasticsearch:7.6.2 + container_name: fhir-elasticsearch + environment: + - "ES_JAVA_OPTS=-Xms512m -Xmx512m" + - "http.host=0.0.0.0" + - "network.host=0.0.0.0" + - "transport.host=127.0.0.1" + - "cluster.name=docker-cluster" + - "xpack.security.enabled=false" + - "discovery.zen.minimum_master_nodes=1" + ports: + - "9200:9200" + networks: + - fhir-network + +networks: + fhir-network: +volumes: + fhir-default-data: + diff --git a/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/FHIRTermGraphTest.java b/term/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/FHIRTermGraphTest.java similarity index 100% rename from fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/FHIRTermGraphTest.java rename to term/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/FHIRTermGraphTest.java diff --git a/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/SnomedGraphTermServiceProviderTest.java b/term/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/SnomedGraphTermServiceProviderTest.java similarity index 100% rename from fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/SnomedGraphTermServiceProviderTest.java rename to term/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/SnomedGraphTermServiceProviderTest.java diff --git a/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/SnomedRegistryResourceProviderTest.java b/term/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/SnomedRegistryResourceProviderTest.java similarity index 100% rename from fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/SnomedRegistryResourceProviderTest.java rename to term/fhir-term-graph/src/test/java/com/ibm/fhir/term/graph/test/SnomedRegistryResourceProviderTest.java diff --git a/term/fhir-term-graph/src/test/kubernetes/elasticsearch.yaml b/term/fhir-term-graph/src/test/kubernetes/elasticsearch.yaml new file mode 100644 index 00000000000..187b6667918 --- /dev/null +++ b/term/fhir-term-graph/src/test/kubernetes/elasticsearch.yaml @@ -0,0 +1,50 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: elasticsearch + labels: + app.kubernetes.io/name: elasticsearch +spec: + selector: + matchLabels: + app.kubernetes.io/name: elasticsearch + template: + metadata: + labels: + app.kubernetes.io/name: elasticsearch + spec: + containers: + - name: elasticsearch + image: elasticsearch:7.14.1 + imagePullPolicy: Always + ports: + - containerPort: 9200 + env: + - name: ES_JAVA_OPTS + value: -Xms512m -Xmx512m + - name: cluster.name + value: docker-cluster + - name: discovery.zen.minimum_master_nodes + value: "1" + - name: xpack.security.enabled + value: "false" + - name: http.host + value: 0.0.0.0 + - name: network.host + value: 0.0.0.0 + - name: transport.host + value: 127.0.0.1 + restartPolicy: Always +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/name: elasticsearch + name: elasticsearch +spec: + ports: + - port: 9200 + targetPort: 9200 + selector: + app.kubernetes.io/name: elasticsearch \ No newline at end of file diff --git a/term/fhir-term-graph/src/test/kubernetes/k8ssandra.yaml b/term/fhir-term-graph/src/test/kubernetes/k8ssandra.yaml new file mode 100644 index 00000000000..4704c3e5b70 --- /dev/null +++ b/term/fhir-term-graph/src/test/kubernetes/k8ssandra.yaml @@ -0,0 +1,29 @@ +cassandra: + version: "3.11.10" + cassandraLibDirVolume: + storageClass: ibmc-vpc-block-metro-10iops-tier + size: 5Gi + allowMultipleNodesPerWorker: true + heap: + size: 1G + newGenSize: 1G + resources: + requests: + cpu: 1000m + memory: 2Gi + limits: + cpu: 1000m + memory: 2Gi + datacenters: + - name: dc1 + size: 1 + racks: + - name: default +kube-prometheus-stack: + enabled: false +stargate: + enabled: true + replicas: 1 + heapMB: 256 + cpuReqMillicores: 200 + cpuLimMillicores: 1000 \ No newline at end of file diff --git a/term/fhir-term-graph/src/test/kubernetes/umlsTermGraphLoader.yml b/term/fhir-term-graph/src/test/kubernetes/umlsTermGraphLoader.yml new file mode 100644 index 00000000000..3377f324d2e --- /dev/null +++ b/term/fhir-term-graph/src/test/kubernetes/umlsTermGraphLoader.yml @@ -0,0 +1,39 @@ +kind: Job +apiVersion: batch/v1 +metadata: + name: umls-term-graph-loader +spec: + template: + spec: + restartPolicy: OnFailure + containers: + - name: umls-term-graph-loader + image: alvearie/umls-term-graph-loader:4.9.0 + imagePullPolicy: Always + env: + - name: LOAD_UMLS + value: "true" + - name: LOAD_MAP + value: "true" + - name: TERM_CONFIG_PROPS + value: "conf/janusgraph-cassandra-elasticsearch.properties" + - name: TERM_STORAGE_HOSTNAME + value: "namespace-k8ssandra-dc1-stargate-service" + - name: TERM_STORAGE_USERNAME + value: "namespace-k8ssandra-superuser" + - name: TERM_STORAGE_PASSWORD + value: "password" + - name: TERM_INDEX_SEARCH_HOSTNAME + value: "elasticsearch" + - name: TERM_COS_ENDPOINT + value: "https://s3.us-east.cloud-object-storage.appdomain.cloud" + - name: TERM_COS_BUCKET_LOCATION + value: "us" + - name: TERM_COS_SERVICE_CRN + value: "" + - name: TERM_COS_API_KEY_ID + value: "" + - name: TERM_COS_AUTH_ENDPOINT + value: "https://iam.cloud.ibm.com/identity/token" + - name: TERM_COS_BUCKET_NAME + value: "fhir-term-graph" \ No newline at end of file diff --git a/term/fhir-term-graph/src/test/resources/conf/janusgraph-berkeleyje-lucene.properties b/term/fhir-term-graph/src/test/resources/conf/janusgraph-berkeleyje-lucene.properties new file mode 100644 index 00000000000..d2bb6e67dee --- /dev/null +++ b/term/fhir-term-graph/src/test/resources/conf/janusgraph-berkeleyje-lucene.properties @@ -0,0 +1,4 @@ +storage.backend=berkeleyje +storage.directory=target/data/graph +index.search.backend=lucene +index.search.directory=target/data/searchindex \ No newline at end of file diff --git a/term/fhir-term-graph/src/test/resources/conf/janusgraph-cassandra-elasticsearch.properties b/term/fhir-term-graph/src/test/resources/conf/janusgraph-cassandra-elasticsearch.properties new file mode 100644 index 00000000000..5f252c4bd92 --- /dev/null +++ b/term/fhir-term-graph/src/test/resources/conf/janusgraph-cassandra-elasticsearch.properties @@ -0,0 +1,8 @@ +storage.backend=cql +storage.batch-loading=true +storage.hostname=127.0.0.1 +index.search.backend=elasticsearch +index.search.hostname=127.0.0.1:9200 +cache.tx-cache-size=100000 +cache.tx-dirty-size=10000 +ids.block-size=500000 \ No newline at end of file diff --git a/fhir-term-remote/pom.xml b/term/fhir-term-remote/pom.xml similarity index 94% rename from fhir-term-remote/pom.xml rename to term/fhir-term-remote/pom.xml index a70ef904b9e..543599ba701 100644 --- a/fhir-term-remote/pom.xml +++ b/term/fhir-term-remote/pom.xml @@ -4,9 +4,9 @@ 4.0.0 com.ibm.fhir - fhir-parent + fhir-term-parent 4.10.0-SNAPSHOT - ../fhir-parent + ../ fhir-term-remote diff --git a/fhir-term-remote/src/main/java/com/ibm/fhir/term/remote/provider/RemoteTermServiceProvider.java b/term/fhir-term-remote/src/main/java/com/ibm/fhir/term/remote/provider/RemoteTermServiceProvider.java similarity index 100% rename from fhir-term-remote/src/main/java/com/ibm/fhir/term/remote/provider/RemoteTermServiceProvider.java rename to term/fhir-term-remote/src/main/java/com/ibm/fhir/term/remote/provider/RemoteTermServiceProvider.java diff --git a/fhir-term-remote/src/test/java/com/ibm/fhir/term/remote/provider/test/RemoteTermServiceProviderTest.java b/term/fhir-term-remote/src/test/java/com/ibm/fhir/term/remote/provider/test/RemoteTermServiceProviderTest.java similarity index 100% rename from fhir-term-remote/src/test/java/com/ibm/fhir/term/remote/provider/test/RemoteTermServiceProviderTest.java rename to term/fhir-term-remote/src/test/java/com/ibm/fhir/term/remote/provider/test/RemoteTermServiceProviderTest.java diff --git a/fhir-term-remote/src/test/resources/fhirClientKeyStore.p12 b/term/fhir-term-remote/src/test/resources/fhirClientKeyStore.p12 similarity index 100% rename from fhir-term-remote/src/test/resources/fhirClientKeyStore.p12 rename to term/fhir-term-remote/src/test/resources/fhirClientKeyStore.p12 diff --git a/fhir-term-remote/src/test/resources/fhirClientTrustStore.p12 b/term/fhir-term-remote/src/test/resources/fhirClientTrustStore.p12 similarity index 100% rename from fhir-term-remote/src/test/resources/fhirClientTrustStore.p12 rename to term/fhir-term-remote/src/test/resources/fhirClientTrustStore.p12 diff --git a/fhir-term/pom.xml b/term/fhir-term/pom.xml similarity index 92% rename from fhir-term/pom.xml rename to term/fhir-term/pom.xml index 603bf7e24f7..6a42bc7303b 100644 --- a/fhir-term/pom.xml +++ b/term/fhir-term/pom.xml @@ -4,9 +4,9 @@ 4.0.0 com.ibm.fhir - fhir-parent + fhir-term-parent 4.10.0-SNAPSHOT - ../fhir-parent + ../ fhir-term diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/config/FHIRTermConfig.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/config/FHIRTermConfig.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/config/FHIRTermConfig.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/config/FHIRTermConfig.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/exception/FHIRTermException.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/exception/FHIRTermException.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/exception/FHIRTermException.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/exception/FHIRTermException.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/registry/ImplicitValueSetRegistryResourceProvider.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/registry/ImplicitValueSetRegistryResourceProvider.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/registry/ImplicitValueSetRegistryResourceProvider.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/registry/ImplicitValueSetRegistryResourceProvider.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/ExpansionParameters.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/service/ExpansionParameters.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/service/ExpansionParameters.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/service/ExpansionParameters.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/FHIRTermService.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/service/FHIRTermService.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/service/FHIRTermService.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/service/FHIRTermService.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/LookupOutcome.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/service/LookupOutcome.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/service/LookupOutcome.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/service/LookupOutcome.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/LookupParameters.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/service/LookupParameters.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/service/LookupParameters.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/service/LookupParameters.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/TranslationOutcome.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/service/TranslationOutcome.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/service/TranslationOutcome.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/service/TranslationOutcome.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/TranslationParameters.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/service/TranslationParameters.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/service/TranslationParameters.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/service/TranslationParameters.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/ValidationOutcome.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/service/ValidationOutcome.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/service/ValidationOutcome.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/service/ValidationOutcome.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/ValidationParameters.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/service/ValidationParameters.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/service/ValidationParameters.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/service/ValidationParameters.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/exception/FHIRTermServiceException.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/service/exception/FHIRTermServiceException.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/service/exception/FHIRTermServiceException.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/service/exception/FHIRTermServiceException.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/provider/RegistryTermServiceProvider.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/service/provider/RegistryTermServiceProvider.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/service/provider/RegistryTermServiceProvider.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/service/provider/RegistryTermServiceProvider.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/service/util/FHIRTermServiceUtil.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/service/util/FHIRTermServiceUtil.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/service/util/FHIRTermServiceUtil.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/service/util/FHIRTermServiceUtil.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/spi/AbstractTermServiceProvider.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/spi/AbstractTermServiceProvider.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/spi/AbstractTermServiceProvider.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/spi/AbstractTermServiceProvider.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/spi/FHIRTermServiceProvider.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/spi/FHIRTermServiceProvider.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/spi/FHIRTermServiceProvider.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/spi/FHIRTermServiceProvider.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/util/CodeSystemSupport.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/util/CodeSystemSupport.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/util/CodeSystemSupport.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/util/CodeSystemSupport.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/util/ConceptMapSupport.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/util/ConceptMapSupport.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/util/ConceptMapSupport.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/util/ConceptMapSupport.java diff --git a/fhir-term/src/main/java/com/ibm/fhir/term/util/ValueSetSupport.java b/term/fhir-term/src/main/java/com/ibm/fhir/term/util/ValueSetSupport.java similarity index 100% rename from fhir-term/src/main/java/com/ibm/fhir/term/util/ValueSetSupport.java rename to term/fhir-term/src/main/java/com/ibm/fhir/term/util/ValueSetSupport.java diff --git a/fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/FHIRTermServiceProviderTest.java b/term/fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/FHIRTermServiceProviderTest.java similarity index 100% rename from fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/FHIRTermServiceProviderTest.java rename to term/fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/FHIRTermServiceProviderTest.java diff --git a/fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/RegistryTermServiceProviderPerformanceTest.java b/term/fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/RegistryTermServiceProviderPerformanceTest.java similarity index 100% rename from fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/RegistryTermServiceProviderPerformanceTest.java rename to term/fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/RegistryTermServiceProviderPerformanceTest.java diff --git a/fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/RegistryTermServiceProviderTest.java b/term/fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/RegistryTermServiceProviderTest.java similarity index 100% rename from fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/RegistryTermServiceProviderTest.java rename to term/fhir-term/src/test/java/com/ibm/fhir/term/service/provider/test/RegistryTermServiceProviderTest.java diff --git a/fhir-term/src/test/java/com/ibm/fhir/term/service/test/CodeSystemSupportTest.java b/term/fhir-term/src/test/java/com/ibm/fhir/term/service/test/CodeSystemSupportTest.java similarity index 100% rename from fhir-term/src/test/java/com/ibm/fhir/term/service/test/CodeSystemSupportTest.java rename to term/fhir-term/src/test/java/com/ibm/fhir/term/service/test/CodeSystemSupportTest.java diff --git a/fhir-term/src/test/java/com/ibm/fhir/term/service/test/ExpansionPerformanceTest.java b/term/fhir-term/src/test/java/com/ibm/fhir/term/service/test/ExpansionPerformanceTest.java similarity index 100% rename from fhir-term/src/test/java/com/ibm/fhir/term/service/test/ExpansionPerformanceTest.java rename to term/fhir-term/src/test/java/com/ibm/fhir/term/service/test/ExpansionPerformanceTest.java diff --git a/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTest.java b/term/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTest.java similarity index 100% rename from fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTest.java rename to term/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTest.java diff --git a/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTestResourceProvider.java b/term/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTestResourceProvider.java similarity index 100% rename from fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTestResourceProvider.java rename to term/fhir-term/src/test/java/com/ibm/fhir/term/service/test/FHIRTermServiceTestResourceProvider.java diff --git a/fhir-term/src/test/java/com/ibm/fhir/term/service/test/TranslationPerformanceTest.java b/term/fhir-term/src/test/java/com/ibm/fhir/term/service/test/TranslationPerformanceTest.java similarity index 100% rename from fhir-term/src/test/java/com/ibm/fhir/term/service/test/TranslationPerformanceTest.java rename to term/fhir-term/src/test/java/com/ibm/fhir/term/service/test/TranslationPerformanceTest.java diff --git a/fhir-term/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider b/term/fhir-term/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider similarity index 100% rename from fhir-term/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider rename to term/fhir-term/src/test/resources/META-INF/services/com.ibm.fhir.registry.spi.FHIRRegistryResourceProvider diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/.index.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/.index.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/.index.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/.index.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs1.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs1.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs1.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs1.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs2.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs2.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs2.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs2.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs3.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs3.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs3.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs3.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs4.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs4.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs4.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs4.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs5.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs5.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs5.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-cs5.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-test.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-test.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-test.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/CodeSystem-test.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/ConceptMap-snomed-ucum.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/ConceptMap-snomed-ucum.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/ConceptMap-snomed-ucum.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/ConceptMap-snomed-ucum.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs1.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs1.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs1.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs1.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs2.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs2.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs2.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs2.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs3.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs3.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs3.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs3.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs4.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs4.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs4.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs4.json diff --git a/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs5.json b/term/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs5.json similarity index 100% rename from fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs5.json rename to term/fhir-term/src/test/resources/fhir/term/service/test/package/ValueSet-vs5.json diff --git a/operation/fhir-operation-term-cache/README.md b/term/operation/fhir-operation-term-cache/README.md similarity index 100% rename from operation/fhir-operation-term-cache/README.md rename to term/operation/fhir-operation-term-cache/README.md diff --git a/operation/fhir-operation-term-cache/pom.xml b/term/operation/fhir-operation-term-cache/pom.xml similarity index 91% rename from operation/fhir-operation-term-cache/pom.xml rename to term/operation/fhir-operation-term-cache/pom.xml index b77ab5cde42..1315c344d62 100644 --- a/operation/fhir-operation-term-cache/pom.xml +++ b/term/operation/fhir-operation-term-cache/pom.xml @@ -4,9 +4,9 @@ 4.0.0 com.ibm.fhir - fhir-parent + fhir-term-parent 4.10.0-SNAPSHOT - ../../fhir-parent + ../../ fhir-operation-term-cache diff --git a/operation/fhir-operation-term-cache/src/main/java/com/ibm/fhir/operation/term/cache/CodeSystemClearCacheOperation.java b/term/operation/fhir-operation-term-cache/src/main/java/com/ibm/fhir/operation/term/cache/CodeSystemClearCacheOperation.java similarity index 100% rename from operation/fhir-operation-term-cache/src/main/java/com/ibm/fhir/operation/term/cache/CodeSystemClearCacheOperation.java rename to term/operation/fhir-operation-term-cache/src/main/java/com/ibm/fhir/operation/term/cache/CodeSystemClearCacheOperation.java diff --git a/operation/fhir-operation-term-cache/src/main/java/com/ibm/fhir/operation/term/cache/ValueSetClearCacheOperation.java b/term/operation/fhir-operation-term-cache/src/main/java/com/ibm/fhir/operation/term/cache/ValueSetClearCacheOperation.java similarity index 100% rename from operation/fhir-operation-term-cache/src/main/java/com/ibm/fhir/operation/term/cache/ValueSetClearCacheOperation.java rename to term/operation/fhir-operation-term-cache/src/main/java/com/ibm/fhir/operation/term/cache/ValueSetClearCacheOperation.java diff --git a/operation/fhir-operation-term-cache/src/main/resources/META-INF/services/com.ibm.fhir.server.operation.spi.FHIROperation b/term/operation/fhir-operation-term-cache/src/main/resources/META-INF/services/com.ibm.fhir.server.operation.spi.FHIROperation similarity index 100% rename from operation/fhir-operation-term-cache/src/main/resources/META-INF/services/com.ibm.fhir.server.operation.spi.FHIROperation rename to term/operation/fhir-operation-term-cache/src/main/resources/META-INF/services/com.ibm.fhir.server.operation.spi.FHIROperation diff --git a/operation/fhir-operation-term-cache/src/main/resources/operation-codesystem-clear-cache.json b/term/operation/fhir-operation-term-cache/src/main/resources/operation-codesystem-clear-cache.json similarity index 100% rename from operation/fhir-operation-term-cache/src/main/resources/operation-codesystem-clear-cache.json rename to term/operation/fhir-operation-term-cache/src/main/resources/operation-codesystem-clear-cache.json diff --git a/operation/fhir-operation-term-cache/src/main/resources/operation-valueset-clear-cache.json b/term/operation/fhir-operation-term-cache/src/main/resources/operation-valueset-clear-cache.json similarity index 100% rename from operation/fhir-operation-term-cache/src/main/resources/operation-valueset-clear-cache.json rename to term/operation/fhir-operation-term-cache/src/main/resources/operation-valueset-clear-cache.json diff --git a/operation/fhir-operation-term/pom.xml b/term/operation/fhir-operation-term/pom.xml similarity index 89% rename from operation/fhir-operation-term/pom.xml rename to term/operation/fhir-operation-term/pom.xml index 76aedbcea9e..862a29b70df 100644 --- a/operation/fhir-operation-term/pom.xml +++ b/term/operation/fhir-operation-term/pom.xml @@ -4,9 +4,9 @@ 4.0.0 com.ibm.fhir - fhir-parent + fhir-term-parent 4.10.0-SNAPSHOT - ../../fhir-parent + ../../ fhir-operation-term diff --git a/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/AbstractTermOperation.java b/term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/AbstractTermOperation.java similarity index 100% rename from operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/AbstractTermOperation.java rename to term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/AbstractTermOperation.java diff --git a/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ClosureOperation.java b/term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ClosureOperation.java similarity index 100% rename from operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ClosureOperation.java rename to term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ClosureOperation.java diff --git a/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/CodeSystemValidateCodeOperation.java b/term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/CodeSystemValidateCodeOperation.java similarity index 100% rename from operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/CodeSystemValidateCodeOperation.java rename to term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/CodeSystemValidateCodeOperation.java diff --git a/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ExpandOperation.java b/term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ExpandOperation.java similarity index 100% rename from operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ExpandOperation.java rename to term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ExpandOperation.java diff --git a/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/LookupOperation.java b/term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/LookupOperation.java similarity index 100% rename from operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/LookupOperation.java rename to term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/LookupOperation.java diff --git a/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/SubsumesOperation.java b/term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/SubsumesOperation.java similarity index 100% rename from operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/SubsumesOperation.java rename to term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/SubsumesOperation.java diff --git a/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/TranslateOperation.java b/term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/TranslateOperation.java similarity index 100% rename from operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/TranslateOperation.java rename to term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/TranslateOperation.java diff --git a/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ValueSetValidateCodeOperation.java b/term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ValueSetValidateCodeOperation.java similarity index 100% rename from operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ValueSetValidateCodeOperation.java rename to term/operation/fhir-operation-term/src/main/java/com/ibm/fhir/operation/term/ValueSetValidateCodeOperation.java diff --git a/operation/fhir-operation-term/src/main/resources/META-INF/services/com.ibm.fhir.server.operation.spi.FHIROperation b/term/operation/fhir-operation-term/src/main/resources/META-INF/services/com.ibm.fhir.server.operation.spi.FHIROperation similarity index 100% rename from operation/fhir-operation-term/src/main/resources/META-INF/services/com.ibm.fhir.server.operation.spi.FHIROperation rename to term/operation/fhir-operation-term/src/main/resources/META-INF/services/com.ibm.fhir.server.operation.spi.FHIROperation diff --git a/term/pom.xml b/term/pom.xml new file mode 100644 index 00000000000..5de6b502f81 --- /dev/null +++ b/term/pom.xml @@ -0,0 +1,52 @@ + + 4.0.0 + + + com.ibm.fhir + fhir-parent + 4.10.0-SNAPSHOT + ../fhir-parent + + + fhir-term-parent + pom + + https://github.com/ibm/fhir + + IBM + https://github.com/ibm/fhir + + + https://github.com/ibm/fhir/issues + + + https://github.com/ibm/fhir/actions + + The IBM® FHIR® Server is a modular Java implementation of version 4 of the HL7 FHIR specification with a focus on performance and configurability. + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0.txt + + + + + IBM Watson Health Development + fhirci@us.ibm.com + https://www.ibm.com/ + IBM Watson Health + http://www.ibm.com + + + + + fhir-term + fhir-term-graph + fhir-term-remote + fhir-term-graph-loader + operation/fhir-operation-term + operation/fhir-operation-term-cache + + \ No newline at end of file