Sharing Concept Dictionary Sprint

Goals

It takes time and expertise to maintain a concept dictionary, which many implementations cannot afford. It is also hard to maintain the same concept dictionary on multiple servers within an organization. The goal of this sprint is to make it easier to import and keep up to date a centrally managed concept dictionary such as MVP/CIEL. To make it happen we will:

1. Create Dictionary Publishing Module (DP Module). We will publish the MVP/CIEL dictionary for any interested parties under a publicly available URL. Over time we will be releasing updates to the MVP/CIEL dictionary, which will be also published.
2. Create Dictionary Subscribing Module (DS Module), which will have to be installed by anyone who will want to import and keep up to date the MVP/CIEL dictionary. Each time there is an update to a subscribed dictionary, an administrator will be notified and given a choice to upgrade. The first version of the module will allow to subscribe to only one dictionary and only on a fresh installation (without any other concepts).

3. Modify Metadata Sharing Module to use the Concept Pub Sub Module to maintain local concept mappings, which are used to identify the origin of a concept i.e. by whom it was published.

General Info

Topic: Sharing Concept Dictionary

Lead: @raff

Date: 1-October-2012 to 21-October-2012

Kickoff meeting: 1-October-2012, 3:00 PM UTC (10:00 AM EDT) at http://breeze.iu.edu/omrsd (IRC will be our backup plan).

Group Chat

via IRC on the #openmrs channel on freenode.

Use this channel for ALL debugging and random questions having to do with the sprint. Please avoid direct messaging to personal contacts. If you have a question, someone else probably does too, and our geographically distributed community benefits from public group discussion.

How to Participate

Add your name to the list on this wiki page (with any comments about your availability). If you want to join after the sprint has started just join the IRC channel mentioned above and say hello.

The general process:

  1. New to OpenMRS sprints? Want help getting started? Join the IRC channel and say "rafa": I'd like to participate in the sprint!"

  2. Pick a ticket from the available tickets in the top-left of the sprint dashboard page. (listed below)

    • Make sure it does not depend on a ticket that is incomplete.

  3. If you have any questions about the ticket, ask on the group chat

  4. Do the ticket. See our HOWTO for git. Sprint specific git HOWTO for devs with push rights: whatever works for you :-) If you don't like pull requests, don't send them. Commit and push directly to the main repo. If you do like pull requests, fork the main repo and send pull requests, but merge them right after. My favorite way is to work on the main repo, but create local branches (without pushing them to the main repo). Merge branches locally to the master and push to the main repo.

  5. Join the daily scrum to share your updates

Participants

  • @raff

  • @Jeremy Keiper (35% perhaps)

  • @Ben Wolfe

  • @Daniel Kayiwa

  • @Wyclif Luyima

Resources

Tickets: https://tickets.openmrs.org/secure/Dashboard.jspa?selectPageId=12251

Kickoff meeting recording: http://connect.iu.edu/p8ghnnczgz1/

Metadata Sharing Module code: https://github.com/OpenMRS/openmrs-module-metadatasharing for META tickets with fix version 1.1.

Dictionary Publishing Module code: https://github.com/openmrs/openmrs-module-dictionarypublishing for META tickets with fix version DictionaryPublishing 1.0

Dictionary Subscribing Module code: https://github.com/openmrs/openmrs-module-dictionarysubscribing for META tickets with fix version DictionarySubscribing 1.0

ConceptPubSub Module code: https://github.com/openmrs/openmrs-module-conceptpubsub for META tickets with fix version ConceptPubSub 1.0