CDR Tickets

Issue Number 3815
Summary Add option to glossifier to not skip markup
Created 2014-10-20 10:04:28
Issue Type New Feature
Submitted By Osei-Poku, William (NIH/NCI) [C]
Assigned To Kline, Bob (NIH/NCI) [C]
Status Closed
Resolved 2014-11-03 10:58:56
Resolution Fixed
Path /home/bkline/backups/jira/ocecdr/issue.140011
Description

As we briefly discussed in last Thursday's meeting, we want to investigate the possibility of adding an option to the glossifier interface to prevent it from skipping whole summary sections in markup. Currently when Insertion tags are wrapped around Summary Section tags, the whole summary section is skipped by the glossifier. That is probably what users wanted at the time of developing the glossifier but sometimes there is the need to glossify these summary sections.

We do not want to change the default behavior of the glossifier. Rather we want to have an option to glossify those sections when the need arises.

Comment entered 2014-10-20 10:06:31 by Osei-Poku, William (NIH/NCI) [C]

For the first time I was prompted to choose an Epic key when I created this ticket. If I don't pick a key, I get the following error message:

Epic with key '' does not exist.

Comment entered 2014-10-28 19:17:51 by alan

William,

I've been looking at this issue. I created a trivial SummarySection element inside the Breast Cancer Patient Summary and put some terms that I know are in the glossary into a Para element and ran the glossifier. The glossifier stopped at each term and offered to mark it up. If I clicked the button to create the markup, it wrapped the terms in a GlossaryTermRef, the same as for text not in the inserted Summary section.

I have so little experience using XMetal that I presume I'm misunderstanding the nature of the problem. Would it be possible for you to stop by my desk after the CDR meeting on Thursday and demonstrate it for me?

Thanks.

Comment entered 2014-10-29 08:25:33 by Kline, Bob (NIH/NCI) [C]

I think the confusion arises from the fact that "markup" has been given multiple meanings in this context. I believe William has adopted "markup" as the term to mean "markup for Insertion and Deletion elements" (correct me if I'm wrong, William). The original requirements called for applying the glossification process in Summary documents to the top-level SummarySection blocks and their children, skipping over the other top-level elements in the document. So if a user wraps an entire top-level SummarySection element inside an Insertion or a Deletion element, the SummarySection element is no longer at the top level, and therefore isn't included in the search for word chains. That's my theory about what William is asking for, anyway.

If my theory is right, then what needs to happen is to change the logic in CGlossify::findChains() from

IF DOCUMENT IS SUMMARY:
  FOR EACH TOP-LEVEL CHILD OF THE ROOT ELEMENT:
    IF THE CHILD IS A SUMMARY-SECTION:
      COLLECT THE WORD CHAINS IN THIS BLOCK

to

IF DOCUMENT IS SUMMARY:
  FOR EACH TOP-LEVEL CHILD OF THE ROOT ELEMENT:
    IF THE CHILD IS A SUMMARY-SECTION:
      COLLECT THE WORD CHAINS IN THIS BLOCK
    OTHERWISE, IF THE CHILD IS AN INSERTION OR DELETION ELEMENT:
      CALL KEEP-DIGGING, PASSING THE CHILD AS A PARAMETER

The logic for the recursive KEEP-DIGGING would be:

FOR EACH CHILD OF THE PASSED ELEMENT:
  IF THE CHILD IS A SUMMARY-SECTION:
    COLLECT THE WORD CHAINS IN THIS BLOCK
  OTHERWISE, IF THE CHILD IS AN INSERTION OR DELETION ELEMENT:
    CALL KEEP-DIGGING, PASSING THE CHILD AS A PARAMETER

This logic would handle the cases in which Insertion and Deletion elements were nested inside each other. It would also include the case in which more than one formerly top-level SummarySection block were wrapped inside a single Insertion or Deletion element.

For the record, if my theories (and recollection of the original requirements) are correct, I don't believe we have ever skipped over text inside Insertion or Deletion elements, as long as those elements aren't direct children of the root (Summary) element.

Comment entered 2014-10-30 11:12:38 by Osei-Poku, William (NIH/NCI) [C]

I believe William has adopted "markup" as the term to mean "markup for Insertion and Deletion elements" (correct me if I'm wrong, William)

That is correct. It is mostly Insertion markup, that is what brought up the issue in the first place and I also think the fix will be used mostly when Insertion markup is applied to SummarySection elements.

Comment entered 2014-10-31 10:34:32 by Kline, Bob (NIH/NCI) [C]

Assigned to myself, and set the status to In Progress. I'm going to put some time into this enhancement while the CTS project is stalled.

Comment entered 2014-11-03 10:58:56 by Kline, Bob (NIH/NCI) [C]

Implemented on DEV. The context menu now has two options for glossifying, and the second ignores the layers of Insertion and Deletion elements around what would otherwise have been top-level SummarySection children of the root element of the Summary document.

Comment entered 2014-11-04 15:20:26 by Osei-Poku, William (NIH/NCI) [C]

Verified on Dev. Can you please change the text in parenthesis to (include all sections in markup) ?

Comment entered 2014-11-04 15:33:00 by Kline, Bob (NIH/NCI) [C]

Wording change made. Please verify (log off XMetaL and back on first).

Comment entered 2014-11-12 13:10:09 by Osei-Poku, William (NIH/NCI) [C]

Verified on DEV. Thank you!

Comment entered 2015-01-15 12:47:37 by Osei-Poku, William (NIH/NCI) [C]

I do not see the new option in the context menu on QA.

Comment entered 2015-01-19 13:55:43 by Kline, Bob (NIH/NCI) [C]

Alan:

Did the build/deploy scripts create a new DLL and install it (along with the new version of the macro file) to QA?

Comment entered 2015-01-20 16:25:42 by alan

Yes. The client files were built successfully. The sources came from branches/Ampere on Jan 13 at 14:54:42.

The deployment snagged on a misconfiguration, but after being fixed, it was run again and deployed successfully. The DLL, and macros.ctm files were copied to QA along with everything else.

Comment entered 2015-01-21 11:37:01 by Osei-Poku, William (NIH/NCI) [C]

Verified on QA.

Comment entered 2015-02-16 09:05:58 by Osei-Poku, William (NIH/NCI) [C]

Verified on Stage.

Comment entered 2015-02-19 12:48:17 by Osei-Poku, William (NIH/NCI) [C]

Verified on PROD.

Elapsed: 0:00:00.001554