Changes between Initial Version and Version 1 of openEHR XML-schemas - Release 1.0.1


Ignore:
Timestamp:
Aug 6, 2007, 8:13:01 PM (17 years ago)
Author:
KOBAYASHI, Shinji
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • openEHR XML-schemas - Release 1.0.1

    v1 v1  
     1openEHR XML-schemas - Release 1.0.1
     2Overview
     3This page provides access to the W3C XML schemas for the openEHR Reference Model (RM) and Archetype Model (AM).
     4Stable Schemas
     5For the RM, separate schemas have been created, as follows:
     6
     7    * Basic types - types from rm.data_types and rm.support.identification packages. (xsd file)
     8    * Structure - types from rm.data_structures and rm.common.generic packages. (xsd file)
     9    * Resource - types from the rm.common.resource package (xsd file)
     10    * Content - item, Section, Entry and all subtypes. (xsd file)
     11    * Composition - rm.composition. (xsd file)
     12    * Version - the Version classes from rm.common.change_control (xsd file)
     13
     14For the AM, two schemas are provided:
     15
     16    * Archetype - types from the Archetype Object Model (AOM) (xsd file)
     17    * OpenehrProfile - types from the openEHR Archetype Profile package (xsd file)
     18
     19Schemas in Development
     20Two further schemas are in the draft stage, and are under active development:
     21
     22    * Extract - types from rm.extract package (xsd file)
     23    * Template - (coming soon)
     24
     25Transformation Rules
     26The following mapping rules were used in order to create the schema from the reference model.
     27Basic type mappings
     28The basic types utilise the internal XML simpleTypes in accordance with the assumed types section in the Support IM.  Some changes have been made to the reference model to accommodate these standards.
     29Reference model type
     30       
     31XML Schema complexType
     32DV_DATE_TIME    value is of type Iso8601DateTime, a restriction of xs:string, matching regular expression
     33\d{4}((0[1-9]|1[0-2])((0[1-9]|[12]\d|3[01])(T?([01]\d|2[0-3])([0-5]\d([0-5]\d([,.]\d+)?)?)?(Z|([+\-]((0\d)|(1[0-2]))(00|30)?))?)?)?)?|
     34\d{4}(\-(0[1-9]|1[0-2])(\-(0[1-9]|[12]\d|3[01])(T([01]\d|2[0-3])(:[0-5]\d(:[0-5]\d([,.]\d+)?)?)?(Z|([+\-]((0\d)|(1[0-2]))(:(00|30))?))?)?)?)?
     35DV_DATE         value is of type Iso8601Date, a restriction of xs:string, matching regular expression
     36\d{4}((((0[1-9])|(1[0-2]))((0[1-9])|([12]\d)|(3[01]))?)?
     37|(\-(((0[1-9])|(1[0-2]))(\-((0[1-9])|([12]\d)|(3[01])))?)?)?)
     38DV_TIME         value is of type Iso8601Time, a restriction of xs:string, matching regular expression
     39([01]\d|2[0-3])([0-5]\d([0-5]\d([,.]\d+)?)?)?(Z|([+\-]((0\d)|(1[0-2]))(00|30)?))?|
     40([01]\d|2[0-3])(:[0-5]\d(:[0-5]\d([,.]\d+)?)?)?(Z|([+\-]((0\d)|(1[0-2]))(:(00|30))?))?
     41DV_DURATION     value is of type DV_Iso8601Duration, a restriction of xs:string, matching regular expression
     42P(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(\d+H)?(\d+M)?(\d+(\.\d+)?S)?)?
     43Generic types
     44The openEHR reference model makes use of generic types - including DV_INTERVAL<T> (Data types IM) and VERSION<T> (Common IM) for example. As generic types are now available in C# and Java this is warranted for implementation specifications. Generic types are not available in XML Schema, so specific types prefixed with 'XS_' have been created to provide the same constraints.
     45Reference model type
     46       
     47XML Schema complexType
     48Interval<Integer>       IntervalOfInteger (BaseTypes.xsd)
     49Interval<Real>  IntervalOfReal (BaseTypes.xsd)
     50Interval<Date>  IntervalOfDate (BaseTypes.xsd)
     51Interval<Time>  IntervalOfTime (BaseTypes.xsd)
     52Interval<DateTime>      IntervalOfDateTime (BaseTypes.xsd)
     53Interval<Duration>      IntervalOfDuration (BaseTypes.xsd)
     54DV_INTERVAL<DV_ORDERED>         only one type is used, namely DV_INTERVAL, with lower and upper of type DV_ORDERED. Software implementations
     55of the relevant generic types (DV_INTERVAL<DV_DATE> etc) are expected to implement further typing sensibly.
     56(BaseTypes.xsd)
     57VERSION<T>      only one type is used, namely VERSION. The subtype ORIGINAL_VERSION has its data attribute of type LOCATABLE
     58(Version.xsd)
     59
     60Multiple Inheritance
     61There are a couple of places where multiple inheritance occurs in the openEHR reference model. In all cases, only one inheritance branch corresponds to subtyping in the substitutability (i.e. 'is-a') sense; the other branches are always 'facility'  or 'mix-in' inheritance. In the RM, classes inheriting in this way include rm.data_types.quantity.DV_INTERVAL and the rm.data_types.quantity.date_time classes. The latter inherit only interface, which has no visibility in XML-schema. For the former, the inheritance of Interval<T> by DV_INTERVAL<T> is done in the schema simply by direct inclusion, since the other branch of inheritance (of DATA_VALUE) is the one which must be visible to schema processing.
     62Non-included classes and attributes
     63The following RM classes are not included in the schema, as they are not needed in the data view: UID, UUID, INTERNET_ID, ISO_OID, and VERSION_TREE_ID.
     64UID and its subtypes are not needed because OBJECT_ID has a value attribute of type string and its subtypes have a function that return a UID.
     65Added attributes
     66None in the current release.
     67Conditional Rules
     68In instance data, LOCATABLE.archetype_details (of type ARCHETYPED) is only included when template_id exists, since the archetype_id attribute from ARCHETYPED is included by default as the value of LOCATABLE.archetype_node_id on archetype root-point LOCATABLE instances (top of a SECTION structure, OBSERVATION structure etc).
     69XML Attributes and Elements
     70XML attributes are not used with the exception of the LOCATABLE.archetype_node_id RM attribute, which is, from the point of view of RM classes, true meta-data. Making it an attribute allows archetype paths to be easily mapped to Xpaths.
     71Acknowledgements
     72This work was carried out for the openEHR Foundation  by Ocean Informatics. Many thanks to Dr Chunlan Ma, Heath Frankel and Lisa Thurston for maintaining the openEHR schemas. Thanks to the many people in the community including Mattias Forss and Andrew Patterson, who have provided feedback and improved them $LastChangedDate: 2006-02-15 05:57:48 +0930 (Wed, 15 Feb 2006) $   $LastChangedRevision$