Stream: hapi
Topic: Profile with slice
Binu DGIT (Jan 09 2017 at 06:27):
I am struggling to send data according to a profile with slice definition for "location"
I have sliced location in encounter to "locationDept","locationBed" and "locatonClinic" and assigned 1.* cardinality for "locationDept".
I tried to send the location data as follows and still it is not recognized and giving me the error "diagnostics": "Element '/f:Encounter.location': minimum required = 1, but only found 0". Can someone help me out in formatting the json data. Profile definition is attached
"location":[{ "locationDept":[{ "location" :{ "reference":"Location/51.20068.jdn.577", "display":"GASTROENTEROLOGY" }, "status":"completed", "period":{ "start":"2011-03-24T19:25:00Z", "end":"2011-06-19T12:25:47Z" } }] }][OmEncounter.structuredefinition.xml](/user_uploads/10155/52LAH6nPry7mreJPRL8lr-Hh/OmEncounter.structuredefinition.xml) [MohLocationDept.structuredefinition.xml](/user_uploads/10155/0V0cwPYA2pfw0Ugl4ZUieuff/MohLocationDept.structuredefinition.xml) [MohLocationBed.structuredefinition.xml](/user_uploads/10155/Z1j_OoENUSmcP3rB3mQJ2Y5U/MohLocationBed.structuredefinition.xml)
Grahame Grieve (Jan 09 2017 at 06:43):
what do you do to get the error?
Binu DGIT (Jan 09 2017 at 06:44):
{ "severity": "error", "code": "processing", "diagnostics": "Element '/f:Encounter.location': minimum required = 1, but only found 0", "location": [ "/f:Encounter" ] },
Binu DGIT (Jan 09 2017 at 07:44):
Dear James,
Can you please explain how the following codes functions..?
if (discriminator.equals("url") && criteria.getPath().equals("Extension.url")) { System.out.print("First condition is over , going to check second ..."); System.out.print("element.getAttribute(url) is--> " + element.getAttribute("url")); //System.out.print("((UriType) criteria.getFixed()).asStringValue())--> " + (((UriType) criteria.getFixed()).asStringValue()))); System.out.println("second part....."); System.out.println(criteria.getFixed()); if (!element.getAttribute("url").equals(((UriType) criteria.getFixed()).asStringValue())) return false; } else { Element value = getValueForDiscriminator(element, discriminator, criteria); if (!valueMatchesCriteria(value, criteria)) return false; }
Grahame Grieve (Jan 09 2017 at 11:05):
so you are getting this error calling $validate on a HAPI server?
Grahame Grieve (Jan 09 2017 at 11:05):
which version?
Binu DGIT (Jan 09 2017 at 11:29):
I have tried slicing on identifiers as well. I can upload profiles but not able to send message successfully.
Here I tried discriminator as "system" and a fixed value ..
I have HAPI 2.0 available as FHIR server..
James Agnew (Feb 07 2017 at 11:52):
Hi @Binu DGIT . one thing to note, it would probably be worth upgrading to the latest HAPI (2.2). There are a lot of validator fixes between 2.0 and 2.2.
Binu DGIT (Feb 08 2017 at 05:03):
Thank you James for the update. Hope it is included with validation for slicing..
Last updated: Apr 12 2022 at 19:14 UTC