[WEBCLIENT-162] Item Level Date Constraints Created: 10/Dec/15  Updated: 25/Jan/16  Resolved: 29/Dec/15

Status: Closed
Project: i2b2 Web Client
Component/s: None
Affects Version/s: None
Fix Version/s: 1.7.07

Type: New Feature Priority: Major
Reporter: Nich Assignee: Janice Donahoe
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File 1 dtConst issue - add items.png     PNG File 2 dtConst issue - dt disappear.png     PNG File 3 dtConst issue - folder expanded.png     Microsoft Word Query Definition - Date Constraint Examples.docx    
Affects View/s:
Query Tool
i2b2 Feature/s:
Constraints - Date
i2b2 Sponsored Project/s:
i2b2 Web Client
Testing Notes: TEST STATUS: Completed
COMPLETION DATE: 12/29/2015

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

TEST DATE: 12/29/2015
TESTED BY: Janice Donahoe
BUILD NUMBER: 1.7.07.0008
TEST STATUS: Passed Testing

CLIENTS TESTED:
     i2b2 Web Client
     i2b2 Workbench

ENVIRONMENTS TESTED:
     Browsers: Chrome, Firefox, Internet Explorer, and Safari
     Databases: Not applicable for this test
     Client OS: Windows and Macintosh

TEST COMMENTS:
Tested with the latest Web Client build (1.7.07.0008) and no new issues were found. The item level data constraints appears to be working correctly.

SCENARIOS TESTED:
All of the same scenarios listed in the Test dated 12/15/2015 were performed again with this test.

ISSUES FOUND:
No issues were found during this test.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Test Date: 12/15/2015
Build Number: 1.7.07.0005
Test Status:Re-opened (Failed Testing)

Clients Tested :
     i2b2 Web Client
     i2b2 Workbench

Environments Tested :
     Browsers: Chrome, Firefox, Internet Explorer, and Safari
     Databases: Not applicable for this test
     Client OS: Windows and Macintosh

Test Comments:
Tested with the latest Web Client build and there were a couple of issues found. See "ISSUES FOUND" section.

Scenarios Tested:

The following variations of date constraints were tested with all of the scenarios listed below.

A) From date only
B) To date only
C) Date range (from and to date)
D) Same From and To Date (05/04/2002)

NOTE: in the demo date scenario 1D should only return 1 patient when it is run for that date and the concept is Ischemic Heart Disease.


Scenarios

1. Add date constraint on the panel level. Verify the following:
    -- The date constraints display correctly at the item level.
    -- In the panel header the "Date" option is underlined to indicate the constraint has been set on the panel level.
    -- The correct information is sent in the XML message.

2. Add date constraint on the panel level and edit the dates on at least 1 item. Verify the edited item displays the new date constraint and the correct information was sent in the XML message.
    -- The edited item displays the new date constraint.
    -- The date constraints for the other items still display the dates defined on the panel level.
    -- In the panel header the "Date" option is still underlined.
    -- The correct information is sent in the XML message.
 
3. Add date constraint on the panel level and then add another concept to the panel. Verify the following:
    -- The date constraint defined for the panel automatically defaults on the new item when it is added to the panel.
    -- The correct information is sent in the XML message.

4. Add date constraint at the panel level, add another concept to the panel and edit the date constraint that defaults from the panel. Verify the following:
    -- New date constraint for the edited item displays correctly.
    -- The date constraints for the other items do not change.
    -- The correct information is sent in the XML message.

5. Date constraints added only on the item level. Verify the following.
    -- The date constraint for the individual item displays correctly.
    -- The other items in the panel do not display any date constraints.
    -- In the panel header the "Date" option is not underlined.
    -- When adding a new item to the panel, the date constraint for the individual item does not default on the new item.
    -- The correct information is sent in the XML message.

6. Date constraints added on multiple panels. Verify the following.
    -- The date constraint for the items in each panel display correctly.
    -- The correct information is sent in the XML message.

7. Verify date constraint queries run in the Web Client also run in the Workbench.
    -- In the Workbench the date constraints display correctly when the previous query is added to the Query Tool.
    -- The correct information is sent in the XML message.

8. Verify date constraint queries run in the Workbench also run in the Web Client.
    -- In the Web Client, the date constraints for each item display correctly when the previous query is added to the Query Tool.
    -- In the panel header the "Date" option is not underlined.
    -- The correct information is sent in the XML message.


IMPORTANT:
All of the above scenarios are done for each of these types of queries and terms.

1. Concepts and Modifiers (making sure to include folders).
2. Temporal Queries.


ISSUES FOUND:
A few issues were found when testing this new feature.

1. Previous Queries with date constraints not working.

-- When you drag a previous query with a date constraint to the Query Tool the date constraints will appear correctly on the item level in the panel; But the date constraint does not appear on the panel level. When you click on Dates (panel level) the date constraints previously set are not defined. The PROBLEM is that when you now add another item to the panel it does not automatically get the Date Constraint associated to it because the Web Client doesn't know it has a "panel" level date constraint.


2. Date Constraints are not backwards compatible

-- If you have a previous query with date constraints that was run in the Web Client prior to 1.7.07.0005 it will not work in this build. When you drag it to the Query Tool the date constraints will populate the Date Constraint window on the panel level but not the item level. When you run the query no date constraints are sent because the panel level date constraints are no longer sent in the xml message.

ATTACHMENT: Query Definition - Date Constraint Examples.docx contains examples of the query definition that was sent prior to 1.7.07.0005 and what is sent now.


3. Date constraints can disappear for some items in a panel.

-- This issue will only happen under these specific conditions.

1. Multiple items are added to a single panel.
2. At least one of those items is a folder containing multiple concepts.
3. Need at least one item listed in the panel below the "folder".
4. Date constraints must be entered for each item (can be either on the panel level or the individual level).
5. Expand the folder item to display the concepts that are within it.
6. Collapse the folder so its contents no longer display.
7. Edit the date constraint either on the individual item or the panel level.
8. Click on OK to save the changes to the date constraint.
9. Notice the new date constraint displays correctly for the folder you previously opened but every item listed in the panel below that folder no longer displays the date constraints.
10. Expand the folder again and notice the date constraints now appear on some of the items listed in the folder.

IMPORTANT NOTE: if you run the query the date constraints are sent correctly in the XML. This is only an issue with how the dates are displaying in the Web Client.

ATTACHMENTs: The following screen shots are attached

1 dtConst issue - add items.png --> Shows the items added and their date constraints.

2 dtConst issue - dt disappear.png --> Shows how the dates no longer display for the items below the folder that was opened.

3 dtConst issue - folder expanded.png --> Shows how the date constraints are now displaying next to the items with the first folder.
Participant/s:

 Description   
When running a query in the i2b2 Web Client, users can define a date constraint for a panel. When it is defined on the panel level all items listed in the panel will inherit the same date constraint when the query is run. Currently, there is no way to define a date constraint on an individual item in the panel.

In release 1.7.07 we are introducing a new feature that allows users to define a date constraint on any item listed in the panel. The date constraints defined on the panel level will continue to be available. We have made some changes to how the panel level date constraints will appear. Prior to this change the only indication that a date constraint was defined is the word "Dates" would be underlined. With this change, Dates will continue to be underlined but the date that is defined will be automatically copied to each item and the dates displayed next to the item name.

HOW THE FEATURE WORKS:
The following outlines how this feature will work for date constraints defined at both panel and item level.

Panel Level Constraints:
* Users can continue to add a panel date constraint by clicking on the Dates button listed at the top of the panel.
* The date defined at the panel level will be copied to each individual item listed in the panel; it will display next to the item name.
* Any new items added to the panel will automatically inherit the panel date constraint and like the others it will display this constraint next to the item name.
* The Dates button will continue to have the word Dates underlined when a panel date constraint is defined.

Item Level Constraints:
* A new option called "Set Date Constraint" will now appear in the pop-up menu that displays when right clicking on the item in the panel.
* Selecting "Set Date Constraint" will open the "Constrain Item by Date Range" window.
* The item date constraint window works the same way as the panel date constraint window. You can define a From and/or To date to be used when the query is run.
              * If only a From date is defined the operator for the date constraint will be greater than or equal to the date defined. (Example of how it displays: [≥02/14/1999] )
              * If only a To date is defined the operator the date constraint will be less than or equal to the the date defined. (Example of how it displays: [≤1/15/2015] )
              * If both a From and To date are defined the operator for the date constraint will be between. (Example of how it displays: [02/14/1999 to 1/15/2015] )
 
Panel and Item Level Constraints
You can define a date constraint on the panel level and then edit the dates on the individual level. The dates defined on the individual are used when the query is run. You need to keep in mind the following:
* When the date constraint is defined on the panel level it will be automatically copied down to each item in the panel and the Dates button will be underlined.
* To change a date constraint on an item in the panel, simply right click on it and select "Set Date Constraint" from the pop-up menu that displays. The dates that were defined at the panel level will display in item date constraint window. You can make any changes to these dates. Once you save it the date constraints defined for that item will now display next to its name.
* Any new items added to the panel will automatically inherit the panel date constraint and like the others it will display this constraint next to the item name. You can change the date constraint that defaults by editing it the same way you would any other item in the panel.

IMPORTANT: Any changes you make to the date constraint defined at the panel level will overwrite any changes you made to an individual item. Therefore you need to be careful when editing the panel level date constraints that there are not any item level changes that will need to be updated again.

 Comments   
Comment by Nich [ 14/Dec/15 ]
This has been implemented in 1.7.07
Comment by Janice Donahoe [ 15/Dec/15 ]
There were 3 issues found. The information about these issues and how to reproduce them can be found in the Testing Notes within the ISSUES FOUND section.
Comment by Nich [ 16/Dec/15 ]
Issue #3 fixed: Date constraints can disappear for some items in a panel - Commit 32FA304
Comment by Nich [ 16/Dec/15 ]
Issue #2 fixed: Date Constraints are not backwards compatible - Commit 13AC0DB
Comment by Janice Donahoe [ 25/Jan/16 ]
On 01/22/2016, the 1.7.07 Release was made available at the following locations.

https://www.i2b2.org/software/
 - zip files for release 1.7.07 are available on this site. This includes both the code and documentation.

https://github.com/i2b2
 - source code has been tagged with v1.7.07.
Generated at Fri Apr 03 20:34:36 UTC 2020 using JIRA 7.6.3#76005-sha1:8a4e38d34af948780dbf52044e7aafb13a7cae58.