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


Last Updated: 06/23/2010



Securing Apache Web Server [06-23-2010]
On 06/23/10 12:55 PM, Phillip Reeder wrote:
We have the i2b2 web services working using Apache AJP from HTTP to Tomcat/Jboss. If you use a self signed cert, you will have to import that cert into your local desktop machine's java to be able to use the thick client. If you need instructions, I can provide this.
Phillip

On 06/23/10 12:54 PM, Mike Mendis wrote:
Yes it will work fine if you specify https on the apache webserver for the webclient.
You can also have https on the cells in jboss, just make sure that the pm cell section have the cells as https instead of http. If you are using a self-signed cert than you need to load that cert on the server.

On 06/23/10 12:49 PM, Arvinder Choudhary wrote:
Does i2b2 application works as required if we enable SSL for secure connections on Apache webserver and has anybody done that?




Exporting Patient Set [06-22-2010]
On 06/22/10 3:24 PM, Mike Mendis wrote:
If you use the rich client, then you can add the feature of export tool in the
1.4 client. This is under the help menu.
mike

On 06/22/10 11:47 AM, Jack London wrote:
We have need to export the patient set defined by the i2b2 web query tool. Have others already solved this problem? For example, developed a means to write a file with i2b2 identifiers for a patient set?
Thanks,
Jack





i2b2 - v1.4 Query by Value (number) [06-18-2010]
On 06/18/10 2:34 PM, Shawn Murphy wrote:
Thanks very much Peter, I'll follow up with Raj. We could still sneak a fix in just before release of 1.5
Shawn.

On 06/18/10 2:24 PM, Lynn Bry wrote:
FYI - in clinical lab systems we'd treat results such as "< 0.5" as an alphanumeric result – effectively "result is below the threshold of detection" or "... above the range of detection", versus as a numeric result.
When searching in an LIS, regexp are used to query alphanumeric results; numeric operators for numeric results. I presume something comparable could be setup in i2b2 by validating the data-type of the result as it is being loaded, and setting it as a numeric or string/text result?
It's also important to allow query of a numeric lab result against the reference range endpoints, as most folks don't know what these are - e.g. SODIUM > NORMAL_HIGH or GLUCOSE < PANIC_LOW.. not certain how such is handled in i2b2. However, any LIS can export the reference range endpoints as part of the dataset associated with a result... as we have to show them when reporting for clinical purposes.

On 06/18/10 2:09 PM, Peter Beninato wrote:
Hi,
It appears there is a bug in v1.4 on QBV searches for the GreaterThanEquals, and LessThanEquals operations when at least tval_char='E'.
FYI.
Peter


On 06/18/10 2:01 PM, Shawn Murphy wrote:
Hi Peter,
The problem is that the numbers often come in from the laboratory that way, i.e. "Dilantin level < 0.5", "ETOH > 3000". In order to represent what the lab truly reported, we need to allow for several different operators that can accompany the values.
Thanks,
Shawn.

On 06/18/10 1:16 PM, Peter Beninato wrote:
Hi,
So I ran query BMI GTE 25 with a tval_char = 'E'.
Here is the panel tag from i2b2_request_xml:
<panel>
<panel_number>1</panel_number>
<invert>0</invert>
<total_item_occurrences>1</total_item_occurrences>
<item>
<hlevel>2</hlevel>
<item_name>Visit BMI</item_name>
<item_key>\\i2b2\i2b2\Visits\BMI\</item_key>
<tooltip>Visit \ BMI \ </tooltip>
<class>ENC</class>
<constrain_by_date>
</constrain_by_date>
<item_icon>FA</item_icon>
<item_is_synonym>false</item_is_synonym>
<constrain_by_value>
<value_unit_of_measure>US</value_unit_of_measure>
<value_operator>GTEQ</value_operator>
<value_constraint>25</value_constraint>
</constrain_by_value>
</item>
</panel>
Here is the panel tag from the request_xml:
<panel>
<panel_number>1</panel_number>
<panel_accuracy_scale>0</panel_accuracy_scale>
<invert>0</invert>
<total_item_occurrences>1</total_item_occurrences>
<item>
<hlevel>2</hlevel>
<item_name>Visit BMI</item_name>
<item_key>\\i2b2\i2b2\Visits\BMI\</item_key>
<item_icon>FA</item_icon>
<tooltip>Visit \ BMI \ </tooltip>
<class>ENC</class>
<constrain_by_value>
<value_constraint>25</value_constraint>
<value_unit_of_measure>US</value_unit_of_measure>
<value_type>NUMBER</value_type>
</constrain_by_value>
<constrain_by_date/>
<item_is_synonym>false</item_is_synonym>
</item>
</panel>
And here is the generated_sql:
INSERT INTO octrii2b2data.QUERY_GLOBAL_TEMP (patient_num, panel_count)
SELECT patient_num, 1 FROM (
SELECT /*+ index(observation_fact fact_cnpt_pat_enct_idx) */patient_num  FROM octrii2b2data.observation_fact  WHERE (((concept_cd IN (select concept_cd from octrii2b2data.concept_dimension c   where concept_path LIKE '\i2b2\Visits\BMI%'))   ))
 group by patient_num having count(star) >=1) t
<*>
INSERT INTO octrii2b2data.DX (patient_num) SELECT * FROM (
SELECT DISTINCT t.patient_num FROM octrii2b2data.QUERY_GLOBAL_TEMP t WHERE panel_count = 1
) q
<*>


On 06/18/10 12:51 PM, Raj Kuttan wrote:
The tval_char used to record the actual observed value. For example

OBSERVED_VALUE

TVAL_CHAR

NVAL_NUM (Range)

<100

L

100

>=100.1

GE

100.1

<>99.999

NE

99.999


So now if the query constrain is >1, only the second row will be selected.

On 06/18/10 12:31 PM, Peter Beninato wrote:
Can you elaborate more about the values for tval_char and the relationship to nval_num like provide a map?

TVAL_CHAR

NVAL_NUM (Range)

L, LE, E

<100

E, G, GE

>=100.1

NE

NOT SURE



This is very confusing. If a user is presented with a range of operation like LESS THAN, LESS THAN EQUAL, EQUAL, BETWEEN, GREATER THAN, GREATER THAN EQUAL, what value does the application functionality provide, by making the ETL process set the tval_char column and thereby influence what operation is performed?
To me, it would make more sense *not* to even require anything in tval_char and just to do a comparison based on the operation selected.

OPERATION

WHERE CLAUSE

LESS THAN

WHERE nval_num < **NUMBER**

LESS THAN EQUAL

WHERE nval_num <= **NUMBER**

EQUAL

WHERE nval_num = **NUMBER**

BETWEEN

WHERE nval_num BETWEEN **NUMBER1** AND **NUMBER2**

GREATER THAN

WHERE nval_num > **NUMBER**

GREATER THAN EQUAL

WHERE nval_num >= **NUMBER**



The value in the tval_char must provide some application value that I don't understand, can you elaborate on its function?
Thanks.

On 06/17/10 8:40 PM, Raj Kuttan wrote:
Can you check for the query definition's <value_operator> in the database? (qt_query_master.i2b2_request_xml)
<item>
<hlevel>4</hlevel>
<item_name>CSF Total Protein (Group:CSF-TP)</item_name>
<item_key>\\i2b2\i2b2\Labtests\LAB(LLB16) <file:///\\i2b2\i2b2\Labtests\LAB(LLB16 (file:///\\i2b2\i2b2\Labtests\LAB\(LLB16))> Chemistry(LLB26) CSF Chemistries\CSF-TP\</item_key>
<item_icon>FA</item_icon>
<tooltip>Labtests \ Chemistry \ CSF Chemistries \ CSF Total Protein (Group:CSF-TP)</tooltip>
<constrain_by_value>
<value_operator>LE</value_operator>
<value_constraint>99.99</value_constraint>
<value_unit_of_measure>mg/dl</value_unit_of_measure>
<value_type>NUMBER</value_type>
</constrain_by_value>
<item_is_synonym>false</item_is_synonym>
</item>

For Less than equal to QBV:
valtype_cd = 'N' AND nval_num <= NN.NN AND tval_char IN ('L','E','LE')
SELECT patient_num FROM bservation_fact WITH(NOLOCK) WHERE (((concept_cd IN (select concept_cd from concept_dimension c WITH(NOLOCK) where concept_path like '\i2b2\Labtests\LAB(LLB16) Chemistry(LLB26) CSF Chemistries\CSF-TP%')) AND
valtype_cd = 'N' AND nval_num <= 99.99 AND tval_char IN ('L','E','LE')))
group by patient_num having count(star) >=1) t

For Greater than equal to QBV:
valtype_cd = 'N' AND nval_num >= NN.NN AND tval_char IN (G','E','GE')
SELECT patient_num FROM observation_fact WITH(NOLOCK) WHERE (((concept_cd IN (select concept_cd from concept_dimension c WITH(NOLOCK) where concept_path like '\i2b2\Labtests\LAB(LLB16) Chemistry(LLB26) CSF Chemistries\CSF-TP%')) AND valtype_cd = 'N' AND nval_num >= 99.99 AND tval_char IN ('G','E','GE')))
group by patient_num having count(star) >=1) t
Raj

On 06/17/10 7:16 PM, Peter Beninato wrote:
Hi,
I was in a meeting regarding i2b2, and went to run a query using the query-by-value functionality.
For this part of the ontology (VISIT|BMI) there is an entry in i2b2.c_metadataxml enabling the QBV functionality.
There are observations made about Body Mass Index BMI where
tval_char= 'E'
valtype_cd = 'N'
and nval_num has a numeric BMI value populated.
I may need some help in understanding the role of the tval_char field in doing QBV.
I see in the i2b2 Clinical Research Chart (CRC) Design Document where the values for this field can be:
E = Equals
L = Less Than
G= Greater Than
When I look in qt_query_master.generated_sql, the query run by i2b2 is sometimes looking for 'LE' or 'GE'.
What are the allowable values for this field?
I need a better understanding of the function of this field as I am experiencing an issue with the QBV functionality.
Basically, the "LESS THAN OR EQUAL TO (<=)" and the "GREATER THAN OR EQUAL TO (>=)" operators don't work.
I ran queries against all the different operators with observation_fact set as described above (tval_char="E"). Below is a listing of the operation, WHERE clause, and outcome.
The LTE and GTE operator do not append the WHERE CLAUSE for nval_num etc.
Is there a way to have all the operators work for QBV?
LESS THAN 25 - where concept_path LIKE '\i2b2\Visits\BMI%'))
AND (( valtype_cd = 'N' AND nval_num < 25
AND tval_char IN ('LE','E')) OR ( valtype_cd = 'N'
AND nval_num <= 25 AND tval_char = 'L')) - **OK**
LESS THAN EQUAL 25 - where concept_path LIKE '\i2b2\Visits\BMI% - **NO GOOD**
EQUAL = 25 - where concept_path LIKE '\i2b2\Visits\BMI%'))
AND valtype_cd = 'N' AND nval_num = 25
AND tval_char = 'E' - **OK**
BETWEEN 25 AND 25 - where concept_path LIKE '\i2b2\Visits\BMI%'))
AND valtype_cd = 'N' AND nval_num BETWEEN 25
and 25 AND tval_char = 'E' - **OK**
GREATER THAN 25 - where concept_path LIKE '\i2b2\Visits\BMI%'))
AND (( valtype_cd = 'N' AND nval_num > 25
AND tval_char IN ('GE','E'))
OR ( valtype_cd = 'N' AND nval_num >= 25 AND tval_char = 'G' - **OK**
GREATER THAN EQUAL 25 - where concept_path LIKE '\i2b2\Visits\BMI%' - **NO GOOD**
Please let us know if there is workaround to get all the QBV operators to work.
If this issue can be replicated will there be bug fix?
Peter Beninato




Hierarchy Data Issue [06-17-2010]
On 06/17/10 1:04 PM, Arvinder Choudhary wrote:
Team:
Finally I figured out. When yesterday I was putting slash in the end of c_dimcode in the metadata.i2b2 table. It already had "\" in the end. So now it had "
" instead of "\" so I removed one and now I get results while running the webclient ...attaching the snapshots to make it more clear...
Arvinder

On 06/17/10 10:54 AM, Arvinder Choudhary wrote:
Yesterday I loaded test data for CPT testing in the system. (loaded concept_dimension, visit_dimension and observation_fact tables ). Some how it does show total counts under root level but it returns 0 records when I choose sub category under the root.(I ran the queries on the Sqlplus with different CPTs and they returned counts so data is there under various sub directories).
Metathesaurus CPT Hierarchical Terms (Root) - returns 1962 patients
If I select any one or multiple of these below groups under root ...the query on the webclient returns 0 patients (attaching snap shot for your reference)

(Sub directories)
1. Anesthesia Procedures
http://bmidev1/webclient/#
2. Emerging Technology, Services & Procedure Codes (Category III, Temporary)
http://bmidev1/webclient/#
3. Evaluation and Management Procedures
4. Medicine Services and Procedures
5. ..........

On 06/16/10 11:46 AM, Vivian Gainer wrote:
Yes, I think you need '\' in both c_fullname and c_dimcode.
Vivian

On 06/16/10 11:40 AM, Arvinder Choudhary wrote:
My gut feeling says that we might have to put trailing '\' in the end of c_fullname and c_dimcode... please advice

On 06/16/10 11:38 AM, Arvinder Choudhary wrote:
Here are the snapshots from both ICD9 and CPT with c_dimcode

On 06/16/10 11:36 AM, Donglu Xie wrote:
It depends on the configuration with/without the trailing "\". Both can make app work.
How about c_dimcode? did you populate them all in this column? The screen shot you sent didn't have it.

On 06/16/10 11:32 AM, Lori Phillips wrote:
Looks like the C_FULLNAME is missing the trailing '\'
Lori

On 06/16/10 11:25 AM, Phillip Reeder wrote:
Can you send me 5-10 lines of the terminology from Oracle? I want to look at all the columns real quick to see if there is something wrong in it. You can just paste them into an email, or an excel file.
Thanks,
Phillip

On 06/16/10 10:20 AM, Parth Divekar wrote:
Arvinder,
I used to get this issue in the JAVA WORKBENCH.
But generally there will be an error in the app server error log for this.
Regards
Parth Divekar

On 06/16/10 11:17 AM, Arvinder Choudhary wrote:
We are having an issue. (after clicking on the '+' sign ..it does not expand to the next level)
Here are the steps we did
1. Loaded the CPT data into i2b2demodata.concept_dimension and i2b2metadata.i2b2 tables.
2. Inserted row in the schemas table in i2b2metadata (CPT:, CPT and Current Procedural Terminology)
Attaching the snapshot. Please advice..if we are doing right or missed any step




Using VALTYPE_CD and TVAL_CHAR in query by value / filtering [06-11-2010]
On 06/11/10 6:54 AM, Shawn Murphy wrote:
Thanks Brian, we'll take a look at 1.5 RC to see if there is a problem.
Shawn.

On 06/10/10 5:25 PM, Brian Eliason wrote:
Hi Shawn,
Thanks for the reply. When I change the <DataType> to "Enum" and then include "NEG" as one of the enumerated values, the interface acts as expected (allow me to select "NEG" instead of freehand it), but I'm still getting the incorrect patient count.
When using <DataType> of "String", the interface also behaves as expected (letting me freehand the search text), but that, too, produces an incorrect patient count.
Has anyone had success (or failure?) with either of these approaches (String or Enum for filtering)? I'm trying to implement this in 1.5 rc1.
Thanks,

Brian Eliason

On 06/10/10 3:00 PM, Shawn Murphy wrote:
Hi Brian,
It looks like the <DataType> should be "Enum"
Thanks,
Shawn.

On 06/10/10 4:12 PM, Brian Eliason wrote:
I'm trying to leverage the query by value feature to filter on the TVAL_CHAR (can't get working) instead of the NVAL_NUM (works just fine, tested).
When looking at the data model and the interface it seems possible, but when I check the logs the expected SQL is not being generated and the results (patient count) are not accurate. It appears to be ignoring any QBV and generating a count simply based on the concept_cd, which is not the expected behavior.
As I understand it, in order to run a query by value (filtering for a text value) the following is needed:
1 – adjust the i2b2.c_metadataxml column xml value to include this element/value: <DataType>String</DataType>
2- the observation_fact.valtype_cd = 'T' and TVAL_CHAR = 'NEG (whatever relevant value)'
The numeric/flag filtering is working fine, but we're not having success with the text filtering. Has anyone been successful in implementing QBV as it relates to text filtering?
Thanks,
Brian Eliason




CPT Hierarchical Terms in i2b2 [06-09-2010]
On 06/09/10 5:32 PM, Dustin Key wrote:
Hi---I've just joined the AUG.  There had been a recent post from Arvinder Choudhary about developing CPT ontologies for I2B2.  I wanted to mention that we've just gone through an exercise in this, successfully utilizing the UMLS to gather CPT hierarchical terms and then importing them into I2B2 meta and concept data tables via SAS and SQL. I'd be happy to share experiences on this if anyone were interested. 
 
The basic approach was to extract 'HT' terms from MRCONS and import those into a SAS format for each level (I think there were 7 levels possible.)  Then we applied the relevant formats to each leaf or folder node in order to build up the c_fullpath string in the metadata table. 
 
Dustin Key

On 06/08/10 2:48 PM, Arvinder Choudhary wrote:
We have loaded the Rich release format of CPT hierarchical Terms into sql server database. We now trying to extract the data from MR tables and build hierarchies and load into Concept Dimension table in oracle database, Has anyone done this.
Regards
Arvinder Choudhary





Extracting Data from Cerner RadNet [06-08-2010]
On 06/08/10 2:20 PM, Phillip Reeder wrote:
Our hospital IT staff is working to extract radiology reports from Cerner RadNet and to ship them over to us in a bulk extract. Do any of you have experience in extracting notes from Cerner RadNet? They've looked at several possible solutions and have even contacted Cerner but have not gotten a good answer yet as to the best way to get the data out of RadNet for querying.
On the plus side, they have been able to extract demographics, diagnosis, procedures, medication orders/admin, labs, and vital signs for us so they are making progress. If anyone needs help on getting that information out of Cerner Care4, let me know and I can put you in touch with the local group.
Thanks,
Phillip Reeder




Running i2b2 Web Service Under Windows 2008 [06-02-2010]
On 06/02/10 8:38 PM, Brian Eliason wrote:
Jian,
It looks like Arnold got it working with Java 6, but in my experience it only worked under Java 5. If you've exhausted other options, I would try running with Java 5. Also, you might want to verify that you unpacked the axis2 zip file as per the instructions (in the right directory, producing the right files, etc).
It may not be needed, but to be safe I would redeploy the PM using Java 5. You know how to set the path to use a different JDK/JVM, right?
Thanks,
Brian

On 06/02/10 7:50 PM, Garth Arnold wrote:
We are running i2b2 1.4 with JDK 6 (1.6.0_16) and axis2 version 1.1.
Garth

On 06/02/10 5:50 PM, Jian Yang wrote:
Brian:
Thank you, I just verified that I have Java 6 running on my win2008 server, I will downgrade it to java 5 and see how it works, do you think I need to redeploy all web service after downgrading?
Thank you for your help.
Jian Yang

On 06/02/10 4:42 PM, Brian Eliason wrote:
Your error is an axis2 error.
The documentation is scattered with java 5 and java 6 references for the linux install. In our experience, however, this only runs on java 5 in a Windows XP/Server 2008 environment (which is now harder to get from sun/oracle because they're pushing java 6). I'd be interested to hear if others could, in fact, make it run in java 6 for windows.
A simple troubleshooting technique: make sure you're running this on Java 5. Go to the command line and run java -v. There may be other problems, but I would start there first.
Thanks,
Brian Eliason

On 06/02/10 7:34 PM, Brian Eliason wrote:
Hi Jian,
We have a working instance of i2b2 (v 1.5 rc1) built from source running on Windows Server 2008 on Oracle. We plan to port from Oracle to SQL Server towards the end of the week and anticipate no problems doing so.
We've done many installs in both linux and windows, and there are some changes (not immediately obvious building from source) that must be made when switching between environments.
We had success in windows xp and server 2008 by the following:
Make sure the jboss path (in the .properties source files) is setup for a windows environment, NOT linux. Escape the slashes in the JBOSS_HOME reference by adding another slash within the path.
In our experience, we've found that if this is incorrect, the ant build will declare success but not deploy the configuration files within the jboss conf directory. This leaves the person installing i2b2 completely confused because there are no errors!
When working with the web services package (axis2) that is manually deployed to jboss, we were only able to successfully run it under java 5, NOT java 6. It is an older axis library they are working with and it must have some dependencies on java 5.
This is just my experience. Others may have found different results.
Thanks,
Brian

On 06/02/10 5:25 PM, Jian Yang wrote:
Thank you, the environment I have is win2008 + sql server 2008, I deployed the common web service and edu.harvard.i2b2.pm<http://edu.harvard.i2b2.pm> first, and I was able to log into web client to view and edit the hive information. The next step I did is to deploy the ontology web service, after deployment, and verfying the web serivice is runing, I tried to login with workbench, then got this error in the log, which is showing as database connection error, but the ontology web service is using the same connection string as pm service, and it appears pm service works fine with the database connection.
Your advise is appreciated.
Thanks
Jian Yang

11582

main

ERROR

org.apache.axis2.transport.http.RESTSender

Error in processing POST Request


org.apache.axis2.AxisFault: Transport error 500 . Error Message is <soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>soapenv:Client</faultcode><faultstring>Database error; nested exception is: edu.harvard.i2b2.common.exception.I2B2DAOException: Database error; nested exception is: org.apache.axis2.AxisFault: Database error; nested exception is: edu.harvard.i2b2.common.exception.I2B2DAOException: Database error</faultstring><detail /></soapenv:Fault>
at org.apache.axis2.transport.http.RESTSender.sendViaPost(RESTSender.java:295)
at org.apache.axis2.transport.http.RESTSender.send(RESTSender.java:141)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:334)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:205)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:670)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:365)
at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:295)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:579)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508)
at edu.harvard.i2b2.eclipse.plugins.ontology.ws.OntServiceDriver.sendREST(OntServiceDriver.java:339)
at edu.harvard.i2b2.eclipse.plugins.ontology.ws.OntServiceDriver.getCategories(OntServiceDriver.java:136)
at edu.harvard.i2b2.eclipse.plugins.ontology.views.TreeNode.updateCategories(TreeNode.java:348)
at edu.harvard.i2b2.eclipse.plugins.ontology.views.TreeNode.getCategories(TreeNode.java:324)
at edu.harvard.i2b2.eclipse.plugins.ontology.views.NodeBrowser.populateRootNode(NodeBrowser.java:536)
at edu.harvard.i2b2.eclipse.plugins.ontology.views.NodeBrowser.createTreeViewer(NodeBrowser.java:214)
at edu.harvard.i2b2.eclipse.plugins.ontology.views.NodeBrowser.<init>(NodeBrowser.java:68)
at edu.harvard.i2b2.eclipse.plugins.ontology.views.TreeComposite.populateControl(TreeComposite.java:35)
at edu.harvard.i2b2.eclipse.plugins.ontology.views.TreeComposite.<init>(TreeComposite.java:27)
at edu.harvard.i2b2.eclipse.plugins.ontology.views.OntologyView.createPartControl(OntologyView.java:98)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:367)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:226)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:529)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:668)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:576)
at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:568)
at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:272)
at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:981)
at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2626)
at org.eclipse.ui.internal.WorkbenchWindow$27.run(WorkbenchWindow.java:2964)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:2945)
at org.eclipse.ui.internal.WorkbenchWindow$21.runWithException(WorkbenchWindow.java:2262)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3855)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3476)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
at org.eclipse.ui.internal.Workbench$28.runWithException(Workbench.java:1384)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3855)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3476)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2316)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at edu.harvard.i2b2.eclipse.Application.run(Application.java:135)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:574)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

On 06/02/10 4:05 PM, Garth Arnold wrote:
Hello Jian -
Yes, it's possible - but not easy. With the help of a consultant my group has an i2b2 (windows 2003 +sql server 2005) install working. I'm partway through creating a second working system (same OS+SQL 2008) but so far working alone I've not been successful. I have a heavily annotated copy of the i2b2 linux install docs but my notes are not 'share-ready' - I'm happy to answer any specific questions on- or off-list.
To respond to your specific comment, I do not believe we needed to edit any .java files for our working i2b2 system.
Garth

On 06/02/10 3:53 PM, Jian Yang wrote:
Good Afternoon:
Anybody tried deploy I2b2 web service under windows server 2008? the deploy guide is for Linux, but is it possible to have it running on Jboss under windows? I checked the code and it appears that some parts need to be updated such as file path in Ontologyutility.java needs to be changed to accommodate windows file path, are there any other places in the code need to be modified? anybody has a "Windows" ready code?
Thank you
Jian Yang




Creation script for MS SQL DB [06-02-2010]
On 6/2/10 6:54 PM, Garth Arnold wrote:
Hi Lisa -
Are you asking about creating empty databases and users in SQL Server? Everything but that is done for you by the ant scripts that are part of i2b2demodata-14.zip. Following the corresponding PDF install guide (Data Installation Guide_104.pdf, found in i2b2core-doc-14.zip), you will edit config files to choose SQL Server (rather than default Oracle) as your db; running the scripts will then create the db objects needed by i2b2.
I installed i2b2 for SQL Server recently - my approach was to create the dbs and users by hand and then use SSMS to script out the creation steps for the next i2b2 install...
Hope that helps,
Garth

On 6/2/10 3:22 PM, Lisa Dahm wrote:
Hi Everyone,
Is there a creation script available for the i2b2 DB for MS SQL 2008?
Thanks,
Lisa




Paging Implementation for CRC PDO requests [5-28-2010]
On 5/28/10 9:54 AM, Jeremy Nix wrote:
Mike,
I did see that in the schema, but I was not sure what it was being used for. Glad to see the patient and encounter based paging functionality exists. Is it possible to page based on the observation_facts?

On 5/28/10 9:34 AM, Mike Mendis wrote:
Jeremy,
If I am missreading your email I am sorry. But I think that this functionally exists in our current release 1.4. By using the min and max feature of the pdo request you can do the paging.
Lets say you have a pdo that has 1000 patients, you make the following calls:

  1. get <patient_list max="1000" min="0">

The server can only send 250

  1. next call <patient_list max="1000" min="250">

The server can only send 250

  1. <patient_list max=1000" min="500"

This time the server is actually able to send the rest, which is 500
You can specify on the server side what the paging size should be at.
mike

On 5/28/10 9:04 AM, Jeremy Nix wrote:
Has there been any discussions regarding the inclusion of paging functionality for CRC PDO requests? If not, is there any interest within this group to have this type of functionality implemented? In the interface we are developing, we allow privileged users access to view the patients that apart of the resulting cohort. From there, we then allow them to drill into a given encounter. If we had the ability to page based on patients when viewing the patient cohort, we could cut down significantly the amount of information that has to be buffered within our web server while the users page through the patient cohort. Once they drill into a patient, having the ability to page based on the observation_facts would again relieve some of the memory requirements needed in order to render/display the patient/encounter/facts to the user.
I'm thinking that this paging functionality could be added to the "output_optionType" complexType within the CRC_PDO_QRY_request.xsd file. This would mean that any type of output would have to implement paging (patient/encounter/fact/concept). From a simple PDO query with a single (paged) output, the idea would be pretty straight forward. I believe the more complex scenario would be what happens when somebody introduces more than one output that is paged. For instance, you choose to enable paging on Patient and Facts. The queries would have to be paging aware so that the paged subset of Facts returned are ones applicable to the subset of Patients returned. I'm sure more complex scenarios could be listed as well.
I was going to take a stab at designing/implementing this functionality, but wanted to make sure that this type of functionality did not already exist in one way shape or another. I was also curious if there is any desire amongst this community to have this functionality as well?
Jeremy Nix




Modifier_CD [05-28-2010]
On 5/28/10 6:46 PM, Shawn Murphy wrote:
Hi Davera, Keith, and Philip,
Here is the database representation specification (i2b2_modifiers.pdf). Let me know if it is unclear.
Thanks,
Shawn.

On 5/28/10 3:25 PM, Davera Gabriel wrote:
Shawn:
Is it possible to store (to pass) a string (possibly containing a composition) and if so what length, are there special characters included / excluded?
Here are a couple of SNOMED CT examples:
"183944003 | procedure refused | : 363589002 | associated procedure | = 367336001 | chemotherapy | "
"373572006 | clinical finding absent | : 246090004 | associated finding | = 372288004 | local tumour invasion | : 363698007 | finding site | = 68171009 | axillary lymph node structure| "
"429685005 | radiotherapy by body site | : 405813007 | procedure site - Direct | = 245325004 | entire supraclavicular lymph node | "
Best,
Davera Gabriel

On 5/28/10 9:39 AM, Shawn Murphy wrote:
Yes, The modifier_cd column will be searchable in the Version 1.6 API in the following manner:
The column in the database is similar in setup and use to the concept_cd column.
This means that various modifier codes are described in a vocabulary and the use of values to express them is permitted. This is used in conjunction with the instance_num column, which is able to separate various facts into clusters that allow several modifiers to be attached to the same fact.
The modifier table in the ontology cell is organized a bit differently from the regular tables to help specify what concepts the modifiers can be attached to.
I can send out the full specification out when I get back to the office.
Thanks,
Shawn.

On 5/28/10 11:38 AM, Phillip Reeder wrote:
I don't think it's currently usable(Searchable) through the i2b2 API, but for codes like CPT, there is a modifier code that can be assigned. For example if the procedure is done on the right arm, the modifier would be "RT".
Here's a link to a document that describes all the CPT modifiers.
http://hrsa.dshs.wa.gov/download/BillingInstructions/Physician-Related_Services_ <http://hrsa.dshs.wa.gov/download/BillingInstructions/Physician-Related_Services_>
Jan2009/Section%20L_July2009.pdf
Phillip

On 5/28/10 10:28 AM, Keith Marsolo wrote:
Can someone provide a (hopefully) short description on the current use of the modifier_cd column? Also, is there a plan to add/remove functionality around this column?
Thanks.
Keith




Establish values for i2b2 concepts [05-19-2010]
On 5/19/10 11:44 AM, Peter Beninato wrote:
Hi,
To use the text value or number value columns in the observation fact, in i2b2metadata.i2b2 (the metadata table), info needs to be added information in the c_metadataxml field.
There are tags in that field also to list values.
Do you have the i2b2 demo loaded in some DB schemas?
If so, you might want to look for c_metadataxml with non-null values then join that through the i2b2data.concept_dimension and observation_fact where there are entries for that concept_cd in the observation fact.

Peter Beninato


On 5/19/10 8:26 AM, Jack London wrote:
Hello everyone,
I am new to the i2b2 world, and have the following question:
When a concept has a value, for example a diagnosis that can be "PRIMARY" or "SECONDARY," where is it noted in the i2b2 database that this concept has a value, and what the possible values are?
I see that in the OBSERVATION_FACT table you can specify that a fact has a numeric or text value, and whether a numeric value is =, <, or >. You can also store a numeric value and/or an abnormal flag.
But, where do you specify that a concept has a value, and therefore if you "right-click" on it in the 12b2 query tool, a window pops up asking you to set the value?
Thanks,
Jack




HIPAA Data Obfuscation Question [05-18-2010]
On 5/18/10 4:16 PM, Vivian Gainer wrote:
Hi Peter,
At Partners Healthcare, we are extremely concerned about the issues surrounding sensitive data; so for research, for the i2b2 de-id role to view de-identified data, a specific IRB approval for the project is required, while operations work requires sign-off by the Partners privacy board.
Vivian Gainer


On 5/17/10 4:55 PM, Peter Beninato wrote:
Hello,
A colleague requested that I attempt to determine how other institutions might handle some scenarios with regards to data obfuscation and what HIPAA might suggest as a remedy.
In the specific scenario the concern was that from a de-identified dataset, a particular combination of columns indicates a "rare" disease then it might defeat the de-identification.
I know that i2b2 has user privileges that enforce security and data obfuscation.
My understanding that with the Data_Obfuscation role, then all "counts" are obfuscated. And that if a query returns 10 or less rows, then "<10" is the only information forthcoming.
If the person has the "De-identification" role, then any fields returned with PHI is encrypted.
But in other environment, where your institution might be providing de-identified datasets, is this concerning?
Are there steps your institution is taking to safeguard against this? (Like not loading patient into your Data Warehouse that have rare diseases).
Is this something your institution IRB is concerned about?
Thanks in advance for your replies.
Peter Beninato




Data Load [05-17-2010]
On 5/17/10 3:36 PM, Vojtech Huser wrote:
When we tried our experiments, we loaded some data into fact table, but they never showed up in any of the queries.
After some experimentation, we found out, that in order for the new facts to be "found" by the queries, all patient_ids for which we loaded some facts, must be in the patient dimension table – and then it worked as we were expecting when querying.
I would suggest perhaps some sort of 'manual for loading local data' produced by i2b2 authors for new adopters. I am sure there are several catches like this one above out there. Is there a second on that?
Vojtech

On 5/12/10 5:36 PM, Shawn Murphy wrote:
Hi Arvinder,
The provider_id does not need to be a number and can be an external code, though usually needs to have a prefix to make sure is unique.
The query by provider will be available in the next release (1.5) in the query tool.
Thanks,
Shawn



On 5/12/10 4:37 PM, Arvinder Choudhary wrote:

Dear Team:
We have loaded the real data into i2b2. We did the following.
1. Preloaded the concept_dimension table from existing i2b2demodata schema.
2. Loaded patient_dimension table from raw data table.
3. Loaded visit_dimension and observation_fact table with ICD diagnosis code. Each of these codes entered as a record in both tables and they had their own encounter_number even when it has the same patient_number. Multiple encounters for the single patient).
4. Loaded observation_fact table with all 8 categories of Demographic data as a separate record from patient_dimension (got rest of the information) and visit_dimension (got encounter_num) table.
We have not inserted data into the provider_dimension table because we could not find any example in the demo data.
How can we insert in the provider_dimension table. Does it have its own encounter_num in the observation_fact table.
Are we doing it in a right way... Please Advice
Regards
Arvinder Choudhary





i2b2 Client Timeout [05-14-2010]
On 5/14/20 10:56 AM, Mike Mendis wrote:
Rob,
There are two places where you can specify the timeout.
1) In the request message from the client.
<request_header>
<result_waittime_ms>180000</result_waittime_ms>
</request_header>
Increasing the result_waittime_ms will tell the server how long to wait for the response from the server.

2) Depending on the cell, you can specify timeout in by modifying the properties files, such as in the crc:
/opt/jboss/server/default/conf/crcapp/crc.properties
edu.harvard.i2b2.crc.jms.small.timeoutsec=180

mike


On 5/14/10 9:30 AM, Arvinder Choudhary wrote:
Rob:
To my knowledge you have to modify the parameter "connectionTimeout" parameter in the run.conf file in the JBOSS_HOME/bin directory
Arvinder



On 5/13/10 8:00 PM, Rob Wynden wrote:
Hello everyone,
How should we extend the i2b2 client timeout past 3 minutes (180+) seconds?
Thanks!!
Rob Wynden




Procedures CPT [5-13-2010]
On 5/13/10 6:13 PM, Nigam Shah wrote:
PS: A little history and future work ...Last fall, we (NCBO and i2b2) did a bunch of tests - which led to the prototype Shawn mentioned - primarily to make sure that our web service outputs contain all the information that the i2b2 ontology cell would need. The plan for future work is to make an ontology manager that can do the steps I mentioned from within the i2b2 workbench. Till, that happens using the services directly will do the job... support@bioontology.org will answer questions if you get stuck etc.
Nigam.


On 5/13/10 5:41 PM, Nigam Shah wrote:
Thanks Shawn. The prototype code is still available and will dump out any ontology in NCBO in the i2b2 format. Conceptually it is very simple and does the following:
1 you specify an ontology to extract (or a root node that you want to extract the branch under)
2 the code simply calls the services at:
http://www.bioontology.org/wiki/index.php/NCBO_REST_services
<http://www.bionotology.org/wiki.index.php/NCBO_REST_services>
specifically "get term" http://www.bioontology.org/wiki/index.php/NCBO_REST_services#Get_term_for_Iatest_ontology_version_id
and then recursively "get children" http://www.bioontology.org/wiki/index.php/NCBO_REST_services#Get_parents.2Fchildren_of_a_given_concept_in_the_latest_version_of_a_given_ontology
<http://www.bioontology.org/wiki/index.php/NCBO_REST_services#Get_parents.2Fchildren_of_a_given_concept_in_the_latest_version_of_a_given_ontology>
3 parses the XML using a few XPATH expressions and writes out the information the information in the i2b2 format.
That's about it. I am happy to share the code... but its simple enough that most people can just write their own routines in their favorite language.
Regards,
Nigam.


On 5/13/10 4:19 PM, Keith Marsolo wrote:
You can also find the CPT terminology in the UMLS. I think you can extract the CPT hierarchy from the Metathesaurus, though there are restrictions on how it can be used/disseminated.
http://www.nlm.nih.gov/research/umls/


On 5/13/10 1:09 PM, Shawn Murphy wrote:
Hi Venkata,
 
The only way to add vocabulary items through tools is in the "Edit" View of the ontology of the i2b2 workbench that was added in 1.5.  We will be adding a more robust ontology manager in the future working with the NCBO team.
 
For now, you can contact Nigam (NCBO) and see what state a prototype tool he made for us might be in.
 
Thanks,
Shawn.


On 5/13/10 12:21 PM, Venkata Pagadala wrote:
Hello everyone,
 
We are using I2B2 version 1.4 and we are trying to setup CPT's in the procedures hierarchy in addition to ICD9 hierarchical levels. Can anyone please guide us how to set up the hierarchy or do we have a place we can download the hierarchical levels to our concept_dimension and i2b2metadata tables?
Thanks for your help,
Venkata Pagadala




How to enable synonyms in "Find Terms" [05-13-2010]
On 5/13/10 4:31 PM, Vivian Gainer wrote:
The ontology tool won't return synonyms unless you tell it to.
One way to do this is the way you did it, via the PM cell.
Another way to do this is to open the gear icon on the find tool and check the 'show synonyms' button.
The navigate terms view works the same way.
Having said all that, the 'search by name' feature has a bug. We have fixed it and it will be available in the next release.
The 'search by code' should work.
Vivian

On 5/13/10 10:07 AM, Haijun Qiu wrote:
Hello everyone,
In Ontology cell, we specify cell variable ontSynonyms=true in gridsphere. In i2b2 workbench - "Navigate Terms", we do see synonyms, but in "Find Terms", search words are still limited to original terms only.
Is there a way we can enable synonyms search in "Find Terms" by words?
We are still running version 1.3.
Thanks,
Haijun Qiu




A new tool: i2b2 Wizard [05-10-2010]
On 5/10/10 12:51 PM, Sebastian Mate wrote:
Hello i2b2 AUG,
Some of you have shown great interest in our i2b2 Wizard.
I have fixed a few critical bugs:
Support for Ubuntu 10.04 Server
Using different passwords for I2B2PM and I2B2HIVE
Note that you cannot update from 1.01 (it's possible, but difficult), you'll have to start over again.
I will continue to upload new snapshots to this location:
http://wwwcip.informatik.uni-erlangen.de/~sisemate/
This will happen frequently, because I'm upgrading our aging Hospital's 1.3 instance to 1.4 with this thingy.
I will do this silently from now on (to reduce e-mail traffic), so simply check out this place if you want to bite in the bullet and try "the Wizard" out ... (smile)
Greetings,
Sebastian

On 5/5/10 8:51 AM, Sebastian Mate wrote:
Dear AUG members,
As advertised some weeks ago, we were working on a small tool for a "automatic" installation and administration of i2b2 instances.
We call it "i2b2 Wizard" and because we believe it could be useful to others, we have decided to make it freely available (free as in "beer" and "freedom" => GPL2). In fact I believe that this effort is a vital builing-stone in order to deploy i2b2 to other sites who are not "i2b2 experts". There is a great interest in i2b2 over here in Germany, but most of the people have fear to work with the source code. The overall goal of it is to turn the i2b2 source code into a "self-managing application".
Special Features:
(1) Automated installation of i2b2, including automatic software-download, etc.
(2) Loading and dropping of the "Boston Demodata"
(3) Creation and removal of i2b2 projects. The tool handles the JBoss datasources and the creation of the database users. For every new project, a simple "ETL" template SQL-file is created which can be used to load data into into the i2b2 hive. This is a very simple approach, however, it turned out to be sufficient for small i2b2 projects/experiments. Those scripts load some sample data as well and show how to build simple i2b2 ontologies.
(4) Creation of i2b2 users and the assignments to projects. So this part mimics the new PM-portal (I mean the administration tool in the webclient) to a certain degree, but it's not meant to replace it. I like it a lot and highly appreciate Mike's efforts ... but I think it's nice to have everything in one place as well.
The tool is small and simple and - as stated above - somehow still experimental. Remember, this an initial release. But it worked great for us in some tests. Currently, it only works with Ubuntu 10.04 and Oracle. A small 20-page documentation is included.
If you are interested, please drop me a mail. The tool is ~500 kb. I hope we can make it available through other channels later...
Sebastian



i2b2 Project User Roles (1.4) Fix [4-29-2010]

On 4/29/10 1:27 PM, Mike Mendis wrote:
It appears that some mail servers are rejecting the file I sent as a possible virus, don't like the included .js file.
I have posted on https://www.i2b2.org/downloads/1-4sp1.zip as an alternate download link.
Thanks
Mike

On 4/29/10 12:38 PM, Mike Mendis wrote:
I want to thank everyone for the help in finding this.
I have attached a file, which contains 3 files in it that will address 2 issues:
1) On Oracle sometime the create triggers are not created correctly for the PM Params
FIX:
a) Replace the create_oracle_trigger.sql from zip to {BUILD_DIR}/edu.harvard.i2b2.data/NewInstall/Pmdata/scripts
b) goto edu.harvard.i2b2.data/NewInstall/Pmdata
c) run ant f data_build.xml create_triggers_release_1-4
2) The Project User Roles in the webclient not working as designed.
FIX:
a) Replace the PM_admin_ctrlr.js from zip to /var/www/html/js-i2b2/cells/PM {/var/www/html – is the root http directory}
b) Replace the PMDbDao.java from zip top {BUILD_DIR}/edu.harvard.i2b2.pm/src/edu/harvard/i2b2/pm/dao
c) goto {BUILD_DIR}/edu.harvard.i2b2.pm
d) run ant f master_build.xml clean dist deploy
Than restart your browser and restart i2b2.
Thanks again for all the help
mike

On 4/29/10 10:52 AM, Mike Mendis wrote:
That is the experience I have recently noticed. I do need to do some more testing, but I believe that I will have a new js file PM_admin_ctrlr.js in the webclient, which is located in js-i2b2/cells/PM later today that will resolve the issue.
mike

On 4/28/10 5:17 PM, Brian Wilson wrote:
Experiencing similar behavior in 1.5 RC1.
Although not tried the specific combo you have outlined.

On 4/28/10 5:09 PM, Brian Eliason wrote:
Thanks Mike.
This is helpful instruction.
I'm assuming that the release candidate for 1.5 also behaves in the same way. For some reason, however, when going through the ajax PM admin area, I'm unable to add any roles under the Hive Management Track. The "data protection track" seems to be working well, but the "hive management track" never returns any roles; no matter what I do within the interface, I am unable to successfully add ADMIN, MANAGER, or USER. I've confirmed this within the i2b2pm.PM_PROJECT_USER_ROLES table, and when trying to login to i2b2 under that user, the permissions prevent said user from running any queries.
I've talked with a few of you out there with the same experience. Has anyone else tested the 1.5 vm or source code? What have your experiences been?
Thanks,
Brian Eliason

On 4/28/10 1:01 PM, Mike Mendis wrote:
Hello,
There are been a lot of issues regarding the project_user_roles. I have just identified a flaw in the 1.4 release, which I will describe in more detail later in the message. I hope to fully test my fix and provide updated patch file to existing 1.4 users and will release a newer 1.4.1(question) that has the fix.
Let me try to explain how the system should work
In 1.4, there are 2 tracks, a Hive Management and a Data Protection track, and a user needs have at least one role in each. Each track is a hieratical nature, such that the user assigned with the current role also gets the roles below it.
Lets take the Hive Management Track, if you assign a user MANAGER and click on 'Save', the system should save it as 'MANAGER', 'USER'. The 'USER' role will automatically be added.
In the webclient, a user should be able to do the following scenarios:
1) Selected: MANAGER and DATA_OBFSC
Got back: MANAGER, USER, DATA_OBFSC
2) Selected: MANAGER, USER, DATA_OBFSC, DATA_PROT
Got Back: MANAGER, USER, DATA_PROT, DATA_DEID, DATA_LDS, DATA_AGG, DATA_OBFSC
3) Selected: MANAGER and DATA_OBFSC
Got back: MANAGER, USER, DATA_OBFSC
4) Selected: MANAGER, USER, DATA_OBFSC, DATA_PROT
Got Back: MANAGER, USER, DATA_PROT, DATA_DEID, DATA_LDS, DATA_AGG, DATA_OBFSC
I agree the UI needs some improvements to deal with the hieratical nature of the roles. Take the second example; there I selected DATA_OBFSC and DATA_PROT. The server will take the highest level and automatically assign the roles under it.
So because I selected DATA_PROT, I was automatically assigned all the roles. In the third example, I selected the lowest level (DATA_OBFSC) and than had all the roles revoked except for DATA_OBFSC.
What currently I found
The way the webclient is working is that when you make any changes to the roles, it first deletes all the roles for that user and than adds the ones that was selected back. What appears to be happening is the webclient is sending the delete roles to the PM, but when this is a new user, the PM server is saying 'cant delete because user does not exist' and the webclient is handling this a fault coming from the server and not continuing. It should go to the next step, which is add the roles, because this is true, they don't exist.
Thanks
mike




i2b2 Installation Done and Where to find 1.5-RC1 [4-29-2010]

On 4/29/10 12:01 PM, Brian Wilson wrote:
https://www.i2b2.org/RC

On 4/29/10 12:01 PM, Mike Mendis wrote:
You can get the 1.5 RC1 from
https://www.i2b2.org/RC/
If you don't have an account, click on the 'Register here'
mike

On 4/29/10 11:58 AM, Shawn Murphy wrote:
It is available in the RC1 release, Arvinder.

On 4/29/10 11:53 AM, Arvinder Choudhary wrote:
Brian:
Looks like we have 1.4 client installed and Yes I do not see Edit Terms and Import Data under Show View.
How can we have client Workbench 1.5.
Arvinder

On 4/29/10 10:43 AM, Brian Wilson wrote:
Avinder
First check the following: From the Main Menu (in the rich client)
Window -> Show View -> (select the view your looking for)
Note however, I believe the Importer is only available in the 1.5 client (question)
(Taken from 1.5RC1)

On 4/29/10 11:47 AM, Shawn Murphy wrote:
Hi Arvinder,
The "core" i2b2 workbench does not come with those "optional" plug-ins (note that many may not have privileges to run them). They can be downloaded as "features" in the Eclipse framework from the Harvard site (except not the import which is not officially released yet, will be in 1.5). I think that how to use the download capabilities is in the i2b2 workbench documentation.
Thanks very much for assisting with the documentation.
Shawn.

On 4/29/10 11:16 AM, Arvinder Choudhary wrote:
Hello Team:
First of all my Special thanks to Mike Mendis, Brian Wilson and Brian Eliason for being patient and helpful. It was great learning curve for me specially I was hands on after awhile. Now the real work starts.
i2b2 requires update on the documentation and will be more than happy to assist in it.
The last issue that we encountered was as per documentation once we install File Repository Cell I should see Export and Import Data Tab (Next to Timeline View) in the workbench client view but we get is Analysis view (Screen shot attached)
Regards
Arvinder Choudhary




New Cell Development [4-28-2010]

On 4/28/10 9:44 AM, Daniele Segagni wrote:
Ok, thanks!
I'm going to try these steps, I'll tell you about the results.
Daniele

On 4/28/10 at 9:31 AM, Mike Mendis wrote:
The approach you most likely want to do it:
1. edit the i2b2/js-i2b2/ i2b2_loader.js
Add an entry like
{ code: "MyProject",
forceLoading: true,
forceConfigMsg: { params: [] },
forceDir: "cells/plugins/examples"
},
2. In the i2b2/js-i2b2/cells/plugins/examples copy save ExamplePDO to MyProject
3. In the PM (which I think you already did) register your new cell.
4. Relogin to the webclient and hopefully you should see your plugin in the example section of the anaylsis tools. If so, than start modifing the javascript and html code to reflect your needs.

mike
The redirect url is needed for the webclient code to communicate with the pm and all the cells. I would leave it to what it was originally.

On 4/28/10 3:40 AM, Daniele Segagni wrote:
Ok, I've just developed one web Plug-in, and I call my cell service using this tag in the XML Request:
<proxy>
<redirect_url>http://myurl:myport/i2b2/rest/TestCell/myMethod</redirect_url>
</proxy>
Is this the right way? Using this approach I exclude all the PMCell controls, right? I suppose that my Plug-in have to call the PM Cell, that replies with the WebService URL that the Plug-in have to call for use the TestCell service, but I don't know how to implement these calls.
Thanks,
Daniele

On 4/27/10 at 2:52 PM, Vincent Yip wrote:
Hi all,
I also interested in information regarding development of plug-ins for the webclient.
Do you all know any documentation/ tutorials/ powerpoint slides about developing plugins?
Thanks,
Vince.

On 4/27/10 at 2:41 PM, Mike Mendis wrote:
If you want to use the webclient to test against this cell, than your best bet is to take one of the 'Analysis tools' aka Plugins and create a new one based on that. I think that Griffin might have a powerpoint presentation on this.
mike

On 4/27/10 12:02 PM, Daniele Segagni wrote:
Hi Mike,
As per your suggestion I used the PFT Cell as a template and I developed my first test cell. Now I've some doubts about how I can call my cell services from the i2b2 web client.
I registered my cell via gridsphere application with these parameters:

ID

TESTCELL

Name

My Test Cell

Base URL

http://_ipAddress_:_Port_/axis2/rest/TestCell

Web Service Method

REST



Under the Base URL I've 2 services: getGenderFromPatientList and getAgeFromPatientList.
How can call a specific service for a specific cell from i2b2 web client? I want to call only the method getGenderFromPatientList from my Test Cell...is it possible? If no, if my cell have only one service onder my cell, how can I call it from the web client?
Thanks,
Daniele

On 4/20/10 11:32 AM, Daniele Segagni wrote:
Ok, I'll try to use the PFT client/server as a template.
Thank you very much
Daniele
On 4/20/10 at 10:34 AM, Mike Mendis wrote:
Is there a guide that explain how to develop a new core cell?
Currently your best bet, is to download the PFT client/server and use that as a template for developing and learning about new cells.
We are discussing internally about better methods of educating on cell development.
How can I add a new REST Web Service into the i2b2 hive? Once you create a new cell, you need to assign it a unique ID such as (PFT) for the Pulmonary Function Test example.  With this ID, you can add it via webclient as a new Cell, using the URL as the location of the REST service.
mike

On 4/20/10 10:24 AM, Daniele Segagni wrote:
Hi all,
I've been working with i2b2 for a couple of months and I've some questions related to the i2b2 core cells development.
Is there a guide that explains how to develop a new core cell?
How can I add a new REST Web Service into the i2b2 hive?
Thanks,Daniele




i2b2 Installation Help [4-28-2010]

On 4/28/2010 7:10 PM, Venkata Pagadala wrote:
Yes the popups disappeared once we installed the cells, thank you for the help
Venkat

On 4/28/10 12:07 PM, Mike Mendis wrote:
This will explain why Arvinder was getting all of these popups messages. Once you install the Ontology, CRC, Workplace Cell and register them, these popups should disappear.

On 4/28/10 12:47 PM, Venkata Pagadala wrote:
We haven't installed the Ontology cell yet, the things we are able to navigate are all the links on top of the page (Find Patient, Admin, Analysis Tools, Message Log, Find Patients, Help)
In the Admin Page we were able to access Hive, Projects and Manage Users...we also created users and also associated users to a project with roles.
Venkat

On 4/28/10 11:36 AM, Brian Eliason wrote:
What does this mean? "Even though we got these alerts we were able to navigate."
Were you able to bring up the ontology and navigate through the ontology in the webclient?

On 4/28/2010 10:32 AM, Arvinder Choudhary wrote:
xmllib was already there but adding libcurl did the trick,
Thank you all for your support. we were able to login into the Webclient
But encountered the following error when we tried to login into the webclient
Here is what we captured in the log file
09:22:45,000 ERROR [AxisRESTServlet] org.apache.axis2.AxisFault: Service not found operation terminated !!; nested exception is:
org.apache.axis2.AxisFault: Service not found operation terminated !!
09:22:45,104 ERROR [AxisRESTServlet] org.apache.axis2.AxisFault: Service not found operation terminated !!; nested exception is:
org.apache.axis2.AxisFault: Service not found operation terminated !!
09:22:47,020 ERROR [AxisRESTServlet] org.apache.axis2.AxisFault: Service not found operation terminated !!; nested exception is:
org.apache.axis2.AxisFault: Service not found operation terminated !!
09:22:47,023 ERROR [AxisRESTServlet] org.apache.axis2.AxisFault: Service not found operation terminated !!; nested exception is:
We pressed f12 as per instruction in the alert message and we got another window (attaching the screen shot of that window)
Even though we got these alerts we were able to navigate.
Please Advice to eliminate the error; also make sure to copy Venkata Pagadala.
Arvinder

On 4/27/10 3:30 PM, Brian Eliason wrote:
Hello Vojtech,
I encountered this a few months back as well.  If your setup is like mine (compiled apache and php from source), you may also need to bring in the xmllib2 before curl will work.
This got mine working:
./configure --prefix=/opt/i2b2web/php --with-apxs2=/opt/i2b2web/apache/bin/apxs   --with-libxml-dir=/opt/i2b2web/xmllib2 --with-config-file-path=/opt/i2b2web/apache/lib --with-curl=/opt/i2b2web/
In addition to being error free for the build, you can also check the results of your phpinfo() function (Mike mentioned this earlier) to see if curl is being used.
Brian Eliason

On 4/27/10 12:13 PM, Brian Wilson wrote:
You made need to rebuild php w/ curl option enabled
./configure --with-apxs2=/var/www/bin/apxs --with-curl
Brian Wilson

On 4/27/10 2:07 PM, Lars Reimann wrote:
Hi,
if I may jump in here...
If your curl_init() function is not found you should check your php installation. maybe version requirements and mod_php. The webclient may have specific version requirements.
Maybe a test php file could give you a lot of info. E.g. calling that function and see what happens.
Greetings,
Lars

On 4/27/2010 8:00 PM, Arvinder Choudhary wrote:
Brian:
After the web client login failed; I looked into the logs directory in the Apache web server (Webclient sits in this directory /usr/local/apache2/htdocs/webclient)
Logs directory is in /usr/local/apache2  folder  and has 4 files
"rw-rr- 1 root root  52010-04-27 08:24 httpd.pid"
"rw-rr- 1 root root  315196 2010-04-27 11:34 mod_jk.log"
"rw-rr- 1 root root 1900847 2010-04-27 11:46 error_log"
"rw-rr- 1 root root 4571071 2010-04-27 11:56 access_log"
The file error.log has
[Tue Apr 27 11:37:47 2010] [error] [client 10.17.8.62] PHP Fatal error:  Call to undefined function curl_init() in /usr/local/apache2/htdocs/webclient/index.php on line 165, referer: http://bmidev1/webclient/default.htm

In the access.log file we have
10.22.6.238 - - [27/Apr/2010:11:45:05 -0600] "HEAD / HTTP/1.0" 200 –
10.22.6.238 - - [27/Apr/2010:11:46:04 -0600] "HEAD / HTTP/1.0" 200 –
10.17.8.62 - - [27/Apr/2010:11:46:11 -0600] "POST /webclient/index.php HTTP/1.1" 500 –
Arvinder

On 4/27/2010 9:34 AM, Venkata Pagadala wrote:
Mike,
Adding the threshold param changes the jboss log to INFO mode according to the documentation. Please let me know if you want me to change it to INFO mode.
Also, we installed edu.harvard.i2b2.common prior to installing the PM cell by running the steps you mentioned and everything went fine without any error.
I think we followed everything in the same sequence and all the steps as provided in the documentation, still no luck.
One more thing, we installed JBOSS on /usr instead of /opt, does the folder matter
Our JBOSS_HOME = /usr/jboss-4.2.2.GA

Thanks,
Venkat

On 4/26/10 4:39 PM, Arvinder Choudhary wrote:
Dear Brian:
I am getting one record with the values for the command   SELECT * FROM i2b2pm.PM_HIVE_DATA    in oracle datatbase
DOMAIN_ID=  i2b2
HELPURL= http://www.i2b2.org
DOAMIN_NAME= i2b2demo
ENVIRONMENT_CD= DEVELOPMENT
ACTIVE= 1
STATUS_CD= A
Rest other fields CHANGE_DATA, ENTRY_DATE and CHANGEBY_CHAR  are empty
I have changed the i2b2_config_data.js  file  in the Apache webserver home/htdocs/webclient directory
{
urlProxy: "index.php",
urlFramework: "js-i2b2/",
//---
// THESE ARE ALL THE DOMAINS A USER CAN LOGIN TO
lstDomains: [
{ name: "bmidev1",
domain: "i2b2demo",
debug: true,
urlCellPM: "http://bmidev1/i2b2/rest/PMService/"
}
]
//---}
Still getting same alert log
here is the Log contents
2010-04-26 14:36:25,629 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] Periodic recovery - first pass <Mon, 26 Apr 2010 14:36:25>
2010-04-26 14:36:25,629 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] StatusModule: first pass
2010-04-26 14:36:25,629 DEBUG [com.arjuna.ats.txoj.logging.txojLoggerI18N] [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_3] - TORecoveryModule - first pass
2010-04-26 14:36:25,630 DEBUG [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.recovery.info.firstpass] Local XARecoveryModule - first pass

Regards
Arvinder

On 4/26/10 4:22 PM, Brian Wilson wrote:
Correction DOMAIN_NAME
Brian Wilson

On 4/26/10 4:21 PM, Brian Wilson wrote:
Avinder
One possible check you might like to try is to execute the following SQL against your database and check the value of the DOMAIN_FIELD field. It should match the domain value in your i2b2_config_data.js file.
SELECT * FROM [i2b2pm].[PM_HIVE_DATA]

Brian Wilson

On 4/26/10 3:16 PM, Arvinder Choudhary wrote:
We did remove the comma but same error alert while trying to log through webclient
Here is the log after the change
2010-04-26 13:13:14,916 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] Periodic recovery - first pass <Mon, 26 Apr 2010 13:13:14>2010-04-26 13:13:14,916 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] StatusModule: first pass 2010-04-26 13:13:14,916 DEBUG [com.arjuna.ats.txoj.logging.txojLoggerI18N] [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_3] - TORecoveryModule - first pass2010-04-26 13:13:14,916 DEBUG [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.recovery.info.firstpass] Local XARecoveryModule - first pass2010-04-26 13:13:24,916 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] Periodic recovery - second pass <Mon, 26 Apr 2010 13:13:24>2010-04-26 13:13:24,916 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] AtomicActionRecoveryModule: Second pass 2010-04-26 13:13:24,917 DEBUG [com.arjuna.ats.txoj.logging.txojLoggerI18N] [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_6] - TORecoveryModule - second pass2010-04-26 13:13:24,917 DEBUG [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.recovery.info.secondpass] Local XARecoveryModule - second pass
Arvinder

On 4/26/10 2:05 PM, Mike Mendis wrote:
Try removing the extra comma in your config file, I colored it as blue, fourth line from the bottom
mike

On 4/26/10 3:01 PM, Venkata Pagadala wrote:
Mike,
Here is our i2b2_config_data.js
{
urlProxy: "index.php",
urlFramework: "js-i2b2/",
//---
// THESE ARE ALL THE DOMAINS A USER CAN LOGIN TO
lstDomains: [
{ name: "bmidev1",
domain: "bmid",
debug: true,
urlCellPM: "http://bmidev1/i2b2/rest/PMService/"
},
]
//---
}

Just an FYI...
bmid is the SID for Oracle database..
This file is in apache webserver under /usr/local/apache2/htdocs/webclient where /usr/local/apache2 is the home directory for apache webserver
Venkat

On 4/26/10 1:56 PM, Mike Mendis wrote:
From the log it appears as if the server never got the request from the client.  On the webclient, what does your i2b2_config_data.js file look like?
This file is located in the apache webserver
mike

On 4/26/10 2:53 PM, Venkata Pagadala wrote:
Mike,
Sorry about the confusion, we now changed the server log level to DEBUGwhen we tried to access the following page is...
http://bmidev1/webclient/default.htm
We got the following recorded in server.log
2010-04-26 12:43:00,709 DEBUG [org.jboss.logging.Log4jService] Installed System.out adapter
2010-04-26 12:43:00,711 DEBUG [org.jboss.logging.Log4jService] Installed System.err adapter
2010-04-26 12:43:58,542 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] Periodic recovery - first pass <Mon, 26 Apr 2010 12:43:58>
2010-04-26 12:43:58,548 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] StatusModule: first pass
2010-04-26 12:43:58,548 DEBUG [com.arjuna.ats.txoj.logging.txojLoggerI18N] [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_3] - TORecoveryModule - first pass
2010-04-26 12:43:58,549 DEBUG [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.recovery.info.firstpass] Local XARecoveryModule - first pass
2010-04-26 12:44:08,549 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] Periodic recovery - second pass <Mon, 26 Apr 2010 12:44:08>
2010-04-26 12:44:08,549 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] AtomicActionRecoveryModule: Second pass
2010-04-26 12:44:08,549 DEBUG [com.arjuna.ats.txoj.logging.txojLoggerI18N] [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_6] - TORecoveryModule - second pass
2010-04-26 12:44:08,549 DEBUG [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.recovery.info.secondpass] Local XARecoveryModule - second pass
2010-04-26 12:46:08,549 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] Periodic recovery - first pass <Mon, 26 Apr 2010 12:46:08>
2010-04-26 12:46:08,550 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] StatusModule: first pass
2010-04-26 12:46:08,550 DEBUG [com.arjuna.ats.txoj.logging.txojLoggerI18N] [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_3] - TORecoveryModule - first pass
2010-04-26 12:46:08,550 DEBUG [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.recovery.info.firstpass] Local XARecoveryModule - first pass
2010-04-26 12:46:18,550 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] Periodic recovery - second pass <Mon, 26 Apr 2010 12:46:18>
2010-04-26 12:46:18,550 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] AtomicActionRecoveryModule: Second pass
2010-04-26 12:46:18,550 DEBUG [com.arjuna.ats.txoj.logging.txojLoggerI18N] [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_6] - TORecoveryModule - second pass
2010-04-26 12:46:18,551 DEBUG [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.recovery.info.secondpass] Local XARecoveryModule - second pass
Yes, we did install edu.i2b2.common first before installing the PM cell
Venkat

On 4/26/10 1:45 PM, Mike Mendis wrote:
When you did the install, did you install the edu.i2b2.common prior to installing the PM cell?
This error message is kind of a general axis2 error, so it does not pinpoint to an exact problem.
mike

On 4/26/10 2:39 PM, Venkata Pagadala wrote:
Mike,
Based on that error are we missing anything on our side with regards to configuration?
Thanks for your patience,
Venkat

On 4/26/10 1:34 PM, Arvinder Choudhary wrote:
Mike:
We were just inquiring based on the error search as mentioned in our previous email.
Arvinder

On 4/26/10 1:27 PM, Mike Mendis wrote:
That appears to be part of the Apache Rampart 1.1 which is a toolkit that provides implementations of the WS-Sec* specifications for Apache Axis2 <http://ws.apache.org/axis2/>  1.1, based on Apache WSS4J <http://ws.apache.org/wss4j/>  1.5.1 and the Apache AXIOM-DOOM 1.2.1 implementation.
This toolkit is not needed for the i2b2 server install, and has never been tested with it.  Where did it come from?
mike

On 4/26/10 2:10 PM, Arvinder Choudhary wrote:
Mike:
We did not find the following file
/WEB-INF/modules/rampart-1.1.mar
the following Servlet classes were also not found in WEB-INF/classes directory
org.apache.axis2.transport.http.AxisRESTServlet
org.apache.axis2.transport.http.AxisAdminServlet
org.apache.axis2.transport.http.AxisServlet
Please advice if they are required as we found them in one of the google search ( http://mail-archives.apache.org/mod_mbox/ws-axis-user/200701.mbox/%3CBAY133-DAV15FB639FE706FA49C69466AEBE0@phx.gbl%3E ) based on the server.log error message
"ERROR [org.apache.axis2.transport.http.AxisRESTServlet] org.apache.axis2.AxisFault:
I can not find a service for this request to be serviced. Check the WSDL and the request URI; nested exception is:"
Arvinder

On 4/26/10 9:59 AM, Mike Mendis wrote:
Ok, so it appears as if the service is setup correctly.  Can you try logging in and monitor your jboss log file.  You can do this by:
tail --f /opt/jboss-4.2.2GA/server/default/deploy/log/server.log
And send me what is displayed?   This will tell us if it is on the client side or the server side.
Thanks
Mike

On 4/26/10 10:54 AM, Arvinder Choudhary wrote:
Mike:
Thank you Mike.  I guess than this is not the issue in our case.  But we are still not able to login through Webclient screen and get the same error alert "Your account does not have access to any i2b2 Projects".  Please Advice
Regards
Arvinder

On 4/26/2010 10:40 AM, Mike Mendis wrote:
The i2b2workbench.properties file is only needed on the client side.  There is no i2b2workbench.properties file on the server side.
The Webclient does have a i2b2_config_data.js which is located in the root directory where the index.php is also located.  This should have something like:
{
name: "bmidev1",
domain: "****",
urlCellPM: "http://bmidev1/i2b2/rest/PMService/",
allowAnalysis: true,
debug: true
}
Where the domain (****) is the name of the domain you defined in the hive.  In the demo data it is i2b2demo.

Lets turn on jboss log debugging by going to jboss-log4j.conf file in /opt/jboss/server/default/conf
1. Edit $JBOSS_HOME/server/default/conf/jboss-log4j.xml file and add the 'Threshold' <param>
<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.home.dir}/log/server.log"/>
<param name="Append" value="false"/>
<param name="Threshold" value="INFO"/>
<!- Rollover at midnight each day -> <param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<!- The default pattern: Date Priority [Category] Message\n ->
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> ...
</layout>
</appender>
Then try to login in again to see if you get more detailed information.  Also did you install the edu.harvard.i2b2.common prior to install the PM cell?  This includes doing the following:
Steps:
1. cd source_directory/edu.harvard.i2b2.common
2. Edit the build.properties file and set jboss.home and axis2.war.name properties.
jboss.home=YOUR_JBOSS_HOME_DIR
axis2.war.name=i2b2.war
3. Run ant clean deploy jboss_pre_deployment_setup

On 4/26/2010 11:22 AM, Venkata Pagadala wrote:
Mike,
Thanks for the reply.
Yes, we got the error when we tried to go to the page (http://bmidev1/i2b2/rest/PMService) directly from the web browser.
When we listed the services we got exactly the same you mentioned
PMService
Service EPR : http://bmidev1/i2b2/services/PMService
Service REST epr : http://bmidev1/i2b2/services/PMService
: http://bmidev1/i2b2/rest/PMService
Service Description: PMService
Service Status: Active
Available Operations
getVersion
getServices
Yes we are trying to have our web communication through apache web server.
Regarding the other emails
Location of i2b2.properties file, can you please mention where does the file go for linux SUSE OS?
In the logs we are getting the following error
2010-04-26 08:55:58,365 ERROR [org.apache.axis2.transport.http.AxisRESTServlet] org.apache.axis2.AxisFault: I can not find a service for this request to be serviced. Check the WSDL and the request URI; nested exception is: org.apache.axis2.AxisFault: I can not find a service for this request to be serviced. Check the WSDL and the request URI
Thanks again,
Venkat

On 4/26/2010 9:52 AM, Mike Mendis wrote:
If you are going to that page ( http://bmidev1/i2b2/rest/PMService ) directly from a browser, then this message is ok.
To verify that the service is setup correctly, goto:
( http://bmidev1/i2b2/services/listServices ) and you should see something like:
PMService <http:// bmidev1/i2b2/services/PMService?wsdl>
Service EPR : http:/ (http://) bmidev1/i2b2/services/PMService
Service REST epr : http:// bmidev1/i2b2/services/PMService
: http:// bmidev1/i2b2/rest/PMService

If you don't see that or it says error or fault, that you will nee to check the jboss log file to see why it did not load correctly.
Sorry about the apache jboss confusion.  Are you trying to have all your web communication going through apache webserver?    So that the ajp13 connector will connect the apache webserver to the i2b2 jboss instance?    So that the end user will only need to go through port 80 instead of 8080?   If that is the case,  yes this is a good method to use.  I have been meaning to write up a little doc on doing this.
mike

On 4/26/10 9:38 AM, Mike Mendis wrote:
On the Mac the i2b2workbench.properties file resides:
i2b2workbench.app/Contents/MacOS/i2b2workbench.properties
On the Windows
It resides in the  root directory where the i2b2workbench.exe is.
On 4/22/10 4:51 PM, Arvinder Choudhary wrote:
Mike:
Where does the i2b2.properties file reside.
In the client's i2b2.properties file:
I2b2.1=demo,REST,http://webservices:9090/axis2/rest/PMService/
I2b2.2=HarvardDemo,REST,http://services.i2b2.org/PM/rest/PMService/
#I2b2.3=YourSite,REST,http://tomcatHost:tomcatPort/axis2/rest/PMService/
Regards
Arvinder

On 4/21/2010 3:38 PM, Venkata Pagadala wrote:
Mike,
We are getting the following error when we tried to call the service with the uri http://bmidev1/i2b2/rest/PMService which is used for login I guess. Can you let us know the reason for this error and also any configuration in the axis should be done for it to work?
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<soapenv:Fault>
<faultcode/>
<faultstring>
I can not find a service for this request to be serviced. Check the WSDL and the request URI; nested exception is: org.apache.axis2.AxisFault: I can not find a service for this request to be serviced. Check the WSDL and the request URI
</faultstring>
<detail/>
</soapenv:Fault>

Also, in your prior email you mentioned that we need not use the apache webserver then in that case where can we put the webclient folder and also the php code
Thanks for your help,
Venkata Pagadala

On 4/20/2010 5:12 PM, Arvinder Choudhary wrote:
Mike:
This is the pm-ds.xml file that sits under pm_folder/etc/jboss directory
<datasources>
<!- sample sqlserver PMBootStrapDS ->
<local-tx-datasource>
<jndi-name>PMBootStrapDS_SQLSERVER</jndi-name>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<connection-url>jdbc:sqlserver://localhost:1433</connection-url>
<user-name>i2b2pm</user-name>
<password>i2b2pm_pswd</password>
<metadata>
<type-mapping>MS SQLSERVER2000</type-mapping>
</metadata>
</local-tx-datasource>
<!- sample oracle PMBootStrapDS ->
<local-tx-datasource>
<jndi-name>PMBootStrapDS</jndi-name>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<connection-url>jdbc:oracle:thin:@127.0.0.1:1521:bmid</connection-url>
<user-name>i2b2pm</user-name>
<password>demouser</password>
</local-tx-datasource>
</datasources>

and the Copied the webclient folder into the APACHE_HOME/htdocs folder and made the following changes to the i2b2_config_data.js file

{
urlProxy: "index.php",
urlFramework: "js-i2b2/",
//---
// THESE ARE ALL THE DOMAINS A USER CAN LOGIN TO
lstDomains: [
{ name: "bmidev1",
domain: "bmid",
debug: true,
urlCellPM: "http://bmidev1/i2b2/rest/PMService/"
},
{ name: "i2b2.org",
domain: "HarvardDemo",
debug: true,
urlCellPM: "http://webservices.i2b2.org/i2b2/rest/PMService/"
}
]
//---
}
Am I putting the Webclient folder in the right place.

Arvinder

On 4/20/2010 4:36 PM, Arvinder Choudhary wrote:
 
Mike:
We cleaned the script that you sent and we are getting the below mentioned Info and also the document that I sent you in my earlier email
PHP Test
An Example of PHP in Action
The Current Date and Time is:
3:30 PM Tuesday, April 20 2010
Arvinder

On 4/20/10 4:28 PM, Arvinder Choudhary wrote:
Dear Mike:
I followed the install instructions http://laffers.net/howtos/howto-install-php and Installed php-5.2.13  and also added the line (/usr/local/php/lib/php) to the file php.ini as a include path.
Re installed the PM and still getting the same results,  Please Advice
Arvinder

On 4/20/2010 3:32 PM, Mike Mendis wrote:
Not sure if php is fully configured,
Put the following in a php file called test.php
<html>
<head>
<title>PHP Test</title>
<meta http-equiv="Content-Type" content="text/html; ">
</head>
<body>
<h1>PHP Test</h1> <p>
<b>An Example of PHP in Action</b><br />
<?php echo "The Current Date and Time is: <br />";
echo date("g:i A l, F j Y.");?> </p>
<h2>PHP Information</h2>
<p> <?php phpinfo(); ?> </p>
</body>
</html>

It should print out the current date.  If not than php is not fully configured.
mike

On 4/19/10 12:16 PM, Arvinder Choudhary wrote:
Mike:
I doing a research to find php for download on our Linux SUSE 11 box. On the php.net website it does have binaries for the linux box.
Regards
Arvinder

On 4/19/2010 11:10 AM, Mike Mendis wrote:
For the standard i2b2 install, the onnection for the mod_jk is not needed to connect the apache web server to the jboss server.
The reason is the webclient communicates with web services, and in order to do this, it uses a proxy written in php.   Based on your screen shot for the default port 80.  It appears as if php is not installed.
Can you try install php.  I am not sure the install method for SUSE.  But if you goto your default port 80, it should automatically goto the login screen.
mike

On 4/19/10 11:57 AM, Arvinder Choudhary wrote:
Dear Mike:
Thank you for your support and help.  I am attaching screenshots and also a screen shot with the port 80.  Since we have made Apache as the web server for this application; so I had installed Mod_jk connector to  connect  Jboss App server with Apache web server.
Also please find  4 files required to make the mod_jk work.  They all sit on the apache conf directory

  1. Mod_jk.conf
  2. uriworkermap.properties
  3. httpd.conf
  4. workers.properties



We have
Apache 2.2.15,
Ant 1. 8.0,
Jboss 4.2.2.GA,
Apache Axis2 1.1
Enterprise Oracle Database 10.2.0.4  on Linus SUSE 11.
I have uploaded the data as per the instructions. It went fine.
Regards
Arvinder Choudhary

On 4/19/2010 8:27 AM, Mike Mendis wrote:
Arvinder,
Can you resend the screenshot images.
Question, A few suggestions, make sure that php is installed.  (yum install php)
If you go to port 80 on that machine, do you see the login screen?
mike

On 4/16/10 3:54 PM, Arvinder Choudhary wrote:
Mike:
I think somehow the Apache through default.htm page cannot talk to the oracle database.  Did see anything that I have not covered.   Also do think mod_jk setup between Apache and Jboss has an issue
Arvinder

On 4/14/10 3:14 PM, Arvinder Choudhary wrote:
Dear Mike:
We were successful in loading data into different schemas in Oracle.   Now while setting up PM cell we got stuck.
These are the changes made to pm-ds.xml file in etc/jboss directory under edu.harcard.12b2.pm directory
<local-tx-datasource>
<jndi-name>PMBootStrapDS</jndi-name>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<connection-url>jdbc:oracle:thin:@127.0.0.1:1521:bmid</connection-url>
<user-name>i2b2pm</user-name>
<password>demouser</password>
</local-tx-datasource>
</datasources>
In the install webclient section. Document says to deploy it under web server (httpd) directory.  So I went ahead and put the webclient folder in the /usr/httpd-2.2.15 directory of the Apache Web server.  Changed the following in  i2b2_config_data.js file.

lstDomains: [
{ name: "bmidev1",
domain: "i2b2demo",
debug: true,
urlCellPM: "http://127.0.0.1:9090/i2b2/services/PMService/"
},
{ name: "i2b2.org",
domain: "HarvardDemo",
debug: true,
urlCellPM: "http://webservices.i2b2.org/i2b2/rest/PMService/"
}
]
when trying to login through webclient, I got an error.
I am sending you 3 snap shots of the screen.   (Also you will notice that we do not have PM in the directory path but have i2b2  in the PM Services web page snap shot under PMServices Tab).
Please help  us, where are we making the error.  Did we miss on any configuration setting  etc.  Also  Services page displays on IE and does not work on Mozilla firefox.
Regards
Arvinder



i2b2 1.4 VM Image – Using SQL instead of Oracle [4-19-2010]
On 4/19/10 at 6:21 AM, Mike Mendis wrote:
Jian,I assume you are referring to the switching the vmImage from using oracle to sql server. The easiest way, which I do need to add to the documentation is: In the /opt/jboss/server/default/deploy:
Change all {}ds** files from localhost oracle to your new database.  These include crc-ds.xml, crc-jms-ds.xml, ont-ds.xml, pm-ds.xml and work-ds.xml
Also in the /opt/jboss/server/default/conf/crcapp/
Change the CRCApplicationContentext.xml from Oracle to your new database.
Then restart the jboss /etc/init.d/jboss/stop and /etc/init.d/jboss/start
mike
  On 4/17/10 12:27 PM, Jian Yang wrote:
Mike:
It was nice to talk to you during the I2b2 workshop!
I just wanna get some help from you, I just downloaded I2b2 v1.4 vm image, and set it up running, and instead of using the Oracle express database, I need it to be connecting to a SQL Server database, do you have instruction on how to do that?  I checked the documentation but could not find it.
Your help is greatly appreciated.
Thanks
Jian Yang




1.4 Final [4-19-2010]
On 4/19/10 9:32 AM, Mike Mendis wrote:
The best location for the final 1.4 source is: https://www.i2b2.org/software/index.html select the i2b2 source and download i2b2core-src-14.zipIn the AUG section is where you can find the RC1 and RC2, which will be labeled like that on the filename.Also now that 1.5 RC1 is almost done, will take a look at this webclient roles not changing properly.  mike

On 4/15/10 12:11 PM, Brian Eliason wrote:
Thanks for checking on this.  Where is the best place to download the i2b2 1.4 final source code?  Or to verify which version I'm working with?  Is there any master file that says RC1 or RC2 or final? I know of one person that seems to have a good install (they grabbed it from i2b2.org/software/source code), but most others I've talked with have expressed the same symptoms as me (roles not changing within the project for a given user). I'm interested to hear a report of your findings. Thanks, Brian Eliason

On 4/12/10 8:15 AM, Mike Mendis wrote:
I have recently noticed a few issues with the roles on the admin tool.  We are planning on releasing 1.5 RC1 in the beginning of this week.  Let me take a look at the roles and is what I can find.ThanksMike
On 4/9/10 12:10 PM, Brian Eliason wrote:
Mike,  I know you're busy.  I just want to know if the current 1.4 release will update/add roles within the ajax PM.  I've installed the software through the 1.4 RCs on to current final and haven't been able to get it to work yet (the SQL is good, just an issue with the logic).  In the release notes/known issues (only found under the RC download folder, NOT on the final download area), it mentions this is an issue with this, but the final release doesn't have any release notes/known issues.  Could you please let me know, either way, if the ajax PM works for adding/updating roles? Thanks, Brian Eliason

On 4/6/10 4:03 PM, Brian Eliason wrote:
Hi Mike, I've installed the final 1.4 version (from software link of i2b2.org) and don't see any errors coming through.  However, I still can't seem to add roles from the ajax PM.  As I scour through the i2b2 log file, I'm seeing the errors and that there is a key constraint being violated; it looks as if it is trying to re-insert the roles (even those already found within the PM_PROJECT_USER_ROLES table).  Can you let me know how I might be able to get around this?  Perhaps there's another release that will fix this?  I'm anxious to hear your thoughts. Thanks, Brian Eliason




Concept Paths and HOM [4-7-2010]
On 4/7/10 4:52 PM, Rob Wynden wrote:
Hello,
1. I am wondering if i2b2 provides any service to loading data or do we need to use ETL tools to load data ourselves?
No the i2b2 grant did not include ETL. Filling that gap is the purpose of the HOM UETL project. We will have a live demo of that UETL system on the next HOM Concall at 11am Tuesday Pacific.
2. And how can we determine the concept paths? Will the health ontology mapper (HOM) can help on this? Say I have 5 concepts co- responding to patient A, and will HOM able to determine the concept path for me?
Yes, the UETL will manufacture concept paths based on the source schema. Then the HOM instance map interpreter can transform those paths into standard ontologies. The first example of that is the RxNorm script that can normalize formulary records to the RxNorm reference standard. That script can be run on live formulary data and we are working through a demonstration of that as part of the CICTR grant over the next 2 or 3 weeks.
3. Also, will HOM able to do batch processing? Like process 1000+ concepts at one time?
Yes. Right now you run HOM manually. But Prakash Lakshminarayanan is working as we speak on integration with an agent based framework that will allow us to run the maps automatically in the background and that will also allow maps to interact with each other when needed as well.
4. I noticed from the installation document that we need to input the "sourceConceptPath" in the RxNormMapper.xml, is that means the path needs to be provided from users before the HOM starts working?
Yes. But that is changing: Right now Hari Rekapalli is extending the SHRIMP terminology (from Harvard SHRINE) workbench to allow it to specify the local paths that HOM will to operate on. Once that work is done then you will be able to run HOM maps without the requirement to hand edit the source concept paths.
Regards,
Rob Wynden - UCSF

On 4/7/10 1:16 PM, Vincent wrote:
Hi all,
I have couple of questions related to the HOM needs some insights:
1. I am wondering if i2b2 provides any service to loading data or do we need to use ETL tools to load data ourselves?
2. And how can we determine the concept paths? Will the health ontology mapper (HOM) can help on this? Say I have 5 concepts co- responding to patient A, and will HOM able to determine the concept path for me?
3. Also, will HOM able to do batch processing? Like process 1000+ concepts at one time?
4. I noticed from the installation document that we need to input the "sourceConceptPath" in the RxNormMapper.xml, is that means the path needs to be provided from users before the HOM starts working?
Thanks,
Vince.




RxNorm [3-29-2010]
On 3/29/10 2:11 PM, Rob Wynden wrote:
Hello Vojtech,
We would be happy to. The download, source and documentation are all available on:
http://www.ontomapper.org.
HOM is under BSD license so it won't cost you anything.
I got approval for the BSD license and it should be posted on that same site later today.
But if you register for the site then you can download and try it out right now. Prakash will help if you have any questions.
Regards,
Rob Wynden

On 3/29/10 10:51 AM, Vojtech Huser, MD wrote:
Dear AUG members,
We have implemented i2b2 at our organization and we are looking at feasibility of using SHRINE for integrating data from two institutions within our CTSA.
SHRINE sites have agreed on set of terminologies and RxNorm is used for drugs.
We would like to load RxNorm terminology into our i2b2 concept table.
Would any of the members of the SHRINE project willing to share with us the RxNorm SQL insert script for loading RxNorm into i2b2 ontology layer?
Vojtech

I would recommend that we switch to a community support model for the databases.
Rob




i2b2 V1.4 on MySQL [3-29-2010]
On 3/24/10 7:00 AM, Shawn Murphy wrote:
It would be difficult for us to support, each database flavor has unique ways of performing query optimization and handling stored procedures that needs to be accounted for, and MySQL did not scale well with large tables having multiple indexes when we tested it several years ago.

On 3/23/10 1:54 PM, Rob Wynden wrote:
I think that it might be helpful to test these releases on 4 databases actually ... Not just Oracle and SQL Server... We should add Sybase IQ and MySQL.
Rob Wynden

On 3/23/10 10:36 AM, Mike Mendis wrote:
Sorry, but the 1.4 current only works with Oracle and MS SqlServer.
mike

On 3/23/10 1:33 PM, Dipendra Kaur wrote:
Does I2b2 V1.4 be installed with MySQL database?
We are planning on moving to Linux/MySQL. The I2b2 V1.4 installation guides talk of Oracle and MS SqlServer only.
Thanks,
Deep




An Install Script for i2b2 [3-29-2010]
On 3/29/10 11:07 AM, Sebastian Mate wrote:
Hello everybody,
As some of you know, it has always been a tradition for me to create scripts for everything unhandy...
I have compiled a small script that installs i2b2 1.4 including the Boston Demodata on Ubuntu 9.10 without any user interaction. This is a very simple script which gives you almost no options, but we are working on better tools to automatically create i2b2 projects, etc. They will be needed very soon when we update our 1.3 to 1.4. We will make them available for you.
Please note that this creates a "reference" installation by strictly following the i2b2 documentation. There are no German modifications included this time. (wink)
The file can be found in the Google group: http://sites.google.com/a/i2b2aug.org/discussions/Home/release-discussions-postings/smallscriptfor14
I will post future versions there, not in this mailing list.
I really hope this might be helpful for those who still have trouble with 1.4. I think the final 1.4 is GREAT, there were absolutely no problems during install.
Sebastian
PS: Feedback is - as always - highly appreciated.




CRC Install [3-29-2010]
Hi Mike,
Please see if you can find something wrong in this CRCApplicationContext.xml copied below (pswd obfuscated) in relation to the jboss server log error. Thank You for your help.
Error: [org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$ConstructorResolverAdapter] Ignoring constructor [public java.lang.String(byte[],int,int,int)] of bean 'defaultSetfinderResultType': Error creating bean with name 'defaultSetfinderResultType' defined in URL [file:C:/i2b21_4/jboss/server/default/conf/crcapp/CRCApplicationContext.xml]: Unsatisfied dependency expressed through constructor argument with index 0 of type [byte[]]: Ambiguous constructor argument types - did you specify the correct bean references as constructor arguments?

File: C:\i2b21_4\jboss\server\default\conf\crcapp\ CRCApplicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!- Application context definition for i2b2 with spring jdbc template. ->
<beans>
<!--
<bean id="querytool_properties" class="org.spf.beans.factory.config.PropertiesFactoryBean">
<property name="location" value="queryprocessor.properties"/>
</bean>
<bean id="clobType" class="edu.harvard.i2b2.crc.datavo.pdo.ClobType">
</bean> -->
<bean id="jaxbPackage" class="org.springframework.beans.factory.config.ListFactoryBean">
<property name="sourceList">
<list>
<value>edu.harvard.i2b2.crc.datavo.i2b2message</value>
<value>edu.harvard.i2b2.crc.datavo.pdo</value>
<value>edu.harvard.i2b2.crc.datavo.pdo.query</value>
<value>edu.harvard.i2b2.crc.datavo.setfinder.query</value>
<value>edu.harvard.i2b2.crc.datavo.pm</value>
<value>edu.harvard.i2b2.crc.datavo.ontology</value>
<value>edu.harvard.i2b2.crc.datavo.i2b2result</value>
</list>
</property>
</bean>
<bean id="appType" class="edu.harvard.i2b2.crc.datavo.i2b2message.ApplicationType">
<property name="applicationName" value="edu.harvard.i2b2.crc"/>
<property name="applicationVersion" value="1.4"/>
</bean>

<bean id="message_header" class="edu.harvard.i2b2.crc.datavo.i2b2message.MessageHeaderType">
<property name="sendingApplication" ref="appType"/>
</bean>
<bean id="TestDataSourceLookup" class="edu.harvard.i2b2.crc.datavo.db.DataSourceLookup">
<property name="dataSource" value="TestDataSource"/>
<property name="serverType" value="MS SQLSERVER2000"/>
<property name="fullSchema" value="asthma"/>
</bean>
<bean id="TestDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1433"/>
<property name="username" value="i2b2demodata"/>
<property name="password" value="mypass"/>
</bean>
<bean id="CRCDataSourceLookup" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1433;databasename=i2b2hive"/>
<property name="username" value="i2b2hive"/>
<property name="password" value=" mypass "/>
</bean>
<bean name="defaultSetfinderResultType" class="java.lang.String">
<constructor-arg index="0" type="java.lang.String"><value>PATIENTSET</value></constructor-arg>
</bean>
<bean name="setFinderResultGeneratorMap" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap">
<map>
<entry>
<key>
<value>PATIENTSET</value>
</key>
<value>edu.harvard.i2b2.crc.dao.setfinder.QueryResultPatientSetGenerator</value>
</entry>
<entry>
<key>
<value>PATIENT_COUNT_XML</value>
</key>
<value>edu.harvard.i2b2.crc.dao.setfinder.QueryResultPatientCountGenerator</value>
</entry>
<entry>
<key>
<value>PATIENT_GENDER_COUNT_XML</value>
</key>
<value>edu.harvard.i2b2.crc.dao.setfinder.QueryResultGenerator</value>
</entry>
<entry>
<key>
<value>PATIENT_RACE_COUNT_XML</value>
</key>
<value>edu.harvard.i2b2.crc.dao.setfinder.QueryResultGenerator</value>
</entry>
<entry>
<key>
<value>PATIENT_VITALSTATUS_COUNT_XML</value>
</key>
<value>edu.harvard.i2b2.crc.dao.setfinder.QueryResultGenerator</value>
</entry>
<entry>
<key>
<value>PATIENT_MORTALITY_COUNT_XML</value>
</key>
<value>edu.harvard.i2b2.crc.dao.setfinder.QueryResultGenerator</value>
</entry>
<entry>
<key>
<value>PATIENT_AGE_COUNT_XML</value>
</key>
<value>edu.harvard.i2b2.crc.dao.setfinder.QueryResultGenerator</value>
</entry>
</map>
</property>
</bean>
</beans>

Ok, let's jump back to 1 & 2.
Can you look at the jboss log /opt/jboss/server/default/log/server.log
And see if you have any 'ERROR', and we can see why you are getting a 'Response from the server could not be understood'
Also on the client, on the timeline plugin can you click on the red&green icon which will bring up a list of the recent XML messages. Is there one that failed, if so can you copy/paste it.
Thanks
mike

On 3/29/10 2:11 PM, Dipendra Kaur wrote:
Hi Mike, Thanks for your reply.
I built the server component, did not use VM Image.
The i2b2 has admin and data roles (Admin, user, manager, Data_Deid, Data_Lds, Data_agg, Data_obfsc, Data_prot).
For the new user, it does not save updates if I add any management roles.
Thanks,
Deep




i2b2 V1.4 [3-29-2010]
On 3/29/10 1:59 PM, Mike Mendis wrote:
Hi Deep,
1&2) Are you running from within the VM image or did you build the server component yourself?
3) We are working on getting a more detailed documentation for the PM, but in the meantime, try selecting a management role also, those include (User, ADMIN, or manager) with your data track (Data_Deid, Data_Lds, Data_agg, Data_obfsc)
mike

On 3/29/10 1:48 PM, Dipendra Kaur wrote:
Hello All,
I recently installed i2b2 V1.4 and trying to familiarize myself with the analysis view on the workbench and user management. I am working with demodata on i2b2demo project. I have a few questions, I will appreciate your help.
Workbench questions:
I login as i2b2admin.
1. When I run a query 'Get everyone', I get 133 patients returned, but I also get a dialogue box that says "Response from the server could not be understood, you may wish to retry your last action". Please let me know why this happens. It happens every time I run this query.
2. When I run a query 'Asthma' with all the options checked on the analysis types (timeline, Age breakdown, Race breakdown, Vital status breakdown, Gender breakdown, Number of patients and Patient list), I get 0 patients returned, while if I uncheck all the above analysis types except timeline, number of patients and patient list, I get 133 patients returned. Why that difference in patients returned on the same query?
3. The graphical analyses only shows me number of patients graph only. How can I enable graphs for other analyses types?

User Management questions:
4. I login as i2b2admin. I tried to create new users using the webclient-Admin tab. I first created a user on the hive using 'Manage Users'; Then I created that same user on i2b2demo and assigned some roles (Data_Deid, Data_Lds, Data_agg, Data_obfsc); Save; Save Updates. The user got created but if I go back to assign 'User' role to this new user it keeps going back to the roles assigned earlier, the 'User' role doesn't get saved. Please let me know if there is a detailed documentation in user management on i2b2 V1.4.
Thanks for all your help.
Deep




Using i2b2 as a Disease Registry [3-21-2010]
Marc,
Thanks very much.  This is very helpful.

On 3/21/10 11:41 PM, Marc Natter wrote:
Hi Michael,
Happy to discuss. We have two registries in active development, JRA=Juvenile Rheumatoid Arthritis (actually covering all pediatric rheumatic diseases, target is to have 20,000 patients in it in 18 months) and a Harvard-wide registry in Inflammatory Bowel Disease.
We'll be working on a lot of these query/tracking tools for pulling specific patients out by identifier. We're coming up with IRB-friendly solutions to the unique-identifier problem within the scope of our project but are simplifying at the moment by coordinating issuance of a unique subject identifier across all 60 sites.
Shawn – haven't actually looked at CAPS before, but interesting and I'll take a closer look too. We were planning on what I think will be a lighter-weight app and interface that will be GPP pluggable/friendly, but haven't had time to get past the conceptual phase for now...
Marc


On 3/20/10 10:10 PM, Michael Kamerick wrote:
jra=joint replacement, by any chance?  That is an immediate opportunity for us.
In any case, I would like to discuss this if possible.
Marc, do you have any time Monday am?

On 3/20/10 5:23 PM, Isaac Kohane wrote:
Marc Natter is using i2b2For a 60 site jra registry
He can fill you in
On Mar 20, 2010 7:43 AM, Shawn Murphy wrote:
Hi Michael,
 
The mappings of patients (and account numbers) to (encrypted) identifiers is maintained in the patient_mapping and encounter_mapping tables.  This is how patients are uniquely identified in i2b2.  There is no automated service currently available with i2b2 to resolve patients based upon demographics, etc. (although they exist in open source, such as Sun java CAPS at http://www.sun.com/solutions/landing/industry/healthcare/ihe_mpi/ihe_javacaps.pdf. Although I believe this is done manually in most registries.
 
Thanks,
Shawn.

On 3/19/10 7:42 PM, Michael Kamerick wrote:
Is anyone aware of i2b2 being used as a disease registry rather than as a clinical research db?
I'm not sure what all the distinctions would be, but one that comes to mind would be an effective Master/Patient index.  In state mandated registries, patients have to be indentified (and uniquely so.)




Pointing to Another Database from the Virtual Machine [3-22-2010]
On the topic of community experience, I had meant to post an update on our 1.4 VM installation issue, which Vojtech had mentioned during the AUG meeting a few weeks ago. Thanks to Mike M. for confirming a few suspicions which pointed us in the right direction. Sadly, this was something I ran into with the 1.3 VM, never documented (shame on me!) and completely forgot about. Hopefully this can be of use to others in the future (although I'm sorry it doesn't address Deep's issue).
SETUP:
VMWare server running on Windows Server 2008, VM NIC set to Bridged, and assigned a static IP address.
SYMPTOMS:
Unable to log in to the i2b2 web client and workbench.
Reading the JBOSS logs uncovered the following exception:
2010-03-02 02:11:28,957 WARN [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] Throwable while attempting to get a new connection: null org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was:
localhost:1521:xe
)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:179)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:577)
SOLUTION:
Change the Oracle tnsnames.ora and listener.ora to use the static IP address instead of localhost. Make similar changes in all i2b2 configuration files. Restart Oracle listener and JBOSS.




Using Active Directory in Project Management Cell [3-22-2010]
On 3/15/10 1:59 PM, Phillip Reeder wrote:
I've taken a quick  look into the account management of 1.4 and here is what I've found.
They use jcifs to authenticate to active directory so if you want to use a windows AD,  you can just change a few settings to enable that.  From what I've read, you should, in theory be able to use jcifs to use LDAP as well, but I haven't tried it yet.

From Mike Mendis, here are the parameters you would need to set to use AD authentication:
We are still woking on the documentation, but if you set a param to:Param_name_cd                   VALUEauthentication_method       NTLMdomain                                    {Your pdc domain}domain_controller               {Your ip/host of your domain controller)You can assign a single user to use ADC  by adding these 3 params to that specific user's param or if you set a hive_param than the all users use ADC/       
If you want to go more advanced, you will want to modify the PM Cell.  The PM Cell's ServicesHandler.java file appears to handle the authentication using a SmbSession.logon function.
Hope that helps.  If you find more information,  please let me know.
Phillip




i2b2 User Database [3-15-2010]
On 3/15/10 12:24 PM, Dipendra Kaur wrote:
Hello All,
I would like to know if there is any documentation on how i2b2 does user account management. We would like to integrate it with our custom user management utility that will be used to manage users for various resources within our domain.
Thanks




Healthflow Info [3-22-2010]
On 3/11/10 3:28 PM, Nojtech Huser, MD PhD wrote:
Here is the info on HealthFlow
http://healthcareworkflow.wordpress.com/2010/03/11/healthflow-and-i2b2/
I will have a 15 min presentation on HealthFlow on Saturday (CRI summit). If you are not staying, slides will be posted on my LinkedIn profile.
Also at AMIA NOW – I will present a 1 hour workshop on workflow technology  (which is very relevant to HealthFlow).
Vojtech

  • No labels