OHDSI Home | Forums | Wiki | Github

Disentangling juvenile RA from RA


We’d like to build a concept set for RA, but exclude juvenile concepts. This is proving hard to accomplish, as many juvenile RA ICD10CM codes are mapped to both a juvenile RA standard concept (4253901) and to a standard concept that conveys the location of the RA (e.g. elbow, shoulder, etc).

So in practice, though we exclude the juvenile RA standard concept, we still get the mapped juvenile ICD10CMs associated due to their other standard concept mapping. It appears either SNOMED needs to add some permutations of juvenile RA plus RA affected area, or we need to, via a SNOMED Extension.

I am raising this issue here and Git (https://github.com/OHDSI/Vocabulary-v5.0/issues/615).

Tagging @Christian_Reich @mik


Can you show what you mean?

If I understand the problem correctly, you can exclude source codes. Just go to the Included Source Codes tab and check the ones you wish to exclude.

Then check the “exclude” box at the bottom and “add to concept set”. You’ll be excluding those specific source codes.

Hi @Christian_Reich, sure:

With a concept set of 80809,4102493,4107913 and descendants

we see that there are 116 ICD10CM codes with the phrase “juvenile” in them. If we examine the source to standard mappings:

    c1.concept_id       as source_concept_id,
    c1.concept_code     as source_concept_code,
    c1.concept_name     as source_concept_name,
    c2.concept_id       AS target_concept_id,
    c2.concept_name     AS target_concept_name
  FROM cdm.concept_relationship AS cr
    JOIN cdm.concept AS c1 ON c1.concept_id = cr.concept_id_1
    JOIN cdm.concept AS c2 ON c2.concept_id = cr.concept_id_2
    cr.relationship_id = 'Maps to' AND c1.concept_id in ('45606083','45606082','45606081','45606080','45606079','45606078','45606077','45606076','45606075','45606074','45606072','45606071','45606070','45606069','45606068','45601304','45601302','45601301','45601300','45601299','45601298','45601297','45601295','45601294','45601293','45596449','45596448','45591713','45591712','45591711','45591710','45591709','45591708','45586857','45586856','45586854','45586852','45586851','45586850','45586849','45582019','45577129','45577128','45577127','45577126','45577125','45577124','45577123','45572350','45572348','45572347','45567439','45567436','45567435','45567434','45567433','45562609','45562608','45562607','45562606','45562605','45562604','45562603','45562602','45557780','45557779','45557778','45557777','45557776','45557775','45557774','45557773','45557772','45557771','45557770','45557768','45553065','45553064','45553063','45553062','45553060','45553059','45553057','45548285','45548284','45548283','45548282','45548281','45548280','45548279','45548278','45548277','45548276','45548275','45543448','45543447','45543446','45543445','45538645','45538644','45538643','45533710','45533709','45533708','45533707','45533706','1570118','1570117','1570099','1570096','1570095','1570093','1570092','1570088','1570085','1570084')
  order by 1

you get multiple target concepts for each:

Now, as the juvenile RA standard concept is not included in this set. It has the above source concepts included due to the tug-of-war happening, so adding an exclusion of it to the set has no effect.

How can we construct a concept set for RA that ensures that we’re specific to non-juvenile RA? And then from an ETL perspective, records with juvenile RA ICD10CM codes will be mapped to multiple target concepts.

And @MPhilofsky – exclusion of source codes doesn’t exclude it in the included source codes ultimately for me.

Not what you are looking for exactly, but consider this not be a conceptset problem (for which the solution is, if you really want to limit yourself to specific ICD10 codes, just use SOURCE_CONCEPT_ID), but instead consider how you can make this a cohort problem. Entry event = RA (as you have it defined), inclusion criteria = exactly 0 occurrences of juvenile RA on same day as entry.

  1. It’s just a wrong mapping,

    and other concepts of this kind are just wrongly mapped, Juvenile arthritis is not a subtype of Rheumatoid arthritis
  2. But anyway, there are many cases when there’s a correct mapping to multiple concepts and it messes up with a concept set definition, so we indeed, as @Patrick_Ryan suggested, need to look at the events at the same day. This is a viable solution, but still we are solving vocabulary problems on a CDM level, so in the long term we need to think of a vocabulary solution @mik @Christian_Reich
  3. @Ajit_Londhe since Juvenile rheumatoid arthritis is not a descendant of Rheumatoid arthritis, see here
    select * from concept_ancestor where ancestor_concept_id =80809 – Rheumatoid arthritis
    and descendant_concept_id = 4253901 – Juvenile rheumatoid arthritis
    you don’t need to worry and even add that exclusion criteria to concept set.
    On the other hand you may want to exclude patients who had juvenile arthritis (which might be a good use as you don’t want those who had juvenile in childhood and then it progressed into RA), but it’s already a different story.

Hello, @Ajit_Londhe

Not sure if this solution is of any help, but a very close issue was discussed a couple of days ago here.

The quick solution is to use source codes to exclude ICD10CM concepts.