Sure, Sean. Please ! On 28 November 2017 at 23:16, Finan, Sean <sean.fi...@childrens.harvard.edu> wrote:
> Hi Bhagwat, > > I will try to answer this over the next day or two. Somebody else may > have some free time and get to you first ... > > Sean > > -----Original Message----- > From: Bhagwat Posane [mailto:bhagwat.pos...@gmail.com] > Sent: Tuesday, November 28, 2017 12:11 AM > To: dev@ctakes.apache.org > Subject: Re: Interpret context out of clinical note [EXTERNAL] > > Hello Sean, > > Thank you very much for your patience and bare with my basic queries. > > 1) What information you are trying to obtain from a note. An example > sentence would help. > > >> Here are some example sentence from which I want to make out weather > >> cystoscopy > is done or not. > >> ex: > Note 1: > In addition he has bilateral stones, non-obstructing and bilateral renal > cysts. I have been recommended that he > obtain a CT scan for staging, office cystoscopy for diagnosis, and > subsequently a bladder biopsy excision of the bladder tumor. > ----> cystoscopy not done > > > Note 2: > He has incidental bilateral renal stones 4.4 mm on the right and 2 mm on > the left. Cystoscopy showed a bladder > tumor on the floor of the bladder right side sessile 3 cm. suspicious for > invasion . Biopsy showed no invasion but high grade. > ---> cystoscopy done > > > Note 3: > Cystoscopy 2/10/16 shows the fistula, BPH, and no bladder lesions. Will > proceed with the fistula closure. CT > DONE IN THE HOSPITAL 2/24/16 SHOWED INVASIVE BLADDER CANCER INTRA-MURAL > OBSTRUCTING BOTH KIDNEYS. PATIENT WILL REQURIE A CYSTECTOMY AND URINARY > DIVERSION. > ---> Cystoscopy done / CYSTECTOMY not done > > > Note 4: > Other medical history in this patient includes diabetes, high blood > pressure. Surgical history includes gallbladder, > liver biopsy, bladder tumor resection as stated above. Return in 12 mos. > for repeat cystoscopy. > ---> cystoscopy done > > > Note 5: > Medical history in this patient is left blank except for thyroid disease. > Surgical history includes some hand > surgery. He also had some kind of eye surgery in 1987. Plan will be > cystoscopy, resection of bladder tumor for staging and retrograde > pyelogram. This is scheduled to be done at Medical City on July 20 at 7:30 > in the morning. > ----> cystoscopy done > > ************************************************************ > ************************************************************ > ******************************************************************** > > 2) What you have already done to successfully or unsuccessfully obtain the > information. > > >> I had checked outputs on web api of ctakes by giving some notes, I > suspected TLINK must be helpful component to get the above work done. > >> so I followed the path how to get the TLINK statement output and I > achieved it using piper file. > > ************************************************************ > ************************************************************ > ******************************************************************** > > 3) What you do understand at this point in time. > >> I understood only how to run particular pipeline using piper file and > get the output in HTML file. > >> I have gone through the ctakes-wiki, I have brief idea about each > module. > > ************************************************************ > ************************************************************ > ******************************************************************** > > 4) What you think is missing from your understanding. > >>Till now I had thought of using TLINKS to capture the context out of > note. I think so because of categories in TLINKS. After fetching TLINKS in > HTML format, while interpreting context, I feel mere TLINK wont help and I > need something else to get my work done. > >>At present I think I am lost somewhere and not able to figure out the > pipeline that needs to be used to get my work done > > ************************************************************ > ************************************************************ > ******************************************************************** > 5) What you really need from us. A workflow? A pipeline? Pointers > toward existing code? Pointers toward datatypes? A deeper explanation of > existing code (pick 1 class)? Help writing new ctakes code of your own? > > >> More precisely, I need a pipeline to do above task, and deeper > explanation of code of this pipeline. Having code insight I will have a > better control on the output, i.e. instead of having output in xmi/html, I > can prepare collection or so for the output. This may need to write new > cTakes code, not sure though. > > > > On 27 November 2017 at 19:02, Finan, Sean <Sean.Finan@childrens.harvard. > edu> > wrote: > > > Hi Bhagwat. > > > > You wrote: > > > Now coming back to our original question for which this thread has > > > been > > initiated. > > > I was trying to get the context out of clinical notes. for ex. If > > > any > > procedure is happened or not on patient. > > > ... > > > By following this clues, I am nowhere. > > > Could you please provide information on which pipeline I should have > > > to > > run to achieve this goal, and how? > > > > Your snippet of my previous message is incomplete. The sentence that > > I wrote following what you copied was: > > --- In those files each "add" statement is followed by an annotator > > class name. > > > > Those were your clues. Those annotator classes provide the information > > that you were asking about. Here are the contents of the > > AttributeClearTkSubPipe.piper: > > ========================================== > > // Commands and parameters to create a default entity attributes > > processing sub-pipeline. This is not a full pipeline. > > > > // Add the Dependency parser for use by cleartk addDescription > > ClearNLPDependencyParserAE // Add the Semantic Role Labeler parser for > > use by cleartk addLogged ClearNLPSemanticRoleLabelerAE > > > > // Add the cleartk package for cleartk class lookups package > > org.apache.ctakes.assertion.medfacts.cleartk > > > > // Add the cleartk attribute engines, logging for them as a block add > > StartFinishLogger LOGGER_NAME=CleartkAnalysisEngine > > LOGGER_TASK="Assigning Attributes" IS_START=true addDescription > > PolarityCleartkAnalysisEngine addDescription > > UncertaintyCleartkAnalysisEngine addDescription > > HistoryCleartkAnalysisEngine addDescription > > ConditionalCleartkAnalysisEngine addDescription > > GenericCleartkAnalysisEngine addDescription > > SubjectCleartkAnalysisEngine add StartFinishLogger > > LOGGER_NAME=CleartkAnalysisEngine LOGGER_TASK="Assigning Attributes" > > ========================================== > > > > The comments in the file provide hints, and the names of the annotator > > classes should give an even greater indication of function. " > PolarityCleartkAnalysisEngine" > > assigns polarity (negation), "UncertaintyCleartkAnalysisEngine" > > assigns uncertainty, etc. > > > > It is far from exhaustive, but you should always browse the ctakes > > wiki before posting to the dev list. The page on Assertion: > > https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_ > > confluence_display_CTAKES_cTAKES-2B4.0-2B-2D-2BAssertion&d=DwIBaQ&c=qS > > 4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6 > > r0bcpKGd4f7d4gTao&m=xI09LL4AitA-w9uu3DF3OBqlDGFKNeuB7wCAi5UxnYY&s=7oBh > > A5oVMUlUqetkOGeynSeay1WE4SnfhRU9agGr8gs&e= > > > > If you visit the page on the default clinical pipeline you will see > > that it extracts negation, uncertainty and subject (right at the top, > > plus a diagram). > > https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_ > > confluence_display_CTAKES_&d=DwIBaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMS > > dioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=xI09LL4Ait > > A-w9uu3DF3OBqlDGFKNeuB7wCAi5UxnYY&s=HOuzDHk2YB6nz0Lm-E0TR2oSxUA-j30dPj > > 4PXUR-aeY&e= > > Default+Clinical+Pipeline > > > > Near the bottom of that wiki page is stated "... runClinicalPipeline > > runs the piper file DefaultFastPipeline.piper ...", and "piper file" is > a link. > > https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_ > > confluence_display_CTAKES_Piper-2BFiles&d=DwIBaQ&c=qS4goWBT7poplM69zy_ > > 3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao > > &m=xI09LL4AitA-w9uu3DF3OBqlDGFKNeuB7wCAi5UxnYY&s=c2wUBjNt1mjoFtkAx1kKb > > nDiMv7PSkXF5HBv1j-pOXg&e= > > > > Near the bottom of the piper files wiki page is a diagram of the > > DefaultFastPipeline.piper that clearly indicates that it uses the > > AttributeClearTkSubPipe.piper, and it even lists the contents (as > > above) of that sub-pipeline. > > > > So, I am really confused as to what information you really want. You > > actually started this topic with: > > > I have seen the results of user installation of cTakes , the output > > > is > > pretty interesting. > > > Can anybody point to the source code of the same? > > > > Gandi pointed you towards the ctakes source repository. > > > > You apparently got the source code for ctakes, and then stated: > > > Now I am looking for the source-code that gives this result for a > > clinical note. > > > > Tim pointed you to Apache UIMA and the different modules that make up > > the default clinical pipeline. > > I pointed you toward the wiki page for some additional information. > > > > You then stated: > > > I have run ctakes-example project that internally executes > > ClinicalPipelineFactory.getDefaultPipeline() method. > > > This has given results like POS tag, Polarity, etc. > > > Now, I am more interested in finding Procedure, Medication, Drug, etc. > > > Could you please point me to the code file ... > > > > At this point Gandhi pointed to some helpful code. > > > > Then later you asked about temporal links because you thought that you > > needed them to provide certain information. > > > I think TLINKS values on web API maybe helpful to get the required > > result, not sure though. Please confirm > > > I am not able to find the code to generate TLINKS, could you please > > > help > > me locate the code. > > > > Tim (correctly) stated that you might be more interested in > > event/entity attributes such as negation and pointed you towards > > modules that make up the default pipeline. > > > > Then, in your last message you ask: > > > Could you please provide information on which pipeline I should have > > > to > > run to achieve this goal, and how? > > > > Since we seem to have gone back and forth on this, I think that it > > might help everybody trying to help you if you could start over and > clearly state: > > 1) What information you are trying to obtain from a note. An example > > sentence would help. > > 2) What you have already done to successfully or unsuccessfully obtain > > the information. > > 3) What you do understand at this point in time. > > 4) What you think is missing from your understanding. > > 5) What you really need from us. A workflow? A pipeline? Pointers > > toward existing code? Pointers toward datatypes? A deeper > > explanation of existing code (pick 1 class)? Help writing new ctakes > code of your own? > > > > > > Thank you, > > Sean > > > > > > -----Original Message----- > > From: Bhagwat Posane [mailto:bhagwat.pos...@gmail.com] > > Sent: Monday, November 27, 2017 12:49 AM > > To: dev@ctakes.apache.org > > Subject: Re: Interpret context out of clinical note [EXTERNAL] > > > > Hello Sean, > > > > Thank you for the inputs, Now coming back to our original question for > > which this thread has been initiated. > > > > I was trying to get the context out of clinical notes. for ex. If any > > procedure is happened or not on patient. > > > > To achieve this you mentioned some points : > > > > You can visit the ctakes-assertion-res module for some clues. > > > Navigate to ctakes-assertion-res src/main/resources/ > > > org/apache/ctakes/assertion/pipeline/ > > > There are two .piper files there. Each one covers a different way > > > to get the information that you mentioned. > > > > > > By following this clues, I am nowhere. > > Could you please provide information on which pipeline I should have > > to run to achieve this goal, and how? > > > > > > On 24 November 2017 at 21:24, Finan, Sean <Sean.Finan@childrens.harvard. > > edu> > > wrote: > > > > > Hi Bhagwat, > > > > > > Ok, a couple of things are problematic. > > > > > > 1. the DefaultFastPipeline already contains attribute detection > > > using the AttributeClearTkSubPipe.piper. That sub- pipeline adds > > > the ClearNLPSemanticRoleLabelerAE. So does the AssertionSubPipe.piper. > > > The pipeline cannot have two instances of that annotator. The fix > > > for this is to just add the AssertionEngines that are at the bottom > > > of the AssertionSubPipe.piper. > > > > > > 2. The assertion engines don't work. They will spit out some log > > > messages about not being usable until ctakes-76 is implemented. > > > Then you will get a NullPointerException and ctakes will happily crash. > > > > > > James Masanz made the last comment on ctakes-76: > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__issues.apache.o > > > rg > > > _jira_browse_CTAKES-2D76&d=DwIBaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMS > > > di > > > oCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=wGmqUbPS3- > > > WJ > > > RSYmkNbjZ1e-OfMJTOVk6wbzOElQUrE&s=ZyPD1MbOImp08cCdSo0HeecCXAqUatZEZm > > > hA > > > W-cJVtc&e= > > > which includes the information: > > > "when this issue gets resolved (the jars are available from maven > > > central) then ctakes-assertion could be updated again to use" > > > > > > So, what to do? > > > Well, my advice would be to just skip the Assertion engines. The > > > default ClearTk attribute engines will produce the same types of > > > event and entity attributes and they are already in the default > pipeline. > > > Is there a reason that you wanted to use the older Assertion engines? > > > Was it just listed in (unfortunately) outdated documentation? > > > > > > Sean > > > > > > > > > -----Original Message----- > > > From: Bhagwat Posane [mailto:bhagwat.pos...@gmail.com] > > > Sent: Friday, November 24, 2017 8:58 AM > > > To: dev@ctakes.apache.org > > > Subject: Re: Interpret context out of clinical note [EXTERNAL] > > > > > > Hello Sean, > > > > > > As you mentioned in previous email The annotators in the Assertion > > > piper require several other annotators to run first, so to run > > > AssertionSubPipe.piper I have added DefaultFastPipeline and > > > AssertionDefaults piper file before that. > > > > > > for reference below text is from my piper file: > > > > > > ************************************************************ > > > ********************* > > > reader FileTreeReader InputDirectory=D:\Bhagwat\Notes load > > > org/apache/ctakes/clinical/pipeline/DefaultFastPipeline.piper > > > load org/apache/ctakes/examples/pipeline/AssertionDefaults.piper > > > load AssertionSubPipe.piper > > > > > > // Temporal (event, time, dtr, tlink) load TemporalSubPipe.piper > > > > > > // Html output > > > set OutputDirectory=D:\Bhagwat\HTMLoutput > > > add pretty.html.HtmlTextWriter > > > > > > //XMI output > > > //writeXmis D:\Bhagwat\XMI > > > ************************************************************ > > > ********************* > > > > > > As I run this piper file the command addLogged > > > ClearNLPSemanticRoleLabelerAE It is showing started processing.... > > > and never finished. when I debugged the code I found it is going in > > > infinite loop for one of the sentence from clinical note. > > > > > > The code which goes in Infinite loop is in DEPNode.class file > > > ************************************************************ > > > ************************************************************ > > > ******************** > > > public boolean isDescendentOf(DEPNode node) { DEPNode head = > > > getHead(); while (head != null) { if (head == node) return true; > > > head = head.getHead(); } return false; } > > > ************************************************************ > > > ************************************************************ > > > ******************** > > > if (head == node) this condition never becomes true ! > > > > > > > > > I have added clinical notes for your reference,for the highlighted > > > line the ClearNLPSemanticRoleLablerAE goes in infinite loop. > > > > > > ************************************************************ > > > ************************************************************ > > > ********************* > > > Note 1: > > > The patient is XX years old with gross hematuria beginning ten days > ago. > > > He has pain over the bladder. > > > He smoked until XXXX. His country of origin is XXXX. He has been > > > here for two years. > > > Ultrasound is planned on 3/26/2015 shows a mass in the bladder 3.4 > > > x > > > 3.8 x > > > 3.1 cm. > > > > > > > > > > > > Note 2: > > > This is a 67-year-old patient followed for erectile dysfunction and > > benign > > > prostatic hyperplasia. Prostate symptoms consist of slow stream and > > NX > > > X 2. TUMT explained to the patient. > > > Urinalysis showed 2+ sugar before and trace of blood. No retention, > > > burning or blood. He is up perhaps once at night to void depending > > > upon his fluid > > > intake. PSA was .3 on 1/12. > > > The patient use to take AndroGel squirt three a day. T was 483 in Nov. > > > 2011. T was 531 on 1/13 by internist. He has been off the Androgel. > > > Testosterone is rechecked. He may choose to use IM testosterone at > home > > > self administered. He also uses TriMix for ED. > > > He has diminished number and frequency of erections. Duration is > years. > > > Modifying factors include Diabetes. Severity is 8 of 10. He no > > > logner uses Dialis. TriMix refilled. > > > Patient has lost 40 lbs on Victosa administered by his endocrinologist. > > > > > > ************************************************************ > > > ************************************************************ > > > ********************* > > > > > > The Interesting thing is when I run only the highlighted sentence as > > > a note it executes successfully, it means to get into infinite loop > > > the highlighted sentence should have at least one sentence with it. > > > Could you please provide your thoughts on it. > > > > > > Sorry for lengthy explanation, but I thought it is necessary. > > > > > > > > > > > > On 24 November 2017 at 01:22, Finan, Sean > <Sean.Finan@childrens.harvard. > > > edu> > > > wrote: > > > > > > > Hi Bhagwat, > > > > > > > > Thanks for the heads up on the "file:" issue. I will check to see > > > > if the usage has changed and fix the piper. > > > > > > > > Sean > > > > > > > > -----Original Message----- > > > > From: Bhagwat Posane [mailto:bhagwat.pos...@gmail.com] > > > > Sent: Thursday, November 23, 2017 9:17 AM > > > > To: dev@ctakes.apache.org > > > > Subject: Re: Interpret context out of clinical note [EXTERNAL] > > > > > > > > Thanks James, It worked using cast to Map. ! > > > > > > > > Sean, > > > > In AssertionDefaults.piper you set the file like: > > > > > > > > set > > > > assertionModelResource=file:org/apache/ctakes/assertion/models/i2b2. > > > > mo > > > > del > > > > > > > > As I run this piper file it throws file not found exception, it > > > > resolved for me by removing "file:" from command, I suppose this > > > > needs > > > to be fixed. > > > > > > > > > > > > On 22 November 2017 at 23:21, Finan, Sean > > <Sean.Finan@childrens.harvard. > > > > edu> > > > > wrote: > > > > > > > > > Wow, that is really strange. > > > > > > > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__uima.apache > > > > > .o > > > > > rg > > > > > _d > > > > > _uimafit-2Dcurrent_api_org_&d=DwIBaQ&c=qS4goWBT7poplM69zy_3xhKwE > > > > > W1 > > > > > 4J > > > > > ZM > > > > > SdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=1A9 > > > > > as > > > > > f1 > > > > > ga > > > > > bEGz-5fQfVfXbp2BcZEJaZIiJ4zSk09P1M&s=jo0yN7BJTt98IHerLXLK4aQvmSO > > > > > An > > > > > 90 > > > > > pU > > > > > lzHg00ynFI&e= > > > > > apache/uima/fit/util/JCasUtil.html > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > From: James Masanz [mailto:masanz.ja...@gmail.com] > > > > > Sent: Wednesday, November 22, 2017 12:50 PM > > > > > To: dev@ctakes.apache.org > > > > > Subject: Re: Interpret context out of clinical note [EXTERNAL] > > > > > > > > > > If I use Eclipse, at build time I also get the error > > > > > > > > > > method putAll(Map<? extends Annotation,? extends > > > > > List<IdentifiedAnnotation>>) in the type Map<Annotation,List< > > > > > IdentifiedAnnotation>> > > > > > is not applicable for the arguments (Map) > > > > > > > > > > I haven't looked into why. > > > > > > > > > > A quick workaround is to add a cast to Map > > > > > > > > > > allCovering.putAll( (Map)JCasUtil.indexCovering( jCas, covered, > > > > > covering ) ); > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Nov 22, 2017 at 8:40 AM, Finan, Sean < > > > > > sean.fi...@childrens.harvard.edu> wrote: > > > > > > > > > > > Hi Bhagwat, > > > > > > > > > > > > I have no idea what is going on with your system. > > > > > > > > > > > > > The method putAll(Map<? extends Annotation,? extends > > > > > > > List<IdentifiedAnnotation>>) in the type > > > > > > > Map<Annotation,List<IdentifiedAnnotation>> is not applicable > > > > > > > for the arguments (Map) > > > > > > > > > > > > That doesn't make any sense to me. That is exactly what > > > > > > putAll is for ... Unless your uimafit does not return a typed > > > > > > map? In which case it is an old version? I am not sure how > > > > > > that would > > > happen. > > > > > > > > > > > > > When I run AssertionSubPipe.piper I am getting below error: > > > > > > The .piper files should all have line comments in them. The > > > > > > *SubPipe pipers should all have something like "This is not a > > > > > > complete pipeline" at the top. This means that it cannot be > > > > > > run alone. The annotators in the Assertion piper require > > > > > > several other annotators to run first. In addition to the > > > > > > default clinical piper I think that there are some piper files > > > > > > in ctakes-example-res that you can look at to > > > > > start. > > > > > > > > > > > > >, I don't find any variables value in understandable format > > > > > > >like (JCas > > > > > > jcas) object. How would I understand JCas object values? > > > > > > > > > > > > ctakes is built upon the Apache UIMA framework. > > > > > > > > > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__uima.apac > > > > > > he > > > > > > .o > > > > > > rg > > > > > > _& > > > > > > d=DwIBaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67G > > > > > > vl > > > > > > GZ > > > > > > st > > > > > > Tp > > > > > > yIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=rVKcbkbznwk6V-PLUy56sA4hGgN0F > > > > > > 4q > > > > > > rL > > > > > > N5 Ik 6FIDnM&s=ebIFQbW0D4VLpTWv9a4YQqy_G30S_hDeDEbhCTesFuk&e= > > > > > > > > > > > > This should probably be on our wiki ... Anyway, the best way > > > > > > to learn about how ctakes pipelines are put together and how > > > > > > data is passed is to read some of the intro documentation for > uima. > > > > > > > > > > > > The Javadoc for jcas is here: > > > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__uima.apac > > > > > > he > > > > > > .o > > > > > > rg > > > > > > _d > > > > > > _&d=DwIBaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs6 > > > > > > 7G > > > > > > vl > > > > > > GZ > > > > > > st > > > > > > TpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=rVKcbkbznwk6V-PLUy56sA4hGgN > > > > > > 0F > > > > > > 4q > > > > > > rL > > > > > > N5 Ik6FIDnM&s=I_7BH2bDGR48vI03bE1dirKGCgq33PKB9vXN2VDrMA8&e= > > > > > > uimaj-current/apidocs/org/apache/uima/jcas/JCas.html > > > > > > > > > > > > Sean > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > From: Bhagwat Posane [mailto:bhagwat.pos...@gmail.com] > > > > > > Sent: Wednesday, November 22, 2017 3:38 AM > > > > > > To: dev@ctakes.apache.org > > > > > > Subject: Re: Interpret context out of clinical note [EXTERNAL] > > > > > > > > > > > > Hello Sean, > > > > > > > > > > > > Thank you for the inputs. I have gone through both the piper > > > > > > files which you have mentioned. > > > > > > > > > > > > When I run AssertionSubPipe.piper I am getting below error: > > > > > > > > > > > > //////////////////////////////////////////////////////////// > > > > > > //////////////////////////////////////////////////////////// > > > > > > //////////////////////////////////////////// > > > > > > > > > > > > 22 Nov 2017 12:55:31 WARN SingleDocumentProcessor - This > > > > > > class cannot be used until CTAKES-76 is implemented. > > > > > > 22 Nov 2017 12:55:31 WARN SingleDocumentProcessor - This > > > > > > class cannot be used until CTAKES-76 is implemented. > > > > > > Nov 22, 2017 12:55:31 PM > > > > > > org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_i > > > > > > mp > > > > > > l > > > > > > callAnalysisComponentProcess(430) > > > > > > SEVERE: Exception occurred > > > > > > org.apache.uima.analysis_engine.AnalysisEngineProcessException: > > > > > > Annotator processing failed. > > > > > > at org.apache.uima.analysis_engine.impl. > > > PrimitiveAnalysisEngine_impl. > > > > > > callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java > > > > > > :4 > > > > > > 12 > > > > > > ) at > > > > > > org.apache.uima.analysis_engine.impl. > PrimitiveAnalysisEngine_impl. > > > > > > processAndOutputNewCASes(PrimitiveAnalysisEngine_impl.java:314 > > > > > > ) at org.apache.uima.analysis_engine.asb.impl.ASB_impl$ > > > > > AggregateCasIterator. > > > > > > processUntilNextOutputCas(ASB_impl.java:570) > > > > > > at org.apache.uima.analysis_engine.asb.impl.ASB_impl$ > > > > > > AggregateCasIterator.<init>(ASB_impl.java:412) > > > > > > at org.apache.uima.analysis_engine.asb.impl.ASB_impl. > > > > > > process(ASB_impl.java:344) > > > > > > at org.apache.uima.analysis_engine.impl. > > > AggregateAnalysisEngine_impl. > > > > > > processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:265 > > > > > > ) at org.apache.uima.analysis_engine.asb.impl.ASB_impl$ > > > > > AggregateCasIterator. > > > > > > processUntilNextOutputCas(ASB_impl.java:570) > > > > > > at org.apache.uima.analysis_engine.asb.impl.ASB_impl$ > > > > > > AggregateCasIterator.<init>(ASB_impl.java:412) > > > > > > at org.apache.uima.analysis_engine.asb.impl.ASB_impl. > > > > > > process(ASB_impl.java:344) > > > > > > at org.apache.uima.analysis_engine.impl. > > > AggregateAnalysisEngine_impl. > > > > > > processAndOutputNewCASes(AggregateAnalysisEngine_impl.java:265 > > > > > > ) > > > > > > at > > > > > > org.apache.uima.analysis_engine.impl.AnalysisEngineImplBase.pr > > > > > > oc > > > > > > es > > > > > > s( > > > > > > AnalysisEngineImplBase.java:269) at > > > > > > org.apache.uima.fit.pipeline.SimplePipeline.runPipeline( > > > > > > SimplePipeline.java:150) > > > > > > at org.apache.ctakes.core.pipeline.PipelineBuilder.run( > > > > > > PipelineBuilder.java:348) > > > > > > at org.apache.ctakes.core.pipeline.PiperFileRunner.run( > > > > > > PiperFileRunner.java:72) > > > > > > at org.apache.ctakes.core.pipeline.PiperFileRunner.main( > > > > > > PiperFileRunner.java:30) > > > > > > Caused by: java.lang.NullPointerException at > > > > org.apache.ctakes.assertion. > > > > > > medfacts.AssertionAnalysisEngineFit.process( > > > > > > AssertionAnalysisEngineFit.java:145) > > > > > > at > > > > > > org.apache.uima.analysis_component.JCasAnnotator_ImplBase.proc > > > > > > es > > > > > > s( > > > > > > JCasAnnotator_ImplBase.java:48) at > > > > > > org.apache.uima.analysis_engine.impl. > > > PrimitiveAnalysisEngine_impl. > > > > > > callAnalysisComponentProcess(PrimitiveAnalysisEngine_impl.java > > > > > > :3 > > > > > > 96 > > > > > > ) > > > > > > ... 14 more > > > > > > > > > > > > //////////////////////////////////////////////////////////// > > > > > > //////////////////////////////////////////////////////////// > > > > > > //////////////////////////////////////////////////////////// > > > > > > /////////////////////// > > > > > > > > > > > > The error is causing due to the command : add > > > > > > AssertionAnalysisEngineFit I have comment out this command and > > > > > > ran it, the html output doesn't have any difference with > > > > > > previous > > output. > > > > > > Could you please help me to resolve this error. > > > > > > > > > > > > > > > > > > On 21 November 2017 at 18:43, Finan, Sean > > > > <Sean.Finan@childrens.harvard. > > > > > > edu> > > > > > > wrote: > > > > > > > > > > > > > Hi Bhagwat, > > > > > > > > > > > > > > You can visit the ctakes-assertion-res module for some clues. > > > > > > > > > > > > > > Navigate to ctakes-assertion-res src/main/resources/ > > > > > > > org/apache/ctakes/assertion/pipeline/ > > > > > > > > > > > > > > There are two .piper files there. Each one covers a > > > > > > > different way to get the information that Tim mentioned. In > > > > > > > those files > > > each "add" > > > > > > > statement is followed by an annotator class name. In > > > > > > > IntelliJ you can press CTRL-N and enter the class name to view > the code. > > > > > > > There are also a few comments in the piper files that may help. > > > > > > > > > > > > > > Sean > > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: Bhagwat Posane [mailto:bhagwat.pos...@gmail.com] > > > > > > > Sent: Tuesday, November 21, 2017 6:21 AM > > > > > > > To: dev@ctakes.apache.org > > > > > > > Subject: Interpret context out of clinical note [EXTERNAL] > > > > > > > > > > > > > > Hello Sean,Tim, et al, > > > > > > > > > > > > > > I would like to Interpret context out of clinical note, e.g. > > > > > > > interpretation of the procedure, lab tests for a patient. > > > > > > > For this, I suppose TLINK statements would be of much help. > > > > > > > > > > > > > > Ex. for the note- "Cystoscopy is planned on 3 / 26 / 2018." > > > > > > > I get TLINK as > > > > > > > Cystoscopy contains 3 / 26 / 2018, > > > > > > > 3 / 26 / 2018 contains Cystoscopy > > > > > > > 3 / 26 / 2018 contains planned we can make out that > > > > > > > Cystoscopy is not yet done looking at "planned"(in this > > > > > > > case), > > > > > > > > > > > > > > Could you please let me know if I am on right path and also > > > > > > > help me understand if any other approach to do this. > > > > > > > > > > > > > > > > > > > > > @Tim, > > > > > > > Couple of days back you mentioned about the context > > understanding : > > > > > > > > > > > > > > "if any procedure is happened or not." > > > > > > > > I think you need a formal definition of this to understand > > > > > > > > what you're trying to do. > > > > > > > > As a guess, you want it to be in the past, related to the > > > > > > > > patient (not a family member), and not negated or > > > > > > > > hypothetical or uncertain, > > > > > > etc.? > > > > > > > > This would require multiple components, but most of them > > > > > > > > should run in the temporal pipeline. > > > > > > > > > > > > > > > > > > > > > > Tim > > > > > > > > > > > > > > > > > > > > > Could you please provide some insight on this, as what are > > > > > > > the multiple components are required and how to use them to > > > > > > > achieve this > > > > > > goal. > > > > > > > > > > > > > > -- > > > > > > > Thanks, > > > > > > > Bhagwat Posane > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Thanks, > > > > > > Bhagwat Posane > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Thanks, > > > > Bhagwat Posane > > > > > > > > > > > > > > > > -- > > > Thanks, > > > Bhagwat Posane > > > > > > > > > > > -- > > Thanks, > > Bhagwat Posane > > > > > > -- > Thanks, > Bhagwat Posane > -- Thanks, Bhagwat Posane