Mystery: Are collections in /ocl config folder properly uploading to dev3?

@suruchi as the Product Manager for OpenMRS-OCL things has graciously agreed to take the lead on investigating what is happening with the /ocl config folder. :mag:

Here’s the backstory:

Background: For managing large amounts of concepts for any distribution (including the O3 RefApp), we no longer recommend using the Metadata Management Module or even the /concepts iniz folder. Instead, we recommend folks use OCL for concept creation and management, and use the Initializer module and this /ocl folder to easily zip up and version control their distro concept needs. Instructions documented here.

Situation: Even though we followed the instructions above for the O3 distro’s ocl file (see here), it seems that not all concepts from the collections listed there are successfully showing up whenever we re-build dev3. Specifically, we are noticing this with the Example Lab Filter collection (full collection for this on OCL here). @zacbutko is noticing that the concept for Hematology (which is key in demonstrating the Lab Filter View feature in dev3/o3) keeps disappearing.

We don’t know where the problem is coming from - eg:

  • Is it a problem with the OCL Module?
  • or with Iniz?
  • or with our dev3 image?
  • or with how we set up the collection?
  • or (most scary) is there something happening in OCL to change the UUID? (Zac found this once and we were pretty sure that I did something manually in OCL that changed a UUID (eg removing one concept and replacing with a different new concept) but this still makes me uneasy)

Anything to add, @zacbutko or @ibacher?

@suruchi we look forward to hearing what you find in your assessment and what steps you recommend going forward :slight_smile:

CC @burke

1 Like

I think the problem is the default configuration and not the concepts. Specifically Hemotology is currently loaded into dev3, but in this PR the default concept UUIDs got changed in the following ways:

Hematology (from the Lab filter collection) → CBC (CIEL:1019)

Blood Work → HIV Viral Load (CIEL:856)

HIV Viral Load (CIEL:856) → X-ray, chest (CIEL:12) (not part of the OCL collection)

I think if we just revert that commit, we’ll get things back to a working state.

2 Likes

Thank you @grace for the details on the issue. Are you testing it in OpenMRS - Home ? And thanks @ibacher for your great insight. Now, it’s clear where to start with :slight_smile: .

Yes, dev3 = dev3.openmrs.org :slight_smile:

1 Like

OK so @zacbutko do you have anything to add?

Otherwise we will just proceed with reverting this PR you made in July.

OK we’ve had some discussion about this on Slack; moving it here so others can see what’s going on / so we have a record.

@zacbutko is going to revert the PR. He asked me to first confirm that the original concepts all exist in OCL as expected - and in doing so, I realized that yes, they have always been there, but I believe there were possibly THREE problems happening here:

  • Problem #1: The Mischievous Xray Concept Our addition of the Xray concept broke things because I had never included that in the Lab Filter Example Set of concepts to begin with. The system depends on those concepts existing in our metadata config in order to reference them in code.

  • Problem #2: OCL Search Bug It seems there’s a bug in OCL search around the use of “-” - when I searched for ae485e65-2e3f-4297-b35e-c818bbefe894OCL showed “no results”, but when I just search for c818bbefe894, I found the Hematology concept right away. If you had been searching for these full UIDs in the OCL search UI and seeing “No Results”, I can see why you thought OCL had changed the UIDs. I have filed an OCL bug for this: Term Browser Search incorrectly shows "no results" if hyphen is used in ID string · Issue #1351 · OpenConceptLab/ocl_issues · GitHub

  • Problem #3: Confusion in code btwn Uuid vs ID vs External ID?? (Can only confirm after we revert the PR and re-build) Either our code or OCL’s code might be confusing “Uuid” with “ID” or with “External ID”. These are frequently different things in OCL. @burke I believe you were trying to warn me about this months ago.

    • eg Hematology:
      • External ID: ae485e65-2e3f-4297-b35e-c818bbefe894
      • ID: ExampleLabFilter_HematologySet

@grace it looks like this PR was already reverted 11 days ago by @ibacher . The default concepts currently on dev3 for test results viewer are ae485e65-2e3f-4297-b35e-c818bbefe894 , 8904fa2b-6a8f-437d-89ec-6fce3cd99093, and 856AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

1 Like

Okayyyyyy well then… :blink: :blink: I guess the main thing is to confirm that we understand what went wrong. Since I am able to see the Lab Filter View working as expected in dev3, I assume that it was only Problems 1 & 2 above, and not problem #3.

(Update re. Problem #2 - Sunny / OCL has already fixed this overnight :heart_eyes: Term Browser Search incorrectly shows "no results" if hyphen is used in ID string · Issue #1351 · OpenConceptLab/ocl_issues · GitHub)

You can see that full UID searches in OCL now work as expected. Looks like external_id was not exact searchable.