I only just noticed this post from a few months ago.....

the problem highlighted by David is a slight anomaly in the modelling, 
because the concrete type of DV_DATE is indeed a String, but one whose 
pattern is constrained to be an ISO8601 Date. We constrain it with a 
C_DATE which should technically constrain some object of 'DATE' type. In 
teh ADL 1.5 spec this has been corrected so that C_DATE is defined 
explicitly as a constrainer for ISO8601_DATE. I realise the types do not 
quite match up, and this is because of the anomaly of a) using a strinng 
to represent a proper type - which is what ISO8601 does, and is also 
convenient since a String is easier to manage than some structured type 
b) but treating itas if it were a proper type.

Getting around this would require making the ISO8601_DATE types etc 
direct subtypes of the String class, which is not a particularly 
desirable thing to do.

In the ADL 1.5 Archetype workbench, I have a substitution table for 
String/ISO8601 types, to deal with this anomaly.

- thomas beale


On 16/11/2009 10:01, David Moner wrote:
> Dear Heath,
>
> The problem I?m focusing is an incorrectness regarding the dual model 
> methodology rules.
>
> If in a reference model we have an attribute of the type ?String?, an 
> archetype constraining it must be a C_String instance from the 
> archetype model. If we had an attribute of the type ?Date?, then the 
> correct AOM class to constraint it would be a C_Date.
>
> The problem here is that in the reference model we have a ?String? 
> attribute (the ?value? attribute of the DV_DATE) but the generated 
> archetypes use a C_Date class to constraint it instead using a 
> C_String. Here is the mismatch. Following the principles of the dual 
> model approach we cannot consider that a valid archetype with regard 
> to the underlying reference model.
>
>
> 2009/11/16 Heath Frankel <heath.frankel at oceaninformatics.com 
> <mailto:heath.frankel at oceaninformatics.com>>
>
>     Hi David,
>
>     There is nothing wrong in the openEHR specifications or the Ocean
>     Archetype Editor?s construction of the ADL representation of an
>     ELEMENT of type DV_DATE.
>
>     The RM specifies the DV_DATE class as having a value attribute of
>     type string that represents an ISO8601 date, which supports
>     partial dates, e.g. ?1934-05? or ?1934? (also note that ?193405?
>     is also a valid ISO8601 representation of ?1934-05?).  These
>     partial dates are not supported by XML?s xs:date and hence it has
>     not been used in the schema.
>
>     The constraint specified in the ADL fragment you have provided
>     below is a further constraint on this ISO8601 representation, as
>     specified in
>     http://www.openehr.org/releases/1.0.2/architecture/am/adl.pdf
>     section 5.4.6.1.  This particular constraint indicates that the
>     month is optional and day is not to be provided, so valid date
>     must be a partial date like the examples above.
>
>     What Java Parser are you using?  Are you sure that the parser is
>     not producing a DvDate object that represents the value attribute
>     of the ELEMENT, which itself has a value attribute which has a
>     constrained string representation of a partial date?
>
>     Regards
>
>     Heath
>
>     Heath Frankel
>
>     Product Development Manager
>
>     Ocean Informatics
>
>     heath.frankel at oceaninformatics.com
>     <mailto:heath.frankel at oceaninformatics.com>
>
>     +61 (0) 8 7127 5574
>
>     *From:* openehr-technical-bounces at openehr.org
>     <mailto:openehr-technical-bounces at openehr.org>
>     [mailto:openehr-technical-bounces at openehr.org
>     <mailto:openehr-technical-bounces at openehr.org>] *On Behalf Of
>     *David Moner
>     *Sent:* Friday, 13 November 2009 9:09 PM
>
>     *To:* For openEHR technical discussions
>     *Subject:* DV_DATE definition mismatch
>
>     Hello everybody,
>
>     I have detected what it seems a mismatch between the DV_DATE
>     definition of the reference model and the ADL parser/AOM model
>     specifications.
>
>     At the RM, the DV_DATE value is defined as a String constrained as
>     an ISO8601 pattern. This is both at the RM specification and at
>     the XML Schema.
>
>     Following the ADL/AOM specifications, something such as (this code
>     has been generated by the Ocean Archetype Editor)
>                                 DV_DATE matches {
>                                     value matches {yyyy-??-XX}
>                                 }
>     will be parsed as a C_Primitive_Object of the type Date (in fact,
>     DvDate at the java parser that I use).
>
>     The problem then is that the DvDate type parsed does not
>     correspond to the String definition of the RM, generating then a
>     non valid archetype that does not correspond to the RM.
>
>     There are two possible solutions. Or the RM is changed to
>     represent correctly the DV_DATE value as a "xs:date" type with the
>     appropriate ISO8601 facet or the archetypes should take the form
>                                value matches {"yyyy-??-XX"}
>     to be parsed as a String according to the RM definition.
>
>     I'm right with this?
>
>     -- 
>     David Moner Cano
>     Grupo de Inform?tica Biom?dica - IBIME
>     Instituto ITACA
>     http://www.ibime.upv.es
>
>     Universidad Polit?cnica de Valencia (UPV)
>     Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta
>     Valencia ? 46022 (Espa?a)
>
>
>     _______________________________________________
>     openEHR-technical mailing list
>     openEHR-technical at openehr.org <mailto:openEHR-technical at openehr.org>
>     http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
>
>
>
>
> -- 
> David Moner Cano
> Grupo de Inform?tica Biom?dica - IBIME
> Instituto ITACA
> http://www.ibime.upv.es
>
> Universidad Polit?cnica de Valencia (UPV)
> Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta
> Valencia ? 46022 (Espa?a)
>
>
> _______________________________________________
> openEHR-technical mailing list
> openEHR-technical at openehr.org
> http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
>    


-- 
Ocean Informatics       *Thomas Beale
Chief Technology Officer, Ocean Informatics 
<http://www.oceaninformatics.com/>*

Chair Architectural Review Board, /open/EHR Foundation 
<http://www.openehr.org/>
Honorary Research Fellow, University College London 
<http://www.chime.ucl.ac.uk/>
Chartered IT Professional Fellow, BCS, British Computer Society 
<http://www.bcs.org.uk/>
Health IT blog <http://www.wolandscat.net/>


*
*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20100215/280617f2/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ocean_full_small.jpg
Type: image/jpeg
Size: 5828 bytes
Desc: not available
URL: 
<http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20100215/280617f2/attachment.jpg>

Reply via email to