ehrbase / openEHR_SDK

A SDK to facilitate the development of openEHR applications
Other
48 stars 27 forks source link

openEHR ISO8601 is not fully supported #73

Closed chevalleyc closed 4 years ago

chevalleyc commented 4 years ago

Steps to reproduce

At the moment, Iso8601_duration is not fully supported at Archie level:

(extract from ehrbase/ehrbase#294)

The parsing of a DvDuration depends on its prefix and then is serviced by the JAVA api as follows:

"PT": Duration: 'A time-based amount of time, such as '34.5 seconds' see https://docs.oracle.com/javase/8/docs/api/java/time/Duration.html
"": Period: "A date-based amount of time in the ISO-8601 calendar system, such as '2 years, 3 months and 4 days'' see https://docs.oracle.com/javase/8/docs/api/java/time/Period.html

F.e. the expression: P12DT23H51M59S fails to be parsed (as a Period), however, an invocation of Java Duration returns a TemporalAmount as expected.

Expected result

Iso8601_duration should be fully supported as specified in https://specifications.openehr.org/releases/BASE/latest/foundation_types.html#_iso8601_duration_class

chevalleyc commented 4 years ago

Wrong repository!