Thursday, September 1, 2016

Running lh-toolkit 1.x on MySQL 5.7

MySQL 5.7 by default uses sql_mode where no zero in dates or zero dates are allowed. Where as by default the timestamp uses 00:00:00. MySQL 5.7 by default uses ANSI standard GROUP_BY clauses, that were not required for previous versions of MySQL.
The best way to fix this across sessions is to add the following to my.ini or my.cnf depending on your platform. For Ubuntu 16.04 this is located at /etc/mysql/mysql.conf.d/mysqld.cnf
sql_mode=""
In the setup wizard for the URL use:
jdbc:mysql://localhost:3306/@DBNAME@?autoReconnect=true&InnoDB=InnoDB
Basically, the connection needs to have the text InnoDB in it, so that openmrs doesn't try to set the storage_engine variable, which has been changed to default_storage_engine. But that itself is not required because it should be left upto the database implementer to choose the engine. It could be XtraDB (Percona's fork of InnoDB) or Aria (used in MariaDB).
Once these are done, you should be able to use MySQL 5.7 (and its excellent performance improvements) with lh-toolkit or OpenMRS 1.11.x and higher

Monday, April 11, 2016

Representing OpenMRS at FOSS Asia 2016 in Singapore


I missed the OpenMRS worldwide summit 2015 in Singapore because of problems with my visa application. The Singapore ICA rejected my visa application twice, and as it is their policy, they didn't give reasons to why my visa application was rejected. So, I was dejected that I will never be able to make it to OpenMRS summits since the plan is to organize it each year in Singapore.

As the senior manager for education and training programs in OpenMRS, my current goals for this year includes releasing a certification program for developers, implementers and trainers. Singapore, as a tech hub provides a perfect venue to build partnerships around education and training for the Asia and pacific region. That is among the reasons why Asia's premier open-source conference FOSS Asia has hosted its conference in Singapore for 2015 and 2016. I saw this conference as an avenue to forge partnerships, getting the word out and find interested individuals around our training and certification programs. I applied to be a speaker at FOSS Asia 2016 and my topic got selected for a 20 min seminar. With support from the OpenMRS travel grant, I was able to travel to Singapore and thankfully, with the invitation letter from Singapore Science center, my visa application was not rejected this time!! So hopefully it means I can make it to the next OpenMRS worldwide summit too...

At FOSS Asia, I was accompanied by Michael Downey, community director at OpenMRS and Mayank Sharma, the release manager for platform 2.x at OpenMRS. Mayank has an interesting story because it was at FOSS Asia 2015 that he first got to know about OpenMRS and has been a rockstar contributor since. So we were hoping to find a few more like him at FOSS Asia 2016. At the conference, I spoke about the strength of the OpenMRS's bazaar model of software development, the loosely governed community that has scaled over the last decade or so. I have personally been involved in the community since the last 9yrs and I shared some of my experiences. A summary of my talk is part of Episode 4 of OpenMRS Update podcast. You can also view the slides for my talk here.

 
We also started email conversations on partnering for our programs with Singapore's Nanyang Technical University (NTU), who are just starting to build a few health informatics research projects. We also met with General Assembly, a global training organization, but need to take the discussion forward with their Chicago office. So hopefully, this is the beginning of taking our program forward and finding partners around the world who can build capacity for health informatics using OpenMRS.