Developing the "OCL for OpenMRS" Application

Thank you. The team will review the code so that we have it merged come Monday.

Hello @ruffjm,

The team will be available tomorrow (Tuesday 26th Feb 2019) at 16:00 - 17:00 EAT for a walkthrough of the OCL application.

Please let us know if that is a convenient enough time for you. Thanks.

cc: @judeatu, @dkayiwa, @shine, @samdiano, @alexkayabula, @darius, @sheriff

Thank works for me.

Hi all, I have a conflict tomorrow but I would like to begin to join your weekly calls when possible. Please share a link if you record it.

Cheers,

Jon

Pole Sana!

Are you able to share the code for the bulk upload of concepts via json?

Jessica

Hello @darius, Should we have the Edit & Remove Actions available for Retired Concepts?

“Hyperhidrosis” is an example of a Retired Concept in the screenshot below:

cc: @dkayiwa, @akanter, @judeatu, @alexkayabula, @samdiano, @shine, @sheriff

Sorry for the late response The recording of the weekly sync, here link to the call.

I assume we’re talking about concepts that were created as part of this dictionary, via “Create new concept”.

I don’t have a definite answer to this. My initial thoughts are:

  • When you create a custom concept within a dictionary, it belongs to the dictionary, so “remove” is not an action that makes sense. (Under the hood in OCL there’s no technical relationship between the dictionary’s source and collection, but in our application’s domain model the source belongs to, and is subsidiary to, the dictionary/collection. So you shouldn’t be able to remove it from the dictionary/collection, but leave it in the source.)
  • If a concept has been “used”, you should be allowed to retire it (e.g. a soft delete). If we know that the concept has never been used we could allow it to be (hard) deleted. If the concept is not included in any published version of the dictionary, we can infer it has never been used. Once it’s in a published dictionary version, we have to assume it has been used.
  • I would consider it more intuitive if your’e not allowed to edit a retired concept, though maybe there’s a corner case where this should be allowed. (@akanter do you think we should allow editing retired concepts?)

So, my proposal would be:

  • if it’s a concept we’ve added from another dictionary, the available actions should be: (1) view, (2) remove.
  • otherwise, if it’s a custom concept:
    • if it’s not retired, and is in a released dictionary version, available actions are: (1) edit, (2) retire
    • if it’s not retired, and has never been released, available actions are: (1) edit, (2) delete
    • if it’s retired, the only available action is unretire.

I’m not 100% certain about this, though, so I would suggest not actioning it until we’ve had a chance to discuss (with @akanter also) on Thursday.

@paynejd we’d love to have you on the weekly catchups. They’re on Thursdays at 10am Boston time.

All I can do is point you to https://github.com/OpenConceptLab/oclapi/wiki. It does mention a bulk upload tool, as well as there being a REST API for creating concepts.

I haven’t used the bulk tool myself; the REST API is powerful, but I don’t personally know of any code samples, you’d need to figure it out from the documentation.

Hello @raff, the issue concerning the removal of Concepts from a specific Dictionary has resurfaced.

This is how I tested it out in Postman (with help from the API documentation here):

  1. Get a list of all concepts in Mulago Dictionary:
GET https://api.qa.openconceptlab.org/users/admin/collections/d3h7d3e4g6d3e4/concepts/?q=&limit=0&page=1
  1. Copy the Version URL of one of the concepts and provide it in the body of the DELETE route:
DELETE https://api.qa.openconceptlab.org/users/admin/collections/d3h7d3e4g6d3e4/references/

Body:

{
	"references": ["/users/admin/sources/d3h7d3e4g6d3e4/concepts/5c1d2556-e255-4eb9-aace-28dfd92ef270/5c59c7e573d37501a50df00b/"]	
}

NB: Provide an Authorization Token which can be picked from Local Storage

  1. Get the list again. The reference to the concept is still there.

Passing the "url" instead of the “version_url” of the Concept, leads to the same outcome.

cc: @dkayiwa, @darius, @akanter, @judeatu, @alexkayabula, @samdiano, @shine, @sheriff

Hello, community

This is a reminder of the OCL team sync with Jessica Ruff (Tuesday 16:00 - 17:00 EAT). I will share a link to the call 10minutes before the call. kindly attend if you can make it.

cc: @dkayiwa, @samdiano, @sheriff, @brucemakallan, @judeatu, @c.antwi, @akanter, @darius, @alexkayabula

There is documentation review meeting happening at the same time . @dkayiwa and myself are usually on those calls.

Apologies I will not be able to attend.

Here is the link to the call (OCL team sync with @ruffjm ) https://hangouts.google.com/hangouts/_/ytl/nAGrIx37I8bSDfSupGvqFKCZHgPKXCRmAUuEnee4WM4=?eid=107163098052414183455&hl=en_US .

Hello community

We had OCL team sync with @ruffjm. For those that missed the call, here is a link to the call.

Regards!

cc: @darius, @akanter, @dkayiwa, @samdiano, @sheriff, @abulojoshua1, @brucemakallan, @judeatu, @alexkayabula

Hello @darius,

The team had a call with @ruffjm in which we did a walkthrough of the OCL application and the following questions/concerns were raised:

  1. While Creating a New Dictionary, the “Short-Code” field (shown in the screenshot below) is a bit confusing for the average user.

  1. While Adding Bulk Concepts, is it possible to select a source not provided in the list of “Other Sources”? For example “LONIC” which is currently not available in our OCL module.

  1. While Adding Bulk Concepts, results from the Quick Search should show more details than just the Concept Name. e.g. Concept Source, Date Updated, …

  1. Lastly, she mentioned that it would be a lot more convenient if there was a way to Create New Concepts in Bulk. e.g. Create more than one Diagnosis Concept at the same time. This is because using a form to create one at a time will take a lot of time.

cc: @dkayiwa, @c.antwi, @akanter, @judeatu, @alexkayabula, @samdiano, @shine, @sheriff

Hi Andela team,

We’d like to deploy your work to a demo server to be able to test against the full CIEL dictionary.

The development version will continue to be deployed to the QA environment with every build. In addition to that you will be able to deploy on demand (through CI) a selected build to the Demo environment.

To make that happen I need you to implement reading an OCL backend URL from a system environment property called OCL_API_HOST, e.g. OCL_API_HOST=http://api.qa.openconceptlab.org/

If you have hardcoded openmrs.qa.openconceptlab.org in any place, you need to use the BASE_URL system environment property instead, e.g BASE_URL=https://openmrs.qa.openconceptlab.org

Let me know, if such changes are feasible and when you could make them.

@raff, Yes the changes are very feasible and we are going to create a ticket for it on the Jira board as soon as possible.

cc: @dkayiwa @brucemakallan @alexkayabula @shine @samdiano @sheriff

Should I wait to test until this is complete?

@judeatu should this take more than a day? I expected it to have been done by now.