Hi Peter,

Thanks a lot for bearing with me. Actually, I'm working on a tight
deadline, and going through the entire codebase and the wiki meticulously
would take me over a month!! I'm sincerely hoping you would understand and
bear with me.

As an update, I had applied for a UMLS license which got rejected, don't
know why!! I have re-applied for it, fingers crossed, this time, may the
UMLS gods accept my prayer!!

My sole aim, for now is to get a pipeline working from Java code, whose
output I can see on the console window. I had a look at this for the order
in which the components are to be set up for a working pipeline:

https://cwiki.apache.org/confluence/display/CTAKES/cTAKES+4.0+Component+Use+Guide

As assertion comes first, I attempted to attack it first. I took the
TokenProcessingPipeline in ClinicalPipelineFactory and added the
AssertionAnalysisEngine to it. However, since the class was missing
a createAnnotatorDescription() method like the others, which is required by
the builder, I copied and pasted it there.

public static AnalysisEngineDescription createAnnotatorDescription() throws
ResourceInitializationException{
  return
AnalysisEngineFactory.createEngineDescription(AssertionAnalysisEngine.class);
}

The TokenProcessingPipeline now looked like this:

public static AnalysisEngineDescription getTokenProcessingPipeline() throws
ResourceInitializationException, MalformedURLException {
      AggregateBuilder builder = new AggregateBuilder();
      builder.add(AssertionAnalysisEngine.createAnnotatorDescription());
      builder.add( SimpleSegmentAnnotator.createAnnotatorDescription() );
      builder.add( SentenceDetector.createAnnotatorDescription() );
      builder.add( TokenizerAnnotatorPTB.createAnnotatorDescription() );
      builder.add( LvgAnnotator.createAnnotatorDescription() );
      builder.add(
ContextDependentTokenizerAnnotator.createAnnotatorDescription() );
      builder.add( POSTagger.createAnnotatorDescription() );
      return builder.createAggregateDescription();
   }

However, when I tried to run this pipeline, I got an exception:

Exception in thread "main"
org.apache.uima.resource.ResourceInitializationException: Initialization of
annotator class
"org.apache.ctakes.assertion.medfacts.AssertionAnalysisEngine" failed.
(Descriptor: <unknown>)
at
org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:271)
at
org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initialize(PrimitiveAnalysisEngine_impl.java:170)
at
org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)
at
org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)
at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)
at
org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:407)
at
org.apache.uima.analysis_engine.asb.impl.ASB_impl.setup(ASB_impl.java:256)
at
org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initASB(AggregateAnalysisEngine_impl.java:429)
at
org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializeAggregateAnalysisEngine(AggregateAnalysisEngine_impl.java:373)
at
org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initialize(AggregateAnalysisEngine_impl.java:186)
at
org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)
at
org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)
at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)
at
org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:407)
at
org.apache.uima.analysis_engine.asb.impl.ASB_impl.setup(ASB_impl.java:256)
at
org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initASB(AggregateAnalysisEngine_impl.java:429)
at
org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initializeAggregateAnalysisEngine(AggregateAnalysisEngine_impl.java:373)
at
org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl.initialize(AggregateAnalysisEngine_impl.java:186)
at
org.apache.uima.impl.AnalysisEngineFactory_impl.produceResource(AnalysisEngineFactory_impl.java:94)
at
org.apache.uima.impl.CompositeResourceFactory_impl.produceResource(CompositeResourceFactory_impl.java:62)
at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:279)
at org.apache.uima.UIMAFramework.produceResource(UIMAFramework.java:331)
at
org.apache.uima.UIMAFramework.produceAnalysisEngine(UIMAFramework.java:448)
at
org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine(AnalysisEngineFactory.java:205)
at
org.apache.uima.fit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:227)
at
org.apache.uima.fit.pipeline.SimplePipeline.runPipeline(SimplePipeline.java:260)
at
org.apache.ctakes.clinicalpipeline.ClinicalPipelineFactory.main(ClinicalPipelineFactory.java:169)
Caused by: java.lang.NullPointerException
at java.io.File.<init>(File.java:277)
at
org.apache.ctakes.assertion.medfacts.AssertionAnalysisEngine.initialize(AssertionAnalysisEngine.java:89)
at
org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.initializeAnalysisComponent(PrimitiveAnalysisEngine_impl.java:266)
... 26 more

Upon tracing the root of the problem, I found that the
AssertionAnalysisEngine tries to initialize certain model resources, and
tries to obtain their file paths from a UimaContext:

 String assertionModelResourceKey = "assertionModelResource";
        String assertionModelFilePath = getContext().getResourceFilePath(
            assertionModelResourceKey);
        assertionModelFile = new File(assertionModelFilePath);

I'm thinking that perhaps this context itself is not getting resolved. I
tried to search for some answers on the web, like this:

http://mail-archives.apache.org/mod_mbox/ctakes-dev/201804.mbox/%3ccao1jdhhf0uo3edyxotwkwwm00+wwpwyjveaqgde35opmwng...@mail.gmail.com%3E

However, here, the file was being directly asked for by name, and I don't
have a concrete filename to search for. The ctakes-assertion-res module
contains some model files, but I can't correlate them to the files being
sought here. Please help.

Thanks and Regards,
Abhishek

On Sun, Aug 12, 2018 at 10:27 PM Peter Abramowitsch <pabramowit...@gmail.com>
wrote:

> Hi Abhishek, not meaning to offend, but I think you need to spend more time
> on the wiki site, a lot of what you are asking about is documented there
>
>
> https://cwiki.apache.org/confluence/display/CTAKES/cTAKES+4.0+User+Install+Guide#cTAKES4.0UserInstallGuide-cTAKESPipelineFabricatorGUI(CreatingPiperFiles)
>
> If you have the binary release, you'll find the launch scripts in ./bin,
> if you have source you'll find it all in
> ./ctakes-distribution/src/main/bin
>
> The piper files are sprinkled throughout based on the modules that use them
> and are grouped under a common resource folder in the binary release
>
>
> ./ctakes/trunk/ctakes-assertion-res/target/classes/org/apache/ctakes/assertion/pipeline/TsAttributeCleartkSubPipe.piper
>
> ./ctakes/trunk/ctakes-assertion-res/target/classes/org/apache/ctakes/assertion/pipeline/AssertionSubPipe.piper
>
> ./ctakes/trunk/ctakes-assertion-res/target/classes/org/apache/ctakes/assertion/pipeline/AttributeCleartkSubPipe.piper
>
> ./ctakes/trunk/ctakes-assertion-res/src/main/resources/org/apache/ctakes/assertion/pipeline/TsAttributeCleartkSubPipe.piper
>
> ./ctakes/trunk/ctakes-assertion-res/src/main/resources/org/apache/ctakes/assertion/pipeline/AssertionSubPipe.piper
>
> ./ctakes/trunk/ctakes-assertion-res/src/main/resources/org/apache/ctakes/assertion/pipeline/AttributeCleartkSubPipe.piper
>
> ./ctakes/trunk/ctakes-core-res/target/classes/org/apache/ctakes/core/pipeline/DefaultTokenizerPipeline.piper
>
> ./ctakes/trunk/ctakes-core-res/target/classes/org/apache/ctakes/core/pipeline/FullTokenizerPipeline.piper
>
> ./ctakes/trunk/ctakes-core-res/target/classes/org/apache/ctakes/core/pipeline/TsDefaultTokenizerPipeline.piper
>
> ./ctakes/trunk/ctakes-core-res/target/classes/org/apache/ctakes/core/pipeline/TsFullTokenizerPipeline.piper
>
> ./ctakes/trunk/ctakes-core-res/src/main/resources/org/apache/ctakes/core/pipeline/DefaultTokenizerPipeline.piper
>
> ./ctakes/trunk/ctakes-core-res/src/main/resources/org/apache/ctakes/core/pipeline/FullTokenizerPipeline.piper
>
> ./ctakes/trunk/ctakes-core-res/src/main/resources/org/apache/ctakes/core/pipeline/TsDefaultTokenizerPipeline.piper
>
> ./ctakes/trunk/ctakes-core-res/src/main/resources/org/apache/ctakes/core/pipeline/TsFullTokenizerPipeline.piper
>
> ./ctakes/trunk/ctakes-clinical-pipeline-res/target/classes/org/apache/ctakes/clinical/pipeline/DefaultFastPipeline.piper
>
> ./ctakes/trunk/ctakes-clinical-pipeline-res/target/classes/org/apache/ctakes/clinical/pipeline/SectionedFastPipeline.piper
>
> ./ctakes/trunk/ctakes-clinical-pipeline-res/target/classes/org/apache/ctakes/clinical/pipeline/TsSectionedFastPipeline.piper
>
> ./ctakes/trunk/ctakes-clinical-pipeline-res/target/classes/org/apache/ctakes/clinical/pipeline/TsDefaultFastPipeline.piper
>
> ./ctakes/trunk/ctakes-clinical-pipeline-res/src/main/resources/org/apache/ctakes/clinical/pipeline/DefaultFastPipeline.piper
>
> ./ctakes/trunk/ctakes-clinical-pipeline-res/src/main/resources/org/apache/ctakes/clinical/pipeline/SectionedFastPipeline.piper
>
> ./ctakes/trunk/ctakes-clinical-pipeline-res/src/main/resources/org/apache/ctakes/clinical/pipeline/TsSectionedFastPipeline.piper
>
> ./ctakes/trunk/ctakes-clinical-pipeline-res/src/main/resources/org/apache/ctakes/clinical/pipeline/TsDefaultFastPipeline.piper
>
> ./ctakes/trunk/ctakes-ne-contexts-res/target/classes/org/apache/ctakes/necontexts/pipeline/NeContextsSubPipe.piper
>
> ./ctakes/trunk/ctakes-ne-contexts-res/src/main/resources/org/apache/ctakes/necontexts/pipeline/NeContextsSubPipe.piper
>
> ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/HelloWorldAssertProps.piper
>
> ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/HelloWorldCui.piper
>
> ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/HelloWorld.piper
>
> ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/ThreadSafeFullPipeline.piper
>
> ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/FullPipeline.piper
>
> ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/HelloWorldProps.piper
>
> ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/ProcessDir.piper
>
> ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/AssertionDefaults.piper
>
> ./ctakes/trunk/ctakes-examples-res/target/classes/org/apache/ctakes/examples/pipeline/HelloWorldTkProps.piper
>
> ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/HelloWorldAssertProps.piper
>
> ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/HelloWorldCui.piper
>
> ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/HelloWorld.piper
>
> ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/ThreadSafeFullPipeline.piper
>
> ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/FullPipeline.piper
>
> ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/HelloWorldProps.piper
>
> ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/ProcessDir.piper
>
> ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/AssertionDefaults.piper
>
> ./ctakes/trunk/ctakes-examples-res/src/main/resources/org/apache/ctakes/examples/pipeline/HelloWorldTkProps.piper
>
> ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/DefaultRelationTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/DefaultTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TsTemporalSubPipe.piper
>
> ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TsDefaultRelationTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/SectionedRelationTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TemporalSubPipe.piper
>
> ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TsDefaultTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TsSectionedRelationTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/TsSectionedTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/target/classes/org/apache/ctakes/temporal/pipeline/SectionedTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/DefaultRelationTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/DefaultTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TsTemporalSubPipe.piper
>
> ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TsDefaultRelationTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/SectionedRelationTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TemporalSubPipe.piper
>
> ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TsDefaultTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TsSectionedRelationTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/TsSectionedTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-temporal-res/src/main/resources/org/apache/ctakes/temporal/pipeline/SectionedTemporalPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/SectionedCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/DefaultAdvancedPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsDefaultCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsDefaultTemporalCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsSectionedCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/DefaultRelationCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsDefaultAdvancedPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsCorefSubPipe.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsDefaultRelationCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/DefaultTemporalCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/DefaultCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsSectionedRelationCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/SectionedRelationCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/CorefSubPipe.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/SectionedAdvancedPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsSectionedTemporalCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/TsSectionedAdvancedPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/target/classes/org/apache/ctakes/coreference/pipeline/SectionedTemporalCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/SectionedCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/DefaultAdvancedPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsDefaultCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsDefaultTemporalCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsSectionedCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/DefaultRelationCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsDefaultAdvancedPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsCorefSubPipe.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsDefaultRelationCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/DefaultTemporalCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/DefaultCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsSectionedRelationCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/SectionedRelationCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/CorefSubPipe.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/SectionedAdvancedPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsSectionedTemporalCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/TsSectionedAdvancedPipeline.piper
>
> ./ctakes/trunk/ctakes-coreference-res/src/main/resources/org/apache/ctakes/coreference/pipeline/SectionedTemporalCorefPipeline.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/RelationSubPipe.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/DefaultRelationPipeline.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/TsDefaultRelationPipeline.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/TsRelationSubPipe.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/TsSectionedRelationPipeline.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/target/classes/org/apache/ctakes/relationextractor/pipeline/SectionedRelationPipeline.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/RelationSubPipe.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/DefaultRelationPipeline.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/TsDefaultRelationPipeline.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/TsRelationSubPipe.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/TsSectionedRelationPipeline.piper
>
> ./ctakes/trunk/ctakes-relation-extractor-res/src/main/resources/org/apache/ctakes/relationextractor/pipeline/SectionedRelationPipeline.piper
>
> ./ctakes/trunk/ctakes-dictionary-lookup-fast-res/target/classes/org/apache/ctakes/dictionary/lookup/fast/pipeline/DictionarySubPipe.piper
>
> ./ctakes/trunk/ctakes-dictionary-lookup-fast-res/target/classes/org/apache/ctakes/dictionary/lookup/fast/pipeline/TsDictionarySubPipe.piper
>
> ./ctakes/trunk/ctakes-dictionary-lookup-fast-res/src/main/resources/org/apache/ctakes/dictionary/lookup/fast/pipeline/DictionarySubPipe.piper
>
> ./ctakes/trunk/ctakes-dictionary-lookup-fast-res/src/main/resources/org/apache/ctakes/dictionary/lookup/fast/pipeline/TsDictionarySubPipe.piper
>
> ./ctakes/trunk/ctakes-chunker-res/target/classes/org/apache/ctakes/chunker/pipeline/ChunkerSubPipe.piper
>
> ./ctakes/trunk/ctakes-chunker-res/target/classes/org/apache/ctakes/chunker/pipeline/TsChunkerSubPipe.piper
>
> ./ctakes/trunk/ctakes-chunker-res/src/main/resources/org/apache/ctakes/chunker/pipeline/ChunkerSubPipe.piper
>
> ./ctakes/trunk/ctakes-chunker-res/src/main/resources/org/apache/ctakes/chunker/pipeline/TsChunkerSubPipe.piper
>
>
>
> On Sun, Aug 12, 2018 at 6:04 AM Abhishek De <abhishekde1...@gmail.com>
> wrote:
>
> > Hi Peter,
> >
> > I found the PiperCreator class in the ctakes-gui module which is opening
> up
> > the Pipeline Fabricator GUI with a lot of pipe bits which are seeming to
> be
> > overwhelming!! If I could get the piper samples which you are talking
> > about, I could have got a taste of how this thing works. But the
> resources
> > for this module does not contain those, nor does the ctakes-resources
> > separate download which contains the dictionaries. Also, you said
> "script"
> > and not "class". That makes me think you are speaking of something else
> > entirely, since there is no class named PiperRunner. So could you please
> > point me where to download these scripts and the resources?
> >
> > Thanks and Regards,
> > Abhishek
> >
> > On Sat, Aug 11, 2018 at 7:10 PM Peter Abramowitsch <
> > pabramowit...@gmail.com>
> > wrote:
> >
> > > I would suggest looking into the piper system - the scripts
> piperCreator
> > > and piperRunner so you can construct/run pipelines with the bits you
> > want.
> > > Also look for the piper samples scattered throughout the resources
> area.
> > > But assembling pipelines using Java is simple too.   You just need to
> > learn
> > > the flow and the upstream dependencies of the parsers and annotators.
> > >
> > > Peter
> > >
> > > On Sat, Aug 11, 2018 at 3:28 PM Abhishek De <abhishekde1...@gmail.com>
> > > wrote:
> > >
> > > > Hi Peter,
> > > >
> > > > As you said, even if I don't use the UMLS dictionaries, I should be
> > able
> > > to
> > > > run the pipeline, right? But the class ClinicalPipelineFactory in the
> > > > ctakes-clinical-pipeline module, which initializes multiple pipelines
> > for
> > > > these various use cases, only defines a getDefaultPipeline() and
> > > > getFastPipeline() which have some annotating components in them. The
> > > > getDefaultPipeline() method defines a UmlsDictionaryLookupAnnotator
> in
> > > its
> > > > workflow. Even the fast pipeline defines a DefaultJCasTermAnnotator
> in
> > > its
> > > > workflow. When I try to run the sample main() method with either of
> > these
> > > > pipelines, they throw an error requiring the UMLS credentials. I
> mean,
> > > the
> > > > ClinicalPipelineWithUmls class is already present for handling the
> UMLS
> > > > path. Why do the rest of the pipelines also require UMLS
> > authentication?
> > > > Please suggest a pipeline which I might run and get some annotations
> > > > identified from the text without UMLS.
> > > >
> > > > Thanks and Regards,
> > > > Abhishek
> > > >
> > > > On Sat, Aug 11, 2018 at 1:36 PM Peter Abramowitsch <
> > > > pabramowit...@gmail.com>
> > > > wrote:
> > > >
> > > > > Hi, yes there are a lot of details and use cases that are not
> > > documented,
> > > > > but there are quite a few bits of information if you take the time.
> > > > >
> > > > > To give some quick "answers" to your questions...  (I put that in
> > > quotes
> > > > > because these are interpretations and not legal opinions)
> > > > >
> > > > > You do not need a UMLS license if you don't include the UMLS lookup
> > > > > mechanism.    In this case only the Apache license probably applies
> > > > > http://www.apache.org/licenses/
> > > > >
> > > > > But if you do use UMLS, start by reading
> > > > > https://www.nlm.nih.gov/databases/umls.html
> > > > > https://uts.nlm.nih.gov/license.html
> > > > > https://uts.nlm.nih.gov//help/license/validateumlsuserhelp.html
> > > > >
> > > > > There are options for situations where you would centralize a
> ctakes
> > > > > service.  Some of the provisions have to do with the fact that
> > > > > that SNOMED vocabulary details are included in the UMLS output, and
> > the
> > > > > SNOMED organizations have specific licensing requirements that you
> > can
> > > > see
> > > > > on their site.
> > > > >
> > > > > I am nearly positive that you cannot use the UMLS mechanism in a
> > > > for-profit
> > > > > setting without an explicit license from SNOMED.  Also, regardless
> of
> > > > > whether the service as you deliver it is centralized, as I
> understand
> > > the
> > > > > language and diagrams on these sites, each and every end user needs
> > to
> > > > > have, and actively validate a current UMLS license.
> > > > >
> > > > > I've been involved in something similar to what you describe, but
> in
> > a
> > > > > non-commercial setting, and it does validate every end user.
> > > > >
> > > > > Peter
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Sat, Aug 11, 2018 at 7:45 AM Abhishek De <
> > abhishekde1...@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Hi all,
> > > > > >
> > > > > > I am Abhishek De, a newcomer to the CTAKES community. I had
> worked
> > > with
> > > > > > CTAKES over 4 years ago, but now I am trying to incorporate it
> into
> > > my
> > > > > Java
> > > > > > application as a senior developer, so I need to know a lot of
> > things
> > > > > about
> > > > > > it. For starters, I can see that even the pipeline without UMLS
> > needs
> > > > > UMLS
> > > > > > credentials in order to run. So I have the following questions:
> > > > > >
> > > > > > 1. Is there a certain fee which is required in order to apply
> for a
> > > > UMLS
> > > > > > license?
> > > > > >
> > > > > > 2. My organization is building this pharmacovigilance app which
> > will
> > > > > > internally use CTAKES for its client. Is it okay for only my
> parent
> > > > > > organization to have the UMLS license or do the client needs to
> > have
> > > it
> > > > > > too? If I expose the application as a service, with the servers
> > > > residing
> > > > > in
> > > > > > our organization's premises, would the client still need to have
> a
> > > > > licnse?
> > > > > >
> > > > > > 3. As there is precious little documentation on CTAKES, and many
> > > links
> > > > > > there are now dead including the ones giving instructions on how
> to
> > > > > install
> > > > > > dictionaries for RxNorm or SNOMED-CT, could anyone please help me
> > in
> > > > this
> > > > > > regard?
> > > > > >
> > > > > > 4. Also, I would like to know if there are any small dictionaries
> > > which
> > > > > > could be used free of charge or licensing, for my PoC.
> > > > > >
> > > > > > Thanks and Regards,
> > > > > > Abhishek De
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to