I think a C_DURATION can add constraints over the width of the duration 
(between two given values, below given value, above given value, i.e. an 
interval, this is really for the magnitude = duration to seconds or 
milliseconds, so it will be interval<integer>, or to the string expression 
itself with regex for example.
The problem with the regex is that should be an ISO8601_DURATION valid regex, 
but more constrained, like years between 2 given years or greater than give 
year, etc. Not sure if we need this kind of (over) engineering / complexity on 
the archetypes. I would go just with constraining the magnitude width, and let 
the more specific constraints to be implemented at the software level.
IMO, we need ISO8601_DURATION to represent the internal structure, and 
C_DURATION for data constraints, to be part of DV_DURATION constraints.

-- 
Kind regards,
Eng. Pablo Pazos Gutiérrez
http://cabolabs.com

From: sebastian.ga...@oceaninformatics.com
To: openehr-technical@lists.openehr.org
Subject: RE: rm_type_name for the DV_DURATIONs primitive object in XML
Date: Fri, 18 Mar 2016 08:45:19 +0000









Yes, that seems be another possible interpretation of the specs.
So, it could be ISO8601_DURATION with a possible C_DURATION constraint 
underneath.
Or it could be a STRING with a possible C_STRING constraint underneath.
 
Semantically, it seems to be pretty much the same (because of the invariant), 
but syntactically it matters for anybody or a tooling having to deal with this.

 
I prefer it to be the first, I think, because it is clearer, and from what I 
understand this is your and Heath’s preference of what it should(!) be as well.
But for now, looking at the specs, it clearly says String  [with an 
invariant]…so it seems that that is what it needs to be changed to?

This includes changing the C_DURATION underneath to a C_STRING as well, I would 
assume across the various tools.
 
I just wonder why it was modelled that way in the specs (was it just an 
oversight, or is there a good reason such as that Duration is not (usually) an 
inbuilt datatype)
 
Cheers
Sebastian
 
 


From: pazospa...@hotmail.com [mailto:pazospa...@hotmail.com]


Sent: Donnerstag, 17. März 2016 04:03

To: Sebastian Garde <sebastian.ga...@oceaninformatics.com>; 
openehr-technical@lists.openehr.org

Subject: Re: rm_type_name for the DV_DURATIONs primitive object in XML


 

I think the primitive is string with ISO 8601 format, so ISO8601_DURATION might 
be correct.
 
Sent from my LG Mobile


------ Original message------
From: Sebastian Garde
Date: Tue, Mar 15, 2016 09:36
To: For openEHR technical discussions;
Subject:rm_type_name for the DV_DURATIONs primitive object in XML
Dear all,
 
There are a differences in how the Template Designer and how CKM construct the 
XML for a DV_Duration:
 
Take this snippet (from 
http://openehr.org/ckm/#showArchetype_1013.1.123_XML )
 
<children xsi:type="C_COMPLEX_OBJECT">
                    <rm_type_name>DV_DURATION</rm_type_name>
                    <occurrences>
                      <lower_included>true</lower_included>
                      <upper_included>true</upper_included>
                      <lower_unbounded>false</lower_unbounded>
                      <upper_unbounded>false</upper_unbounded>
                     <lower>1</lower>
                      <upper>1</upper>
                    </occurrences>
                    <node_id />
                    <attributes xsi:type="C_SINGLE_ATTRIBUTE">
                      <rm_attribute_name>value</rm_attribute_name>
                      <existence>
                        <lower_included>true</lower_included>
                        <upper_included>true</upper_included>
                        <lower_unbounded>false</lower_unbounded>
                        <upper_unbounded>false</upper_unbounded>
                        <lower>1</lower>
                        <upper>1</upper>
                      </existence>
                      <children xsi:type="C_PRIMITIVE_OBJECT">
                        <rm_type_name>DV_DURATION</rm_type_name>
                        <occurrences>
                          <lower_included>true</lower_included>
                          <upper_included>true</upper_included>
                          <lower_unbounded>false</lower_unbounded>
                          <upper_unbounded>false</upper_unbounded>
                          <lower>1</lower>
                          <upper>1</upper>
                        </occurrences>
                        <node_id />
                        <item xsi:type="C_DURATION">
                          <pattern>PMWD</pattern>
                          <range>
                            <lower_unbounded>true</lower_unbounded>
                            <upper_unbounded>true</upper_unbounded>
                          </range>
                        </item>
                      </children>
                    </attributes>
                  </children>
 
What is the correct rm_type_name for C_PRIMITIVE_OBJECT here (in old red above)?
 
Is it “DV_DURATION” as the Java Ref Impl uses or is it simply “DURATION” (both 
for reason I don’t really understand)
or should it maybe be “String” or “ISO8901_DURATION” as
http://openehr.org/releases/trunk/UML/#Architecture___18_1_83e026d_1433773264460_352968_7042
 and/or
http://openehr.org/releases/trunk/UML/#Architecture___18_1_83e026d_1422968609347_115062_25681
 describe.
 
Frankly I am confused, but I hope that someone can enlighten me here?
 
Cheers
Sebastian
 
 





_______________________________________________
openEHR-technical mailing list
openEHR-technical@lists.openehr.org
http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org   
                                  
_______________________________________________
openEHR-technical mailing list
openEHR-technical@lists.openehr.org
http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org

Reply via email to