Cardinality 1..1 and mustSupport in profile

When defining a constraint on an element and changing its cardinality from 0…1 to 1…1 what is the best practice? Set min=1 or set mustSupport=true or set both? What is the essential difference between mustSupport=true and min=1?

min=1 means that the element must be present in all instances.

MustSupport = true means… whatever you say it means. Usually, what it means is that

  • if you are writing the resource, you have to provide a value if there is one (e.g. LMP for a female, blank for a male)

  • if you are reading the resource, you can’t just ignore the element if it has a value

min=1 with must-support = false sometimes makes sense - usually a fixed status value - it’s always going to present, and it’s always going to have this value for our use, and we otherwise ignore it

1 Like

Thanks for the clarification.

My typical example is Patient.deceasedDate. You wouldn’t generally want to make it 1…1 (unless your system only deals with deceased patients). But you might well make it mustSupport - you’d want systems to be able to capture, store, display and/or consider the date value as part of their processing.

2 Likes

Now it is clear, but one more question. It is said for mustSupport that “it SHALL make clear exactly what kind of support is required”. How do you make it clear? Where - in what field - do you describe the requirement?

Typically in the documentation within the implementation guide where the profile is published, but you could also include it in the narrative or the profile.description.

1 Like

Got it! Thanks a lot!