FHIR Chat · Ingredient and Substance · implementers

Stream: implementers

Topic: Ingredient and Substance


view this post on Zulip Vassil Peytchev (Aug 11 2020 at 18:14):

Reading another stream, I looked at Ingredient and Substance.

  • Ingredient contains a BackboneElement called substance
  • Substance contains a BackboneElement called ingredient

Have there been considerations to avoid such a confusing structure?

view this post on Zulip Lloyd McKenzie (Aug 24 2020 at 00:26):

@Rik Smithies

view this post on Zulip Rik Smithies (Aug 24 2020 at 13:05):

This might look a bit confusing and amusing, but in fact it's the way the world works. An ingredient is a substance, but that substance can also be made from other things - its ingredients. It's substance, ingredient, substance, ingredient, all the way down.

view this post on Zulip Vassil Peytchev (Aug 24 2020 at 13:27):

Uhmm, you have Ingredient point to Substance, which can point to Substance, and so on, but Ingredient cannot point to Ingredient. Ingredient.substance points to Substance, yet Substance.ingredient also points to Substance...

On an unrelated note, there seem to be Coadeable References there that are still split into CodeableConcept and Reference

view this post on Zulip Rik Smithies (Aug 24 2020 at 14:10):

Yes but it is substance.ingredient.substance, not substance.substance. It follows the 1-2-1 pattern.

It is never (conceptually) ingredient to ingredient, or substance to substance.

The backbone called Ingredient.substance with a reference to a Substance resource, is just one substance, not a substance to substance link.

It's just a way of glueing the substance to the ingredient. The backbone is unfortunate, but it is needed because the strength is connected to the substance, not to the ingredient.

Re codeable references, yes there are probably some that can be improved, thanks.


Last updated: Apr 12 2022 at 19:14 UTC