Developing the "OCL for OpenMRS" Application

Hello @darius About the search, its looks like we shall only search for concepts within an existing CIEL source because currently CIEL has no collections. How should we go about it cc @dkayiwa @rubailly

I believe the QA environment is done now: https://openmrs.qa.openconceptlab.org/

I also created this PR to improve our Bamboo build:

1 Like

Thankyou @cintiadr Just as a proposal for the future :slight_smile: , it it okay if we could also create openmrs-community templates on github for files like Dockerfiles and docker-compose files with the best practices highlighted, would go along way in assisting individuals who do not have an idea of the DevOps processes in the community and would also like to be part of the awesome process.

Well, that’s really what I tried to do with https://wiki.openmrs.org/display/ISM/How+to+deploy+a+new+application+to+our+infrastructure and https://github.com/openmrs/openmrs-contrib-ansible-docker-compose/blob/master/README.md , but clearly that’s not helping.

The rule is: give me a docker-compose stack that works locally, and I’ll change the passwords and throw it in one of our docker hosts with https. But I need it working locally.

The best practices are just… docker best practices. Not really openmrs best practices. There’s really no template to the dockerfile, each one will be different, and that’s OK. If you application requires redis, mysql and php, sure, go ahead.

Please feel free to edit that wiki page with your favourite resources to learn docker, others might enjoy that.

1 Like

Thank you. I agree it makes sense.

I should point out that every time I say “CIEL” with regards to this project, I’m talking about the CIEL source, not the CIEL organization.

@hadijah315 let’s take a step back and think about the end-user stories that we’re trying to achieve here.

Recall that when a user creates a new dictionary, they will specify which are the preferred sources/collections/dictionaries that their concepts will come from. The default will be CIEL (the source) but users can choose others as well:

image (we probably need to change the label to “preferred sources and dictionaries”)

After creating the dictionary, you would then want to add concepts to your dictionary, from your preferred sources:

image

The search function that you should be working on now is what happens when the user chooses one of these options.

So the story is like “(Given I have already selected a source or collection in OCL) I want to search through this source or collection, so that I can add concepts from it to my own dictionary.”

Does this clarify?

(Later we would want to support searching across all concepts, and prioritizing the ones from preferred sources/dictionaries, but that will be trickier to do, so it’s out of scope for now.)

1 Like

@dkayiwa here is the talk conversation

Hello @darius hope you enjoyed your holiday, Thanks for the explanation about search. Here are some updates about the search, After going through the traditional OCL, I got a more understanding connecting with your explanation. So we are implementing the search for concepts through the CIEL source.

I said this on the call today, but just to reiterate: having a screen to search through CIEL for concepts is useful, and it’s a good demonstration of what we’re trying to do. Just keep in mind that the next goal is to build a screen or component that can search within any one source (which should be specified as a property). So while it’s fine to hardcode “search CIEL” in a demo, and to have the user story reflect this, the code you write should not hardcode CIEL.

Hi @darius, we have been able to implement the first search whereby a user can search for any sources they like. However, a user can view all the sources when the sources page loads.

cc @dkayiwa @rubailly @hadijah315 @shakira210791 @waweru @christopherkala @kodero

A user searches for ciel, and the user can sort the result in ascending or descending order.

When the sources page loads and no search has been made.

A user can filter sources by the source type

2 Likes

Well done @emasys

Hello @darius we managed to retrieve all the sources and search through them for a particular source as you see the snapshots below, So we would like to get your opinion about the user interfaces whether we need to make some changes or just maintain what we have got so far .

1 Like

Hello awesome people, As we come to the end of sprint two let’s choose from these dates which one can be best for our Demo. Vote via this doodle link. https://doodle.com/poll/bmgxvgnq6arq9q5x

1 Like

Good work @emasys

This seems generically right, for how searching for a Source would work. A few small comments:

  1. the hint in the search box says “Search OCL” but that is misleading. It would just be “Search for a source”
  2. I don’t think that sorting by name asc/desc is helpful. I would hope that since the back-end uses solr for indexing/search, the search results are naturally sorted in a smart way (e.g. by best match). So I would want to use the natural order of the search results from the back end.
  3. Please do not the traditional OCL UI as a guide for anything. Candidly, it is a terrible UI for end users, and I would rather if you start from scratch and use your own judgment on making something more user-friendly. (In fact the typical target user is as new to thinking about medical terminology as you are.) This is a bit easier to read than the traditional UI, since you’ve skipped the useless list and calendar icons, but we can do better!
  4. Too much blank space. We should make the actual name bigger, so it draws the eye most. Beyond that, either display more info, or else make things more compact so we can show more results.
  5. Using the source type as an icon is pretty, but I’m not sure it’s useful. If we’re going to put some kind of icon/badge in that prime real estate I’d rather put something like whether it’s one of our recommended sources, or something.

I do think we need to step back and think about what’s the purpose of this, however, to frame it in the proper user journey. (E.g. why am I choosing a source.) One journey is “I want to browse through OCL just to see what’s there”, in which case I think we actually want to be listing/searching both sources and collections together. (And we might want to filter/sort such that results we think are more useful would be displayed first. E.g. we might want to completely filter our anything with source type of “Indicator Registry”.)

The other journey is “I’m creating a new dictionary, and while doing so I need to indicate which are my preferred sources”. In this case the UI would need to be more of an autocomplete within a form. (And in that case also we want to be listing/searching both sources and collections.)

PS- I know you just copied this from the traditional OCL UI, so it’s not your original error, but using the asterisk icon for number of releases is pretty confusing. Because of the placement in the UI, and the fact that this looks a lot like github, I immediately assumed it was a star indicating how many people have favorited this source.

2 Likes

Thank you @darius some of the points you pointed we worked on them and the others we shall work on them. As for the general search, we are planning to do it as soon as the dictionary endpoints are added so that one can search for anything in the OCL. We had to consume the available endpoints but we shall cover everything soon.

Thanks for your feedback and we shall keep changing according to feedback until its good for the users. cc @emasys

1 Like

Hello community, thank you for participating in the doodle polls, from the results majority of us are comfortable with Tuesday, therefore the demo date is 5th June 2018 Tuesday from 5pm to 6pm Uganda/Kenya time.

The link to our live Google hangouts is https://hangouts.google.com/hangouts/_/ytl/S61FlkID1--riPn924tcakHqUhZrj5xMnUszmdWWV5k=?hl=en_US cc @darius @dkayiwa @rubailly @cintiadr @emasys @waweru @shakira210791 @christopherkala @ball @akanter

Hello community, the sprint two demo call is on now you can jump on at https://hangouts.google.com/hangouts/_/ytl/S61FlkID1--riPn924tcakHqUhZrj5xMnUszmdWWV5k=?hl=en_US

Hello community, today was the last day of sprint two for OCL for OpenMRS and we had a demo where we presented all that we worked on for the past two weeks. In case you missed the demo you can watch the video recording here. https://www.youtube.com/watch?v=8obnk8Z4p8Q&feature=youtu.be