We potentially should also upgrade DV_DATE_TIME.magnitude from Real to Double, to accommodate the precision (significant digits) required to properly represent seconds since the origin point.
Change made to Release-1.0.3-TB branch of specifications-RM repo.
This change does not resolve the original problem highlighted in the first comment of where we can get a negative magnitude for a 0001-01-01T00:00:00 when it is considered in the timezone of +10:00 since this is considered as 10 hours before 0001-01-01T00:00:00Z.
If you insist on leaving this as the origin, then we need to make it clear that the origin is in UTC and any date times prior to this origin are not allowed.
I would suggest that 1800-01-01 would be a reasonable origin in healthcare.
Use : '0001-01-01T00:00:00Z'
I have made further adjustments in the class definitions, to include the reference data/time 0001-01-01T00:00:00Z, and also to change DV_DATE_TIME.magnitude type to Double, which I missed before. The changes are in the usual place, and inspectable via the links under the 'Activity' tab.