Argument magnitudeStatus is missing in the initializer and in the call to the superclass initializer.
magnitude is an derived attribute, so it does not need to appear as an argument in the initializer.
DvDate inherits from DvAbsoluteQuantity and ISO8601Date(support package). So it is necessary to implement all methods of both classes, namely:
add, subtract, diff, compare, isStrictlyComparableTo (DvAbsoluteQuantity)
asString, year, month, week, day, monthUnknown, dayUnknown, isPartial, isExtended, isValidISO8601Date (ISO8601Date) and enforce the invariants:
Year_valid: valid_year(year)
Month_valid: not month_unknown implies valid_month(month)
Day_valid: not day_unknown implies valid_day(year, month, day)
Partial_validity: month_unknown implies day_unknown