Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-Standard Concepts mapped to Standard Concepts to be replaced by Standard Concepts by the "Optimize" functionality of a Concept Set #2348

Open
alex-odysseus opened this issue Feb 13, 2024 · 2 comments · May be fixed by #2407
Labels
Milestone

Comments

@alex-odysseus
Copy link
Contributor

alex-odysseus commented Feb 13, 2024

Business Requirements

If a Concept Set contains all non-Standard Concepts that are comprised of a Standard Concept they should be replaced with the Standard Concept as the result of Concept Set optimization routine

Design Ideas and Functional Requirements

An initial idea is:

An additional flag to be added on the "Concept Set Optimization" screen which will extend the existing optimization business logic with a possibility to replace non-Standard Concepts being mapped to the Standard Concepts by the appropriate Standard Concepts

Based on Anthony's comment the following solution design is proposed:

  • a new button "Resolve mappings" to be added in between the "Optimize" and the Delete buttons, it is enabled only if at least one non-standard Concept is present as a Concept Set Item
    image
  • after clicking on the button there will be a popup window displayed with the title "Non-standard Concepts Mapping Resolution" which will contain three visually distinguished blocks
    image
  • 'Concept Set with resolved mappings' will contain all Standard and Classification Concepts which were present before clicking on the 'Resolve mappings' button
    -- additionally it will contain Standard Concepts counterparts (without duplicates) for those non-Standard Concepts where the mapping is straightforward
    -- 'Remove Selected' will allow to remove some of the items which may not be needed
  • 'Non-standard Concepts with multiple Standard Concepts mappings' will be grouped in a way that Standard Concepts with 'Non-standard to Standard map (OMOP)' will be followed by non-standard Concepts for which the ambiguity is present
    -- a User will be able to select both Standard and non-Standard Concepts and add them to the 'Concept Set with resolved mappings' block after selecting the appropriate ones and clicking on "Add to Concept Set" button
    -- by means of the 'Preview...' button it will be possible to preview a Concept Set and how it will look like after adding the selected Concepts to 'Concept Set with resolved mappings' (additionally displaying 'Included Concepts' and 'Included Source Codes' listings)
  • 'Original Concept Set' displays the version of Concept Set Items before any mapping resolution and User's manipulations after
  • a button to be placed in the popup dialogue so that a User will be able to choose what to do with the 'Concept Set with resolved mappings' block after a task on the dialogue is finished
    image
  • it is possible that 'Non-standard Concepts with multiple Standard Concepts mappings' is empty as all non-Standard Concepts can be mapped to one Standard Concept and there is no ambiguity (we may think about leaving a possibility to display such resolved mappings as well so that a User will be able to add non-Standard Concepts to the 'Concept Set with resolved mappings')

The updated version of the design it the following (based on discussions with Amanda, Brad, Chris and Anthony) to simplify the design above having a compromise not to see on one screen a list of non-standard Concepts which are mapped to particular standard Concept(s):

  • a list of Standard Concepts into which non-standard Concepts from the given Concept Set can be mapped (it can be empty if there are no non-stadnard Concepts)
  • and the state of the Concept Set before it is saved

image

  • 'Resolve one-to-one mappings' button will allow to replace non-Standard Concepts from the initial Concept Set to their Standard Concepts counterparts if there were no multiple non-Standard to Standard mappings available
  • 'Reset to initial state' all the mappings being made so far will be reverted and the Concept Set will look like as before any changes performed
  • 'Preview...' button should display a Concept Set if it would be saved in the state on the screen
  • clicking on one of the figures in the 'Mapped non-Standard' should display a form of the following example with three visual blocks
    -- Standard Concept description
    image
    image
    -- a list of non-standard Concepts which are mapped to this Standard Concept
    image
    image
    -- a list of Included Source Codes for this Standard Concept
    image
    image

-- clicking on 'Map all selected to given Standard' should add the Standard Concept to the Result Concept Set
-- for each item where 'Keep non-standard' checkbox is selected an appropriate non-standard Concept will be added to the Result Concept Set as well
-- clicking on the 'Resolve mapping' button will perform the same business logic for the particular non-standard Concept

Open Questions

N/A

@mrechkem @Sathyaraos

@anthonysena
Copy link
Collaborator

anthonysena commented Feb 20, 2024

This is a good use-case but I think the proposed approach requires discussion.

The "optimize" function is designed to work with standard concepts and eliminate redundant concepts (i.e. descendant concepts that are captured because a parent concept + descendants is included). This use-case is a bit more complex and to illustrate this, I'll use an example.

Take ICD10CM code O24.4 - Gestational diabetes mellitus (ref):

image

This maps to multiple standard concepts. Someone designing a concept set will need to think about the implications of selecting a standard concept at this point. Doing a wholesale replacement of non-standard to standard concepts will likely yield a concept set that is too broad for use. This particular task may be better oriented to allow the user to go from non-standard to standard with the mappings between them clearly defined. From there they may opt to select a subset of standard concepts. Once that is completed, another step would be to then go back down from standard to non-standard as this may include new non-standard codes that require consideration.

So from the example above, if I selected Gestational diabetes mellitus from SNOMED (ref) and navigate to the non-standard codes, for ICD10CM, I am now using some new codes that require attention:

image

So the design of this feature is important and requires further elaboration before an implementation should begin.

@anthonysena
Copy link
Collaborator

@alex-odysseus thanks for sharing these additional details in the original post. Let me comment on some of what you have proposed:

a new button "Resolve mappings" to be added in between the "Optimize" and the Delete buttons, it is enabled only if at least one non-standard Concept is present as a Concept Set Item

This is good - let's not mix this with the Optimize function. A minor point - perhaps this button should exist in the page vs. the header?

'Concept Set with resolved mappings' will contain all Standard and Classification Concepts which were present before clicking on the 'Resolve mappings' button
-- additionally it will contain Standard Concepts counterparts (without duplicates) for those non-Standard Concepts where the mapping is straightforward
-- 'Remove Selected' will allow to remove some of the items which may not be needed

So to make sure I've got this right, you are proposing that the 'Concept Set with resolved mappings' will hold all concepts in the concept set that are either a standard OR classification concept. Additionally, it will show any standard concepts for "those non-Standard Concepts where the mapping is straightforward" which I take to mean that there is 1 standard concept that it maps to. How do I know which concept is from my concept set and which one was automatically mapped?

'Non-standard Concepts with multiple Standard Concepts mappings' will be grouped in a way that Standard Concepts with 'Non-standard to Standard map (OMOP)' will be followed by non-standard Concepts for which the ambiguity is present
-- a User will be able to select both Standard and non-Standard Concepts and add them to the 'Concept Set with resolved mappings' block after selecting the appropriate ones and clicking on "Add to Concept Set" button
-- by means of the 'Preview...' button it will be possible to preview a Concept Set and how it will look like after adding the selected Concepts to 'Concept Set with resolved mappings' (additionally displaying 'Included Concepts' and 'Included Source Codes' listings)

Again, I'm unsure how I'd know which non-standard concepts are in my concept set with this current display. I feel like this type of operation (going from non-standard to standard) requires an individual to think about each code individually vs. trying to do this in a single pass.

We can discuss on one of the WG calls or a separate meeting as this is a complex topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: No status
Development

Successfully merging a pull request may close this issue.

2 participants