← Back to team overview

mlhim-specs-dev team mailing list archive

[Branch ~mlhim-specs-dev/mlhim-specs/main] Rev 264: Added documentation from the XMind template notes.

 

------------------------------------------------------------
revno: 264
committer: Timothy W. Cook <timothywayne.cook@xxxxxxxxx>
branch nick: mlhim-specs
timestamp: Sun 2012-06-03 13:27:41 -0300
message:
  Added documentation from the XMind template notes.
modified:
  schemas/ccd.xsd
  schemas/datatypes.xsd


--
lp:mlhim-specs
https://code.launchpad.net/~mlhim-specs-dev/mlhim-specs/main

Your team MLHIM Specifications Developers is subscribed to branch lp:mlhim-specs.
To unsubscribe from this branch go to https://code.launchpad.net/~mlhim-specs-dev/mlhim-specs/main/+edit-subscription
=== modified file 'schemas/ccd.xsd'
--- schemas/ccd.xsd	2012-06-03 16:06:09 +0000
+++ schemas/ccd.xsd	2012-06-03 16:27:41 +0000
@@ -1,19 +1,24 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
-xmlns:mlhim2="http://www.mlhim.org/xmls/mlhim2/2_3_0"; 
-attributeFormDefault="qualified" elementFormDefault="qualified" 
-targetNamespace="http://www.mlhim.org/xmls/mlhim2/2_3_0"; version="2.3.0">
+<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:mlhim2="http://www.mlhim.org/xmls/mlhim2/2_3_0"; attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://www.mlhim.org/xmls/mlhim2/2_3_0"; version="2.3.0">
   <xs:include schemaLocation="http://www.mlhim.org/xmls/mlhim2/2_3_0/datatypes.xsd"/>
   <xs:include schemaLocation="http://www.mlhim.org/xmls/mlhim2/2_3_0/common.xsd"/>
   <xs:include schemaLocation="http://www.mlhim.org/xmls/mlhim2/2_3_0/structures.xsd"/>
   <xs:include schemaLocation="http://www.mlhim.org/xmls/mlhim2/2_3_0/content.xsd"/>
   
-  <xs:element name="ccd" type="mlhim2:CCD"/>
+  <xs:element name="ccd" type="mlhim2:CCD">
+    <xs:annotation>
+      <xs:documentation>
+        This is the root node of a Concept Constraint Definition. You may name the file anything you wish as long as you maintain the Xmind ( .xmind ) extension.
+        
+        After saving the file; create your concept definition by copying the appropriate components from the sheets.  
+        
+      </xs:documentation>
+    </xs:annotation>
+  </xs:element>
   
   <xs:complexType name="CCD">
-  <xs:sequence>
-          <xs:element name="definition" type="mlhim2:Locatable"/>
-  </xs:sequence>
+    <xs:sequence>
+      <xs:element name="definition" type="mlhim2:Locatable"/>
+    </xs:sequence>
   </xs:complexType>
   
-</xs:schema>
+</xs:schema>
\ No newline at end of file

=== modified file 'schemas/datatypes.xsd'
--- schemas/datatypes.xsd	2012-06-03 16:06:09 +0000
+++ schemas/datatypes.xsd	2012-06-03 16:27:41 +0000
@@ -4,6 +4,12 @@
   
   
   <xs:complexType abstract="true" name="DvAny">
+    <xs:annotation>
+      <xs:documentation>
+        Serves as a common ancestor of all datatypes in MLHIM models.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:sequence>
       <xs:element maxOccurs="1" minOccurs="0" name="name">
         <xs:simpleType>
@@ -19,6 +25,15 @@
   </xs:complexType>
   
   <xs:complexType name="DvBoolean">
+    <xs:annotation>
+      <xs:documentation>
+        Items which are truly boolean data, such as true/false or yes/no answers.
+        Use for such data, it is important to devise the meanings (usually questions in subjective data) carefully, so that the only allowed results are in fact true or false.
+        Potential MisUse: The DvBoolean class should not be used as a replacement for naively modelled enumerated types such as male/female etc. Such values should be coded, and in any case the enumeration often has more than two values.
+        
+        Though the DvBoolean.dv attribute is a String type this is to easily allow responses that the user is more familiar with using in the context such as 'Yes', 'No' or 'True', 'False'.  A conversion method is required to convert the valid_trues to True and the valid_falses to False.  
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvAny">
         <xs:sequence>
@@ -31,6 +46,12 @@
   </xs:complexType>
   
   <xs:complexType name="DvURI">
+    <xs:annotation>
+      <xs:documentation>
+        Used to specify a URI.
+        Set the pattern to accommodate your needs.
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:restriction base="mlhim2:DvAny">
         <xs:sequence>
@@ -41,6 +62,11 @@
   </xs:complexType>
   
   <xs:complexType name="DvString">
+    <xs:annotation>
+      <xs:documentation>
+        The string data type can contain characters, line feeds, carriage returns, and tab characters.
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvAny">
         <xs:sequence>
@@ -53,6 +79,14 @@
   
   
   <xs:complexType name="DvNormalizedString">
+    <xs:annotation>
+      <xs:documentation>
+        Derived from the String data type.
+        
+        The normalizedString data type also contains characters, but all line feeds, carriage returns, and tab characters are removed.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:restriction base="mlhim2:DvString">
         <xs:sequence>
@@ -67,6 +101,14 @@
   </xs:complexType>
   
   <xs:complexType name="DvToken">
+    <xs:annotation>
+      <xs:documentation>
+        Derived from the String data type.
+        
+        The token data type also contains characters, but the  line feeds, carriage returns, tabs, leading and trailing spaces are removed, and multiple spaces are replaced with one space.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:restriction base="mlhim2:DvString">
         <xs:sequence>
@@ -77,6 +119,17 @@
   </xs:complexType>
   
   <xs:complexType name="DvCodedString">
+    <xs:annotation>
+      <xs:documentation>
+            A text item whose string_dv attribute must be the long name or description from a 
+            controlled terminology. 
+        
+        The key (i.e. the 'code') of which is the code_string attribute. 
+        
+        In some cases, string_dv and code_string may have the same content.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvString">
         <xs:sequence>
@@ -89,6 +142,12 @@
   </xs:complexType>
   
   <xs:complexType name="DvIdentifier">
+    <xs:annotation>
+      <xs:documentation>
+        Type for representing identifiers of real-world entities. Typical identifiers include: drivers licence number, social security number, veterans affairs number, prescription id, order id, system id and so on.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvString">
         <xs:sequence>
@@ -101,6 +160,12 @@
   </xs:complexType>
   
   <xs:complexType abstract="true" name="DvEncapsulated">
+    <xs:annotation>
+      <xs:documentation>
+        Abstract class defining the common meta-data of all types of encapsulated data.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvAny">
         <xs:sequence>
@@ -113,6 +178,13 @@
   </xs:complexType>
   
   <xs:complexType name="DvParsable">
+    <xs:annotation>
+      <xs:documentation>
+        Encapsulated data expressed as a parsable String. The internal model of the
+        data item is not described in the MLHIM model in common with other encapsulated types, but in this case, the form of the data is assumed to be plaintext, rather than compressed or other types of large binary data.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvEncapsulated">
         <xs:sequence>
@@ -124,6 +196,12 @@
   </xs:complexType>
   
   <xs:complexType name="DvMedia">
+    <xs:annotation>
+      <xs:documentation>
+        A specialisation of DvEncapsulated for audiovisual and bio-signal types. Includes further metadata relating to media types which are not applicable to other subtypes of DvEncapsulated.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvEncapsulated">
         <xs:sequence>
@@ -140,6 +218,14 @@
   </xs:complexType>
   
   <xs:complexType abstract="true" name="DvOrdered">
+    <xs:annotation>
+      <xs:documentation>
+        Abstract class defining the concept of ordered values, which includes ordinals as well as true quantities. 
+        
+        The implementations require the functions ‘&lt;’, '&gt;' and is_strictly_comparable_to ('==').  
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvAny">
         <xs:sequence>
@@ -152,6 +238,24 @@
   </xs:complexType>
   
   <xs:complexType name="DvOrdinal">
+    <xs:annotation>
+      <xs:documentation>
+        Models rankings and scores, e.g. pain, Apgar values, etc, where there is a)
+        implied ordering, b) no implication that the distance between each value is con-
+        stant, and c) the total number of values is finite. Note that although the term
+        ‘ordinal’ in mathematics means natural numbers only, here any integer is
+        allowed, since negative and zero values are often used by medical professionals
+        for values around a neutral point. Examples of sets of ordinal values:
+        -3, -2, -1, 0, 1, 2, 3 -- reflex response values
+        0, 1, 2 -- Apgar values
+        Used for recording any clinical datum which is customarily recorded using sym-
+        bolic values. Example: the results on a urinalysis strip, e.g. {neg, trace, +,
+        ++, +++} are used for leucocytes, protein, nitrites etc; for non-haemolysed
+        blood {neg, trace, moderate}; for haemolysed blood {neg, trace,
+        small, moderate, large}.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvOrdered">
         <xs:sequence>
@@ -163,6 +267,13 @@
   </xs:complexType>
   
   <xs:complexType abstract="true" name="DvQuantified">
+    <xs:annotation>
+      <xs:documentation>
+        Abstract class defining the concept of true quantified values, i.e. values which are
+        not only ordered, but which have a precise magnitude.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvOrdered">
         <xs:sequence>
@@ -178,6 +289,16 @@
   </xs:complexType>
   
   <xs:complexType name="DvCount">
+    <xs:annotation>
+      <xs:documentation>
+        Countable quantities.
+        
+        Used for countable types such as pregnancies and steps (taken by a physiotherapy patient), number of cigarettes smoked in a day, etc.
+        
+        Misuse:Not used for amounts of physical entities (which all have standardized units)
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvQuantified">
         <xs:sequence>
@@ -188,6 +309,17 @@
   </xs:complexType>
   
   <xs:complexType name="DvQuantity">
+    <xs:annotation>
+      <xs:documentation>
+        Quantitified type representing “scientific” quantities, i.e. quantities expressed as a magnitude and units.
+        Units were inspired by the Unified Code for Units of Measure (UCUM), developed by Gunther Schadow and Clement J. McDonald of The Regenstrief Institute.
+        http://unitsofmeasure.org/
+        
+        Can also be used for time durations, where it is more convenient to treat these as
+        simply a number of individual seconds, minutes, hours, days, months, years, etc.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvQuantified">
         <xs:sequence>
@@ -198,6 +330,18 @@
   </xs:complexType>
   
   <xs:complexType name="DvRatio">
+    <xs:annotation>
+      <xs:documentation>
+        Models a ratio of values, i.e. where the numerator and denominator are both pure
+        numbers. 
+        
+        Should not be used to represent things like blood pressure which are often written using a ‘/’ character, giving the misleading impression that the item is a ratio, when in fact it is a structured value.
+        Similarly, visual acuity, often written as (e.g.) “6/24” in clinical notes is not a ratio but an ordinal (which includes non-numeric symbols like CF = count fingers
+        etc).
+        Should not be used for formulations.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvQuantified">
         <xs:sequence>
@@ -211,6 +355,27 @@
   </xs:complexType>
   
   <xs:complexType name="DvRate">
+    <xs:annotation>
+      <xs:documentation>
+        Models a ratio of values, i.e. where the numerator and denominator are both pure
+        numbers, and the numerator is not contained (it is not a subset of the denominator).
+        Example 1: Numerator = Number of episodes of seizures; Denominator = Number of days
+        Example 2 = Number of hospital admissions; Denominator = Number of bed-days
+        
+        The valid_proportion_kind property of the PROPORTION_KIND class is
+        used to control the type attribute to be one of a defined set.
+        Used for recording titers (e.g. 1:128), concentration ratios, e.g. Na:K (unitary
+        denominator), albumin:creatinine ratio.
+        
+        Should not be used to represent things like blood pressure which are often written
+        using a ‘/’ character, giving the misleading impression that the item is a ratio,
+        when in fact it is a structured value.
+        Similarly, visual acuity, often written as (e.g.) “6/24” in clinical notes is not a
+        ratio but an ordinal (which includes non-numeric symbols like CF = count fingers
+        etc).
+        Should not be used for formulations.
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvRatio">
         <xs:sequence>
@@ -221,6 +386,24 @@
   </xs:complexType>
   
   <xs:complexType name="DvProportion">
+    <xs:annotation>
+      <xs:documentation>
+        Models a ratio of values, i.e. where the numerator and denominator are both pure
+        numbers. The valid_proportion_kind property of the PROPORTION_KIND class is
+        used to control the type attribute to be one of a defined set.
+        Used for recording titers (e.g. 1:128), concentration ratios, e.g. Na:K (unitary
+        denominator), albumin:creatinine ratio, and percentages, e.g. red cell distirbution
+        width (RDW).
+        
+        Should not be used to represent things like blood pressure which are often written
+        using a ‘/’ character, giving the misleading impression that the item is a ratio,
+        when in fact it is a structured value.
+        Similarly, visual acuity, often written as (e.g.) “6/24” in clinical notes is not a
+        ratio but an ordinal (which includes non-numeric symbols like CF = count fingers
+        etc).
+        Should not be used for formulations.
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvRatio">
         <xs:sequence>
@@ -231,6 +414,17 @@
   </xs:complexType>
   
   <xs:complexType name="DvInterval">
+    <xs:annotation>
+      <xs:documentation>
+        Generic class defining an interval (i.e. range) of a comparable type. An interval is
+        a contiguous subrange of a comparable base type.
+        
+        Used to define intervals of dates, times, quantities Whose units match and datatypes are the same and are ordered.
+        
+        If the implementation technology has a concept of intervals AND the technology provides for multiple inheritance,  then this class may inherit directly from it.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvAny">
         <xs:sequence>
@@ -246,6 +440,16 @@
   </xs:complexType>
   
   <xs:complexType name="ReferenceRange">
+    <xs:annotation>
+      <xs:documentation>
+        Defines a named range to be associated with any ORDERED datum. Each such
+        range is particular to the patient and context, e.g. sex, age, and any other factor
+        which affects ranges.
+        
+        May be used to represent normal, therapeutic, dangerous, critical etc ranges.
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvAny">
         <xs:sequence>
@@ -257,6 +461,12 @@
   </xs:complexType>
   
   <xs:complexType abstract="true" name="DvTemporal">
+    <xs:annotation>
+      <xs:documentation>
+        Abstract class defining the concept of date and time types. 
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:extension base="mlhim2:DvOrdered">
         <xs:sequence>
@@ -268,6 +478,23 @@
   </xs:complexType>
   
   <xs:complexType name="DvDuration">
+    <xs:annotation>
+      <xs:documentation>
+        The duration data type is used to specify a time interval.
+        
+        The time interval is specified in the following form "PnYnMnDTnHnMnS" where:
+        
+            P indicates the period (required)
+            nY indicates the number of years
+            nM indicates the number of months
+            nD indicates the number of days
+            T indicates the start of a time section (required if you are going to specify hours, minutes, or seconds)
+            nH indicates the number of hours
+            nM indicates the number of minutes
+            nS indicates the number of seconds
+        
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:restriction base="mlhim2:DvTemporal">
         <xs:sequence>
@@ -278,6 +505,13 @@
   </xs:complexType>
   
   <xs:complexType name="DvDateTime">
+    <xs:annotation>
+      <xs:documentation>
+        All dates and times representations in MLHIM use this class. Represents an absolute point in time.
+        Used for recording a precise point in real world time, and for approximate time stamps which may only be partially known.
+        All dates and times are assumed to be in the "current era"; somewhere between 0001-01-01T00:00:00Z  and 9999-12-31T23:59:59Z  AD.
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:restriction base="mlhim2:DvTemporal">
         <xs:sequence>
@@ -288,6 +522,17 @@
   </xs:complexType>
   
   <xs:complexType name="DvDate">
+    <xs:annotation>
+      <xs:documentation>
+        The date data type is used to specify a date.
+        
+        The date is specified in the following form "YYYY-MM-DD" where:
+        
+            YYYY indicates the year
+            MM indicates the month
+            DD indicates the day
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:restriction base="mlhim2:DvTemporal">
         <xs:sequence>
@@ -298,6 +543,19 @@
   </xs:complexType>
   
   <xs:complexType name="DvTime">
+    <xs:annotation>
+      <xs:documentation>
+        The time data type is used to specify a time.
+        
+        The time is specified in the following form "hh:mm:ss" where:
+        
+            hh indicates the hour
+            mm indicates the minute
+            ss indicates the second
+        
+        Note: All components are required!
+      </xs:documentation>
+    </xs:annotation>
     <xs:complexContent>
       <xs:restriction base="mlhim2:DvTemporal">
         <xs:sequence>