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 > > > > > > > > > > > > > > > > > > > > >