You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by se...@apache.org on 2023/02/04 20:11:49 UTC

[ctakes] branch main updated: Added get/set AnatomicalSite to Procedure Types. AnatomicalSite has slots for body side and laterality. So, this actually will replace 3 slots with 1, and the whole "circular argument" thing is unnecessary.

This is an automated email from the ASF dual-hosted git repository.

seanfinan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ctakes.git


The following commit(s) were added to refs/heads/main by this push:
     new a95a9aa  Added get/set AnatomicalSite to Procedure Types. AnatomicalSite has slots for body side and laterality. So, this actually will replace 3 slots with 1, and the whole "circular argument" thing is unnecessary.
a95a9aa is described below

commit a95a9aa885f269e4e9075229897aa7ab6b81ac04
Author: Sean Finan <se...@childrens.harvard.edu>
AuthorDate: Sat Feb 4 15:11:35 2023 -0500

    Added get/set AnatomicalSite to Procedure Types.
    AnatomicalSite has slots for body side and laterality.
    So, this actually will replace 3 slots with 1, and the whole "circular argument" thing is unnecessary.
---
 .../src/main/java/org/mitre/medfacts/uima/RunZoner.java     | 11 +++++++----
 .../CreateAssertionLuceneIndexFromDelimitedFile.java        |  4 ++--
 .../lookup/ae/AssertionCuePhraseConsumerImpl.java           |  1 +
 .../dictionary/lookup/ae/LookupParseUtilitiesRefactor.java  |  1 +
 .../dictionary/lookup/strtable/FieldConstraintImpl.java     |  1 +
 .../java/org/apache/ctakes/temporal/ae/TimeAnnotator.java   |  1 +
 .../temporal/pipelines/EventAndTimeExtractionPipeline.java  |  1 -
 .../pipelines/TemporalExtractionPipeline_ImplBase.java      |  3 ---
 .../org/apache/ctakes/typesystem/types/TypeSystem.xml       | 13 +++++++++++--
 9 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/RunZoner.java b/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/RunZoner.java
index ee00126..b5433db 100644
--- a/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/RunZoner.java
+++ b/ctakes-assertion-zoner/src/main/java/org/mitre/medfacts/uima/RunZoner.java
@@ -26,7 +26,8 @@ import java.util.Arrays;
 import java.util.List;
 
 import org.apache.ctakes.core.ae.DocumentIdPrinterAnalysisEngine;
-import org.apache.ctakes.core.cc.XmiWriterCasConsumerCtakes;
+import org.apache.ctakes.core.cc.FileTreeXmiWriter;
+import org.apache.ctakes.core.config.ConfigParameterConstants;
 import org.apache.ctakes.core.cr.TextReader;
 import org.apache.log4j.Logger;
 import org.apache.uima.UIMAException;
@@ -144,9 +145,11 @@ public class RunZoner
       builder.add(mayoZonerAnnotator);
 
       AnalysisEngineDescription xWriter = AnalysisEngineFactory.createEngineDescription(
-          XmiWriterCasConsumerCtakes.class,
-          typeSystemDescription,
-          XmiWriterCasConsumerCtakes.PARAM_OUTPUTDIR,
+//          XmiWriterCasConsumerCtakes.class,
+//          typeSystemDescription,
+//          XmiWriterCasConsumerCtakes.PARAM_OUTPUTDIR,
+            FileTreeXmiWriter.class,
+            ConfigParameterConstants.PARAM_OUTPUTDIR,
           outputDirectory.toString()
           );
       
diff --git a/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/assertion/CreateAssertionLuceneIndexFromDelimitedFile.java b/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/assertion/CreateAssertionLuceneIndexFromDelimitedFile.java
index e199d86..26d382b 100644
--- a/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/assertion/CreateAssertionLuceneIndexFromDelimitedFile.java
+++ b/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/assertion/CreateAssertionLuceneIndexFromDelimitedFile.java
@@ -56,6 +56,7 @@ import org.apache.ctakes.core.nlp.tokenizer.TokenizerPTB;
  * hyphenated words so the dictionary entries are tokenized in the same way as
  * the clinical text will be.
  */
+@SuppressWarnings( "unchecked" )
 public class CreateAssertionLuceneIndexFromDelimitedFile {
 	private static TokenizerPTB tokenizer = new TokenizerPTB();
 
@@ -88,7 +89,7 @@ public class CreateAssertionLuceneIndexFromDelimitedFile {
 	/**
 	 * Constructor
 	 * 
-	 * @param Tokenizer
+	 * @param Tokenizer -
 	 *            Used to tokenize the dictionary entries
 	 */
 	public CreateAssertionLuceneIndexFromDelimitedFile(TokenizerPTB tokenizer)
@@ -367,7 +368,6 @@ public class CreateAssertionLuceneIndexFromDelimitedFile {
 		return "java LucenePopulateDriver <dir-containing-textfile(s)> [hyphenfile] [freqcutoff]";
 	}
 
-	@SuppressWarnings( "unchecked" )
 	protected void writeToFormatLucene(String cuePhrase, String cuePhraseCategory, String cuePhraseFamily) {
 
 		Document doc = new Document();
diff --git a/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/ae/AssertionCuePhraseConsumerImpl.java b/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/ae/AssertionCuePhraseConsumerImpl.java
index dfea503..6a6b244 100644
--- a/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/ae/AssertionCuePhraseConsumerImpl.java
+++ b/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/ae/AssertionCuePhraseConsumerImpl.java
@@ -46,6 +46,7 @@ import org.apache.uima.jcas.cas.FSArray;
  * Implementation that takes Rxnorm dictionary lookup hits and stores only the
  * ones that are also present in the Orange Book.
  */
+@SuppressWarnings( "unchecked" )
 public class AssertionCuePhraseConsumerImpl extends BaseLookupConsumerImpl
 		implements LookupConsumer
 {
diff --git a/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/ae/LookupParseUtilitiesRefactor.java b/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/ae/LookupParseUtilitiesRefactor.java
index b7c069e..a2dff90 100644
--- a/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/ae/LookupParseUtilitiesRefactor.java
+++ b/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/ae/LookupParseUtilitiesRefactor.java
@@ -56,6 +56,7 @@ import java.util.*;
 /**
  * @author Mayo Clinic
  */
+@SuppressWarnings( "unchecked" )
 final public class LookupParseUtilitiesRefactor {
 
    static private final Logger CLASS_LOGGER = Logger.getLogger( LookupParseUtilitiesRefactor.class );
diff --git a/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/strtable/FieldConstraintImpl.java b/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/strtable/FieldConstraintImpl.java
index 4a2f482..7c3522e 100644
--- a/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/strtable/FieldConstraintImpl.java
+++ b/ctakes-dictionary-lookup/src/main/java/org/apache/ctakes/dictionary/lookup/strtable/FieldConstraintImpl.java
@@ -26,6 +26,7 @@ package org.apache.ctakes.dictionary.lookup.strtable;
  * @author Mayo Clinic
  * 
  */
+@SuppressWarnings( "unchecked" )
 public class FieldConstraintImpl implements FieldConstraint
 {
     public static final int EQ_OP = 0;
diff --git a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/TimeAnnotator.java b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/TimeAnnotator.java
index 236d434..5b7f599 100644
--- a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/TimeAnnotator.java
+++ b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/ae/TimeAnnotator.java
@@ -68,6 +68,7 @@ import org.cleartk.ml.jar.GenericJarClassifierFactory;
 				PipeBitInfo.TypeProduct.BASE_TOKEN },
 		products = { PipeBitInfo.TypeProduct.TIMEX }
 )
+@SuppressWarnings( "unchecked" )
 public class TimeAnnotator extends TemporalEntityAnnotator_ImplBase {
 
 	public static final String PARAM_FEATURE_SELECTION_THRESHOLD = "WhetherToDoFeatureSelection";
diff --git a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/EventAndTimeExtractionPipeline.java b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/EventAndTimeExtractionPipeline.java
index 619bb61..de1aaee 100644
--- a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/EventAndTimeExtractionPipeline.java
+++ b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/EventAndTimeExtractionPipeline.java
@@ -21,7 +21,6 @@ package org.apache.ctakes.temporal.pipelines;
 import com.lexicalscope.jewel.cli.CliFactory;
 import com.lexicalscope.jewel.cli.Option;
 import org.apache.ctakes.core.cc.FileTreeXmiWriter;
-import org.apache.ctakes.core.cc.XmiWriterCasConsumerCtakes;
 import org.apache.ctakes.core.config.ConfigParameterConstants;
 import org.apache.ctakes.temporal.ae.BackwardsTimeAnnotator;
 import org.apache.ctakes.temporal.ae.EventAnnotator;
diff --git a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/TemporalExtractionPipeline_ImplBase.java b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/TemporalExtractionPipeline_ImplBase.java
index 25fe771..239427c 100644
--- a/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/TemporalExtractionPipeline_ImplBase.java
+++ b/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/pipelines/TemporalExtractionPipeline_ImplBase.java
@@ -27,7 +27,6 @@ import org.apache.ctakes.core.ae.SentenceDetector;
 import org.apache.ctakes.core.ae.SimpleSegmentAnnotator;
 import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;
 import org.apache.ctakes.core.cc.FileTreeXmiWriter;
-import org.apache.ctakes.core.cc.XmiWriterCasConsumerCtakes;
 import org.apache.ctakes.core.config.ConfigParameterConstants;
 import org.apache.ctakes.dependency.parser.ae.ClearNLPDependencyParserAE;
 import org.apache.ctakes.dependency.parser.ae.ClearNLPSemanticRoleLabelerAE;
@@ -39,8 +38,6 @@ import org.apache.uima.analysis_engine.AnalysisEngineDescription;
 import org.apache.uima.fit.factory.AggregateBuilder;
 import org.apache.uima.fit.factory.AnalysisEngineFactory;
 import org.apache.uima.resource.ResourceInitializationException;
-import org.cleartk.util.ViewUriUtil;
-import org.cleartk.util.ae.UriToDocumentTextAnnotator;
 
 import com.lexicalscope.jewel.cli.Option;
 
diff --git a/ctakes-type-system/src/main/resources/org/apache/ctakes/typesystem/types/TypeSystem.xml b/ctakes-type-system/src/main/resources/org/apache/ctakes/typesystem/types/TypeSystem.xml
index edf4a5d..b3fc587 100644
--- a/ctakes-type-system/src/main/resources/org/apache/ctakes/typesystem/types/TypeSystem.xml
+++ b/ctakes-type-system/src/main/resources/org/apache/ctakes/typesystem/types/TypeSystem.xml
@@ -779,7 +779,6 @@ More qualifying information on how the procedure was done.</description>
           <rangeTypeName>org.apache.ctakes.typesystem.type.refsem.BodySide</rangeTypeName>
         </featureDescription>
         <featureDescription>
-         <!-- Why is this a relation?  This procedure will be an argument in the relation!  Why not just the Anatomic Site?   -->
           <name>bodyLocation</name>
           <description/>
           <rangeTypeName>org.apache.ctakes.typesystem.type.relation.LocationOf</rangeTypeName>
@@ -816,6 +815,11 @@ More qualifying information on how the procedure was done.</description>
           <rangeTypeName>org.apache.ctakes.typesystem.type.relation.TemporalRelation</rangeTypeName>
         </featureDescription>
          <!--  New in ctakes 5    -->
+         <featureDescription>
+            <name>anatomicalSite</name>
+            <description>Anatomical site replaces the circular bodyLocation relation plus bodyLaterality and bodySide.</description>
+            <rangeTypeName>org.apache.ctakes.typesystem.type.refsem.AnatomicalSite</rangeTypeName>
+         </featureDescription>
          <featureDescription>
             <name>dosageCount</name>
             <description/>
@@ -2447,7 +2451,7 @@ More qualifying information on how the procedure was done.</description>
           <description/>
           <rangeTypeName>org.apache.ctakes.typesystem.type.relation.LocationOfTextRelation</rangeTypeName>
         </featureDescription>
-        <featureDescription>
+         <featureDescription>
           <name>procedureDevice</name>
           <description/>
           <rangeTypeName>org.apache.ctakes.typesystem.type.textsem.ProcedureDeviceModifier</rangeTypeName>
@@ -2479,6 +2483,11 @@ More qualifying information on how the procedure was done.</description>
           <rangeTypeName>org.apache.ctakes.typesystem.type.relation.TemporalTextRelation</rangeTypeName>
         </featureDescription>
          <!--  New in ctakes 5    -->
+         <featureDescription>
+            <name>anatomicalSite</name>
+            <description>Anatomical site mention replaces the circular bodyLocation relation plus bodyLaterality and bodySide.</description>
+            <rangeTypeName>org.apache.ctakes.typesystem.type.textsem.AnatomicalSiteMention</rangeTypeName>
+         </featureDescription>
          <featureDescription>
             <name>dosageCount</name>
             <description/>