OCL for OpenMRS User Feedback discussion

Usually, we face that same issue when the backend has some faults. I believe the current sprint lead @stonecoder is putting up new tickets to handle the backend errors better.

CC: @ball @akanter @dkayiwa @stonecoder @collinewait @samdiano @shine @judeatu @brucemakallan

@sheriff, @stonecoder, etc, okay thanks for sharing this.

At a meta level, as the Andela team, please consider that @ball, @akanter, and anybody writing on this thread is your customer. We need to keep them happy, and we want them to adopt this product as soon as we release it, and keep using it. That means that if they make a comment, you need to respond to it quickly, even if all you can say is “we [can / can’t] reproduce this also; we don’t know exactly what’s going on, but we’ll investigate in the next sprint”.

Okay. We will watch this thread closely and respond promptly.

Hello community,

OCL V1 is ready for testing. Please follow this link to test the application

You can use the test user credentials below

username: user

password: user123

Here is a link to a guide that you can follow in case you face

Hello all,

Just a simple reminder, please take some time to test out the OCL demo client. Please note that we are aware that the CIEL source is missing and we are looking into it

@darius @akanter @ball @ruffjm @dkayiwa @raff @cintiadr @c.antwi @alexkayabula @danuluma

Unsorted feedback:

  • There’s a Having Trouble With Login link on the login screen. It takes you to OpenMRS Dictionary Manager which mentions getting a token, which is very very out of date. There’s also a video, which I didn’t watch, but is probably old too. Either remove this link, or else replace the content of the help page with something current.

  • I do not see the login page bug that Andy is experiencing (i.e. I don’t immediately see a “logging in” with no ability to do anything.)

  • The username and password given in this thread do not work for me. Maybe this server’s database gets regularly reset? (I’m able to create a new account though, although it took >5 minutes to get the confirmation email.)

  • I click Log out, and the flash message is missing a space.

  • Create New Dictionary screen:

    • As mentioned on the call today, reorder the fields when creating a new dictionary, as: name, short code, description, preferred source, owner, visibility, default language, other languages. (MVP)
    • “Start by copying another dictionary” => this feature isn’t implemented yet is it? If not, then remove this field
    • This is too big to be a popup. I have to scroll to submit the form in a full-screen browser on a 15" laptop. It should be its own screen. (post-MVP)
  • General Details → Edit

    • I edited the dictionary and added some other languages. I click update dictionary. I immediately click Edit again, and the popup does not show my additional languages. If I refresh the page and click edit, I do see them. Clicking around it appears maybe the bug is if I click edit 2 times without refreshing the page, the edit screen doesn’t have the latest info. (MVP)
  • Dictionary Concepts

    • with an empty dictionary the left side filters just show their headings. But it should say “none” after each of Sources and Class (post-MVP)
    • change “Sources” to “Source” so it’s consistently pluralized with “Class”
    • Need to be able to read the whole name. I don’t care exactly how you fix this (wider column, wrapping text, etc), but it’s MVP. This doesn’t work: image
    • No way to view a referenced concept. Quick fix is to add a “View in Traditional OCL” link under Actions. MVP.
    • No way to see a concept’s ID. It’s probably okay to show this in the source column (e.g. “CIEL - 123”). Another option would be to change the first column to be “Concept” and then have it be ID - Name, like I think we’ve done elsewhere. (MVP)
  • Add CIEL concepts

    • As Andy mentioned on the call today, when you first open this, do not trigger an empty search, and do not show any concepts. (There are 60000 concepts, so showing one page is not helpful.)
    • Name must be fully displayed in the search results. Don’t care what fix you choose (be consistent with the other screen though) but it’s MVP. E.g. this view doesn’t work:
    • clicking a row in the table should open the preview (post-MVP; and let’s rediscuss before you actually do this)
    • in the previous example (“pulmonary tuberculosis”) the search results should show the matched name (post-MVP, requires coordination with backend team)
    • I searched for 1268 (which I actually already added to my dictionary, and the first results are 126800, 126801, … This is bad behavior, but I don’t know which it is:
      • If something is already in the dictionary, we should still show it in the search results. (Okay to gray it out, or disable the add button.)
      • Exact match on concept ID should show be the first result. This may be a back-end fix, but if this is the scenario, please create a ticket to track it. Make it an MVP ticket for now, though we could punt it.
    • When I add a CIEL concept that’s a q-and-a, this should also add the answer concepts to my dictionary, but this didn’t happen. (MVP) Example: https://demo.openconceptlab.org/orgs/CIEL/sources/CIEL/concepts/1268/
    • Similarly, if you add a Set, it should automatically add its members. (MVP)
    • (Inverse mappings should not automatically be added, e.g. if I add the answer it should not automatically add the question.)
  • Creating concepts:

    • As mentioned on the call, Create Another Type of Concept needs to have all fields available (MVP)
    • As mentioned on the call, Create A Set Of Concepts needs to actually let you specify set members (MVP)
    • For all Create options that let you choose from multiple Class options, the default selection should be blank (i.e. we don’t expect that the first option in the dropdown is usually correct). E.g. Set of concepts, Symptom/Finding,
    • I did the following series of steps and found a strange bug:
      • steps:
        1. create a Symptom/Finding
        2. Name: “Itchy Nose” in English, preferred in language = true
        3. Clicked add another name
        4. Chose the language French for the other name
        5. Clicked Remove on the second name without entering anything
        6. Entered description
        7. Save Concept
      • bug(s)
        1. it took me back to the Dictionary Concepts screen, but did not show my new result.
        2. when I refresh the page, I see a row that’s empty image
        3. when I click Edit on that one, it shows the empty Name row (that I removed)
      • expected behavior: removing a name should really remove it, not just hide it in the UI (MVP)
      • when I try the same thing with Spanish instead of French, the same bug occurs.
    • Another bug: when I update it to include an actual name in French, this is displayed on the Dictionary Concepts screen (even though my dictionary’s default language is English). (MVP)
      • when I try this same thing with Spanish instead of French, this bug did not occur. (I don’t know if that’s random, or because French was listed in Other Languages for my dictionary.)
    • The Diagnosis and Procedure concepts that I created show their Class with the word starting in lowercase; when I add a CIEL concept, or create another kind of concept, its name starts in uppercase. The value we store here MUST be equal to one of the expected values, so this will probably fail to import into OpenMRS. (MVP) image

That’s all I have time for now, will try to pick this up again later.

I note that the demo server is reset daily, so I’m starting over from scratch today.

However when I create a dictionary and click on it, I get a blank screen, and the console has this error:

TypeError: this.props.dictionaryConcepts.filter is not a function
    at t.value (DictionaryContainer.jsx:184)

I notice looking at the network tab that no query was ever made for any concepts:

image

At this point I am stuck and I cannot test any further.

Since I was poking around in the JSON I noticed two things:

  1. you should be setting custom_validation_schema to OpenMRS on the source and dictionary. (I don’t know the exact string value it’s supposed to be set to, check the documentation.)

  2. The back-end has default_locale and supported_locales, and we’re capturing these slightly differently in our UI (default, and additional). The value we save in supported_locales should be default + additional, but you’re just saving additional locales directly there. A correct example would look like this:

    • default_locale: en
    • supported_locales: en, fr // instead in this example you saved just “fr”

#2 is probably the cause of the bug where one concept is displayed with it’s French name.

Looks like the same problem I was having before. Now I still cannot get in because every time I go to the site I get: image ![image|563x575] I have cleared all my caches in Chrome and tried this on all my browsers.

Hello @darius @akanter

We are have noted your feedback and are looking into this

@paulk - Is there a wiki page or a video that can guide me on how to add concepts to a concept set?

Hello @mohitd,

This is still a work in progress. I will notify you as soon as the feature is added

1 Like

Hello @akanter, a fix for this has been applied, can you please confirm that you are no longer experiencing this issue.

I just want to highlight that you need to enable OpenMRS validation on the dictionaries we create through this application. For example this will prevent the dictionary from having two concepts with identical preferred names, which is illegal in OpenMRS.

This example should not be allowed:

Note that this may mean that you get back an error message when trying to create or add a concept (where the concept on its own is valid, but it’s not valid in this dictionary). For MVP we need to ensure we display these error messages. Post-MVP requirements would be to ensure that the flow around getting this error message is good, e.g. you don’t lose state on a form if you submit and get back this kind of error.


More:

  • I created a concept, but it’s not visible on the dictionary concepts screen until I manually refresh. The exact sequence is:

    1. I create the concept
    2. App goes to dictionary concepts screen.
    3. For a split second my new concept is visible at the top of the list
    4. App automatically refreshes the table, and when it finishes my concept is not visible
    5. I do Command-R, the whole page refreshes, and my concept is there.
  • Having the inconsistent capitalization of concept classes means that the concept counts by class on the Dictionary Overview is wrong. (I imported 2 diagnoses and 2 drugs from CIEL, and I created 2 diagnoses and 2 procedures, but it shows as: 2 diagnoses, 2 procedures, 4 other.)

  • I released a version of my dictionary, and that seemed to work well.

  • I noticed some things when inspecting my released version in traditional OCL:

    1. I see that the collection contains references to CIEL concepts, but not to the mappings on those concepts. When you add a CIEL concept, its mappings should also automatically be added to the collection. I would expect this to be done automatically by the back-end, but maybe there’s a flag you need to pass when posting? Please check on this.
    2. I added 4 concepts from CIEL, I created 4, and I edited one of those 4. In our application I see that I have 8 concepts (which is what I expect). But in traditional OCL I see 5 references to custom concepts, not 4.
      • What I think is happening is that when I edit a concept, you create a new concept version of the old concept, and you also create a new concept, and they’re both included in the collection.
      • That’s wrong, when I edit it should create a new version of one concept, and refresh its reference in the collection.
      • Please investigate this (and I can clarify more if you need, but I need to run to a meeting now.)

This issues have been noted. We are going to keep you updated on the progress.

Hello @raff, Concerning the above issue raised by @darius, I suspect it could be an issue with the way filter/sort works in the backend.

This is how I replicated the issue in the backend.

  • Before Adding a CIEL concept :

When searching for a 1268 CIEL concept ID, the results are returned in ascending order i.e 1268, 126800, … as expected

GET: https://api.demo.openconceptlab.org/orgs/CIEL/sources/CIEL/concepts/?q=1268*&limit=10&page=1&verbose=true&includeMappings=1

  • After Adding a CIEL concept :

When searching for a previously added 1268 CIEL concept ID, the results are returned in ascending order but the previously added concept ID appearing at the end of result returned i.e 126800, 126801…1268

GET: https://api.demo.openconceptlab.org/orgs/CIEL/sources/CIEL/concepts/?q=1268*&limit=10&page=1&verbose=true&includeMappings=1

As per the documentation, I don’t seem to find any sortAsc/sortDesc by id option.

Please look into it. Thank you

cc: @dkayiwa @darius

@alexkayabula, it would be ideal if the response to this kind of feedback includes links to JIRA tickets that are created to track the various pieces.

Maybe your team can share these on the Friday catchup?

Thank you @darius Here is the link to the JIRA ticket.

https://issues.openmrs.org/browse/OCLOMRS-531.

@alexkayabula Thanks for this link.

However I provided lots of feedback from message 18 in this thread (OCL for OpenMRS User Feedback discussion), but I have no idea which of these have been addressed and/or ticketed.

Hello @darius, hope you find this helpful

Addressed/In progress/ Code Review

Ticketed/MVP

cc @dkayiwa

Hello Community

We are finalizing changes on the OCL module and it shall soon be available for testing, we will keep you posted