POST Data From Android Device

@pascal : Suppose if i want to add a visit note in Encounter , how can can I proceed ? I don’t know that against which parameter shall I pass the Primary Diagnosis ?

where i know is only : “encounterType”: “67a71486-1a54-468f-ac3e-7091a9a79584”, //encounterType for visit note “form”: “c75f120a-04ec-11e3-8780-2b40bef9a44b”, // form type for visit note.

can anyone help me out to post Visit Note ? {

“startDatetime”: “2016-07-26T19:31:49+05:30”, “stopDatetime”: “2016-07-27T15:13:49+05:30”, “encounters”: [{ “obs”: [{ “concept”: “159947AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA”, “person”: “a82630b9-a0b4-401d-98a8-ba9a556948c2”, “obsDatetime”: “2016-07-26T19:31:49+05:30”, “comment”: “mild fever” }], “patient”: “a82630b9-a0b4-401d-98a8-ba9a556948c2”, “encounterType”: “d7151f82-c1f3-4152-a605-2f9ea7414a79”, “encounterDatetime”: “2016-07-26T19:31:49+05:30”, “form” :“c75f120a-04ec-11e3-8780-2b40bef9a44b” }], “patient”: “a82630b9-a0b4-401d-98a8-ba9a556948c2”, “visitType”: “7b0f5697-27e3-40c4-8bae-f4049abfb4ed”, “location” : “b1a8b05e-3542-4037-bbd3-998ee9c40574”

}

when i get the error on ui screen as ::

UI Framework Error

Root Error java.lang.IllegalArgumentException: Obs group doesn’t contain a coded or non-coded diagnosis: Obs #573 at org.openmrs.module.emrapi.diagnosis.DiagnosisMetadata.toDiagnosis(DiagnosisMetadata.java:150) at org.openmrs.module.coreapps.htmlformentry.EncounterDiagnosesElement.getExistingDiagnoses(EncounterDiagnosesElement.java:258) at org.openmrs.module.coreapps.htmlformentry.EncounterDiagnosesElement.generateHtml(EncounterDiagnosesElement.java:83) at org.openmrs.module.coreapps.htmlformentry.EncounterDiagnosesTagHandler.getSubstitution(EncounterDiagnosesTagHandler.java:97) at org.openmrs.module.htmlformentry.handler.SubstitutionTagHandler.doStartTag(SubstitutionTagHandler.java:39) at org.openmrs.module.htmlformentry.HtmlFormEntryGenerator.applyTagsHelper(HtmlFormEntryGenerator.java:516) at org.openmrs.module.htmlformentry.HtmlFormEntryGenerator.applyTagsHelper(HtmlFormEntryGenerator.java:533) at org.openmrs.module.htmlformentry.HtmlFormEntryGenerator.applyTagsHelper(HtmlFormEntryGenerator.java:533) at org.openmrs.module.htmlformentry.HtmlFormEntryGenerator.applyTags(HtmlFormEntryGenerator.java:489) at org.openmrs.module.htmlformentry.FormEntrySession.createForm(FormEntrySession.java:410) at org.openmrs.module.htmlformentry.FormEntrySession.getHtmlToDisplay(FormEntrySession.java:764) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233) at groovy.lang.MetaClassImpl$GetBeanMethodMetaProperty.getProperty(MetaClassImpl.java:3468) at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:61) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:235) at SimpleTemplateScript41.run(SimpleTemplateScript41.groovy:133) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:165) at groovy.text.SimpleTemplateEngine$SimpleTemplate$1.toString(SimpleTemplateEngine.java:177) at org.openmrs.ui.framework.fragment.GroovyFragmentView.render(GroovyFragmentView.java:46) at org.openmrs.ui.framework.fragment.FragmentFactory.processThisFragment(FragmentFactory.java:187) at org.openmrs.ui.framework.fragment.FragmentFactory.process(FragmentFactory.java:116) at org.openmrs.ui.framework.page.PageContext.includeFragment(PageContext.java:75) at org.openmrs.ui.framework.UiUtils.includeFragment(UiUtils.java:157) at sun.reflect.GeneratedMethodAccessor2436.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUn

Offhand, without looking at the code, I expect the problem is that the server (specifically the emrapi module) needs to be configured so it knows which concepts to use to store diagnoses. Specifically, you need a concept set where the grouping concept has a mapping “org.openmrs.module.emrapi:Diagnosis Concept Set”. And that set needs set members for “org.openmrs.module.emrapi:Coded Diagnosis” and “org.openmrs.module.emrapi:Non-Coded Diagnosis” (if you’re using the CIEL dictionary this is already done)

Further, the obs you’re posting need to conform to this structure, and your example POST doesn’t. (I.e. you need an obs group for the whole diagnosis, that contains an obs for the “mild fever” observation. This shouldn’t be in the comment field.)

1 Like