Must-Support-Flags


Wann wird ein Must-Support-Flag gesetzt?

Laut den KBV Design Rules muss ein Feld ein Must-Support-Flag bekommen, wenn...

  • das Feld mit einer Kardinalität von 1..1 oder 1..* profiliert wurde

    (Ausnahme: .meta und alle Subelemenete dürfen keinen den Must-Support-Flag haben),

  • das Feld gegenüber der Basis-Ressource (von der die Ressource abgeleitet wurde) geändert wurde,

  • das Feld hierarchisch über einem Element liegt, das mit Must-Support markiert wurde,

  • das Feld den Typ Reference hat,

  • es sich um das Feld Reference.reference handelt,

  • es sich um das Basis-Element eines Slices mit Must-Support-Flag handelt,

  • es sich um ein Choice Element (z.B. value[x]) handelt, bei dem eine Ausprägung eines Type Choice Elements (z.B. valueString) ein Must-Support-Flag hat oder

  • es sich um ein Subelement eines Codings handelt

    (Ausnahme: Subelemente mit einer Kardinalität von 0..0).


Was bedeutet ein Must-Support-Flag für Implementierende?

Wenn ein Element mit Must-Support-Flag gefüllt ist, muss das verarbeitende System den/die enthaltenen Wert/e interpretieren, ggf. persistieren und an den User ausgeben können. Dies gilt auch für optionale Werte (mit einer Mindest-Kardinalität von 0), da es sein kann, dass das Element nicht immer befüllt werden kann, die darin enthaltene Information (wenn vorhanden) aber sehr wichtig ist.

Im vorliegenden Projekt gibt es aktuell nur ein Element, auf welches dies zutrifft: OperationOutcome.issue.diagnostics (siehe OperationOutcome für den Fehlerfall). Tritt ein Fehler auf, kommt ein Fehlercode mit entsprechender Fehlermeldung (siehe OperationOutcome.issue.details) zurück; diese liegen immer vor und sind daher jeweils mit 1..1 profiliert. Es besteht aber auch die Möglichkeit, dass darüber hinaus noch weitere Informationen zum aufgetretenen Fehler relevant sind - diese werden dann im Feld diagnostics gespeichert und zurückgegeben. Da in vielen Fällen die Fehlermeldung ausreicht, ist diagnostics mit 0..1 profiliert und damit ein optionales Element.

Im zuvor beschriebenen Fall ist die optionale Information nur für den Implementierenden relevant. Künftig könnte es aber auch optionale Elemente mit Must-Support-Flag geben, die für den User relevant sind.