Updates to REAL validation

Removed REAL value constraint as IVL_REAL inherits
Modifed high and lows of IVL_REAL
diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.ecore b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.ecore
index 7c2aa8e..58907c6 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.ecore
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.ecore
@@ -1853,25 +1853,6 @@
         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="REAL" eSuperTypes="#//QTY">
-    <eOperations name="REAL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/uml2/1.1.0/GenModel">
-        <details key="body" value="(self.isNullFlavorDefined() or self.isDefined('value')) and not(self.isNullFlavorDefined() and self.isDefined('value'))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="setValue" ordered="false" lowerBound="1">
       <eParameters name="newValue" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
     </eOperations>
@@ -2547,11 +2528,11 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="low" ordered="false" eType="#//IVL_REAL"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="low" ordered="false" eType="#//IVXB_REAL"
         containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="center" ordered="false"
         eType="#//REAL" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="high" ordered="false" eType="#//IVL_REAL"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="high" ordered="false" eType="#//IVXB_REAL"
         containment="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="width" ordered="false"
         eType="#//REAL" containment="true"/>
diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.genmodel b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.genmodel
index 7147af5..a95cce2 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.genmodel
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.genmodel
@@ -604,10 +604,6 @@
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="datatypes.ecore#//REAL">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute datatypes.ecore#//REAL/value"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="datatypes.ecore#//REAL/REAL">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="datatypes.ecore#//REAL/REAL/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="datatypes.ecore#//REAL/REAL/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="datatypes.ecore#//REAL/setValue">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="datatypes.ecore#//REAL/setValue/newValue"/>
       </genOperations>
diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.uml b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.uml
index df98112..04076e7 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.uml
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/model/datatypes.uml
@@ -1020,12 +1020,6 @@
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_oSKNAD53Ed6cla2oXsPtlA" name="REAL">
-      <ownedRule xmi:id="_l0Bg4E8zEeCPKdtRJ_I6Zg" name="REAL">
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_nN4PwE8zEeCPKdtRJ_I6Zg">
-          <language>OCL</language>
-          <body>(self.isNullFlavorDefined() or self.isDefined('value')) and not(self.isNullFlavorDefined() and self.isDefined('value'))</body>
-        </specification>
-      </ownedRule>
       <generalization xmi:id="_pktaAD53Ed6cla2oXsPtlA" general="_O-oXcD5wEd6cla2oXsPtlA"/>
       <ownedAttribute xmi:id="_p6UdoD53Ed6cla2oXsPtlA" name="value" visibility="private">
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBigDecimal"/>
@@ -1549,7 +1543,7 @@
         </specification>
       </ownedRule>
       <generalization xmi:id="_66baqfbgEeup8bAQnVvUVg" general="_k4LEYPbgEeup8bAQnVvUVg"/>
-      <ownedAttribute xmi:id="_66baqvbgEeup8bAQnVvUVg" name="low" visibility="private" type="_66baoPbgEeup8bAQnVvUVg" aggregation="composite">
+      <ownedAttribute xmi:id="_66baqvbgEeup8bAQnVvUVg" name="low" visibility="private" type="_1PYjYPbgEeup8bAQnVvUVg" aggregation="composite">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_66baq_bgEeup8bAQnVvUVg"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_66barPbgEeup8bAQnVvUVg" value="1"/>
       </ownedAttribute>
@@ -1557,7 +1551,7 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_66barvbgEeup8bAQnVvUVg"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_66bar_bgEeup8bAQnVvUVg" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_66basPbgEeup8bAQnVvUVg" name="high" visibility="private" type="_66baoPbgEeup8bAQnVvUVg" aggregation="composite">
+      <ownedAttribute xmi:id="_66basPbgEeup8bAQnVvUVg" name="high" visibility="private" type="_1PYjYPbgEeup8bAQnVvUVg" aggregation="composite">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_66basfbgEeup8bAQnVvUVg"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_66basvbgEeup8bAQnVvUVg" value="1"/>
       </ownedAttribute>
diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/IVL_REAL.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/IVL_REAL.java
index c2d318a..6ddf845 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/IVL_REAL.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/IVL_REAL.java
@@ -31,12 +31,12 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>Low</em>' containment reference.
-	 * @see #setLow(IVL_REAL)
+	 * @see #setLow(IVXB_REAL)
 	 * @see org.eclipse.mdht.uml.hl7.datatypes.DatatypesPackage#getIVL_REAL_Low()
 	 * @model containment="true" ordered="false"
 	 * @generated
 	 */
-	IVL_REAL getLow();
+	IVXB_REAL getLow();
 
 	/**
 	 * Sets the value of the '{@link org.eclipse.mdht.uml.hl7.datatypes.IVL_REAL#getLow <em>Low</em>}' containment reference.
@@ -46,7 +46,7 @@
 	 * @see #getLow()
 	 * @generated
 	 */
-	void setLow(IVL_REAL value);
+	void setLow(IVXB_REAL value);
 
 	/**
 	 * Returns the value of the '<em><b>Center</b></em>' containment reference.
@@ -75,12 +75,12 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the value of the '<em>High</em>' containment reference.
-	 * @see #setHigh(IVL_REAL)
+	 * @see #setHigh(IVXB_REAL)
 	 * @see org.eclipse.mdht.uml.hl7.datatypes.DatatypesPackage#getIVL_REAL_High()
 	 * @model containment="true" ordered="false"
 	 * @generated
 	 */
-	IVL_REAL getHigh();
+	IVXB_REAL getHigh();
 
 	/**
 	 * Sets the value of the '{@link org.eclipse.mdht.uml.hl7.datatypes.IVL_REAL#getHigh <em>High</em>}' containment reference.
@@ -90,7 +90,7 @@
 	 * @see #getHigh()
 	 * @generated
 	 */
-	void setHigh(IVL_REAL value);
+	void setHigh(IVXB_REAL value);
 
 	/**
 	 * Returns the value of the '<em><b>Width</b></em>' containment reference.
diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/REAL.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/REAL.java
index d958003..42283ba 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/REAL.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/REAL.java
@@ -11,9 +11,6 @@
 package org.eclipse.mdht.uml.hl7.datatypes;

 

 import java.math.BigDecimal;

-import java.util.Map;

-

-import org.eclipse.emf.common.util.DiagnosticChain;

 

 /**

  * <!-- begin-user-doc -->

@@ -61,18 +58,6 @@
 	/**

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

-	 * <!-- begin-model-doc -->

-	 * @param diagnostics The chain of diagnostics to which problems are to be appended.

-	 * @param context The cache of context-specific information.

-	 * <!-- end-model-doc -->

-	 * @model annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='(self.isNullFlavorDefined() or self.isDefined(\'value\')) and not(self.isNullFlavorDefined() and self.isDefined(\'value\'))'"

-	 * @generated

-	 */

-	boolean validateREAL(DiagnosticChain diagnostics, Map<Object, Object> context);

-

-	/**

-	 * <!-- begin-user-doc -->

-	 * <!-- end-user-doc -->

 	 * @model newValueRequired="true" newValueOrdered="false"

 	 * @generated

 	 */

diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/DatatypesPackageImpl.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/DatatypesPackageImpl.java
index ef0a24d..0505942 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/DatatypesPackageImpl.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/DatatypesPackageImpl.java
@@ -3724,15 +3724,6 @@
 			org.eclipse.mdht.uml.hl7.datatypes.REAL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

 			!IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

 

-		op = addEOperation(realEClass, ecorePackage.getEBoolean(), "validateREAL", 0, 1, IS_UNIQUE, IS_ORDERED);

-		addEParameter(op, ecorePackage.getEDiagnosticChain(), "diagnostics", 0, 1, IS_UNIQUE, IS_ORDERED);

-		g1 = createEGenericType(ecorePackage.getEMap());

-		g2 = createEGenericType(ecorePackage.getEJavaObject());

-		g1.getETypeArguments().add(g2);

-		g2 = createEGenericType(ecorePackage.getEJavaObject());

-		g1.getETypeArguments().add(g2);

-		addEParameter(op, g1, "context", 0, 1, IS_UNIQUE, IS_ORDERED);

-

 		op = addEOperation(realEClass, null, "setValue", 1, 1, IS_UNIQUE, !IS_ORDERED);

 		addEParameter(op, ecorePackage.getEDoubleObject(), "newValue", 1, 1, IS_UNIQUE, !IS_ORDERED);

 

@@ -4141,7 +4132,7 @@
 			ivL_REALEClass, org.eclipse.mdht.uml.hl7.datatypes.IVL_REAL.class, "IVL_REAL", !IS_ABSTRACT, !IS_INTERFACE,

 			IS_GENERATED_INSTANCE_CLASS);

 		initEReference(

-			getIVL_REAL_Low(), this.getIVL_REAL(), null, "low", null, 0, 1,

+			getIVL_REAL_Low(), this.getIVXB_REAL(), null, "low", null, 0, 1,

 			org.eclipse.mdht.uml.hl7.datatypes.IVL_REAL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

 			!IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

 		initEReference(

@@ -4149,7 +4140,7 @@
 			org.eclipse.mdht.uml.hl7.datatypes.IVL_REAL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

 			!IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

 		initEReference(

-			getIVL_REAL_High(), this.getIVL_REAL(), null, "high", null, 0, 1,

+			getIVL_REAL_High(), this.getIVXB_REAL(), null, "high", null, 0, 1,

 			org.eclipse.mdht.uml.hl7.datatypes.IVL_REAL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

 			!IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

 		initEReference(

diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/IVL_REALImpl.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/IVL_REALImpl.java
index 752edb3..763dad5 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/IVL_REALImpl.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/IVL_REALImpl.java
@@ -16,6 +16,7 @@
 
 import org.eclipse.mdht.uml.hl7.datatypes.DatatypesPackage;
 import org.eclipse.mdht.uml.hl7.datatypes.IVL_REAL;
+import org.eclipse.mdht.uml.hl7.datatypes.IVXB_REAL;
 import org.eclipse.mdht.uml.hl7.datatypes.REAL;
 
 import org.eclipse.mdht.uml.hl7.datatypes.operations.IVL_REALOperations;
@@ -45,7 +46,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected IVL_REAL low;
+	protected IVXB_REAL low;
 
 	/**
 	 * The cached value of the '{@link #getCenter() <em>Center</em>}' containment reference.
@@ -65,7 +66,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected IVL_REAL high;
+	protected IVXB_REAL high;
 
 	/**
 	 * The cached value of the '{@link #getWidth() <em>Width</em>}' containment reference.
@@ -102,7 +103,7 @@
 	 * @generated
 	 */
 	@Override
-	public IVL_REAL getLow() {
+	public IVXB_REAL getLow() {
 		return low;
 	}
 
@@ -111,8 +112,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public NotificationChain basicSetLow(IVL_REAL newLow, NotificationChain msgs) {
-		IVL_REAL oldLow = low;
+	public NotificationChain basicSetLow(IVXB_REAL newLow, NotificationChain msgs) {
+		IVXB_REAL oldLow = low;
 		low = newLow;
 		if (eNotificationRequired()) {
 			ENotificationImpl notification = new ENotificationImpl(
@@ -132,7 +133,7 @@
 	 * @generated
 	 */
 	@Override
-	public void setLow(IVL_REAL newLow) {
+	public void setLow(IVXB_REAL newLow) {
 		if (newLow != low) {
 			NotificationChain msgs = null;
 			if (low != null) {
@@ -215,7 +216,7 @@
 	 * @generated
 	 */
 	@Override
-	public IVL_REAL getHigh() {
+	public IVXB_REAL getHigh() {
 		return high;
 	}
 
@@ -224,8 +225,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public NotificationChain basicSetHigh(IVL_REAL newHigh, NotificationChain msgs) {
-		IVL_REAL oldHigh = high;
+	public NotificationChain basicSetHigh(IVXB_REAL newHigh, NotificationChain msgs) {
+		IVXB_REAL oldHigh = high;
 		high = newHigh;
 		if (eNotificationRequired()) {
 			ENotificationImpl notification = new ENotificationImpl(
@@ -245,7 +246,7 @@
 	 * @generated
 	 */
 	@Override
-	public void setHigh(IVL_REAL newHigh) {
+	public void setHigh(IVXB_REAL newHigh) {
 		if (newHigh != high) {
 			NotificationChain msgs = null;
 			if (high != null) {
@@ -407,13 +408,13 @@
 	public void eSet(int featureID, Object newValue) {
 		switch (featureID) {
 			case DatatypesPackage.IVL_REAL__LOW:
-				setLow((IVL_REAL) newValue);
+				setLow((IVXB_REAL) newValue);
 				return;
 			case DatatypesPackage.IVL_REAL__CENTER:
 				setCenter((REAL) newValue);
 				return;
 			case DatatypesPackage.IVL_REAL__HIGH:
-				setHigh((IVL_REAL) newValue);
+				setHigh((IVXB_REAL) newValue);
 				return;
 			case DatatypesPackage.IVL_REAL__WIDTH:
 				setWidth((REAL) newValue);
@@ -431,13 +432,13 @@
 	public void eUnset(int featureID) {
 		switch (featureID) {
 			case DatatypesPackage.IVL_REAL__LOW:
-				setLow((IVL_REAL) null);
+				setLow((IVXB_REAL) null);
 				return;
 			case DatatypesPackage.IVL_REAL__CENTER:
 				setCenter((REAL) null);
 				return;
 			case DatatypesPackage.IVL_REAL__HIGH:
-				setHigh((IVL_REAL) null);
+				setHigh((IVXB_REAL) null);
 				return;
 			case DatatypesPackage.IVL_REAL__WIDTH:
 				setWidth((REAL) null);
diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/REALImpl.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/REALImpl.java
index caf7e81..9a9f289 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/REALImpl.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/REALImpl.java
@@ -11,10 +11,7 @@
 package org.eclipse.mdht.uml.hl7.datatypes.impl;

 

 import java.math.BigDecimal;

-import java.util.Map;

-

 import org.eclipse.emf.common.notify.Notification;

-import org.eclipse.emf.common.util.DiagnosticChain;

 import org.eclipse.emf.ecore.EClass;

 import org.eclipse.emf.ecore.impl.ENotificationImpl;

 import org.eclipse.mdht.uml.hl7.datatypes.DatatypesPackage;

@@ -103,15 +100,6 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public boolean validateREAL(DiagnosticChain diagnostics, Map<Object, Object> context) {

-		return REALOperations.validateREAL(this, diagnostics, context);

-	}

-

-	/**

-	 * <!-- begin-user-doc -->

-	 * <!-- end-user-doc -->

-	 * @generated

-	 */

 	public void setValue(Double newValue) {

 		REALOperations.setValue(this, newValue);

 	}

diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/operations/IVL_REALOperations.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/operations/IVL_REALOperations.java
index 73f360c..d3f4cf1 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/operations/IVL_REALOperations.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/operations/IVL_REALOperations.java
@@ -37,6 +37,15 @@
  */
 public class IVL_REALOperations extends REALOperations {
 	/**
+	 * The cached environment for evaluating OCL expressions.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	protected static final OCL EOCL_ENV = OCL.newInstance();
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/operations/REALOperations.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/operations/REALOperations.java
index 8968b7c..666e3bf 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/operations/REALOperations.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/operations/REALOperations.java
@@ -11,17 +11,7 @@
 package org.eclipse.mdht.uml.hl7.datatypes.operations;

 

 import java.math.BigDecimal;

-import java.util.Map;

-

-import org.eclipse.emf.common.util.BasicDiagnostic;

-import org.eclipse.emf.common.util.Diagnostic;

-import org.eclipse.emf.common.util.DiagnosticChain;

-import org.eclipse.mdht.uml.hl7.datatypes.DatatypesPackage;

 import org.eclipse.mdht.uml.hl7.datatypes.REAL;

-import org.eclipse.mdht.uml.hl7.datatypes.util.DatatypesValidator;

-import org.eclipse.ocl.ParserException;

-import org.eclipse.ocl.ecore.Constraint;

-import org.eclipse.ocl.ecore.OCL;

 

 /**

  * <!-- begin-user-doc -->

@@ -32,7 +22,6 @@
  * The following operations are supported:

  * </p>

  * <ul>

- *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.REAL#validateREAL(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate REAL</em>}</li>

  *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.REAL#setValue(java.lang.Double) <em>Set Value</em>}</li>

  * </ul>

  *

@@ -40,15 +29,6 @@
  */

 public class REALOperations extends ANYOperations {

 	/**

-	 * The cached environment for evaluating OCL expressions.

-	 * <!-- begin-user-doc -->

-	 * <!-- end-user-doc -->

-	 * @generated

-	 * @ordered

-	 */

-	protected static final OCL EOCL_ENV = OCL.newInstance();

-

-	/**

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

 	 * @generated

@@ -58,64 +38,6 @@
 	}

 

 	/**

-	 * The cached OCL expression body for the '{@link #validateREAL(REAL, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate REAL</em>}' operation.

-	 * <!-- begin-user-doc -->

-	 * <!-- end-user-doc -->

-	 * @see #validateREAL(REAL, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)

-	 * @generated

-	 * @ordered

-	 */

-	protected static final String VALIDATE_REAL__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.isNullFlavorDefined() or self.isDefined('value')) and not(self.isNullFlavorDefined() and self.isDefined('value'))";

-

-	/**

-	 * The cached OCL invariant for the '{@link #validateREAL(REAL, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate REAL</em>}' invariant operation.

-	 * <!-- begin-user-doc -->

-	 * <!-- end-user-doc -->

-	 * @see #validateREAL(REAL, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map)

-	 * @generated

-	 * @ordered

-	 */

-	protected static Constraint VALIDATE_REAL__DIAGNOSTIC_CHAIN_MAP__EOCL_INV;

-

-	/**

-	 * <!-- begin-user-doc -->

-	 * <!-- end-user-doc -->

-	 * <!-- begin-model-doc -->

-	 * @param real The receiving '<em><b>REAL</b></em>' model object.

-	 * @param diagnostics The chain of diagnostics to which problems are to be appended.

-	 * @param context The cache of context-specific information.

-	 * <!-- end-model-doc -->

-	 * @generated

-	 */

-	public static boolean validateREAL(REAL real, DiagnosticChain diagnostics, Map<Object, Object> context) {

-		if (VALIDATE_REAL__DIAGNOSTIC_CHAIN_MAP__EOCL_INV == null) {

-			OCL.Helper helper = EOCL_ENV.createOCLHelper();

-			helper.setContext(DatatypesPackage.Literals.REAL);

-			try {

-				VALIDATE_REAL__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = helper.createInvariant(

-					VALIDATE_REAL__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP);

-			} catch (ParserException pe) {

-				throw new UnsupportedOperationException(pe.getLocalizedMessage());

-			}

-		}

-		if (!EOCL_ENV.createQuery(VALIDATE_REAL__DIAGNOSTIC_CHAIN_MAP__EOCL_INV).check(real)) {

-			if (diagnostics != null) {

-				diagnostics.add(

-					new BasicDiagnostic(

-						Diagnostic.ERROR, DatatypesValidator.DIAGNOSTIC_SOURCE, DatatypesValidator.REAL__REAL,

-						org.eclipse.emf.ecore.plugin.EcorePlugin.INSTANCE.getString(

-							"_UI_GenericInvariant_diagnostic",

-							new Object[] {

-									"validateREAL",

-									org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(real, context) }),

-						new Object[] { real }));

-			}

-			return false;

-		}

-		return true;

-	}

-

-	/**

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

 	 * @generated NOT

diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/util/DatatypesValidator.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/util/DatatypesValidator.java
index 4ee2da9..a8ba96c 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/util/DatatypesValidator.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/util/DatatypesValidator.java
@@ -535,20 +535,12 @@
 	public static final int INT__INT = 55;

 

 	/**

-	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate REAL' of 'REAL'.

-	 * <!-- begin-user-doc -->

-	 * <!-- end-user-doc -->

-	 * @generated

-	 */

-	public static final int REAL__REAL = 56;

-

-	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Original Text' of 'CS'.

 	 * <!-- begin-user-doc -->

 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int CS__ORIGINAL_TEXT = 57;

+	public static final int CS__ORIGINAL_TEXT = 56;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Code System' of 'CS'.

@@ -556,7 +548,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int CS__CODE_SYSTEM = 58;

+	public static final int CS__CODE_SYSTEM = 57;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Code System Name' of 'CS'.

@@ -564,7 +556,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int CS__CODE_SYSTEM_NAME = 59;

+	public static final int CS__CODE_SYSTEM_NAME = 58;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Code System Version' of 'CS'.

@@ -572,7 +564,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int CS__CODE_SYSTEM_VERSION = 60;

+	public static final int CS__CODE_SYSTEM_VERSION = 59;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Display Name' of 'CS'.

@@ -580,7 +572,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int CS__DISPLAY_NAME = 61;

+	public static final int CS__DISPLAY_NAME = 60;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Denominator' of 'RTO QTY QTY'.

@@ -588,7 +580,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int RTO_QTY_QTY__DENOMINATOR = 62;

+	public static final int RTO_QTY_QTY__DENOMINATOR = 61;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate MO' of 'MO'.

@@ -596,7 +588,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int MO__MO = 63;

+	public static final int MO__MO = 62;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing Low' of 'IVL INT'.

@@ -604,7 +596,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_INT__OPTIONS_CONTAINING_LOW = 64;

+	public static final int IVL_INT__OPTIONS_CONTAINING_LOW = 63;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing Center' of 'IVL INT'.

@@ -612,7 +604,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_INT__OPTIONS_CONTAINING_CENTER = 65;

+	public static final int IVL_INT__OPTIONS_CONTAINING_CENTER = 64;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing High' of 'IVL INT'.

@@ -620,7 +612,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_INT__OPTIONS_CONTAINING_HIGH = 66;

+	public static final int IVL_INT__OPTIONS_CONTAINING_HIGH = 65;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing Width' of 'IVL INT'.

@@ -628,7 +620,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_INT__OPTIONS_CONTAINING_WIDTH = 67;

+	public static final int IVL_INT__OPTIONS_CONTAINING_WIDTH = 66;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate INT' of 'IVL INT'.

@@ -636,7 +628,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_INT__INT = 68;

+	public static final int IVL_INT__INT = 67;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing Low' of 'IVL PQ'.

@@ -644,7 +636,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_PQ__OPTIONS_CONTAINING_LOW = 69;

+	public static final int IVL_PQ__OPTIONS_CONTAINING_LOW = 68;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing Center' of 'IVL PQ'.

@@ -652,7 +644,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_PQ__OPTIONS_CONTAINING_CENTER = 70;

+	public static final int IVL_PQ__OPTIONS_CONTAINING_CENTER = 69;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing High' of 'IVL PQ'.

@@ -660,7 +652,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_PQ__OPTIONS_CONTAINING_HIGH = 71;

+	public static final int IVL_PQ__OPTIONS_CONTAINING_HIGH = 70;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing Width' of 'IVL PQ'.

@@ -668,7 +660,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_PQ__OPTIONS_CONTAINING_WIDTH = 72;

+	public static final int IVL_PQ__OPTIONS_CONTAINING_WIDTH = 71;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Denominator' of 'RTO PQ PQ'.

@@ -676,7 +668,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int RTO_PQ_PQ__DENOMINATOR = 73;

+	public static final int RTO_PQ_PQ__DENOMINATOR = 72;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Original Text' of 'EIVL event'.

@@ -684,7 +676,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int EIVL_EVENT__ORIGINAL_TEXT = 74;

+	public static final int EIVL_EVENT__ORIGINAL_TEXT = 73;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Translation' of 'EIVL event'.

@@ -692,7 +684,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int EIVL_EVENT__TRANSLATION = 75;

+	public static final int EIVL_EVENT__TRANSLATION = 74;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Code System' of 'EIVL event'.

@@ -700,7 +692,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int EIVL_EVENT__CODE_SYSTEM = 76;

+	public static final int EIVL_EVENT__CODE_SYSTEM = 75;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Code System Name' of 'EIVL event'.

@@ -708,7 +700,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int EIVL_EVENT__CODE_SYSTEM_NAME = 77;

+	public static final int EIVL_EVENT__CODE_SYSTEM_NAME = 76;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Code' of 'EIVL event'.

@@ -716,7 +708,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int EIVL_EVENT__CODE = 78;

+	public static final int EIVL_EVENT__CODE = 77;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing Low' of 'IVL REAL'.

@@ -724,7 +716,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_REAL__OPTIONS_CONTAINING_LOW = 79;

+	public static final int IVL_REAL__OPTIONS_CONTAINING_LOW = 78;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing Center' of 'IVL REAL'.

@@ -732,7 +724,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_REAL__OPTIONS_CONTAINING_CENTER = 80;

+	public static final int IVL_REAL__OPTIONS_CONTAINING_CENTER = 79;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing High' of 'IVL REAL'.

@@ -740,7 +732,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_REAL__OPTIONS_CONTAINING_HIGH = 81;

+	public static final int IVL_REAL__OPTIONS_CONTAINING_HIGH = 80;

 

 	/**

 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Options Containing Width' of 'IVL REAL'.

@@ -748,7 +740,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	public static final int IVL_REAL__OPTIONS_CONTAINING_WIDTH = 82;

+	public static final int IVL_REAL__OPTIONS_CONTAINING_WIDTH = 81;

 

 	/**

 	 * A constant with a fixed name that can be used as the base value for additional hand written constants.

@@ -756,7 +748,7 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 82;

+	private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 81;

 

 	/**

 	 * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.

@@ -2516,45 +2508,7 @@
 	 * @generated

 	 */

 	public boolean validateREAL(REAL real, DiagnosticChain diagnostics, Map<Object, Object> context) {

-		if (!validate_NoCircularContainment(real, diagnostics, context)) {

-			return false;

-		}

-		boolean result = validate_EveryMultiplicityConforms(real, diagnostics, context);

-		if (result || diagnostics != null) {

-			result &= validate_EveryDataValueConforms(real, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryReferenceIsContained(real, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryBidirectionalReferenceIsPaired(real, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryProxyResolves(real, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_UniqueID(real, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryKeyUnique(real, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryMapEntryUnique(real, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validateREAL_validateREAL(real, diagnostics, context);

-		}

-		return result;

-	}

-

-	/**

-	 * Validates the validateREAL constraint of '<em>REAL</em>'.

-	 * <!-- begin-user-doc -->

-	 * <!-- end-user-doc -->

-	 * @generated

-	 */

-	public boolean validateREAL_validateREAL(REAL real, DiagnosticChain diagnostics, Map<Object, Object> context) {

-		return real.validateREAL(diagnostics, context);

+		return validate_EveryDefaultConstraint(real, diagnostics, context);

 	}

 

 	/**

@@ -3359,35 +3313,7 @@
 	 * @generated

 	 */

 	public boolean validateSXCM_REAL(SXCM_REAL sxcM_REAL, DiagnosticChain diagnostics, Map<Object, Object> context) {

-		if (!validate_NoCircularContainment(sxcM_REAL, diagnostics, context)) {

-			return false;

-		}

-		boolean result = validate_EveryMultiplicityConforms(sxcM_REAL, diagnostics, context);

-		if (result || diagnostics != null) {

-			result &= validate_EveryDataValueConforms(sxcM_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryReferenceIsContained(sxcM_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryBidirectionalReferenceIsPaired(sxcM_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryProxyResolves(sxcM_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_UniqueID(sxcM_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryKeyUnique(sxcM_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryMapEntryUnique(sxcM_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validateREAL_validateREAL(sxcM_REAL, diagnostics, context);

-		}

-		return result;

+		return validate_EveryDefaultConstraint(sxcM_REAL, diagnostics, context);

 	}

 

 	/**

@@ -3396,35 +3322,7 @@
 	 * @generated

 	 */

 	public boolean validateIVXB_REAL(IVXB_REAL ivxB_REAL, DiagnosticChain diagnostics, Map<Object, Object> context) {

-		if (!validate_NoCircularContainment(ivxB_REAL, diagnostics, context)) {

-			return false;

-		}

-		boolean result = validate_EveryMultiplicityConforms(ivxB_REAL, diagnostics, context);

-		if (result || diagnostics != null) {

-			result &= validate_EveryDataValueConforms(ivxB_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryReferenceIsContained(ivxB_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryBidirectionalReferenceIsPaired(ivxB_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryProxyResolves(ivxB_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_UniqueID(ivxB_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryKeyUnique(ivxB_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validate_EveryMapEntryUnique(ivxB_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

-			result &= validateREAL_validateREAL(ivxB_REAL, diagnostics, context);

-		}

-		return result;

+		return validate_EveryDefaultConstraint(ivxB_REAL, diagnostics, context);

 	}

 

 	/**

@@ -3459,9 +3357,6 @@
 			result &= validate_EveryMapEntryUnique(ivL_REAL, diagnostics, context);

 		}

 		if (result || diagnostics != null) {

-			result &= validateREAL_validateREAL(ivL_REAL, diagnostics, context);

-		}

-		if (result || diagnostics != null) {

 			result &= validateIVL_REAL_validateOptionsContainingLow(ivL_REAL, diagnostics, context);

 		}

 		if (result || diagnostics != null) {