Closed cmoesel closed 6 years ago
@markkramerus -- I need you to weigh in on this.
Two options: 1) Include this in a "Known Limitations" documentation section and do nothing else (since the ballot materials must be finalized by Friday, preferably Thursday since I'll be driving to Rochester in the car most of the day on Friday) 2) My preference, if we decide to fix it once and for good would be to respect the upper cardinality, and allow multiple Categories -- as in the second option.
I don't know if 1
("known limitation") is an option. It depends on how serious the FHIR team is about IG's having no errors. As it is now, this is a spec violation reported by the IG publisher.
That 2nd approach doesn't sit well with me. On further thought, I think we can use a constraint
(a.k.a. invariant
) to indicate that the first code must #disease. I'll see if I can figure out the right expression to say that.
The upside is that it doesn't affect the structure of the logical model. The downside is that the fixed code requirement isn't as easy to notice.
Fixed via an invariant:
Logical models do not support slicing (see thread1 and thread2). We can get around this in most cases, but the one remaining case is "includes code" constraints, and it manifests itself in
BreastCancerPresenceStatement
.BreastCancerPresenceStatement
specifies:Category
is0..*
, so we normally would do this by slicingCategory
and saying one must be#disease
. Since slicing is not allowed, however, we need an alternate approach when exporting to logical models.One approach would be to just allow one
category
(the fixed one) and don't allow any others to be added:Another approach, if we want to allow other codes as well, would be to have a high-level
category
section with n1..1
fixed
sub-elements and one0..*
rest
element.Any preference? Keep in mind that whatever we choose should be how we want it to be in all cases (not just this one specific
BreastCancerPresenceStatement.Categor
use case).