Details
-
Bug
-
Resolution: Done
-
Major
-
Data Standard v2.0
-
None
Description
Summary of outcomes for Data Standard 2.1
- Problem Addressed: BellSchedule can only accommodate one CalendarDate due to the cardinality (1:1) of the CalendarDate reference.
- High-level Reasoning: This was traced back to a suspected error in the drafting of version 2.0 with a belief that the cardinality of the CalendarDate reference was intended to allow for multiple dates. As a result of this error, it is impossible to accurately identify the dates for which a BellSchedule is active.
- Changes Made: Removed the reference to CalendarDate domain entity and replaced it with an optional collection of date fields named "Date" with the annotation "The dates for which the BellSchedule applies."
Original ticket description follows:
BellSchedule is intended to function by having an array of CalendarDates that describe the dates for which that BellSchedule is active. In the Ed-Fi UML model, this is captured correctly. However, in the XDS's the reference becomes 1:1 and the dictionary meaning changes to "the first calendar date." (This error gets replicated downstream in the Ed-Fi ODS APIs as well).
As a result of this error, it is impossible to accurately identify the dates for which a BellSchedule is active. One consequence has been that extensions to account for this limitation (seen in the TN data model).
The model needs to be fixed to allow for a BellSchedule to have 0 or more CalendarDates attached, and the definition of those CalendarDates changes to "The calendar dates for which the BellSchedule applies."
Design
- BellSchedule.CalendarDateReference to be changed to BellSchedule.CalendarDate (it is no longer a reference to a single entity)
- BellSchedule.CalendarDate to have a cardinality of 0..∞
- Change the CalendarDate collection to have the annotation "The calendar dates for which the BellSchedule applies."
Alternates considered
None - the model seems to be broken. The direction is to test the current, fixed model in the field.
Breaking change summary
The change will break existing API and bulk integrations, but none are known. All implementations we have looked at do not use this entity, and in fact may be working around the limitations caused by this problem.
Business logic
Transform existing CalendarDateReference into the first item of the BellSchedule.CalendarDate or the item could be discarded.
Attachments
Issue Links
- covers
-
DATASTD-915 Address Tennessee workaround for Ed-Fi calendar and BellSchedule limitations
- Closed
- relates to
-
DATASTD-364 Unable to identify the days an Intervention meets and the time of day it meets
- Closed
-
DATASTD-586 Section does not account for meeting multiple times
- Closed