date-time pattern

I have received a few archetypes created with the LinkEHR editor.

In there is a dateTime pattern like this:
time existence matches {1..1} matches {???-??-??T??:??:??}

I wonder if it is a legal pattern according to the specifications. I must say that it is an EN13606 archetype.

If it is legal, then we (or me) need to change the Java-software, because at this time, it does not accept this pattern.

se.acode.openehr.parser.ParseException: Encountered " "?" "? "" at line 200, column 136.
Was expecting:
     "}" ...

     at se.acode.openehr.parser.ADLParser.generateParseException(ADLParser.java:7258)
     at se.acode.openehr.parser.ADLParser.jj_consume_token(ADLParser.java:7122)
     at se.acode.openehr.parser.ADLParser.c_attribute(ADLParser.java:2801)
     at se.acode.openehr.parser.ADLParser.c_complex_object_body(ADLParser.java:2578)
     at se.acode.openehr.parser.ADLParser.c_complex_object(ADLParser.java:2561)
     at se.acode.openehr.parser.ADLParser.c_object(ADLParser.java:2606)
     at se.acode.openeh............................................

Can someone please comment on this?

Thanks in advance
Bert

I think we changed this somewhere in the past. Now we only allow date as yyyy-mm-dd or yyyy-??-?? and times as hh:mm:ss, hh:mm:?? or hh:mm:XX (as we haven’t been able to find use cases for the all question marks dateTime).

Having said that, LinkEHR parses ???-??-??T??:??:?? but it is interpreted as yyyy-??-??

We are preparing a new version of LinkEHR lite with all these changes

I think we changed this somewhere in the past. Now we only allow date as yyyy-mm-dd or yyyy-??-?? and times as hh:mm:ss, hh:mm:?? or hh:mm:XX (as we haven't been able to find use cases for the all question marks dateTime).

Having said that, LinkEHR parses ???-??-??T??:??:?? but it is interpreted as yyyy-??-??

Ahhh, thanks, that saves me a lot of trouble. :slight_smile:
I change the archetypes accordingly

We are preparing a new version of LinkEHR lite with all these changes

please make it also 64 bit for Linux, I cannot get to run a 32 bits JVM on my machine, and I am afraid if I try too hard, maybe nothing will run after that :frowning:

Bert

it shouldn't be a legal pattern - at least year has to be specified. if you really meant to specify 'any date/time' then you want this:

time existence matches {1} matches {*}

assuming 'time' has been declared in the RM as DATE_TIME or some equivalent.

- thomas