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
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')

Open Questions

N/A

@mrechkem @Sathyaraos

@alex-odysseus alex-odysseus added this to the v2.15 milestone Feb 13, 2024
@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

No branches or pull requests

2 participants