FHIR / fhir-tools-ig

This FHIR Implementation Guide documents the extensions used by the FHIR tooling internally
Other
2 stars 4 forks source link

Need a way to indicate that an element is a JSON object with arbitrary properties #6

Open lmckenzi opened 1 year ago

lmckenzi commented 1 year ago

In CRD, there's an extension (https://build.fhir.org/ig/HL7/davinci-crd/deviations.html#hook-configuration-extension) that allows arbitrary children. (What's allowed is actually determined by a different extension returned in a different call.) I need a way to declare a type to essentially be "JSONObject" and have that work, or something similar.

grahamegrieve commented 1 year ago

I thought this is already defined here: https://build.fhir.org/ig/FHIR/fhir-tools-ig/StructureDefinition-CDSHooksExtension-DaVinci-configoptions.html

lmckenzi commented 1 year ago

No. That one has specific named children. There's a companion extension that appears on the hook rather than the service look-up. The service look-up extension has specific named properties. The one on the hook invocation itself is open-ended. It can contain any property you like - specifically anything that the payer listed as a candidate in the values they listed in the configuration hook. So I need a different capability - one where I can say "this can contain anything" rather than listing specific content.

I also need a way for the 'root' of a CDS hook extension to just be a simple type - no children.

grahamegrieve commented 1 year ago

"just anything" doesn't sound very useful, really. Why both describing it?

lmckenzi commented 1 year ago

From a validation perspective, I need to be able to say: "This element, with this name, can appear 'here', and beneath it can be anything".