i2b2 Academic Users Group
Space shortcuts
Space Tools
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

NEXT EMAIL
From:Jack London <Jack.London.jefferson>
Sent:Thursday, May 31, 2012 1:20 PM
To:Wilson, Brian
Cc: i2b2 AUG Members
Subject:Re: v1.6 "same instance" temporal constraint
Brian,
Yes – that's what is needed! Makes sense too. Thanks ...
Jack

On 5/31/12 1:16 PM, "Wilson, Brian" <BWILSON6.PARTNERS> wrote:
Jack,
Try dragging a modifier concept on to the query panel, I believe the
event will trigger the population of the drop down with the missing
"same instance" option
Brian

From: Jack London [Jack.London.jefferson]
Sent: Thursday, May 31, 2012 11:49 AM
To: i2b2 AUG Members
Subject: v1.6 "same instance" temporal constraint
We are running 1.6.04 web client. According to the release notes, at the query and panel levels, the "Temporal Constraint" pull down should include "same financial encounter" and "same instance." I only see "same financial encounter."
Any thoughts as to why I do not see "Items instance will be the same" ?
Jack


NEXT EMAIL
From:Murphy, Shawn N.
Sent:Wednesday, May 30, 2012 9:06 PM To:Jack London; i2b2 AUG Members Subject:RE: i2b2 1.6.04 is released
Thanks very much for the report Jack, we will do. Shawn.

From: Jack London [Jack.London.jefferson]
Sent: Tuesday, May 29, 2012 4:15 PM
To: Murphy, Shawn N.; i2b2 AUG Members
Subject: Re: i2b2 1.6.04 is released
Shawn,
It looks like the 1.6.04 web client default,htm file has "v1.6.03" as its version annotation. Is it o.k. to go ahead and change this to "1.6.04" since I rely on this to jog my memory as to what version we are running?
Jack

From: <Murphy>, "Shawn N." <SNMURPHY.PARTNERS>
Date: Wednesday, May 23, 2012 7:30 AM
To: "i2b2 AUG Members" <i2b2 AUG Members>
Subject: i2b2 1.6.04 is released
This release does not contain any new features from 1.6.03, just some software fixes. Please see release notes for their description.
Thanks, Shawn.


NEXT EMAIL
From: Zapletal Eric <eric.zapletal.egp.aphp.fr>
Sent:Friday, May 25, 2012 11:55 AM
To: Mendis, Michael E.
Cc: i2b2 AUG Members
Subject:Re: QueryTool panel height in webclient 1.6 user interface is too small
Mike,
changing "isSHRINE" to "false" in the i2b2_config_data.js solve the problem ! (this parameter was not declared in the 1.6.02 i2b2_config_data.js)
Thanks so much ! Eric

Le 25/05/2012 17:42, Mendis, Michael E. a écrit :
But the previous query came up. Can send over your properies file.
I am wondering if you have SHRINE enabled?Has this just occurred?
mike

From: Zapletal Eric [eric.zapletal.egp.aphp.fr] Sent: Friday, May 25, 2012 10:55 AM
To: Mendis, Michael E. Cc: Sebastian Mate
Subject: Re: QueryTool panel height in webclient 1.6 user interface is too small
Sure...
Maybe Sebastian is right : I am not sure that my CRC cell is working (migration is still is progress and projects/users/roles data are not validated in my 1.6 environement)
But does it explains the difference between 1.6.04 and 1.6.02 version of the client ? Thanks again.
Eric

Le 25/05/2012 16:42, Mendis, Michael E. a écrit : Eric,
can you take a screenshot?
thanks mike

Sent: Friday, May 25, 2012 10:21 AM
To: i2b2 AUG Members<i2b2 AUG Members>
Subject: QueryTool panel height in webclient 1.6 user interface is too small
Dear i2b2 members,
we are actually migrating to the i2b2 1.6 version.
When logging in with the webclient, the QueryTool panel height is too small : it does not fit to the available space above QueryStatus panel.
Therefore, requests can not be launched, because "Drop a term on here" columns are only few pixels height.
This behaviour can be reproduced with webclient 1.6.04 and 1.6.03 but it works nice with webclient 1.6.02 (warning) .
This behaviour can reproduced with several browsers (2 different versions of FireFox, IE 8).
Has anyone faced this issue ?? Thanks in advance for any help !
Sincerely,
Eric Zapletal
Assistance Publique - Hôpitaux de Paris
France


NEXT EMAIL
From:Schulte, Gregory <Gregory.Schulte.childrenscolorado>
Sent:Friday, May 25, 2012 10:54 AM
To:'Lisa Miao'; i2b2 AUG Members
Subject:RE: Active Directory
Lisa,
We are on version 1.6.0.3 and have been able to integrate AD authentication.
There is a section (#5, Authentication in I2B2) in the PM Installation guide, which outlines how to integrate AD or LDAP. Basically, we added three "Params" to each user under "Manage Users" in the PM Navigation panel of the i2b2 ADMIN page.
The 3 params were : authentication_method, domain and domain controller thanks,
Greg

From: Lisa Miao [lmiao.regenstrief]
Sent: Friday, May 25, 2012 8:19 AM
To: i2b2 AUG Members
Subject: Active Directory
Dear i2b2 team,
Just wondering if it is possible to integrate the i2b2 "admin" functionality with any Active Directory service, in other words, if we can use "Active Directory" to be our authentication of user login for i2b2. That way the users don't have to have two sets of username/passwords. If not today, has there been any plan in the near future ?
Thanks, Lisa.


NEXT EMAIL
From:Sebastian Mate <Sebastian.Mate.imi.med.uni-erlangen.de>
Sent:Friday, May 25, 2012 10:39 AM
To:'Zapletal Eric'
Cc: i2b2 AUG Members
Subject:AW: QueryTool panel height in webclient 1.6 user interface is too small
Hi Eric & Shawn,
I've encountered this error. I'm not 100% sure, but I think it happens when the CRC is not working ... Sebastian

Von: members.i2b2aug [members.i2b2aug] Im Auftrag von Murphy, Shawn N. Gesendet: Freitag, 25. Mai 2012 16:26
An: Zapletal Eric; i2b2 AUG Members
Betreff: RE: QueryTool panel height in webclient 1.6 user interface is too small
We'll take a look Eric, if you go to the demo client at http://webservices.i2b2.org/webclient/ do you see that behavior?
Thanks, Shawn.

From: Zapletal Eric [eric.zapletal.egp.aphp.fr]
Sent: Friday, May 25, 2012 10:21 AM
To: i2b2 AUG Members
Subject: QueryTool panel height in webclient 1.6 user interface is too small
Dear i2b2 members,
we are actually migrating to the i2b2 1.6 version.
When logging in with the webclient, the QueryTool panel height is too small : it does not fit to the available space above QueryStatus panel.
Therefore, requests can not be launched, because "Drop a term on here" columns are only few pixels height. This behaviour can be reproduced with webclient 1.6.04 and 1.6.03 but it works nice with webclient 1.6.02 (warning) . This behaviour can reproduced with several browsers (2 different versions of FireFox, IE 8).
Has anyone faced this issue ?? Thanks in advance for any help !
Sincerely,
Eric Zapletal
Assistance Publique - Hôpitaux de Paris
France


NEXT EMAIL
From:Sebastian Mate <Sebastian.Mate.imi.med.uni-erlangen.de>
Sent:Friday, May 25, 2012 9:38 AM
To:'Bickel, Jonathan'
Cc: i2b2 AUG Members; 'Mark Weiner'
Subject:AW: i2b2 Wizard and SHRINE
This is great – apparently SHRINE is more compatible to 1.6 than I thought ... I haven't tried installing SHRINE with 1.6, yet.
Did you encounter any hard problems or have you been able to set it by up by just experimenting/testing? If the first case is true, I would highly appreciate it if you could send me some hints on how you did it.
I will then happily integrate it into i2b2 Wizard.
Sebastian
Ursprüngliche Nachricht

Von: Bickel, Jonathan [Jonathan.Bickel.childrens.harvard] Gesendet: Freitag, 25. Mai 2012 15:27
An: Sebastian Mate; 'Mark Weiner' Cc: i2b2 AUG Members
Betreff: Re: i2b2 Wizard and SHRINE
We have 1.6.03 running on the HMS SHRINE network... happy to discuss how we did it, but it was not difficult for us.
Jonathan Bickel M.D.
Director of Clinical Research Informatics | Children's Hospital Boston
Cell: 412.480.1498 | Pager: 617.560.9980 (in-house x 2576) | Work:
617.919.3565
Email: <Jonathan.Bickel.childrens.harvard>
<Jonathan.Bickel.childrens.harvard> Jonathan.Bickel.childrens.harvard<Jonathan.Bickel.childrens.harva rd>

From: Sebastian Mate
<Sebastian.Mate.imi.med.uni-erlangen.de<Sebastian.Mate.imi.med.uni-er langen.de>>
Date: Wed, 23 May 2012 17:21:44 +0200
To: 'Mark Weiner' <mweiner.mail.med.upenn<mweiner.mail.med.upenn>>
Cc: <i2b2 AUG Members<i2b2 AUG Members>> Subject: Re: i2b2 Wizard and SHRINE
Hi Mark,
basically, the i2b2 Wizard SHRINE installer is just an i2b2-Wizard-i2b2-compatible copy of what the SHRINE developers call their "quick install scripts". If you have access to the official i2b2 VMs, it is probably easier to just use their "quick install scripts". The i2b2 Wizard SHRINE installer doesn't do much in addition (at this point of time).
It is true that there are some SHRINE options in i2b2 Wizard, for example, you can configure some values of the certificates (e.g. to use your institute's name in them) or your node's name (you don't want all SHRINE nodes in the SHRINE webclient to show the same hospital name (wink) ). However, this configuration is minimal. It's just there to get a minimal SHRINE node running. There are no functions to connect the node to others. This requires manual work, for example certificate exchange, etc.
Please note that SHRINE is currently not compatible with i2b2 1.6. Therefore it's not working right now. Maybe the SHRINE guys catch up in the near future or there will be a version-independent i2b2 Wizard (one version of i2b2 Wizard would be able to install different versions of i2b2). Maybe you're lucky with i2b2 Wizard 1.24, which was the last version to support i2b2 1.5. But you might need to fix the URLs of the SHRINE SVN.
Other than that, it would suit your needs. In fact, you can have a SHRINE network with just one node, the i2b2 Wizard SHRINE installer is capable of creating this without any additional manual work. Sebastian

Von: Mark Weiner [mweiner.mail.med.upenn] Gesendet: Mittwoch, 23. Mai 2012 15:55
An: 'Sebastian Mate' Betreff: RE: i2b2 1.6.04 is released
I see this install wizard has grown from 2010 when I last played around with it. I'm particularly interested in the SHRINE additions. In the "main features" section, it says it does NOT cover SHRINE configuration, but in the screen shots, I see a menu option to "configure SHRINE node"
I have been curious about implementing SHRINE and how difficult it is to join a SHRINE group from a technical perspective. Is it possible to simulate a small SHRINE network by having 2 or 3 distinct I2B2 instances running on different machines, all set up using your tool, and then having them talk with each other via the SHRINE component?
Mark

From: Sebastian Mate [Sebastian.Mate.imi.med.uni-erlangen.de]<[Sebastian.Mat e.imi.med.uni-erlangen.de]>
Sent: Wednesday, May 23, 2012 8:25 AM
To: 'Murphy, Shawn N.'; i2b2 AUG Members<i2b2 AUG Members> Subject: AW: i2b2 1.6.04 is released
... and a new version of i2b2 Wizard for it can be found here:http://www.imi.med.uni-erlangen.de/~matesn/i2b2wizard/
Make sure to pick version 1.4.2, which supports i2b2 1.6.04. It was only superficially tested, but it seems to work fine ...
(smile) Cheers
Sebastian
Dipl.-Inf. Sebastian Mate
Friedrich-Alexander-University of Erlangen-Nuremberg Department for Medical Informatics Krankenhausstrasse 12,
91054 ERLANGEN, GERMANY Phone +49 9131/85-26785, Fax +49 9131/85-26754 Sebastian.Mate.imi.med.uni-
erlangen.de<Sebastian.Mate.imi.med.uni-erl angen.de> http://www.imi.med.uni-erlangen.de<http://www.imi.med.uni-erlangen.de/>


Von: membersi2b2aug<members.i2b2aug> Im Auftrag von Murphy, Shawn N.
Gesendet: Mittwoch, 23. Mai 2012 13:30
An: i2b2 AUG Members<i2b2 AUG Members> Betreff: i2b2 1.6.04 is released
This release does not contain any new features from 1.6.03, just some software fixes. Please see release notes for their description.
Thanks, Shawn.


NEXT EMAIL
From:Pablo, Ray <pablorp.uci> Sent:Wednesday, May 23, 2012 4:24 PM To: i2b2 AUG Members
Subject:Less than 10 Patient Set and Analysis Tools


Is there a way to prevent a user from running any analysis plugins on patient sets of less than 10 patients?


NEXT EMAIL
From:Churchill, Susanne E.
Sent:Wednesday, May 23, 2012 11:32 AM
To:Sebastian Mate; Mark Weiner Cc: i2b2 AUG Members Subject:RE: i2b2 Wizard and SHRINE
FYI, we're in the process of migrating the Harvard Catalyst i2b2 sites to 1.6 and will be evaluating shortly.

From: Sebastian Mate [Sebastian.Mate.imi.med.uni-erlangen.de]
Sent: Wednesday, May 23, 2012 11:22 AM
To: 'Mark Weiner'
Cc: i2b2 AUG Members
Subject: Re: i2b2 Wizard and SHRINE
Hi Mark,
basically, the i2b2 Wizard SHRINE installer is just an i2b2-Wizard-i2b2-compatible copy of what the SHRINE developers call their "quick install scripts". If you have access to the official i2b2 VMs, it is probably easier to just use their "quick install scripts". The i2b2 Wizard SHRINE installer doesn't do much in addition (at this point of time).
It is true that there are some SHRINE options in i2b2 Wizard, for example, you can configure some values of the certificates (e.g. to use your institute's name in them) or your node's name (you don't want all SHRINE nodes in the SHRINE webclient to show the same hospital name (wink) ). However, this configuration is minimal. It's just there to get a minimal SHRINE node running. There are no functions to connect the node to others. This requires manual work, for example certificate exchange, etc.
Please note that SHRINE is currently not compatible with i2b2 1.6. Therefore it's not working right now. Maybe the SHRINE guys catch up in the near future or there will be a version-independent i2b2 Wizard (one version of i2b2 Wizard would be able to install different versions of i2b2). Maybe you're lucky with i2b2 Wizard 1.24, which was the last version to support i2b2 1.5. But you might need to fix the URLs of the SHRINE SVN.
Other than that, it would suit your needs. In fact, you can have a SHRINE network with just one node, the i2b2 Wizard SHRINE installer is capable of creating this without any additional manual work.
Sebastian

Von: Mark Weiner [mweiner.mail.med.upenn]
Gesendet: Mittwoch, 23. Mai 2012 15:55
An: 'Sebastian Mate'
Betreff: RE: i2b2 1.6.04 is released
I see this install wizard has grown from 2010 when I last played around with it. I'm particularly interested in the SHRINE additions. In the "main features" section, it says it does NOT cover SHRINE configuration, but in the screen shots, I see a menu option to "configure SHRINE node"
I have been curious about implementing SHRINE and how difficult it is to join a SHRINE group from a technical perspective. Is it possible to simulate a small SHRINE network by having 2 or 3 distinct I2B2 instances running on different machines, all set up using your tool, and then having them talk with each other via the SHRINE component?
Mark

From: Sebastian Mate [Sebastian.Mate.imi.med.uni-erlangen.de]
Sent: Wednesday, May 23, 2012 8:25 AM
To: 'Murphy, Shawn N.'; i2b2 AUG Members
Subject: AW: i2b2 1.6.04 is released
... and a new version of i2b2 Wizard for it can be found here: http://www.imi.med.uni-
erlangen.de/~matesn/i2b2wizard/
Make sure to pick version 1.4.2, which supports i2b2 1.6.04. It was only superficially tested, but it seems to work fine ...
(smile)
Cheers
Sebastian
Dipl.-Inf. Sebastian Mate Friedrich-Alexander-University of Erlangen-Nuremberg Department for Medical Informatics Krankenhausstrasse 12, 91054 ERLANGEN, GERMANY Phone +49 9131/85-26785, Fax +49 9131/85-26754
Sebastian.Mate.imi.med.uni-erlangen.de http://www.imi.med.uni-erlangen.de

Von: members.i2b2aug Im Auftrag von Murphy, Shawn N. Gesendet: Mittwoch, 23. Mai 2012 13:30 An: i2b2 AUG Members
Betreff: i2b2 1.6.04 is released
This release does not contain any new features from 1.6.03, just some software fixes. Please see release notes for their description.
Thanks, Shawn.


NEXT EMAIL
From:Robert Schuff <schuffr.ohsu> Sent:Wednesday, May 23, 2012 10:43 AM To: i2b2 AUG Members
Subject:Re: i2b2 1.6.04 is released
Great! Thanks Shawn. BTW, Is this still planned to be the last release in the 1.6 series (barring an potential bugs found)?
Thanks
Rob
Robert Schuff, MS
Instructor, Dept. of Medical Informatics and Clinical Epidemiology
Director, Clinical Research Informatics
Oregon Clinical & Translational Research Institute Oregon Health & Science University http://www.octri.org/

From: "Murphy, Shawn N." <SNMURPHY.PARTNERS>
Date: Wed, 23 May 2012 04:30:14 -0700
To: "i2b2 AUG Members" <i2b2 AUG Members>
Subject: i2b2 1.6.04 is released
This release does not contain any new features from 1.6.03, just some software fixes. Please see release notes for their description.
Thanks, Shawn.


NEXT EMAIL
From: Patibandla, Nandan <Nandan.Patibandla.childrens.harvard>
Sent: Monday, May 21, 2012 5:44 PM
To: Mendis, Michael E.
Cc: i2b2 AUG Members
Subject: RE: Full Text Indexing
Yes Mike,
I am still in the process of testing, I am able to run the query fast but looks like some thing is wrong with the CONTAINS function (may be on our server) always is returning 0 results even though the phrase or word is taken from the existing blob
Thank you
Nandan

From: Mendis, Michael E. [MMENDIS.PARTNERS] Sent: Monday, May 21, 2012 5:10 PM To: Patibandla, Nandan; i2b2 AUG Members
Subject: RE: Full Text Indexing
ok thanks, this was in regards poor performance on large number of observations blobs using text searches? Thanks again, will implement.
mike

From: Patibandla, Nandan [Nandan.Patibandla.childrens.harvard] Sent: Monday, May 21, 2012 3:19 PM To: i2b2 AUG Members
Subject: Full Text Indexing
Hi Mike,
In the SQL server scripts for creating full text search, should the index be something like this : CREATE FULLTEXT INDEX ON OBSERVATION_FACT (
OBSERVATION_BLOB --Full-text index column name
--2057 is the LCID for British English
)
KEY INDEX OF_TEXT_SEARCH_UNIQUE ON FTCATALOG --Unique index WITH CHANGE_TRACKING AUTO Instead of
CREATE FULLTEXT INDEX ON OBSERVATION_FACT(OBSERVATION_BLOB)
KEY INDEX OF_TEXT_SEARCH_UNIQUE


Thank you
Nandan


NEXT EMAIL
From:Delfiner, Howard <DelfinerH.email.chop>
Sent:Wednesday, May 16, 2012 3:03 PM
To: i2b2 AUG Members
Subject:FW: i2b2 Workbench MacOSX guides
Hi :
Can anyone send me a copy of the i2b2 Workbench MacOSX Installation and developer's guides. I am unable to open the PDF files downloaded from the i2b2 Software web site.
Thank you, Howard


NEXT EMAIL
From: Werberger, Sven <s.werberger.ikmb.uni-kiel.de>
Sent:Tuesday, May 15, 2012 9:47 AM To: i2b2 AUG Members Subject:send PDO to I2B2
Dear i2b2 team,
I'm new in the I2B2 group.
According to "i2b2 Cell Messaging, Data Repository Cell, scenario: Upload Data in PDO XML" I will upload data. I'm knowing the xml structure.
How can I send this both message und data xml's. Which tool is the best for this procedure?
Thanks a lot
Sven from Kiel/Germany


NEXT EMAIL
From:Phillip Reeder <Phillip.Reeder.uth.tmc>
Sent:Monday, May 14, 2012 9:40 PM
To:Murphy, Shawn N.
Cc:Dustin Schultz; i2b2 AUG Members
Subject:Re: Role Based Navigate Terms
We used the out of box functionality to do something similar to what you are looking for. Basically, we took the terminology we wanted the people of a specific role to be able to use and created a new ontology database populated with the terminology we wanted them to be able to use. We then created a new project which pointed to the original crc data and the new subset ontology database. The users who are assigned to this new project can only see and query on the subset ontology. It seems to work well for that purpose.
Phillip Reeder
Sent from my iPad

On May 14, 2012, at 7:08 PM, "Murphy, Shawn N." <SNMURPHY.PARTNERS> wrote:
Hi Dustin,
There is not out of the box, but would be easy to program into the ontology cell. New types of permissions can be created and will be transmitted in the Authentication message that is obtained from the project management cell for every navigate terms retrieval. An if clause could release certain top- level tree fetches only for those with that new type of permission.
Thanks, Shawn.

From: Dustin Schultz [dustin.schultz.utah]
Sent: Monday, May 14, 2012 6:05 PM
To: i2b2 AUG Members
Subject: Role Based Navigate Terms
Hi,
I was curious if there is support for different navigate term views depending on the user role? Thanks,
Dustin


NEXT EMAIL
From:Lisa Miao <lmiao.regenstrief>
Sent:Monday, May 14, 2012 2:38 PM To: i2b2 AUG Members Subject:coded value support
Dear i2b2 team,
Currently we are supporting text/numeric (and a couple others) on the observation data type. We are not supporting "coded value" data type. I would like to find out what the plan is as far as dealing with "coded value" data type. One way of dealing with this type is to treat it as free text. But there're issues with it.
Thanks, Lisa.


NEXT EMAIL
From:Nathan Graham <ngraham.kumc>
Sent:Thursday, May 10, 2012 12:06 PM
To: i2b2 AUG Members
Subject:Observation Fact Indexes
All,
While trying to improve performance, we're investigating index creation. I see two different examples of index creation in the 1.6.03 sources.
(i2b2createdb-1603.zip) edu.harvard.i2b2.data\Release_1-6\NewInstall\Crcdata\scripts\crc_create_datamart_oracle.sql
(i2b2core-src-1603.zip) src\edu.harvard.i2b2.crc\etc\sql\QueryProcessor_index.sql
INSTANCE_NUM is omitted from the QueryProcessor_index.sql version. Why are these two examples different? We've been basing our index creation on crc_create_datamart_oracle.sql.
Thanks.
Nathan
Nathan Graham Software Engineer Department of Biostatistics
University of Kansas Medical Center ngraham.kumc http://informatics.kumc


NEXT EMAIL
From:Murphy, Shawn N.
Sent:Tuesday, May 08, 2012 6:19 PM
To:Phillip Reeder; Lusted, Jeff; i2b2 AUG Members
Subject:RE: Codes on folders within an ontology
Hi Guys,
Please note that if you don't want someone to use a folder in a query (for those excellent reasons delineated below) you can make it a "Case" (has a little shelf on the bottom). A user can open them, etc., but can't drag them into the query panels.
Thanks, Shawn.

From: Phillip Reeder [Phillip.Reeder.uth.tmc] Sent: Tuesday, May 08, 2012 12:08 PM
To: Lusted, Jeff; i2b2 AUG Members
Subject: RE: Codes on folders within an ontology
We had some similar issues with this on our dental data project. Basically, here is the situation:
D0150 \Procedure\Comprehensive Oral Eval
D0150.A\Procedure\Comprehensive Oral Eval\Health History Review
D0150.B\Procedure\Comprehensive Oral Eval\Findings Review
D0150.C\Procedure\Comprehensive Oral Eval\Radiographic Interpretation
D0150...\Procedure\Comprehensive Oral Eval\...
The D0150.A-H codes were called step codes for the parent D0150. We built it such that the A-H were child nodes and the parent folder had the parent code. The problem was that when someone searched on the folder(D0150), they would get people that had any part of a "Comprehensive Oral Eval", not necessarily ones that were billed for a completed D0150.
We decided to ignore the parent child relationship and place them all at the same level, and adding the code to the string to order it, giving us the following in our i2b2 terminology:
D0150\Procedure\D0150 - Comprehensive Oral Eval D0150.A\Procedure\D0150.A - Health History Review D0150.B\Procedure\D0150.B - Findings Review
D0150.C\Procedure\D0150.C - Radiographic Interpretation
D0150...\Procedure\...
Another example was building a terminology for a form. The Question was stated as "Diabetic" and had answer choices of "Yes" and "No" giving us:
\Diabetic\
\Diabetic\Yes\
\Diabetic\No\
The user has to be sure they select the child leaf node, or the result they will get will be for anyone who answered the question.
An important part of building a terminology in i2b2 is that you, and more importantly, the person doing the querying, understand the relationship between the parent folder and leaf nodes.
Phillip Reeder
Manager, Systems Analyst Services
The University of Texas Health Science Center at Houston Center for Clinical and Translational Sciences School of
Biomedical Informatics ph 713-500-3970

From: Lusted, Jeff [jl99.leicester.ac.uk] Sent: Thursday, May 03, 2012 11:36 AM
To: i2b2 AUG Members
Subject: Codes on folders within an ontology
Hi colleagues!
Can anyone tell me what are the implications of having codes on folders and codes on bottom leaves of an ontology?
Is this against best practices? Is there some potential for getting misleading results on queries, given that a fact can only point to one code?
What would happen, for example, if a fact were coded with the code of a folder, rather than the code of a bottom leaf concept?
Regards
Jeff
Jeff Lusted,
Senior Programmer (RCS, IT Services) University of Leicester
Mob: 07941599062
Glenfield contact: 0116-2583792
Email: jl99.le.ac.uk


NEXT EMAIL
From:Wilson Lau <wlau.u.washington>
Sent:Tuesday, May 08, 2012 6:13 PM
To:'Phillip Reeder'; Mendis, Michael E.
Cc: i2b2 AUG Members
Subject:RE: Race in Ontology
Thank you Philip and Mike. Great info and suggestions.

From: Phillip Reeder [Phillip.Reeder.uth.tmc] Sent: Tuesday, May 08, 2012 11:38 AM
To: Mendis, Michael E.; Wilson Lau Cc: <i2b2 AUG Members> Subject: RE: Race in Ontology
This is the HL7/CDC Race and Ethnicity Code Set (http://www.cdc.gov/nchs/data/dvs/Race_Ethnicity_CodeSet.pdf). It essentially roles up the races into the higher level codes specified in the NIH Standard (http://grants.nih.gov/grants/guide/notice-files/not-od-01-053.html).
If you have a very granular race collection, you can code all the way to the Costa Rican leaf node, but you can also map to the parent folder of "Central American" or even to its parent of "Hispanic or Latino"
If you all you have is the top level, I'd suggest either removing everything below the top level from the terminology so all you have is "Hispanic or Latino", just to simplify your implementation. Or at a minimum, set the leaf nodes to be hidden. You can even make the "Hispanic or Latino" Folder look like leaf node in the client by setting its visual attribute to "MA".
Phillip Reeder
Manager, Systems Analyst Services
The University of Texas Health Science Center at Houston Center for Clinical and Translational Sciences School of
Biomedical Informatics ph 713-500-3970

From: Mendis, Michael E. [MMENDIS.PARTNERS] Sent: Tuesday, May 08, 2012 12:21 PM
To: Wilson Lau
Cc: <i2b2 AUG Members> Subject: Re: Race in Ontology
Wilson,
The i2b2 demo metadata is an example of how the ontology can be laid out.
Not every ontology node will be used in the demo set of 133 patients, and there might be some patients with observations concepts not in the ontology.
mike

On May 8, 2012, at 1:11 PM, Wilson Lau wrote:
Hi all,
Can anyone please shed some light?
We are in the process to migrate to the new i2b2 Ontology.
The Race Demographics is becoming more granular which makes the mapping difficult. E.g.
In the old ontology, Race
Hispanic ( This is leave node)
In the new ontology, Race and Ethnicity
E1: Hispanic or Latino ( This is folder )
Central American ( This is folder )
Costa Rican ( This is leave node)
I am not able to find that level of detail , in this case Costa Rican, in any tables in i2b2 database. All I have in up to Hispanic level.
How would you solve this? Thanks
Wilson Lau
Sr. Software Engineer, BMI University of Washington


NEXT EMAIL
From: Marsolo, Keith <Keith.Marsolo.cchmc>
Sent:Monday, May 07, 2012 4:15 PM
To:Robert Schuff
Cc: i2b2 AUG Members
Subject:Re: Spinning off separate projects
Rob,
1. For strictly i2b2-based data marts, we've done a couple. For non-i2b2 data marts, we've created a few dozen. (We got into the business of non-i2b2 data marts when our i2b2 deployment was relatively immature. It's a medium-term solution that's outlived it's useful life. We're trying to move as much as possible to an i2b2-based [or i2b2-derived] framework.)
2. a) Depends on how well the requestor understands the source data; b) depends on what the requestor is planing to do with the data and whether they want to continuously add new fields. For our non-i2b2 data marts, we have people who have created reports on top of them, as well as end-user applications (we weren't happy to discover this).
3. Both. Users that ask for data refresh will typically demand that data be refreshed as fast as possible.
4. The users like it (we have a faster turnaround than the clinical IS team), but it can become an incredible drain on resources.
5. QI, clinical care, research. We also get a lot of people that request data from multiple sources (my group and the clinical IS team). They may or may not request the same data from both places, and when the results don't match exactly, we're forced to spend hours figuring out the discrepancy (which may not actually be a discrepancy).
6. We extended the i2b2 middleware to allow a single middleware to support multiple databases. We still have a proliferation of middlewares, but this will allow us to condense them to a reasonable number, easing the upgrade process.
Thanks. Keith
Keith Marsolo, PhD Assistant Professor
Director, Software Development & Data Warehouse
Division of Biomedical Informatics
Cincinnati Children's Hospital Medical Center
3333 Burnet Ave
MLC 7024
Cincinnati, OH 45229

On May 4, 2012, at 12:32 PM, Robert Schuff wrote:
Hi Folks,
We are starting to look into the feasibility of offering and supporting i2b2 data marts for investigators. I am wondering how many have already gone down this road or are considering doing this. If you have done so, would you possibly mind quickly answering a couple of questions?
1. How many have you done?
2. About how much effort does it typically take to a) establish a project b) maintain the project
3. Do you refresh datasets or just do a single extract...or both?
4. Have you found this to be a value-added service?
5. What are the typical use cases for this service?
6. How has this affected your upgrade process? More difficult?
I'm happy to summarize the results to the list if needed.... Cheers!
Rob
Robert Schuff, MS
Instructor, Dept. of Medical Informatics and Clinical Epidemiology
Director, Clinical Research Informatics
Oregon Clinical & Translational Research Institute Oregon Health & Science University http://www.octri.org/


NEXT EMAIL
From:Russ Waitman <rwaitman.kumc>
Sent:Friday, May 04, 2012 2:37 PM
To: i2b2 AUG Members; Robert Schuff
Subject:Re: Spinning off separate projects
Hi Rob,
Haven't done it.
We have people run queries to define their cohort and then specify their variables. We then give them a means to securely retrieve the data in spreadsheet form. We've debated moving the delivery format into a redcap database for some people (i2b2 -> REDCap).
We have thought about spinning up a separate i2b2 data mart for our Alzheimers Disease Center cohort (collected in REDCap) because many of those patients are not in our emr and their ontology is fairly well structured following a national standard format. That will be a REDCap -> i2b2 scenario.
Russ

Robert Schuff <schuffr.ohsu> 5/4/2012 11:32 AM
Hi Folks,
We are starting to look into the feasibility of offering and supporting i2b2 data marts for investigators. I am wondering how many have already gone down this road or are considering doing this. If you have done so, would you possibly mind quickly answering a couple of questions?
1. How many have you done?
2. About how much effort does it typically take to a) establish a project b) maintain the project
3. Do you refresh datasets or just do a single extract...or both?
4. Have you found this to be a value-added service?
5. What are the typical use cases for this service?
6. How has this affected your upgrade process? More difficult? I'm happy to summarize the results to the list if needed.... Cheers!
Rob
Robert Schuff, MS
Instructor, Dept. of Medical Informatics and Clinical Epidemiology
Director, Clinical Research Informatics
Oregon Clinical & Translational Research Institute Oregon Health & Science University http://www.octri.org/


NEXT EMAIL
From:Delfiner, Howard <DelfinerH.email.chop>
Sent:Thursday, May 03, 2012 2:57 PM
To: i2b2 AUG Members
Subject:Hitting the wall when attempting to login into i2b2 Project Management for the first time
Hi:
I am in the process of installing i2b2 (1.6 RC3) and I have been stuck at Section 4.1 "Administration of the i2b2 Project Management application" of PM_Installation_Guide_1-6.pdf. I have installed all the data & PM, but when I got to the admin URL and tried to log in with username=i2b2 & pw=demouser, per the PM_Installation_Guide_1-6.pdf, all I get the following error in the jBoss log:
ERROR [AxisRESTServlet] org.apache.axis2.AxisFault: edu.harvard.i2b2.pm.datavo.i2b2message.RequestMessageType$JaxbAccessorF_messageHeader cannot be cast to com.sun.xml.bind.v2.runtime.reflect.Accessor; nested exception is:
java.lang.ClassCastException:
edu.harvard.i2b2.pm.datavo.i2b2message.RequestMessageType$JaxbAccessorF_messageHeader cannot be cast to com.sun.xml.bind.v2.runtime.reflect.Accessor
My configuration:
Linux (64 bit)Apache Ant v1.6.5
Java JDK v1.0.6_31
Jboss-4.2.2.GA
Axis2 1.1.1 – I tried axis2 1.1 file to no avail. I could not get axis 2 1.1 to load through Jboss. Trying axis2 1.1.1, I was able to get Axis2 to load with Jboss.
Oracle 11g express
Does anyone any ideas that can help me along? Would this error be thrown because the web client can not connect to the database?
Thanks in advance, Howard
By the way, when trying to load axis2 1.1 in Jboss--- the following jboss log entries and Exception Report are seen:
12:55:28,613 ERROR [[/i2b2]] Servlet /i2b2 threw load() exception
javax.xml.stream.FactoryConfigurationError: Provider javax.xml.stream.XMLInputFactory could not be instantiated:
java.lang.InstantiationException
at javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:183)
at org.apache.axiom.om.util.StAXUtils.getXMLInputFactory(StAXUtils.java:40)
at org.apache.axiom.om.util.StAXUtils.createXMLStreamReader(StAXUtils.java:66)
at org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilder.java:86)
at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:58)
at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:690)
at org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(WarBasedAxisConfigurator.java:129)
at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:373)
at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:317)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4071)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4375)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:790)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:770)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.apache.catalina.core.StandardContext.init(StandardContext.java:5312) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:301)
at org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104)
at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375)
at org.jboss.web.WebModule.startModule(WebModule.java:83)
at org.jboss.web.WebModule.startService(WebModule.java:61)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:417)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy44.start(Unknown Source)
at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87)
at
org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy45.start(Unknown Source)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy9.deploy(Unknown Source)
at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:417)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy5.deploy(Unknown Source)
at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
at org.jboss.Main.boot(Main.java:200) at org.jboss.Main$1.run(Main.java:508) at java.lang.Thread.run(Thread.java:662)
12:55:28,655 INFO [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
12:55:28,857 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-9090
12:55:28,896 INFO [AjpProtocol] Starting Coyote AJP/1.3 on ajp-0.0.0.0-9009
12:55:28,912 INFO [Server] JBoss (MX MicroKernel) [4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)] Started
in 10s:645ms
12:57:57,410 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception java.lang.NullPointerException
at org.apache.jsp.axis2_002dweb.include.httpbase_jsp.jspInit(httpbase_jsp.java:22)
at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:51)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:158)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
at org.apache.jsp.axis2_002dweb.index_jsp._jspService(index_jsp.java:78)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:662)
12:57:57,422 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.axis2_002dweb.include.httpbase_jsp.jspInit(httpbase_jsp.java:22)
at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:51)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:158)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
at org.apache.jsp.axis2_002dweb.index_jsp._jspService(index_jsp.java:78)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:662)
12:57:57,586 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception java.lang.NullPointerException
at org.apache.jsp.axis2_002dweb.include.httpbase_jsp.jspInit(httpbase_jsp.java:22)
at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:51)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:158)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
at org.apache.jsp.axis2_002dweb.Error.error500_jsp._jspService(error500_jsp.java:58)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:447)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:423)
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342)
at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:662)
HTTP Status 500 - type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /axis2-web/index.jsp at line 23



20:*/
21: %>
22: <head>
23:<jsp:include page="include/httpbase.jsp"/>
24:<title>Axis 2 - Home</title>
25:<link href="axis2-web/css/axis-style.css" rel="stylesheet" type="text/css"/>
26: </head>

Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:397) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause
org.apache.jasper.JasperException: java.lang.NullPointerException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968) org.apache.jsp.axis2_002dweb.index_jsp._jspService(index_jsp.java:78) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause
java.lang.NullPointerException org.apache.jsp.axis2_002dweb.include.httpbase_jsp.jspInit(httpbase_jsp.java:22) org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:51) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:158) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
org.apache.jsp.axis2_002dweb.index_jsp._jspService(index_jsp.java:78) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

note The full stack trace of the root cause is available in the JBossWeb/2.0.1.GA logs.


NEXT EMAIL
From:Phillips, Lori C.
Sent:Thursday, May 03, 2012 1:33 PM
To:Lusted, Jeff; i2b2 AUG Members
Subject:RE: Codes on folders within an ontology
Jeff,
If a fact was coded to a folder then it would only be returned if you queried for the folder. If the fact was coded to a leaf of that folder, it will be returned if you
query for the leaf OR the folder. Here is an example (codes may not be actual).
Diabetes250
Type II250.9 (child/leaf of term Diabetes)
If you query for "Diabetes" you get all facts coded for 250 and 250.9
If you query for "Type II diabetes" you only get the facts coded for 250.9
So if I understand your question, while a fact can only point to one code, a query can point to many. Lori

From: Lusted, Jeff [jl99.leicester.ac.uk] Sent: Thursday, May 03, 2012 12:36 PM
To: i2b2 AUG Members
Subject: Codes on folders within an ontology
Hi colleagues!
Can anyone tell me what are the implications of having codes on folders and codes on bottom leaves of an ontology?
Is this against best practices? Is there some potential for getting misleading results on queries, given that a fact can only point to one code?
What would happen, for example, if a fact were coded with the code of a folder, rather than the code of a bottom leaf concept?
Regards
Jeff
Jeff Lusted,
Senior Programmer (RCS, IT Services) University of Leicester
Mob: 07941599062
Glenfield contact: 0116-2583792
Email: jl99.le.ac.uk


NEXT EMAIL
From:Jack London <Jack.London.jefferson>
Sent:Wednesday, May 02, 2012 10:30 AM
To:Darren W Henderson
Cc: i2b2 AUG Members
Subject:Re: observation-fact table indices
Thanks Darren. I will change the ownership of the indices to the user. We had created additional users (with DBA privileges) for our production data and metadata tables, rather than use the distribution "I2B2DEMODATA" and "I2B2METADATA."
We refresh (drop and recreate) these tables monthly, so we will perform these changes to the index ownership on our next refresh.
Jack

From: Darren W Henderson <darren.henderson.uky>
Date: Wednesday, May 2, 2012 10:18 AM
To: Jack London <Jack.London.jefferson>
Cc: "i2b2 AUG Members" <i2b2 AUG Members>
Subject: Re: observation-fact table indices
Best practice is to create a user with DBA privileges, and avoid using the SYS account for things of this nature. The index for OBSERVATION_FACT would now exist in the SYS tablespace, and you will need to drop it and recreate it ensuring that you are in the demodata tablespace using the appropriate user. The i2b2demodata user would not have execute or select privileges for anything in the SYS tablespace unless you explicitly GRANT them, which would be a bad idea. My suggestion would be to drop (as SYS) and recreate the index as the i2b2demodata user.

On Wed, May 2, 2012 at 9:56 AM, Jack London <Jack.London.jefferson> wrote:
Does it matter whether SYS or an "Other User" (e.g., I2B2DEMODATA) is the OWNER of the indices for the OBSERVATION_FACT table?
Jack

Darren W. Henderson
University of Kentucky
Division for Biomedical Informatics
Bio-Pharmacy Complex Rm182
789 S Limestone Lexington, KY 40511 (859) 323-7146
(859) 967-4914


NEXT EMAIL
From: dwhend0.gmail on behalf of Darren W Henderson
Sent:Wednesday, May 02, 2012 9:55 AM
To: Arvinder Choudhary
Cc: i2b2 AUG Members; Murphy, Shawn N.
Subject: Re: Performance Issue
Arvinder,
I'm a database admin working at the University of Kentucky. I'll take a stab at your questions strictly from the db side.
The explain plan shown is not always the actual execution plan used. You should also be aware that the SQL optimizer will show your estimated plan with hints, but will ignore optimizer hints at actual execution time if the server calculates a lower cost execution plan that ignores the hint.
See this thread: https://forums.oracle.com/forums/thread.jspa-messageID=4344711
The above link can walk you through tracing the actual execution plan that takes place. I would suggest running this to confirm what you're seeing. It's also possible that it simply cached the previous query, and once you removed the hint it ran with the data that was already in memory, which can easily reduce query time.
As for your indexes, ensure that their fragmentation is low. If you're constantly running incremental updates on your tables without a index rebuild or a statistics recompute, then eventually the optimizer will have no choice but to ignore indexing all-together and opt for a full-table scan, which at 600M records can be quite costly.
Also, as I responded to someone else on here yesterday, 1.6.03 does make some major strides in performance, fixing some major outliers in processing. I think it should be made clear that 1.6.02 had some major issues in the query language that have been seen to.
Darren W. Henderson Database Analyst University of Kentucky
Division for Biomedical Informatics
Bio-Pharmacy Complex Rm182
789 S Limestone Lexington, KY 40511 (859) 323-7146
(859) 967-4914

On Wed, May 2, 2012 at 9:07 AM, Arvinder Choudhary <achoudhary.kumc> wrote:
Dear All:
We've been seeing degraded performance recently with our 12b2 1.6.02 version on Oracle 10g. Specifically, our average query times have gone up dramatically after the past couple of months. FYI: Each month we refresh data from various data sources and currently we have over 630 M observations.
To test we picked old query that ran in few seconds (probably in 1.4 ) and now taking many minutes. We did explain plan on each piece of the generated SQL from the QT_MASTER_QUERY table. Then we picked the most expensive piece from it and removed the index hint from it and ran explain plan again. After removing the hint, the explain plan dropped the estimated cost of the query by more than 1/2. It also ran twice as faster in the SQL developer.
The query is pretty simple:
Panel 1: Diabetes
Panel 2: Migraine
Panel 3: Diagnostic Radiology Procedures of the Head and Neck
It took 596 seconds before removing the hint. After removing the hint, it went down to 225 seconds.
Generated SQL:
UPDATE BlueHerondata.QUERY_GLOBAL_TEMP
SET panel_count =3
WHERE EXISTS
(SELECT 1 AS panel_count
FROM (SELECT
/*+ index(observation_fact fact_cnpt_pat_enct_idx) */
patient_num
FROM BlueHerondata.observation_fact
WHERE concept_cd IN (SELECT concept_cd
FROM BlueHerondata.concept_dimension
WHERE concept_path LIKE '\i2b2\Procedures\PRC\Metathesaurus CPT Hierarchical Terms\Radiology
Procedures\Diagnostic Radiology Procedures\Diagnostic Radiology Procedures of the Head and Neck%'
)
GROUP BY patient_num
) t
WHERE BlueHerondata.QUERY_GLOBAL_TEMP.panel_count = 2
AND BlueHerondata.QUERY_GLOBAL_TEMP.patient_num = t.patient_num
) ;-Explain plan 7223 -> 3273 when removing the hint.
The explain plan showed that index information changed from FACT_CNPT_PAT_ENCT_IDX (SKIP SCAN) to FACT_PATCON_DATE_PRVD_IDX (RANGE SCAN).
Our questions are:
Have any of you been able to address performance issues like this? If so, what suggestions to you have for us to look at?
How does i2b2 decide on what hint to provide?
How should we be building our indexes? Perhaps it's not the wrong hint but instead we have and issue with our index or we have it configured incorrectly?
Any other suggestions/guidance you may have would be appreciated.
Regards
Arvinder and Nathan


NEXT EMAIL
From:Nathan Graham <ngraham.kumc>
Sent:Tuesday, May 01, 2012 1:04 PM
To:Darren W Henderson Cc: i2b2 AUG Members Subject:
Re: i2b2 Query Issue
Darren,
Thanks for the quick reply! I now see this issue is included in the release notes for 1.6.03.
Regards,
Nathan
Nathan Graham Software Engineer Department of Biostatistics
University of Kansas Medical Center ngraham.kumc http://informatics.kumc

Darren W Henderson <darren.henderson.uky> 5/1/2012 11:51 AM
Nathan, this issues is supposed to be cleared up in the 1.6.03 release that was made available in late March.

On Tue, May 1, 2012 at 11:18 AM, Nathan Graham <ngraham.kumc> wrote: All,
We've found what appears to be an issue with the SQL generation when selecting "Exclude" on one of the group panes in the query tool. Basically, we have a case where we're using 3 panels:
Panel 1: "Hispanic/Latino", "Black/African American"
Panel 2: "Frontiers Participant"
Panel 3: EXCLUDE ( "Deceased per local records", "Deceased per SSA records")
This query ends up generating SQL that "ANDs" the two items in Panel 1 rather than a "ORs" them which provides an incorrect result. However, if we remove Panel 3 (the Exclude) from the query, we then get the proper result. We are running version 1.6.02.
I wanted to know if anyone has seen this issue and I also wanted to increase visibility to what we've found. I've logged a Jira ticket:
https://community.i2b2.org/jira/browse/LEOPARD-103 and more details can be found here: http://informatics.kumc/work/ticket/1075#comment:6.
This does look similar to https://community.i2b2.org/jira/browse/LEOPARD-86 which was marked resolved/fixed.
Thanks. Regards,
Nathan
Nathan Graham Software Engineer Department of Biostatistics
University of Kansas Medical Center ngraham.kumc http://informatics.kumc

  • No labels