Best OpenMRS version that works with NCD?

Not sure where to start. My company standardized on OpenMRS 1.7.1 so that we could support NCD. I have tried it seems every version and I cannot get any other version of NCD to work.

Does anyone know of a working combination of NCD and OpenMRS versions that work? I have spent weeks on this and am at my wit’s end. I welcome anyone who has gotten NCD to work. I have been digging through the code and found this section always fails for me:

/** Get and return the configured ncd user, if possible */ public static User getNcdUser() {"getNcdUser: enter");
User user = null;
try {
    AdministrationService adminService = Context.getAdministrationService();
	String username = adminService.getGlobalProperty("ncd.username");
	user = Context.getUserService().getUserByUsername(username);
catch (Throwable t) {
    log.error("Lookup of ncd.username via UserService failed. Did you set up the ncd user?");
finally {"getNcdUser: exit");
return user;


Though I have breakpoints galore all over the HibernateContextDAO, I have never been able to get it to enter this method: getUserByUsername(username);

Anyone gotten this to work?

thank you.

It has been a while since i last saw someone touch this module. So making it run may require some coding to update it. I would recommend that you first mavenize and then move it to github.

Daniel, I am happy to report that I have spent the past two months writing NCD 1.4, which is an updated and modernized version of NCD 1.3–with Maven support, targeting OpenMRS 1.12.0 and with support for the following HAPI structures:

hapi-structures-v21 hapi-structures-v22 hapi-structures-v23 hapi-structures-v24 hapi-structures-v25 hapi-structures-v26 hapi-structures-v231 hapi-structures-v251

I uploaded it as: ncd-1.4-SNAPSHOT.omod

The source can be found on github under: openmrs-module-ncd.

Thank you

NIce work @tyronehed!

Where did you upload it to? If it’s intended for general consumption, I think you should put it here:

I guess from searching github that you mean this repo?

A bunch of questions spring to mind… So what are your next steps? If someone wants to use this new version, are there instructions? Are the old OpenMRS wiki pages still relevant? Are you looking for collaborators? Etc.

It’s ready to be dropped into the modules directory of OpenMRS 1.12.0. That’s the version I tested it with extensively. Otherwise, it works like the earlier version.

I did upload it to here:

It’s done so I’m not automatically looking for collaborators. That said, anyone can work on it from here but it doesn’t really need any work.

@tyronehed, would you mind updating the pages on to say what you’ve mentioned here? (If it’s too much of a pain to update the text of the page “correctly”, then just put an {info} macro at the top and give your update there.)

PS- the link is wrong; it’s actually uploaded at

Ideally we would merge this in as just the next version of the previously-loaded one: