Error: Couldn't find diagnosisOrderConcept concept for DiagnosisMetadata

5 views
Skip to first unread message

James Arbaugh

unread,
Aug 4, 2014, 4:32:09 PM8/4/14
to implem...@openmrs.org

Greetings everyone.

 

I get the following error when I try to search/select a patient with the EMR 2.0 Interface.

UI Framework Error

Root Error

java.lang.IllegalStateException: Couldn't find diagnosisOrderConcept concept for DiagnosisMetadata which should be mapped as org.openmrs.module.emrapi:Diagnosis Order

 

For the complete error, see…

http://pastebin.com/qGADa4E9

 

I suspect this started after upgrading to OpenMRS 1.9.8.  It was working properly previously.

 

I do have a Diagnosis order concept in my concept dictionary; CIEL 159946

 

Any suggestions?

 

Thanks,

James

Darius Jazayeri

unread,
Aug 4, 2014, 4:45:39 PM8/4/14
to implementers
Hi James,

Just to check, your Diagnosis Order concept also has the mapping SAME-AS org.openmrs.module.emrapi "Diagnosis order", right? And it's a set member of the Visit Diagnoses concept?

-Darius


--
OpenMRS Implementers: http://go.openmrs.org/implementers
Post: implem...@openmrs.org
Unsubscribe: implementers...@openmrs.org
Manage your OpenMRS subscriptions at https://id.openmrs.org/

To unsubscribe from this group and stop receiving emails from it, send an email to implementers...@openmrs.org.

Rubens Paul

unread,
Aug 4, 2014, 5:02:48 PM8/4/14
to implem...@openmrs.org

Rubens Paul

unread,
Aug 4, 2014, 5:08:33 PM8/4/14
to implem...@openmrs.org

Sorry for the message bellow,

It was sent to the implementers list by error!

Rubens

James Arbaugh

unread,
Aug 5, 2014, 7:48:01 AM8/5/14
to implem...@openmrs.org

Good morning Darius,

 

The concept is exactly as you described.  See the attached screen shot.

 

Thanks,

James

 

From: implem...@openmrs.org [mailto:implem...@openmrs.org] On Behalf Of Darius Jazayeri


Sent: Monday, August 04, 2014 4:45 PM
To: implementers

Diagnosis_order.png

Darius Jazayeri

unread,
Aug 5, 2014, 10:40:53 AM8/5/14
to implementers
Can you try capitalizing the reference term code like "Diagnosis Order"? (Or are you using the CIEL dictionary verbatim?)

If that doesn't help, what version of the emrapi module are you running?

-Darius

James Arbaugh

unread,
Aug 5, 2014, 11:24:11 AM8/5/14
to implem...@openmrs.org

Good morning.

 

I am using the CIEL dictionary verbatim; directly imported.  I tried changing the reference term to “Diagnosis Order”.  Now I get the following error…

java.lang.IllegalStateException: Couldn't find diagnosisCertaintyConcept concept for DiagnosisMetadata which should be mapped as org.openmrs.module.emrapi:Diagnosis Certainty

 

I changed that concept mapping to “Diagnosis Certainty”, and the view visit page works again.

 

Looking at the CIEL dictionary shows the term second word is all lowercase…

http://www.maternalconceptlab.com/search.php?q=Diagnosis+Certainty&source=openmrs%3Amap%2821%29

 

So, it looks like CIEL dictionary either lost its upper case, or something became case sensitive.

 

FYI: I am running EMR API Module version 1.1.

Andrew Kanter

unread,
Aug 5, 2014, 12:21:24 PM8/5/14
to implem...@openmrs.org
We (CIEL) are trying to fix casing and queries should NOT be case-sensitive...
 
--------------------
Andrew S. Kanter, MD MPH FACMI

Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University
Email: andrew...@dbmi.columbia.edu
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter

Darius Jazayeri

unread,
Aug 5, 2014, 12:41:52 PM8/5/14
to implementers
Hi Andy,

I don't think you (CIEL) should be changing the cases of codes of terms in the org.openmrs.module.emrapi source. These are defined by the refapp development process, and we explicitly code against constants have defined for these like this and changing these will break things, as we just saw. (Plus, we should assume that downstream systems may be querying these in JavaScript, etc, and I would expect them to be able to count on casing not changing.)

As far as reference term codes properly being case-insensitive, I guess that's fair, and fixing this will require (trivial) changes in OpenMRS core, which will need to be backported. I've created TRUNK-4452 for this.

In the meantime, anyone with an existing installation of the reference application will have things break if they upgrade to the latest CIEL dictionary, so Andy, can you please set any terms in the org.openmrs.module.emrapi source back to what they originally were?

-Darius

Andrew Kanter

unread,
Aug 5, 2014, 3:40:48 PM8/5/14
to implem...@openmrs.org
I will put out a patch with the changes and allergy additional allergy content now. What else is referenced by case? I don't change the CODES just the names and we definitely should not be looking for specific casing on names... that is a bad idea. They should be referenced based on mapping codes or UUIDs.
Andy
 
--------------------
Andrew S. Kanter, MD MPH FACMI

Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University
Email: andrew...@dbmi.columbia.edu
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter


Andrew Kanter

unread,
Aug 5, 2014, 3:46:30 PM8/5/14
to implem...@openmrs.org
I fixed two concept mappings. I didn't realize that the default name was being copied into the map. I changed both default names (Diagnosis Order and Diagnosis Certainty) and both mapping codes to use the casing as above. I had thought you were using the CONCEPT NAME, not the map. Not sure how the concept MAPs actually got changed.
 
--------------------
Andrew S. Kanter, MD MPH FACMI

Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University
Email: andrew...@dbmi.columbia.edu
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter


Darius Jazayeri

unread,
Aug 5, 2014, 3:55:10 PM8/5/14
to implementers
I was just replying to say that these are the codes. I'm only asking that the codes stay the same, and I agree that you/CIEL can case the names as appropriate.

I know you don't like having human-readable codes, and we can discuss this later if you want. But I have enough trouble even getting people to not refer to concepts by their name in English, so I'll be resistant. :-)

These are the constant codes we're currently relying on:
    public static final String CONCEPT_CODE_DIAGNOSIS_CONCEPT_SET = "Diagnosis Concept Set";
    public static final String CONCEPT_CODE_CODED_DIAGNOSIS = "Coded Diagnosis";
    public static final String CONCEPT_CODE_NON_CODED_DIAGNOSIS = "Non-Coded Diagnosis";
    public static final String CONCEPT_CODE_DIAGNOSIS_ORDER = "Diagnosis Order"; // e.g. Primary or Secondary
    public static final String CONCEPT_CODE_DIAGNOSIS_ORDER_PRIMARY = "Primary";
    public static final String CONCEPT_CODE_DIAGNOSIS_ORDER_SECONDARY = "Secondary";
    public static final String CONCEPT_CODE_DIAGNOSIS_CERTAINTY = "Diagnosis Certainty"; // e.g. confirmed or presumed
    public static final String CONCEPT_CODE_DIAGNOSIS_CERTAINTY_CONFIRMED = "Confirmed";
    public static final String CONCEPT_CODE_DIAGNOSIS_CERTAINTY_PRESUMED = "Presumed";
    public static final String CONCEPT_CODE_DISPOSITION_CONCEPT_SET = "Disposition Concept Set";
    public static final String CONCEPT_CODE_DISPOSITION = "Disposition";
    public static final String CONCEPT_CODE_ADMISSION_LOCATION = "Admission Location";
    public static final String CONCEPT_CODE_INTERNAL_TRANSFER_LOCATION = "Internal Transfer Location";
    public static final String CONCEPT_CODE_DATE_OF_DEATH = "Date of Death";
    public static final String CONCEPT_CODE_UNKNOWN_CAUSE_OF_DEATH = "Unknown Cause of Death";
    public static final String CONCEPT_CODE_ADMISSION_DECISION = "Admission Decision";
    public static final String CONCEPT_CODE_DENY_ADMISSION = "Deny Admission";
    public static final String CONCEPT_CODE_DISPOSITION_CONCEPT = "Disposition"; // seems to be a duplicate -DJ

It's fine if the names of these concepts change, as long as the codes don't.

-Darius

Andrew Kanter

unread,
Aug 5, 2014, 4:40:16 PM8/5/14
to implem...@openmrs.org
    public static final String CONCEPT_CODE_DISPOSITION_CONCEPT_SET = "Disposition Concept Set";
    public static final String CONCEPT_CODE_DISPOSITION = "Disposition";
    public static final String CONCEPT_CODE_ADMISSION_LOCATION = "Admission Location";
    public static final String CONCEPT_CODE_INTERNAL_TRANSFER_LOCATION = "Internal Transfer Location";
    public static final String CONCEPT_CODE_DATE_OF_DEATH = "Date of Death";
    public static final String CONCEPT_CODE_UNKNOWN_CAUSE_OF_DEATH = "Unknown Cause of Death";
    public static final String CONCEPT_CODE_ADMISSION_DECISION = "Admission Decision";
    public static final String CONCEPT_CODE_DENY_ADMISSION = "Deny Admission";
    public static final String CONCEPT_CODE_DISPOSITION_CONCEPT = "Disposition"; // seems to be a duplicate -DJ

Are not currently in the CIEL database. I just released a patch, but these are not in there. Can you please specify the specific concepts they are supposed to be connected to!

Andy
 
--------------------
Andrew S. Kanter, MD MPH FACMI

Asst. Prof. of Clinical Biomedical Informatics and Clinical Epidemiology
Columbia University
Email: andrew...@dbmi.columbia.edu
Mobile: +1 (646) 469-2421
Office: +1 (212) 305-4842
Skype: akanter-ippnw
Yahoo: andy_kanter


Darius Jazayeri

unread,
Aug 5, 2014, 5:27:29 PM8/5/14
to implementers
Hi Andy,

I think that those are all features we haven't yet done in the reference application, so we don't need concepts for these yet. When we eventually do, we'll ask.

Thanks for the quick turnaround on the other ones!

-Darius
Reply all
Reply to author
Forward
0 new messages