Updates to datatypes library

switch to ecore file initialization
update uml for issue with blank class name annotation causing generation issues
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 210ef0b..1ac6467 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
@@ -101,14 +101,6 @@
       <details key="kind" value="mixed"/>
     </eAnnotations>
     <eOperations name="getText" ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" ordered="false"
-        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
-      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
-        <details key="name" value=""/>
-        <details key="namespace" value=""/>
-        <details key="kind" value="elementWildcard"/>
-      </eAnnotations>
-    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="useablePeriod" ordered="false"
         upperBound="-1" eType="#//SXCM_TS" containment="true">
       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
@@ -122,6 +114,14 @@
         <details key="kind" value="attribute"/>
       </eAnnotations>
     </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" ordered="false"
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value=""/>
+        <details key="namespace" value=""/>
+        <details key="kind" value="elementWildcard"/>
+      </eAnnotations>
+    </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="URL" abstract="true" eSuperTypes="#//ANY">
     <eOperations name="URL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
@@ -1713,14 +1713,14 @@
         <details key="namespace" value="urn:hl7-org:v3"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="high" ordered="false" eType="#//IVXB_TS"
-        containment="true">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="width" ordered="false"
+        eType="#//PQ" containment="true">
       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details key="namespace" value="urn:hl7-org:v3"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="width" ordered="false"
-        eType="#//PQ" containment="true">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="high" ordered="false" eType="#//IVXB_TS"
+        containment="true">
       <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
         <details key="namespace" value="urn:hl7-org:v3"/>
       </eAnnotations>
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 510432c..0b4f611 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
@@ -32,7 +32,8 @@
   </genAnnotations>
   <foreignModel>datatypes.uml</foreignModel>
   <genPackages xsi:type="genmodel:GenPackage" prefix="Datatypes" basePackage="org.eclipse.mdht.uml.hl7"
-      disposableProviderFactory="true" ecorePackage="datatypes.ecore#/" operationsPackage="org.eclipse.mdht.uml.hl7.datatypes.operations">
+      disposableProviderFactory="true" loadInitialization="true" ecorePackage="datatypes.ecore#/"
+      operationsPackage="org.eclipse.mdht.uml.hl7.datatypes.operations">
     <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="datatypes.ecore#//BinaryDataEncoding">
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="datatypes.ecore#//BinaryDataEncoding/B64"/>
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="datatypes.ecore#//BinaryDataEncoding/TXT"/>
@@ -88,11 +89,11 @@
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="datatypes.ecore#//TEL">
       <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
-          createChild="true" ecoreFeature="ecore:EAttribute datatypes.ecore#//TEL/mixed"
-          pluralizationException="true"/>
-      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
           createChild="true" ecoreFeature="ecore:EReference datatypes.ecore#//TEL/useablePeriod"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute datatypes.ecore#//TEL/use"/>
+      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+          createChild="true" ecoreFeature="ecore:EAttribute datatypes.ecore#//TEL/mixed"
+          pluralizationException="true"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="datatypes.ecore#//TEL/getText"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="datatypes.ecore#//URL">
@@ -536,9 +537,9 @@
       <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
           createChild="true" ecoreFeature="ecore:EReference datatypes.ecore#//IVL_TS/center"/>
       <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
-          createChild="true" ecoreFeature="ecore:EReference datatypes.ecore#//IVL_TS/high"/>
-      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
           createChild="true" ecoreFeature="ecore:EReference datatypes.ecore#//IVL_TS/width"/>
+      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+          createChild="true" ecoreFeature="ecore:EReference datatypes.ecore#//IVL_TS/high"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="datatypes.ecore#//IVL_TS/optionsContainingLow">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="datatypes.ecore#//IVL_TS/optionsContainingLow/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="datatypes.ecore#//IVL_TS/optionsContainingLow/context"/>
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 c5589fa..bad198f 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
@@ -1199,13 +1199,12 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sRs1oD6AEd6cla2oXsPtlA"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sRs1oT6AEd6cla2oXsPtlA" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_jfCGID6AEd6cla2oXsPtlA" name="high" visibility="private" type="_BY5uUD6AEd6cla2oXsPtlA" aggregation="composite">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_s9XBwD6AEd6cla2oXsPtlA"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_s9XBwT6AEd6cla2oXsPtlA" value="1"/>
-      </ownedAttribute>
       <ownedAttribute xmi:id="_kXgmQD6AEd6cla2oXsPtlA" name="width" visibility="private" type="_3mPzYD59Ed6cla2oXsPtlA" aggregation="composite">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tytVYD6AEd6cla2oXsPtlA"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tytVYT6AEd6cla2oXsPtlA" value="1"/>
+      </ownedAttribute>    <ownedAttribute xmi:id="_jfCGID6AEd6cla2oXsPtlA" name="high" visibility="private" type="_BY5uUD6AEd6cla2oXsPtlA" aggregation="composite">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_s9XBwD6AEd6cla2oXsPtlA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_s9XBwT6AEd6cla2oXsPtlA" value="1"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_SgOtkD5-Ed6cla2oXsPtlA" name="RTO_QTY_QTY">
@@ -1743,5 +1742,5 @@
   <Ecore:EAttribute xmi:id="_KS9ycAT5EeOFTql9pPvb9Q" xmlName="valueSet" xmlNamespace="urn:hl7-org:sdtc" xmlFeatureKind="Attribute" base_Property="_8Y3PEAT4EeOFTql9pPvb9Q"/>
   <Ecore:EAttribute xmi:id="_dewR4AT5EeOFTql9pPvb9Q" xmlName="valueSetVersion" xmlNamespace="urn:hl7-org:sdtc" xmlFeatureKind="Attribute" base_Property="_T4IV4AT5EeOFTql9pPvb9Q"/>
   <Ecore:EAttribute xmi:id="_CpgGkAGdEeqg4I9dpN7mPg" xmlName="" xmlNamespace="" xmlFeatureKind="ElementWildcard" base_Property="_nOeI4AFcEeqg4I9dpN7mPg"/>
-  <Ecore:EClass xmi:id="_0urgUAIyEeq4qM3HrOJ9Gw" xmlName="" base_Class="_22o_kD52Ed6cla2oXsPtlA" xmlContentKind="Mixed"/>
+  <Ecore:EClass xmi:id="_0urgUAIyEeq4qM3HrOJ9Gw" base_Class="_22o_kD52Ed6cla2oXsPtlA" xmlContentKind="Mixed"/>
 </xmi:XMI>
diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/DatatypesPackage.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/DatatypesPackage.java
index a082daa..7f5c56c 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/DatatypesPackage.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/DatatypesPackage.java
@@ -305,22 +305,13 @@
 	int TEL__VALUE = URL__VALUE;

 

 	/**

-	 * The feature id for the '<em><b>Mixed</b></em>' attribute list.

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

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

-	 * @generated

-	 * @ordered

-	 */

-	int TEL__MIXED = URL_FEATURE_COUNT + 0;

-

-	/**

 	 * The feature id for the '<em><b>Useable Period</b></em>' containment reference list.

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

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

 	 * @generated

 	 * @ordered

 	 */

-	int TEL__USEABLE_PERIOD = URL_FEATURE_COUNT + 1;

+	int TEL__USEABLE_PERIOD = URL_FEATURE_COUNT + 0;

 

 	/**

 	 * The feature id for the '<em><b>Use</b></em>' attribute list.

@@ -329,7 +320,16 @@
 	 * @generated

 	 * @ordered

 	 */

-	int TEL__USE = URL_FEATURE_COUNT + 2;

+	int TEL__USE = URL_FEATURE_COUNT + 1;

+

+	/**

+	 * The feature id for the '<em><b>Mixed</b></em>' attribute list.

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

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

+	 * @generated

+	 * @ordered

+	 */

+	int TEL__MIXED = URL_FEATURE_COUNT + 2;

 

 	/**

 	 * The number of structural features of the '<em>TEL</em>' class.

@@ -1863,22 +1863,22 @@
 	int IVL_TS__CENTER = SXCM_TS_FEATURE_COUNT + 1;

 

 	/**

-	 * The feature id for the '<em><b>High</b></em>' containment reference.

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

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

-	 * @generated

-	 * @ordered

-	 */

-	int IVL_TS__HIGH = SXCM_TS_FEATURE_COUNT + 2;

-

-	/**

 	 * The feature id for the '<em><b>Width</b></em>' containment reference.

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

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

 	 * @generated

 	 * @ordered

 	 */

-	int IVL_TS__WIDTH = SXCM_TS_FEATURE_COUNT + 3;

+	int IVL_TS__WIDTH = SXCM_TS_FEATURE_COUNT + 2;

+

+	/**

+	 * The feature id for the '<em><b>High</b></em>' containment reference.

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

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

+	 * @generated

+	 * @ordered

+	 */

+	int IVL_TS__HIGH = SXCM_TS_FEATURE_COUNT + 3;

 

 	/**

 	 * The number of structural features of the '<em>IVL TS</em>' class.

diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/IVL_TS.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/IVL_TS.java
index ffc2ca7..964f400 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/IVL_TS.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/IVL_TS.java
@@ -25,8 +25,8 @@
  * <ul>

  *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.IVL_TS#getLow <em>Low</em>}</li>

  *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.IVL_TS#getCenter <em>Center</em>}</li>

- *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.IVL_TS#getHigh <em>High</em>}</li>

  *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.IVL_TS#getWidth <em>Width</em>}</li>

+ *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.IVL_TS#getHigh <em>High</em>}</li>

  * </ul>

  *

  * @see org.eclipse.mdht.uml.hl7.datatypes.DatatypesPackage#getIVL_TS()

diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/TEL.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/TEL.java
index a8b07ab..1e01959 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/TEL.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/TEL.java
@@ -23,9 +23,9 @@
  * The following features are supported:

  * </p>

  * <ul>

- *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.TEL#getMixed <em>Mixed</em>}</li>

  *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.TEL#getUseablePeriods <em>Useable Period</em>}</li>

  *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.TEL#getUses <em>Use</em>}</li>

+ *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.TEL#getMixed <em>Mixed</em>}</li>

  * </ul>

  *

  * @see org.eclipse.mdht.uml.hl7.datatypes.DatatypesPackage#getTEL()

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 49e5cea..c22971d 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
@@ -10,20 +10,22 @@
  *******************************************************************************/

 package org.eclipse.mdht.uml.hl7.datatypes.impl;

 

+import java.io.IOException;

+import org.eclipse.emf.common.util.URI;

+import org.eclipse.emf.common.util.WrappedException;

 import org.eclipse.emf.ecore.EAttribute;

 import org.eclipse.emf.ecore.EClass;

+import org.eclipse.emf.ecore.EClassifier;

 import org.eclipse.emf.ecore.EDataType;

 import org.eclipse.emf.ecore.EEnum;

-import org.eclipse.emf.ecore.EGenericType;

-import org.eclipse.emf.ecore.EOperation;

 import org.eclipse.emf.ecore.EPackage;

 import org.eclipse.emf.ecore.EReference;

 import org.eclipse.emf.ecore.EValidator;

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

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

+import org.eclipse.emf.ecore.resource.Resource;

+import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;

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

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

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

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

 import org.eclipse.mdht.uml.hl7.vocab.VocabPackage;

 import org.eclipse.uml2.types.TypesPackage;

@@ -40,6 +42,13 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

+	protected String packageFilename = "datatypes.ecore";

+

+	/**

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

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

+	 * @generated

+	 */

 	private EClass anyEClass = null;

 

 	/**

@@ -440,8 +449,6 @@
 	 * <!-- begin-user-doc -->

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

 	 * @see #eNS_URI

-	 * @see #createPackageContents()

-	 * @see #initializePackageContents()

 	 * @generated

 	 */

 	public static DatatypesPackage init() {

@@ -461,11 +468,11 @@
 		TypesPackage.eINSTANCE.eClass();

 		VocabPackage.eINSTANCE.eClass();

 

-		// Create package meta-data objects

-		theDatatypesPackage.createPackageContents();

+		// Load packages

+		theDatatypesPackage.loadPackage();

 

-		// Initialize created meta-data

-		theDatatypesPackage.initializePackageContents();

+		// Fix loaded packages

+		theDatatypesPackage.fixPackageContents();

 

 		// Register package validator

 		EValidator.Registry.INSTANCE.put(theDatatypesPackage, new EValidator.Descriptor() {

@@ -490,6 +497,10 @@
 	 */

 	@Override

 	public EClass getANY() {

+		if (anyEClass == null) {

+			anyEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				0);

+		}

 		return anyEClass;

 	}

 

@@ -500,7 +511,7 @@
 	 */

 	@Override

 	public EAttribute getANY_NullFlavor() {

-		return (EAttribute) anyEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getANY().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -510,6 +521,10 @@
 	 */

 	@Override

 	public EClass getBIN() {

+		if (binEClass == null) {

+			binEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				1);

+		}

 		return binEClass;

 	}

 

@@ -520,7 +535,7 @@
 	 */

 	@Override

 	public EAttribute getBIN_Representation() {

-		return (EAttribute) binEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getBIN().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -530,6 +545,10 @@
 	 */

 	@Override

 	public EClass getED() {

+		if (edEClass == null) {

+			edEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				3);

+		}

 		return edEClass;

 	}

 

@@ -540,7 +559,7 @@
 	 */

 	@Override

 	public EAttribute getED_Mixed() {

-		return (EAttribute) edEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getED().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -550,7 +569,7 @@
 	 */

 	@Override

 	public EReference getED_Reference() {

-		return (EReference) edEClass.getEStructuralFeatures().get(1);

+		return (EReference) getED().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -560,7 +579,7 @@
 	 */

 	@Override

 	public EReference getED_Thumbnail() {

-		return (EReference) edEClass.getEStructuralFeatures().get(2);

+		return (EReference) getED().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -570,7 +589,7 @@
 	 */

 	@Override

 	public EAttribute getED_MediaType() {

-		return (EAttribute) edEClass.getEStructuralFeatures().get(3);

+		return (EAttribute) getED().getEStructuralFeatures().get(3);

 	}

 

 	/**

@@ -580,7 +599,7 @@
 	 */

 	@Override

 	public EAttribute getED_Language() {

-		return (EAttribute) edEClass.getEStructuralFeatures().get(4);

+		return (EAttribute) getED().getEStructuralFeatures().get(4);

 	}

 

 	/**

@@ -590,7 +609,7 @@
 	 */

 	@Override

 	public EAttribute getED_Compression() {

-		return (EAttribute) edEClass.getEStructuralFeatures().get(5);

+		return (EAttribute) getED().getEStructuralFeatures().get(5);

 	}

 

 	/**

@@ -600,7 +619,7 @@
 	 */

 	@Override

 	public EAttribute getED_IntegrityCheck() {

-		return (EAttribute) edEClass.getEStructuralFeatures().get(6);

+		return (EAttribute) getED().getEStructuralFeatures().get(6);

 	}

 

 	/**

@@ -610,7 +629,7 @@
 	 */

 	@Override

 	public EAttribute getED_IntegrityCheckAlgorithm() {

-		return (EAttribute) edEClass.getEStructuralFeatures().get(7);

+		return (EAttribute) getED().getEStructuralFeatures().get(7);

 	}

 

 	/**

@@ -620,6 +639,10 @@
 	 */

 	@Override

 	public EClass getTEL() {

+		if (telEClass == null) {

+			telEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				4);

+		}

 		return telEClass;

 	}

 

@@ -630,7 +653,7 @@
 	 */

 	@Override

 	public EReference getTEL_UseablePeriod() {

-		return (EReference) telEClass.getEStructuralFeatures().get(1);

+		return (EReference) getTEL().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -640,7 +663,7 @@
 	 */

 	@Override

 	public EAttribute getTEL_Use() {

-		return (EAttribute) telEClass.getEStructuralFeatures().get(2);

+		return (EAttribute) getTEL().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -650,7 +673,7 @@
 	 */

 	@Override

 	public EAttribute getTEL_Mixed() {

-		return (EAttribute) telEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getTEL().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -660,6 +683,10 @@
 	 */

 	@Override

 	public EClass getURL() {

+		if (urlEClass == null) {

+			urlEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				5);

+		}

 		return urlEClass;

 	}

 

@@ -670,7 +697,7 @@
 	 */

 	@Override

 	public EAttribute getURL_Value() {

-		return (EAttribute) urlEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getURL().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -680,6 +707,10 @@
 	 */

 	@Override

 	public EClass getSXCM_TS() {

+		if (sxcM_TSEClass == null) {

+			sxcM_TSEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(6);

+		}

 		return sxcM_TSEClass;

 	}

 

@@ -690,7 +721,7 @@
 	 */

 	@Override

 	public EAttribute getSXCM_TS_Operator() {

-		return (EAttribute) sxcM_TSEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getSXCM_TS().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -700,6 +731,10 @@
 	 */

 	@Override

 	public EClass getTS() {

+		if (tsEClass == null) {

+			tsEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				7);

+		}

 		return tsEClass;

 	}

 

@@ -710,7 +745,7 @@
 	 */

 	@Override

 	public EAttribute getTS_Value() {

-		return (EAttribute) tsEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getTS().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -720,6 +755,10 @@
 	 */

 	@Override

 	public EClass getQTY() {

+		if (qtyEClass == null) {

+			qtyEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				8);

+		}

 		return qtyEClass;

 	}

 

@@ -730,6 +769,10 @@
 	 */

 	@Override

 	public EClass getST() {

+		if (stEClass == null) {

+			stEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				11);

+		}

 		return stEClass;

 	}

 

@@ -740,6 +783,10 @@
 	 */

 	@Override

 	public EClass getCD() {

+		if (cdEClass == null) {

+			cdEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				12);

+		}

 		return cdEClass;

 	}

 

@@ -750,7 +797,7 @@
 	 */

 	@Override

 	public EReference getCD_OriginalText() {

-		return (EReference) cdEClass.getEStructuralFeatures().get(0);

+		return (EReference) getCD().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -760,7 +807,7 @@
 	 */

 	@Override

 	public EReference getCD_Qualifier() {

-		return (EReference) cdEClass.getEStructuralFeatures().get(1);

+		return (EReference) getCD().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -770,7 +817,7 @@
 	 */

 	@Override

 	public EReference getCD_Translation() {

-		return (EReference) cdEClass.getEStructuralFeatures().get(2);

+		return (EReference) getCD().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -780,7 +827,7 @@
 	 */

 	@Override

 	public EAttribute getCD_Code() {

-		return (EAttribute) cdEClass.getEStructuralFeatures().get(3);

+		return (EAttribute) getCD().getEStructuralFeatures().get(3);

 	}

 

 	/**

@@ -790,7 +837,7 @@
 	 */

 	@Override

 	public EAttribute getCD_CodeSystem() {

-		return (EAttribute) cdEClass.getEStructuralFeatures().get(4);

+		return (EAttribute) getCD().getEStructuralFeatures().get(4);

 	}

 

 	/**

@@ -800,7 +847,7 @@
 	 */

 	@Override

 	public EAttribute getCD_CodeSystemName() {

-		return (EAttribute) cdEClass.getEStructuralFeatures().get(5);

+		return (EAttribute) getCD().getEStructuralFeatures().get(5);

 	}

 

 	/**

@@ -810,7 +857,7 @@
 	 */

 	@Override

 	public EAttribute getCD_CodeSystemVersion() {

-		return (EAttribute) cdEClass.getEStructuralFeatures().get(6);

+		return (EAttribute) getCD().getEStructuralFeatures().get(6);

 	}

 

 	/**

@@ -820,7 +867,7 @@
 	 */

 	@Override

 	public EAttribute getCD_DisplayName() {

-		return (EAttribute) cdEClass.getEStructuralFeatures().get(7);

+		return (EAttribute) getCD().getEStructuralFeatures().get(7);

 	}

 

 	/**

@@ -830,7 +877,7 @@
 	 */

 	@Override

 	public EAttribute getCD_SDTCValueSet() {

-		return (EAttribute) cdEClass.getEStructuralFeatures().get(8);

+		return (EAttribute) getCD().getEStructuralFeatures().get(8);

 	}

 

 	/**

@@ -840,7 +887,7 @@
 	 */

 	@Override

 	public EAttribute getCD_SDTCValueSetVersion() {

-		return (EAttribute) cdEClass.getEStructuralFeatures().get(9);

+		return (EAttribute) getCD().getEStructuralFeatures().get(9);

 	}

 

 	/**

@@ -850,6 +897,10 @@
 	 */

 	@Override

 	public EClass getCR() {

+		if (crEClass == null) {

+			crEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				13);

+		}

 		return crEClass;

 	}

 

@@ -860,7 +911,7 @@
 	 */

 	@Override

 	public EReference getCR_Name() {

-		return (EReference) crEClass.getEStructuralFeatures().get(0);

+		return (EReference) getCR().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -870,7 +921,7 @@
 	 */

 	@Override

 	public EReference getCR_Value() {

-		return (EReference) crEClass.getEStructuralFeatures().get(1);

+		return (EReference) getCR().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -880,7 +931,7 @@
 	 */

 	@Override

 	public EAttribute getCR_Inverted() {

-		return (EAttribute) crEClass.getEStructuralFeatures().get(2);

+		return (EAttribute) getCR().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -890,6 +941,10 @@
 	 */

 	@Override

 	public EClass getCV() {

+		if (cvEClass == null) {

+			cvEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				14);

+		}

 		return cvEClass;

 	}

 

@@ -900,6 +955,10 @@
 	 */

 	@Override

 	public EClass getCE() {

+		if (ceEClass == null) {

+			ceEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				15);

+		}

 		return ceEClass;

 	}

 

@@ -910,6 +969,10 @@
 	 */

 	@Override

 	public EClass getII() {

+		if (iiEClass == null) {

+			iiEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				18);

+		}

 		return iiEClass;

 	}

 

@@ -920,7 +983,7 @@
 	 */

 	@Override

 	public EAttribute getII_Root() {

-		return (EAttribute) iiEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getII().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -930,7 +993,7 @@
 	 */

 	@Override

 	public EAttribute getII_Extension() {

-		return (EAttribute) iiEClass.getEStructuralFeatures().get(1);

+		return (EAttribute) getII().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -940,7 +1003,7 @@
 	 */

 	@Override

 	public EAttribute getII_AssigningAuthorityName() {

-		return (EAttribute) iiEClass.getEStructuralFeatures().get(2);

+		return (EAttribute) getII().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -950,7 +1013,7 @@
 	 */

 	@Override

 	public EAttribute getII_Displayable() {

-		return (EAttribute) iiEClass.getEStructuralFeatures().get(3);

+		return (EAttribute) getII().getEStructuralFeatures().get(3);

 	}

 

 	/**

@@ -960,6 +1023,10 @@
 	 */

 	@Override

 	public EClass getBL() {

+		if (blEClass == null) {

+			blEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				19);

+		}

 		return blEClass;

 	}

 

@@ -970,7 +1037,7 @@
 	 */

 	@Override

 	public EAttribute getBL_Value() {

-		return (EAttribute) blEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getBL().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -980,6 +1047,10 @@
 	 */

 	@Override

 	public EClass getBN() {

+		if (bnEClass == null) {

+			bnEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				20);

+		}

 		return bnEClass;

 	}

 

@@ -990,6 +1061,10 @@
 	 */

 	@Override

 	public EClass getAD() {

+		if (adEClass == null) {

+			adEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				21);

+		}

 		return adEClass;

 	}

 

@@ -1000,7 +1075,7 @@
 	 */

 	@Override

 	public EReference getAD_UseablePeriod() {

-		return (EReference) adEClass.getEStructuralFeatures().get(28);

+		return (EReference) getAD().getEStructuralFeatures().get(28);

 	}

 

 	/**

@@ -1010,7 +1085,7 @@
 	 */

 	@Override

 	public EAttribute getAD_Use() {

-		return (EAttribute) adEClass.getEStructuralFeatures().get(29);

+		return (EAttribute) getAD().getEStructuralFeatures().get(29);

 	}

 

 	/**

@@ -1020,7 +1095,7 @@
 	 */

 	@Override

 	public EAttribute getAD_IsNotOrdered() {

-		return (EAttribute) adEClass.getEStructuralFeatures().get(30);

+		return (EAttribute) getAD().getEStructuralFeatures().get(30);

 	}

 

 	/**

@@ -1030,7 +1105,7 @@
 	 */

 	@Override

 	public EReference getAD_Delimiter() {

-		return (EReference) adEClass.getEStructuralFeatures().get(0);

+		return (EReference) getAD().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1040,7 +1115,7 @@
 	 */

 	@Override

 	public EReference getAD_Country() {

-		return (EReference) adEClass.getEStructuralFeatures().get(1);

+		return (EReference) getAD().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -1050,7 +1125,7 @@
 	 */

 	@Override

 	public EReference getAD_State() {

-		return (EReference) adEClass.getEStructuralFeatures().get(2);

+		return (EReference) getAD().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -1060,7 +1135,7 @@
 	 */

 	@Override

 	public EReference getAD_County() {

-		return (EReference) adEClass.getEStructuralFeatures().get(3);

+		return (EReference) getAD().getEStructuralFeatures().get(3);

 	}

 

 	/**

@@ -1070,7 +1145,7 @@
 	 */

 	@Override

 	public EReference getAD_City() {

-		return (EReference) adEClass.getEStructuralFeatures().get(4);

+		return (EReference) getAD().getEStructuralFeatures().get(4);

 	}

 

 	/**

@@ -1080,7 +1155,7 @@
 	 */

 	@Override

 	public EReference getAD_PostalCode() {

-		return (EReference) adEClass.getEStructuralFeatures().get(5);

+		return (EReference) getAD().getEStructuralFeatures().get(5);

 	}

 

 	/**

@@ -1090,7 +1165,7 @@
 	 */

 	@Override

 	public EReference getAD_StreetAddressLine() {

-		return (EReference) adEClass.getEStructuralFeatures().get(6);

+		return (EReference) getAD().getEStructuralFeatures().get(6);

 	}

 

 	/**

@@ -1100,7 +1175,7 @@
 	 */

 	@Override

 	public EReference getAD_HouseNumber() {

-		return (EReference) adEClass.getEStructuralFeatures().get(7);

+		return (EReference) getAD().getEStructuralFeatures().get(7);

 	}

 

 	/**

@@ -1110,7 +1185,7 @@
 	 */

 	@Override

 	public EReference getAD_HouseNumberNumeric() {

-		return (EReference) adEClass.getEStructuralFeatures().get(8);

+		return (EReference) getAD().getEStructuralFeatures().get(8);

 	}

 

 	/**

@@ -1120,7 +1195,7 @@
 	 */

 	@Override

 	public EReference getAD_Direction() {

-		return (EReference) adEClass.getEStructuralFeatures().get(9);

+		return (EReference) getAD().getEStructuralFeatures().get(9);

 	}

 

 	/**

@@ -1130,7 +1205,7 @@
 	 */

 	@Override

 	public EReference getAD_StreetName() {

-		return (EReference) adEClass.getEStructuralFeatures().get(10);

+		return (EReference) getAD().getEStructuralFeatures().get(10);

 	}

 

 	/**

@@ -1140,7 +1215,7 @@
 	 */

 	@Override

 	public EReference getAD_StreetNameBase() {

-		return (EReference) adEClass.getEStructuralFeatures().get(11);

+		return (EReference) getAD().getEStructuralFeatures().get(11);

 	}

 

 	/**

@@ -1150,7 +1225,7 @@
 	 */

 	@Override

 	public EReference getAD_StreetNameType() {

-		return (EReference) adEClass.getEStructuralFeatures().get(12);

+		return (EReference) getAD().getEStructuralFeatures().get(12);

 	}

 

 	/**

@@ -1160,7 +1235,7 @@
 	 */

 	@Override

 	public EReference getAD_AdditionalLocator() {

-		return (EReference) adEClass.getEStructuralFeatures().get(13);

+		return (EReference) getAD().getEStructuralFeatures().get(13);

 	}

 

 	/**

@@ -1170,7 +1245,7 @@
 	 */

 	@Override

 	public EReference getAD_UnitID() {

-		return (EReference) adEClass.getEStructuralFeatures().get(14);

+		return (EReference) getAD().getEStructuralFeatures().get(14);

 	}

 

 	/**

@@ -1180,7 +1255,7 @@
 	 */

 	@Override

 	public EReference getAD_UnitType() {

-		return (EReference) adEClass.getEStructuralFeatures().get(15);

+		return (EReference) getAD().getEStructuralFeatures().get(15);

 	}

 

 	/**

@@ -1190,7 +1265,7 @@
 	 */

 	@Override

 	public EReference getAD_CareOf() {

-		return (EReference) adEClass.getEStructuralFeatures().get(16);

+		return (EReference) getAD().getEStructuralFeatures().get(16);

 	}

 

 	/**

@@ -1200,7 +1275,7 @@
 	 */

 	@Override

 	public EReference getAD_CensusTract() {

-		return (EReference) adEClass.getEStructuralFeatures().get(17);

+		return (EReference) getAD().getEStructuralFeatures().get(17);

 	}

 

 	/**

@@ -1210,7 +1285,7 @@
 	 */

 	@Override

 	public EReference getAD_DeliveryAddressLine() {

-		return (EReference) adEClass.getEStructuralFeatures().get(18);

+		return (EReference) getAD().getEStructuralFeatures().get(18);

 	}

 

 	/**

@@ -1220,7 +1295,7 @@
 	 */

 	@Override

 	public EReference getAD_DeliveryInstallationType() {

-		return (EReference) adEClass.getEStructuralFeatures().get(19);

+		return (EReference) getAD().getEStructuralFeatures().get(19);

 	}

 

 	/**

@@ -1230,7 +1305,7 @@
 	 */

 	@Override

 	public EReference getAD_DeliveryInstallationArea() {

-		return (EReference) adEClass.getEStructuralFeatures().get(20);

+		return (EReference) getAD().getEStructuralFeatures().get(20);

 	}

 

 	/**

@@ -1240,7 +1315,7 @@
 	 */

 	@Override

 	public EReference getAD_DeliveryInstallationQualifier() {

-		return (EReference) adEClass.getEStructuralFeatures().get(21);

+		return (EReference) getAD().getEStructuralFeatures().get(21);

 	}

 

 	/**

@@ -1250,7 +1325,7 @@
 	 */

 	@Override

 	public EReference getAD_DeliveryMode() {

-		return (EReference) adEClass.getEStructuralFeatures().get(22);

+		return (EReference) getAD().getEStructuralFeatures().get(22);

 	}

 

 	/**

@@ -1260,7 +1335,7 @@
 	 */

 	@Override

 	public EReference getAD_DeliveryModeIdentifier() {

-		return (EReference) adEClass.getEStructuralFeatures().get(23);

+		return (EReference) getAD().getEStructuralFeatures().get(23);

 	}

 

 	/**

@@ -1270,7 +1345,7 @@
 	 */

 	@Override

 	public EReference getAD_BuildingNumberSuffix() {

-		return (EReference) adEClass.getEStructuralFeatures().get(24);

+		return (EReference) getAD().getEStructuralFeatures().get(24);

 	}

 

 	/**

@@ -1280,7 +1355,7 @@
 	 */

 	@Override

 	public EReference getAD_PostBox() {

-		return (EReference) adEClass.getEStructuralFeatures().get(25);

+		return (EReference) getAD().getEStructuralFeatures().get(25);

 	}

 

 	/**

@@ -1290,7 +1365,7 @@
 	 */

 	@Override

 	public EReference getAD_Precinct() {

-		return (EReference) adEClass.getEStructuralFeatures().get(26);

+		return (EReference) getAD().getEStructuralFeatures().get(26);

 	}

 

 	/**

@@ -1300,7 +1375,7 @@
 	 */

 	@Override

 	public EAttribute getAD_Part() {

-		return (EAttribute) adEClass.getEStructuralFeatures().get(27);

+		return (EAttribute) getAD().getEStructuralFeatures().get(27);

 	}

 

 	/**

@@ -1310,7 +1385,7 @@
 	 */

 	@Override

 	public EAttribute getAD_Mixed() {

-		return (EAttribute) adEClass.getEStructuralFeatures().get(31);

+		return (EAttribute) getAD().getEStructuralFeatures().get(31);

 	}

 

 	/**

@@ -1320,6 +1395,10 @@
 	 */

 	@Override

 	public EClass getADXP() {

+		if (adxpEClass == null) {

+			adxpEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(22);

+		}

 		return adxpEClass;

 	}

 

@@ -1330,7 +1409,7 @@
 	 */

 	@Override

 	public EAttribute getADXP_PartType() {

-		return (EAttribute) adxpEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getADXP().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1340,6 +1419,10 @@
 	 */

 	@Override

 	public EClass getEN() {

+		if (enEClass == null) {

+			enEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				23);

+		}

 		return enEClass;

 	}

 

@@ -1350,7 +1433,7 @@
 	 */

 	@Override

 	public EAttribute getEN_Use() {

-		return (EAttribute) enEClass.getEStructuralFeatures().get(7);

+		return (EAttribute) getEN().getEStructuralFeatures().get(7);

 	}

 

 	/**

@@ -1360,7 +1443,7 @@
 	 */

 	@Override

 	public EReference getEN_ValidTime() {

-		return (EReference) enEClass.getEStructuralFeatures().get(6);

+		return (EReference) getEN().getEStructuralFeatures().get(6);

 	}

 

 	/**

@@ -1370,7 +1453,7 @@
 	 */

 	@Override

 	public EReference getEN_Delimiter() {

-		return (EReference) enEClass.getEStructuralFeatures().get(0);

+		return (EReference) getEN().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1380,7 +1463,7 @@
 	 */

 	@Override

 	public EReference getEN_Family() {

-		return (EReference) enEClass.getEStructuralFeatures().get(1);

+		return (EReference) getEN().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -1390,7 +1473,7 @@
 	 */

 	@Override

 	public EReference getEN_Given() {

-		return (EReference) enEClass.getEStructuralFeatures().get(2);

+		return (EReference) getEN().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -1400,7 +1483,7 @@
 	 */

 	@Override

 	public EReference getEN_Prefix() {

-		return (EReference) enEClass.getEStructuralFeatures().get(3);

+		return (EReference) getEN().getEStructuralFeatures().get(3);

 	}

 

 	/**

@@ -1410,7 +1493,7 @@
 	 */

 	@Override

 	public EReference getEN_Suffix() {

-		return (EReference) enEClass.getEStructuralFeatures().get(4);

+		return (EReference) getEN().getEStructuralFeatures().get(4);

 	}

 

 	/**

@@ -1420,7 +1503,7 @@
 	 */

 	@Override

 	public EAttribute getEN_Part() {

-		return (EAttribute) enEClass.getEStructuralFeatures().get(5);

+		return (EAttribute) getEN().getEStructuralFeatures().get(5);

 	}

 

 	/**

@@ -1430,7 +1513,7 @@
 	 */

 	@Override

 	public EAttribute getEN_Mixed() {

-		return (EAttribute) enEClass.getEStructuralFeatures().get(8);

+		return (EAttribute) getEN().getEStructuralFeatures().get(8);

 	}

 

 	/**

@@ -1440,6 +1523,10 @@
 	 */

 	@Override

 	public EClass getIVL_TS() {

+		if (ivL_TSEClass == null) {

+			ivL_TSEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(25);

+		}

 		return ivL_TSEClass;

 	}

 

@@ -1450,7 +1537,7 @@
 	 */

 	@Override

 	public EReference getIVL_TS_Low() {

-		return (EReference) ivL_TSEClass.getEStructuralFeatures().get(0);

+		return (EReference) getIVL_TS().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1460,7 +1547,7 @@
 	 */

 	@Override

 	public EReference getIVL_TS_Center() {

-		return (EReference) ivL_TSEClass.getEStructuralFeatures().get(1);

+		return (EReference) getIVL_TS().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -1470,7 +1557,7 @@
 	 */

 	@Override

 	public EReference getIVL_TS_High() {

-		return (EReference) ivL_TSEClass.getEStructuralFeatures().get(2);

+		return (EReference) getIVL_TS().getEStructuralFeatures().get(3);

 	}

 

 	/**

@@ -1480,7 +1567,7 @@
 	 */

 	@Override

 	public EReference getIVL_TS_Width() {

-		return (EReference) ivL_TSEClass.getEStructuralFeatures().get(3);

+		return (EReference) getIVL_TS().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -1490,6 +1577,10 @@
 	 */

 	@Override

 	public EClass getIVXB_TS() {

+		if (ivxB_TSEClass == null) {

+			ivxB_TSEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(26);

+		}

 		return ivxB_TSEClass;

 	}

 

@@ -1500,7 +1591,7 @@
 	 */

 	@Override

 	public EAttribute getIVXB_TS_Inclusive() {

-		return (EAttribute) ivxB_TSEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getIVXB_TS().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1510,6 +1601,10 @@
 	 */

 	@Override

 	public EClass getPQ() {

+		if (pqEClass == null) {

+			pqEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				27);

+		}

 		return pqEClass;

 	}

 

@@ -1520,7 +1615,7 @@
 	 */

 	@Override

 	public EAttribute getPQ_Value() {

-		return (EAttribute) pqEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getPQ().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1530,7 +1625,7 @@
 	 */

 	@Override

 	public EAttribute getPQ_Unit() {

-		return (EAttribute) pqEClass.getEStructuralFeatures().get(1);

+		return (EAttribute) getPQ().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -1540,7 +1635,7 @@
 	 */

 	@Override

 	public EReference getPQ_Translation() {

-		return (EReference) pqEClass.getEStructuralFeatures().get(2);

+		return (EReference) getPQ().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -1550,6 +1645,10 @@
 	 */

 	@Override

 	public EClass getPQR() {

+		if (pqrEClass == null) {

+			pqrEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				28);

+		}

 		return pqrEClass;

 	}

 

@@ -1560,7 +1659,7 @@
 	 */

 	@Override

 	public EAttribute getPQR_Value() {

-		return (EAttribute) pqrEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getPQR().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1570,6 +1669,10 @@
 	 */

 	@Override

 	public EClass getENXP() {

+		if (enxpEClass == null) {

+			enxpEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(24);

+		}

 		return enxpEClass;

 	}

 

@@ -1580,7 +1683,7 @@
 	 */

 	@Override

 	public EAttribute getENXP_PartType() {

-		return (EAttribute) enxpEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getENXP().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1590,7 +1693,7 @@
 	 */

 	@Override

 	public EAttribute getENXP_Qualifier() {

-		return (EAttribute) enxpEClass.getEStructuralFeatures().get(1);

+		return (EAttribute) getENXP().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -1600,6 +1703,10 @@
 	 */

 	@Override

 	public EClass getON() {

+		if (onEClass == null) {

+			onEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				29);

+		}

 		return onEClass;

 	}

 

@@ -1610,6 +1717,10 @@
 	 */

 	@Override

 	public EClass getPN() {

+		if (pnEClass == null) {

+			pnEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				30);

+		}

 		return pnEClass;

 	}

 

@@ -1620,6 +1731,10 @@
 	 */

 	@Override

 	public EClass getTN() {

+		if (tnEClass == null) {

+			tnEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				31);

+		}

 		return tnEClass;

 	}

 

@@ -1630,6 +1745,10 @@
 	 */

 	@Override

 	public EClass getINT() {

+		if (intEClass == null) {

+			intEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				32);

+		}

 		return intEClass;

 	}

 

@@ -1640,7 +1759,7 @@
 	 */

 	@Override

 	public EAttribute getINT_Value() {

-		return (EAttribute) intEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getINT().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1650,6 +1769,10 @@
 	 */

 	@Override

 	public EClass getREAL() {

+		if (realEClass == null) {

+			realEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(33);

+		}

 		return realEClass;

 	}

 

@@ -1660,7 +1783,7 @@
 	 */

 	@Override

 	public EAttribute getREAL_Value() {

-		return (EAttribute) realEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getREAL().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1670,6 +1793,10 @@
 	 */

 	@Override

 	public EClass getCS() {

+		if (csEClass == null) {

+			csEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				34);

+		}

 		return csEClass;

 	}

 

@@ -1680,6 +1807,10 @@
 	 */

 	@Override

 	public EClass getCO() {

+		if (coEClass == null) {

+			coEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				35);

+		}

 		return coEClass;

 	}

 

@@ -1690,6 +1821,10 @@
 	 */

 	@Override

 	public EClass getSC() {

+		if (scEClass == null) {

+			scEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				36);

+		}

 		return scEClass;

 	}

 

@@ -1700,7 +1835,7 @@
 	 */

 	@Override

 	public EAttribute getSC_Code() {

-		return (EAttribute) scEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getSC().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1710,7 +1845,7 @@
 	 */

 	@Override

 	public EAttribute getSC_CodeSystem() {

-		return (EAttribute) scEClass.getEStructuralFeatures().get(1);

+		return (EAttribute) getSC().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -1720,7 +1855,7 @@
 	 */

 	@Override

 	public EAttribute getSC_CodeSystemName() {

-		return (EAttribute) scEClass.getEStructuralFeatures().get(2);

+		return (EAttribute) getSC().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -1730,7 +1865,7 @@
 	 */

 	@Override

 	public EAttribute getSC_CodeSystemVersion() {

-		return (EAttribute) scEClass.getEStructuralFeatures().get(3);

+		return (EAttribute) getSC().getEStructuralFeatures().get(3);

 	}

 

 	/**

@@ -1740,7 +1875,7 @@
 	 */

 	@Override

 	public EAttribute getSC_DisplayName() {

-		return (EAttribute) scEClass.getEStructuralFeatures().get(4);

+		return (EAttribute) getSC().getEStructuralFeatures().get(4);

 	}

 

 	/**

@@ -1750,6 +1885,10 @@
 	 */

 	@Override

 	public EClass getRTO_QTY_QTY() {

+		if (rtO_QTY_QTYEClass == null) {

+			rtO_QTY_QTYEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(37);

+		}

 		return rtO_QTY_QTYEClass;

 	}

 

@@ -1760,7 +1899,7 @@
 	 */

 	@Override

 	public EReference getRTO_QTY_QTY_Numerator() {

-		return (EReference) rtO_QTY_QTYEClass.getEStructuralFeatures().get(0);

+		return (EReference) getRTO_QTY_QTY().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1770,7 +1909,7 @@
 	 */

 	@Override

 	public EReference getRTO_QTY_QTY_Denominator() {

-		return (EReference) rtO_QTY_QTYEClass.getEStructuralFeatures().get(1);

+		return (EReference) getRTO_QTY_QTY().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -1780,6 +1919,10 @@
 	 */

 	@Override

 	public EClass getMO() {

+		if (moEClass == null) {

+			moEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				38);

+		}

 		return moEClass;

 	}

 

@@ -1790,7 +1933,7 @@
 	 */

 	@Override

 	public EAttribute getMO_Value() {

-		return (EAttribute) moEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getMO().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1800,7 +1943,7 @@
 	 */

 	@Override

 	public EAttribute getMO_Currency() {

-		return (EAttribute) moEClass.getEStructuralFeatures().get(1);

+		return (EAttribute) getMO().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -1810,6 +1953,10 @@
 	 */

 	@Override

 	public EClass getRTO() {

+		if (rtoEClass == null) {

+			rtoEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(DatatypesPackage.eNS_URI).getEClassifiers().get(

+				39);

+		}

 		return rtoEClass;

 	}

 

@@ -1820,6 +1967,10 @@
 	 */

 	@Override

 	public EClass getSXCM_INT() {

+		if (sxcM_INTEClass == null) {

+			sxcM_INTEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(40);

+		}

 		return sxcM_INTEClass;

 	}

 

@@ -1830,7 +1981,7 @@
 	 */

 	@Override

 	public EAttribute getSXCM_INT_Operator() {

-		return (EAttribute) sxcM_INTEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getSXCM_INT().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1840,6 +1991,10 @@
 	 */

 	@Override

 	public EClass getIVXB_INT() {

+		if (ivxB_INTEClass == null) {

+			ivxB_INTEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(41);

+		}

 		return ivxB_INTEClass;

 	}

 

@@ -1850,7 +2005,7 @@
 	 */

 	@Override

 	public EAttribute getIVXB_INT_Inclusive() {

-		return (EAttribute) ivxB_INTEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getIVXB_INT().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1860,6 +2015,10 @@
 	 */

 	@Override

 	public EClass getIVL_INT() {

+		if (ivL_INTEClass == null) {

+			ivL_INTEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(42);

+		}

 		return ivL_INTEClass;

 	}

 

@@ -1870,7 +2029,7 @@
 	 */

 	@Override

 	public EReference getIVL_INT_Low() {

-		return (EReference) ivL_INTEClass.getEStructuralFeatures().get(0);

+		return (EReference) getIVL_INT().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1880,7 +2039,7 @@
 	 */

 	@Override

 	public EReference getIVL_INT_Center() {

-		return (EReference) ivL_INTEClass.getEStructuralFeatures().get(1);

+		return (EReference) getIVL_INT().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -1890,7 +2049,7 @@
 	 */

 	@Override

 	public EReference getIVL_INT_High() {

-		return (EReference) ivL_INTEClass.getEStructuralFeatures().get(2);

+		return (EReference) getIVL_INT().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -1900,7 +2059,7 @@
 	 */

 	@Override

 	public EReference getIVL_INT_Width() {

-		return (EReference) ivL_INTEClass.getEStructuralFeatures().get(3);

+		return (EReference) getIVL_INT().getEStructuralFeatures().get(3);

 	}

 

 	/**

@@ -1910,6 +2069,10 @@
 	 */

 	@Override

 	public EClass getIVXB_PQ() {

+		if (ivxB_PQEClass == null) {

+			ivxB_PQEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(43);

+		}

 		return ivxB_PQEClass;

 	}

 

@@ -1920,7 +2083,7 @@
 	 */

 	@Override

 	public EAttribute getIVXB_PQ_Inclusive() {

-		return (EAttribute) ivxB_PQEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getIVXB_PQ().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1930,6 +2093,10 @@
 	 */

 	@Override

 	public EClass getSXCM_PQ() {

+		if (sxcM_PQEClass == null) {

+			sxcM_PQEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(44);

+		}

 		return sxcM_PQEClass;

 	}

 

@@ -1940,7 +2107,7 @@
 	 */

 	@Override

 	public EAttribute getSXCM_PQ_Operator() {

-		return (EAttribute) sxcM_PQEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getSXCM_PQ().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1950,6 +2117,10 @@
 	 */

 	@Override

 	public EClass getIVL_PQ() {

+		if (ivL_PQEClass == null) {

+			ivL_PQEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(45);

+		}

 		return ivL_PQEClass;

 	}

 

@@ -1960,7 +2131,7 @@
 	 */

 	@Override

 	public EReference getIVL_PQ_Low() {

-		return (EReference) ivL_PQEClass.getEStructuralFeatures().get(0);

+		return (EReference) getIVL_PQ().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -1970,7 +2141,7 @@
 	 */

 	@Override

 	public EReference getIVL_PQ_Center() {

-		return (EReference) ivL_PQEClass.getEStructuralFeatures().get(1);

+		return (EReference) getIVL_PQ().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -1980,7 +2151,7 @@
 	 */

 	@Override

 	public EReference getIVL_PQ_High() {

-		return (EReference) ivL_PQEClass.getEStructuralFeatures().get(2);

+		return (EReference) getIVL_PQ().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -1990,7 +2161,7 @@
 	 */

 	@Override

 	public EReference getIVL_PQ_Width() {

-		return (EReference) ivL_PQEClass.getEStructuralFeatures().get(3);

+		return (EReference) getIVL_PQ().getEStructuralFeatures().get(3);

 	}

 

 	/**

@@ -2000,6 +2171,10 @@
 	 */

 	@Override

 	public EClass getRTO_PQ_PQ() {

+		if (rtO_PQ_PQEClass == null) {

+			rtO_PQ_PQEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(46);

+		}

 		return rtO_PQ_PQEClass;

 	}

 

@@ -2010,7 +2185,7 @@
 	 */

 	@Override

 	public EReference getRTO_PQ_PQ_Numerator() {

-		return (EReference) rtO_PQ_PQEClass.getEStructuralFeatures().get(0);

+		return (EReference) getRTO_PQ_PQ().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -2020,7 +2195,7 @@
 	 */

 	@Override

 	public EReference getRTO_PQ_PQ_Denominator() {

-		return (EReference) rtO_PQ_PQEClass.getEStructuralFeatures().get(1);

+		return (EReference) getRTO_PQ_PQ().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -2030,6 +2205,10 @@
 	 */

 	@Override

 	public EClass getPIVL_TS() {

+		if (pivL_TSEClass == null) {

+			pivL_TSEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(47);

+		}

 		return pivL_TSEClass;

 	}

 

@@ -2040,7 +2219,7 @@
 	 */

 	@Override

 	public EReference getPIVL_TS_Phase() {

-		return (EReference) pivL_TSEClass.getEStructuralFeatures().get(0);

+		return (EReference) getPIVL_TS().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -2050,7 +2229,7 @@
 	 */

 	@Override

 	public EReference getPIVL_TS_Period() {

-		return (EReference) pivL_TSEClass.getEStructuralFeatures().get(1);

+		return (EReference) getPIVL_TS().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -2060,7 +2239,7 @@
 	 */

 	@Override

 	public EAttribute getPIVL_TS_Alignment() {

-		return (EAttribute) pivL_TSEClass.getEStructuralFeatures().get(2);

+		return (EAttribute) getPIVL_TS().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -2070,7 +2249,7 @@
 	 */

 	@Override

 	public EAttribute getPIVL_TS_InstitutionSpecified() {

-		return (EAttribute) pivL_TSEClass.getEStructuralFeatures().get(3);

+		return (EAttribute) getPIVL_TS().getEStructuralFeatures().get(3);

 	}

 

 	/**

@@ -2080,6 +2259,10 @@
 	 */

 	@Override

 	public EClass getEIVL_event() {

+		if (eivL_eventEClass == null) {

+			eivL_eventEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(48);

+		}

 		return eivL_eventEClass;

 	}

 

@@ -2090,6 +2273,10 @@
 	 */

 	@Override

 	public EClass getEIVL_TS() {

+		if (eivL_TSEClass == null) {

+			eivL_TSEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(49);

+		}

 		return eivL_TSEClass;

 	}

 

@@ -2100,7 +2287,7 @@
 	 */

 	@Override

 	public EReference getEIVL_TS_Event() {

-		return (EReference) eivL_TSEClass.getEStructuralFeatures().get(0);

+		return (EReference) getEIVL_TS().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -2110,7 +2297,7 @@
 	 */

 	@Override

 	public EReference getEIVL_TS_Offset() {

-		return (EReference) eivL_TSEClass.getEStructuralFeatures().get(1);

+		return (EReference) getEIVL_TS().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -2120,6 +2307,10 @@
 	 */

 	@Override

 	public EClass getSXCM_REAL() {

+		if (sxcM_REALEClass == null) {

+			sxcM_REALEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(50);

+		}

 		return sxcM_REALEClass;

 	}

 

@@ -2130,7 +2321,7 @@
 	 */

 	@Override

 	public EAttribute getSXCM_REAL_Operator() {

-		return (EAttribute) sxcM_REALEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getSXCM_REAL().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -2140,6 +2331,10 @@
 	 */

 	@Override

 	public EClass getIVXB_REAL() {

+		if (ivxB_REALEClass == null) {

+			ivxB_REALEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(51);

+		}

 		return ivxB_REALEClass;

 	}

 

@@ -2150,7 +2345,7 @@
 	 */

 	@Override

 	public EAttribute getIVXB_REAL_Inclusive() {

-		return (EAttribute) ivxB_REALEClass.getEStructuralFeatures().get(0);

+		return (EAttribute) getIVXB_REAL().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -2160,6 +2355,10 @@
 	 */

 	@Override

 	public EClass getIVL_REAL() {

+		if (ivL_REALEClass == null) {

+			ivL_REALEClass = (EClass) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(52);

+		}

 		return ivL_REALEClass;

 	}

 

@@ -2170,7 +2369,7 @@
 	 */

 	@Override

 	public EReference getIVL_REAL_Low() {

-		return (EReference) ivL_REALEClass.getEStructuralFeatures().get(0);

+		return (EReference) getIVL_REAL().getEStructuralFeatures().get(0);

 	}

 

 	/**

@@ -2180,7 +2379,7 @@
 	 */

 	@Override

 	public EReference getIVL_REAL_Center() {

-		return (EReference) ivL_REALEClass.getEStructuralFeatures().get(1);

+		return (EReference) getIVL_REAL().getEStructuralFeatures().get(1);

 	}

 

 	/**

@@ -2190,7 +2389,7 @@
 	 */

 	@Override

 	public EReference getIVL_REAL_High() {

-		return (EReference) ivL_REALEClass.getEStructuralFeatures().get(2);

+		return (EReference) getIVL_REAL().getEStructuralFeatures().get(2);

 	}

 

 	/**

@@ -2200,7 +2399,7 @@
 	 */

 	@Override

 	public EReference getIVL_REAL_Width() {

-		return (EReference) ivL_REALEClass.getEStructuralFeatures().get(3);

+		return (EReference) getIVL_REAL().getEStructuralFeatures().get(3);

 	}

 

 	/**

@@ -2210,6 +2409,10 @@
 	 */

 	@Override

 	public EEnum getBinaryDataEncoding() {

+		if (binaryDataEncodingEEnum == null) {

+			binaryDataEncodingEEnum = (EEnum) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(2);

+		}

 		return binaryDataEncodingEEnum;

 	}

 

@@ -2220,6 +2423,10 @@
 	 */

 	@Override

 	public EDataType getcsType() {

+		if (csTypeEDataType == null) {

+			csTypeEDataType = (EDataType) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(10);

+		}

 		return csTypeEDataType;

 	}

 

@@ -2230,6 +2437,10 @@
 	 */

 	@Override

 	public EDataType getuid() {

+		if (uidEDataType == null) {

+			uidEDataType = (EDataType) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(16);

+		}

 		return uidEDataType;

 	}

 

@@ -2240,6 +2451,10 @@
 	 */

 	@Override

 	public EDataType getstType() {

+		if (stTypeEDataType == null) {

+			stTypeEDataType = (EDataType) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(17);

+		}

 		return stTypeEDataType;

 	}

 

@@ -2250,6 +2465,10 @@
 	 */

 	@Override

 	public EDataType gettsType() {

+		if (tsTypeEDataType == null) {

+			tsTypeEDataType = (EDataType) EPackage.Registry.INSTANCE.getEPackage(

+				DatatypesPackage.eNS_URI).getEClassifiers().get(9);

+		}

 		return tsTypeEDataType;

 	}

 

@@ -2268,2133 +2487,68 @@
 	 * <!-- end-user-doc -->

 	 * @generated

 	 */

-	private boolean isCreated = false;

+	private boolean isLoaded = false;

 

 	/**

-	 * Creates the meta-model objects for the package.  This method is

-	 * guarded to have no affect on any invocation but its first.

+	 * Laods the package and any sub-packages from their serialized form.

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

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

 	 * @generated

 	 */

-	public void createPackageContents() {

-		if (isCreated) {

+	public void loadPackage() {

+		if (isLoaded) {

 			return;

 		}

-		isCreated = true;

+		isLoaded = true;

 

-		// Create classes and their features

-		anyEClass = createEClass(ANY);

-		createEAttribute(anyEClass, ANY__NULL_FLAVOR);

-

-		binEClass = createEClass(BIN);

-		createEAttribute(binEClass, BIN__REPRESENTATION);

-

-		edEClass = createEClass(ED);

-		createEAttribute(edEClass, ED__MIXED);

-		createEReference(edEClass, ED__REFERENCE);

-		createEReference(edEClass, ED__THUMBNAIL);

-		createEAttribute(edEClass, ED__MEDIA_TYPE);

-		createEAttribute(edEClass, ED__LANGUAGE);

-		createEAttribute(edEClass, ED__COMPRESSION);

-		createEAttribute(edEClass, ED__INTEGRITY_CHECK);

-		createEAttribute(edEClass, ED__INTEGRITY_CHECK_ALGORITHM);

-

-		telEClass = createEClass(TEL);

-		createEAttribute(telEClass, TEL__MIXED);

-		createEReference(telEClass, TEL__USEABLE_PERIOD);

-		createEAttribute(telEClass, TEL__USE);

-

-		urlEClass = createEClass(URL);

-		createEAttribute(urlEClass, URL__VALUE);

-

-		sxcM_TSEClass = createEClass(SXCM_TS);

-		createEAttribute(sxcM_TSEClass, SXCM_TS__OPERATOR);

-

-		tsEClass = createEClass(TS);

-		createEAttribute(tsEClass, TS__VALUE);

-

-		qtyEClass = createEClass(QTY);

-

-		stEClass = createEClass(ST);

-

-		cdEClass = createEClass(CD);

-		createEReference(cdEClass, CD__ORIGINAL_TEXT);

-		createEReference(cdEClass, CD__QUALIFIER);

-		createEReference(cdEClass, CD__TRANSLATION);

-		createEAttribute(cdEClass, CD__CODE);

-		createEAttribute(cdEClass, CD__CODE_SYSTEM);

-		createEAttribute(cdEClass, CD__CODE_SYSTEM_NAME);

-		createEAttribute(cdEClass, CD__CODE_SYSTEM_VERSION);

-		createEAttribute(cdEClass, CD__DISPLAY_NAME);

-		createEAttribute(cdEClass, CD__SDTC_VALUE_SET);

-		createEAttribute(cdEClass, CD__SDTC_VALUE_SET_VERSION);

-

-		crEClass = createEClass(CR);

-		createEReference(crEClass, CR__NAME);

-		createEReference(crEClass, CR__VALUE);

-		createEAttribute(crEClass, CR__INVERTED);

-

-		cvEClass = createEClass(CV);

-

-		ceEClass = createEClass(CE);

-

-		iiEClass = createEClass(II);

-		createEAttribute(iiEClass, II__ROOT);

-		createEAttribute(iiEClass, II__EXTENSION);

-		createEAttribute(iiEClass, II__ASSIGNING_AUTHORITY_NAME);

-		createEAttribute(iiEClass, II__DISPLAYABLE);

-

-		blEClass = createEClass(BL);

-		createEAttribute(blEClass, BL__VALUE);

-

-		bnEClass = createEClass(BN);

-

-		adEClass = createEClass(AD);

-		createEReference(adEClass, AD__DELIMITER);

-		createEReference(adEClass, AD__COUNTRY);

-		createEReference(adEClass, AD__STATE);

-		createEReference(adEClass, AD__COUNTY);

-		createEReference(adEClass, AD__CITY);

-		createEReference(adEClass, AD__POSTAL_CODE);

-		createEReference(adEClass, AD__STREET_ADDRESS_LINE);

-		createEReference(adEClass, AD__HOUSE_NUMBER);

-		createEReference(adEClass, AD__HOUSE_NUMBER_NUMERIC);

-		createEReference(adEClass, AD__DIRECTION);

-		createEReference(adEClass, AD__STREET_NAME);

-		createEReference(adEClass, AD__STREET_NAME_BASE);

-		createEReference(adEClass, AD__STREET_NAME_TYPE);

-		createEReference(adEClass, AD__ADDITIONAL_LOCATOR);

-		createEReference(adEClass, AD__UNIT_ID);

-		createEReference(adEClass, AD__UNIT_TYPE);

-		createEReference(adEClass, AD__CARE_OF);

-		createEReference(adEClass, AD__CENSUS_TRACT);

-		createEReference(adEClass, AD__DELIVERY_ADDRESS_LINE);

-		createEReference(adEClass, AD__DELIVERY_INSTALLATION_TYPE);

-		createEReference(adEClass, AD__DELIVERY_INSTALLATION_AREA);

-		createEReference(adEClass, AD__DELIVERY_INSTALLATION_QUALIFIER);

-		createEReference(adEClass, AD__DELIVERY_MODE);

-		createEReference(adEClass, AD__DELIVERY_MODE_IDENTIFIER);

-		createEReference(adEClass, AD__BUILDING_NUMBER_SUFFIX);

-		createEReference(adEClass, AD__POST_BOX);

-		createEReference(adEClass, AD__PRECINCT);

-		createEAttribute(adEClass, AD__PART);

-		createEReference(adEClass, AD__USEABLE_PERIOD);

-		createEAttribute(adEClass, AD__USE);

-		createEAttribute(adEClass, AD__IS_NOT_ORDERED);

-		createEAttribute(adEClass, AD__MIXED);

-

-		adxpEClass = createEClass(ADXP);

-		createEAttribute(adxpEClass, ADXP__PART_TYPE);

-

-		enEClass = createEClass(EN);

-		createEReference(enEClass, EN__DELIMITER);

-		createEReference(enEClass, EN__FAMILY);

-		createEReference(enEClass, EN__GIVEN);

-		createEReference(enEClass, EN__PREFIX);

-		createEReference(enEClass, EN__SUFFIX);

-		createEAttribute(enEClass, EN__PART);

-		createEReference(enEClass, EN__VALID_TIME);

-		createEAttribute(enEClass, EN__USE);

-		createEAttribute(enEClass, EN__MIXED);

-

-		enxpEClass = createEClass(ENXP);

-		createEAttribute(enxpEClass, ENXP__PART_TYPE);

-		createEAttribute(enxpEClass, ENXP__QUALIFIER);

-

-		ivL_TSEClass = createEClass(IVL_TS);

-		createEReference(ivL_TSEClass, IVL_TS__LOW);

-		createEReference(ivL_TSEClass, IVL_TS__CENTER);

-		createEReference(ivL_TSEClass, IVL_TS__HIGH);

-		createEReference(ivL_TSEClass, IVL_TS__WIDTH);

-

-		ivxB_TSEClass = createEClass(IVXB_TS);

-		createEAttribute(ivxB_TSEClass, IVXB_TS__INCLUSIVE);

-

-		pqEClass = createEClass(PQ);

-		createEAttribute(pqEClass, PQ__VALUE);

-		createEAttribute(pqEClass, PQ__UNIT);

-		createEReference(pqEClass, PQ__TRANSLATION);

-

-		pqrEClass = createEClass(PQR);

-		createEAttribute(pqrEClass, PQR__VALUE);

-

-		onEClass = createEClass(ON);

-

-		pnEClass = createEClass(PN);

-

-		tnEClass = createEClass(TN);

-

-		intEClass = createEClass(INT);

-		createEAttribute(intEClass, INT__VALUE);

-

-		realEClass = createEClass(REAL);

-		createEAttribute(realEClass, REAL__VALUE);

-

-		csEClass = createEClass(CS);

-

-		coEClass = createEClass(CO);

-

-		scEClass = createEClass(SC);

-		createEAttribute(scEClass, SC__CODE);

-		createEAttribute(scEClass, SC__CODE_SYSTEM);

-		createEAttribute(scEClass, SC__CODE_SYSTEM_NAME);

-		createEAttribute(scEClass, SC__CODE_SYSTEM_VERSION);

-		createEAttribute(scEClass, SC__DISPLAY_NAME);

-

-		rtO_QTY_QTYEClass = createEClass(RTO_QTY_QTY);

-		createEReference(rtO_QTY_QTYEClass, RTO_QTY_QTY__NUMERATOR);

-		createEReference(rtO_QTY_QTYEClass, RTO_QTY_QTY__DENOMINATOR);

-

-		moEClass = createEClass(MO);

-		createEAttribute(moEClass, MO__VALUE);

-		createEAttribute(moEClass, MO__CURRENCY);

-

-		rtoEClass = createEClass(RTO);

-

-		sxcM_INTEClass = createEClass(SXCM_INT);

-		createEAttribute(sxcM_INTEClass, SXCM_INT__OPERATOR);

-

-		ivxB_INTEClass = createEClass(IVXB_INT);

-		createEAttribute(ivxB_INTEClass, IVXB_INT__INCLUSIVE);

-

-		ivL_INTEClass = createEClass(IVL_INT);

-		createEReference(ivL_INTEClass, IVL_INT__LOW);

-		createEReference(ivL_INTEClass, IVL_INT__CENTER);

-		createEReference(ivL_INTEClass, IVL_INT__HIGH);

-		createEReference(ivL_INTEClass, IVL_INT__WIDTH);

-

-		ivxB_PQEClass = createEClass(IVXB_PQ);

-		createEAttribute(ivxB_PQEClass, IVXB_PQ__INCLUSIVE);

-

-		sxcM_PQEClass = createEClass(SXCM_PQ);

-		createEAttribute(sxcM_PQEClass, SXCM_PQ__OPERATOR);

-

-		ivL_PQEClass = createEClass(IVL_PQ);

-		createEReference(ivL_PQEClass, IVL_PQ__LOW);

-		createEReference(ivL_PQEClass, IVL_PQ__CENTER);

-		createEReference(ivL_PQEClass, IVL_PQ__HIGH);

-		createEReference(ivL_PQEClass, IVL_PQ__WIDTH);

-

-		rtO_PQ_PQEClass = createEClass(RTO_PQ_PQ);

-		createEReference(rtO_PQ_PQEClass, RTO_PQ_PQ__NUMERATOR);

-		createEReference(rtO_PQ_PQEClass, RTO_PQ_PQ__DENOMINATOR);

-

-		pivL_TSEClass = createEClass(PIVL_TS);

-		createEReference(pivL_TSEClass, PIVL_TS__PHASE);

-		createEReference(pivL_TSEClass, PIVL_TS__PERIOD);

-		createEAttribute(pivL_TSEClass, PIVL_TS__ALIGNMENT);

-		createEAttribute(pivL_TSEClass, PIVL_TS__INSTITUTION_SPECIFIED);

-

-		eivL_eventEClass = createEClass(EIVL_EVENT);

-

-		eivL_TSEClass = createEClass(EIVL_TS);

-		createEReference(eivL_TSEClass, EIVL_TS__EVENT);

-		createEReference(eivL_TSEClass, EIVL_TS__OFFSET);

-

-		sxcM_REALEClass = createEClass(SXCM_REAL);

-		createEAttribute(sxcM_REALEClass, SXCM_REAL__OPERATOR);

-

-		ivxB_REALEClass = createEClass(IVXB_REAL);

-		createEAttribute(ivxB_REALEClass, IVXB_REAL__INCLUSIVE);

-

-		ivL_REALEClass = createEClass(IVL_REAL);

-		createEReference(ivL_REALEClass, IVL_REAL__LOW);

-		createEReference(ivL_REALEClass, IVL_REAL__CENTER);

-		createEReference(ivL_REALEClass, IVL_REAL__HIGH);

-		createEReference(ivL_REALEClass, IVL_REAL__WIDTH);

-

-		// Create enums

-		binaryDataEncodingEEnum = createEEnum(BINARY_DATA_ENCODING);

-

-		// Create data types

-		tsTypeEDataType = createEDataType(TS_TYPE);

-		csTypeEDataType = createEDataType(CS_TYPE);

-		uidEDataType = createEDataType(UID);

-		stTypeEDataType = createEDataType(ST_TYPE);

-	}

-

-	/**

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

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

-	 * @generated

-	 */

-	private boolean isInitialized = false;

-

-	/**

-	 * Complete the initialization of the package and its meta-model.  This

-	 * method is guarded to have no affect on any invocation but its first.

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

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

-	 * @generated

-	 */

-	public void initializePackageContents() {

-		if (isInitialized) {

-			return;

+		java.net.URL url = getClass().getResource(packageFilename);

+		if (url == null) {

+			throw new RuntimeException("Missing serialized package: " + packageFilename);

 		}

-		isInitialized = true;

-

-		// Initialize package

-		setName(eNAME);

-		setNsPrefix(eNS_PREFIX);

-		setNsURI(eNS_URI);

-

-		// Obtain other dependent packages

-		VocabPackage theVocabPackage = (VocabPackage) EPackage.Registry.INSTANCE.getEPackage(VocabPackage.eNS_URI);

-		TypesPackage theTypesPackage = (TypesPackage) EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);

-

-		// Create type parameters

-

-		// Set bounds for type parameters

-

-		// Add supertypes to classes

-		binEClass.getESuperTypes().add(this.getANY());

-		edEClass.getESuperTypes().add(this.getBIN());

-		telEClass.getESuperTypes().add(this.getURL());

-		urlEClass.getESuperTypes().add(this.getANY());

-		sxcM_TSEClass.getESuperTypes().add(this.getTS());

-		tsEClass.getESuperTypes().add(this.getQTY());

-		qtyEClass.getESuperTypes().add(this.getANY());

-		stEClass.getESuperTypes().add(this.getED());

-		cdEClass.getESuperTypes().add(this.getANY());

-		crEClass.getESuperTypes().add(this.getANY());

-		cvEClass.getESuperTypes().add(this.getCE());

-		ceEClass.getESuperTypes().add(this.getCD());

-		iiEClass.getESuperTypes().add(this.getANY());

-		blEClass.getESuperTypes().add(this.getANY());

-		bnEClass.getESuperTypes().add(this.getBL());

-		adEClass.getESuperTypes().add(this.getANY());

-		adxpEClass.getESuperTypes().add(this.getST());

-		enEClass.getESuperTypes().add(this.getANY());

-		enxpEClass.getESuperTypes().add(this.getST());

-		ivL_TSEClass.getESuperTypes().add(this.getSXCM_TS());

-		ivxB_TSEClass.getESuperTypes().add(this.getTS());

-		pqEClass.getESuperTypes().add(this.getQTY());

-		pqrEClass.getESuperTypes().add(this.getCV());

-		onEClass.getESuperTypes().add(this.getEN());

-		pnEClass.getESuperTypes().add(this.getEN());

-		tnEClass.getESuperTypes().add(this.getEN());

-		intEClass.getESuperTypes().add(this.getQTY());

-		realEClass.getESuperTypes().add(this.getQTY());

-		csEClass.getESuperTypes().add(this.getCV());

-		coEClass.getESuperTypes().add(this.getCV());

-		scEClass.getESuperTypes().add(this.getST());

-		rtO_QTY_QTYEClass.getESuperTypes().add(this.getQTY());

-		moEClass.getESuperTypes().add(this.getQTY());

-		rtoEClass.getESuperTypes().add(this.getRTO_QTY_QTY());

-		sxcM_INTEClass.getESuperTypes().add(this.getINT());

-		ivxB_INTEClass.getESuperTypes().add(this.getINT());

-		ivL_INTEClass.getESuperTypes().add(this.getSXCM_INT());

-		ivxB_PQEClass.getESuperTypes().add(this.getPQ());

-		sxcM_PQEClass.getESuperTypes().add(this.getPQ());

-		ivL_PQEClass.getESuperTypes().add(this.getSXCM_PQ());

-		rtO_PQ_PQEClass.getESuperTypes().add(this.getQTY());

-		pivL_TSEClass.getESuperTypes().add(this.getSXCM_TS());

-		eivL_eventEClass.getESuperTypes().add(this.getCE());

-		eivL_TSEClass.getESuperTypes().add(this.getSXCM_TS());

-		sxcM_REALEClass.getESuperTypes().add(this.getREAL());

-		ivxB_REALEClass.getESuperTypes().add(this.getREAL());

-		ivL_REALEClass.getESuperTypes().add(this.getSXCM_REAL());

-

-		// Initialize classes and features; add operations and parameters

-		initEClass(

-			anyEClass, org.eclipse.mdht.uml.hl7.datatypes.ANY.class, "ANY", IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getANY_NullFlavor(), theVocabPackage.getNullFlavor(), "nullFlavor", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.ANY.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-

-		addEOperation(anyEClass, theTypesPackage.getBoolean(), "isNullFlavorDefined", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		addEOperation(anyEClass, theTypesPackage.getBoolean(), "isNullFlavorUndefined", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		addEOperation(anyEClass, theTypesPackage.getBoolean(), "hasContent", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		EOperation op = addEOperation(

-			anyEClass, theTypesPackage.getBoolean(), "isDefined", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "featureName", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(anyEClass, theTypesPackage.getBoolean(), "matches", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "featureName", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "regularExpression", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		initEClass(

-			binEClass, org.eclipse.mdht.uml.hl7.datatypes.BIN.class, "BIN", IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getBIN_Representation(), this.getBinaryDataEncoding(), "representation", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.BIN.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-

-		initEClass(

-			edEClass, org.eclipse.mdht.uml.hl7.datatypes.ED.class, "ED", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getED_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.ED.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEReference(

-			getED_Reference(), this.getTEL(), null, "reference", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.ED.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getED_Thumbnail(), this.getED(), null, "thumbnail", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.ED.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEAttribute(

-			getED_MediaType(), this.getcsType(), "mediaType", "text/plain", 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.ED.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-		initEAttribute(

-			getED_Language(), this.getcsType(), "language", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.ED.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

-		initEAttribute(

-			getED_Compression(), theVocabPackage.getCompressionAlgorithm(), "compression", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.ED.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-		initEAttribute(

-			getED_IntegrityCheck(), ecorePackage.getEByteArray(), "integrityCheck", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.ED.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEAttribute(

-			getED_IntegrityCheckAlgorithm(), theVocabPackage.getIntegrityCheckAlgorithm(), "integrityCheckAlgorithm",

-			"SHA-1", 0, 1, org.eclipse.mdht.uml.hl7.datatypes.ED.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,

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

-

-		op = addEOperation(

-			edEClass, ecorePackage.getEBoolean(), "validateThumbnailThumbnail", 0, 1, IS_UNIQUE, IS_ORDERED);

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

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

-		EGenericType 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(edEClass, this.getED(), "addText", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "text", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		addEOperation(edEClass, theTypesPackage.getString(), "getText", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(edEClass, theTypesPackage.getBoolean(), "matches", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "regularExpression", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		addEOperation(edEClass, theTypesPackage.getString(), "getCDATA", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(edEClass, this.getED(), "addCDATA", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "cdata", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		initEClass(

-			telEClass, org.eclipse.mdht.uml.hl7.datatypes.TEL.class, "TEL", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getTEL_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.TEL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEReference(

-			getTEL_UseablePeriod(), this.getSXCM_TS(), null, "useablePeriod", null, 0, -1,

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

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

-		initEAttribute(

-			getTEL_Use(), theVocabPackage.getTelecommunicationAddressUse(), "use", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.TEL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-

-		addEOperation(telEClass, theTypesPackage.getString(), "getText", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		initEClass(

-			urlEClass, org.eclipse.mdht.uml.hl7.datatypes.URL.class, "URL", IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getURL_Value(), theTypesPackage.getString(), "value", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.URL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-

-		op = addEOperation(urlEClass, ecorePackage.getEBoolean(), "validateURL", 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);

-

-		initEClass(

-			sxcM_TSEClass, org.eclipse.mdht.uml.hl7.datatypes.SXCM_TS.class, "SXCM_TS", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getSXCM_TS_Operator(), theVocabPackage.getSetOperator(), "operator", "I", 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.SXCM_TS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-

-		initEClass(

-			tsEClass, org.eclipse.mdht.uml.hl7.datatypes.TS.class, "TS", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getTS_Value(), this.gettsType(), "value", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.TS.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

-

-		initEClass(

-			qtyEClass, org.eclipse.mdht.uml.hl7.datatypes.QTY.class, "QTY", IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-

-		initEClass(

-			stEClass, org.eclipse.mdht.uml.hl7.datatypes.ST.class, "ST", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-

-		op = addEOperation(stEClass, ecorePackage.getEBoolean(), "validateThumbnail", 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(stEClass, ecorePackage.getEBoolean(), "validateReference", 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(stEClass, ecorePackage.getEBoolean(), "validateIntegrityCheck", 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(

-			stEClass, ecorePackage.getEBoolean(), "validateIntegrityCheckAlgorithm", 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(stEClass, ecorePackage.getEBoolean(), "validateCompression", 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(stEClass, ecorePackage.getEBoolean(), "validateRepresentation", 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(stEClass, ecorePackage.getEBoolean(), "validateST", 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);

-

-		addEOperation(stEClass, theTypesPackage.getBoolean(), "isCompressionDefined", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		addEOperation(

-			stEClass, theTypesPackage.getBoolean(), "isIntegrityCheckAlgorithmDefined", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		addEOperation(stEClass, theTypesPackage.getBoolean(), "isRepresentationDefined", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		initEClass(

-			cdEClass, org.eclipse.mdht.uml.hl7.datatypes.CD.class, "CD", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEReference(

-			getCD_OriginalText(), this.getED(), null, "originalText", null, 0, 1,

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

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

-		initEReference(

-			getCD_Qualifier(), this.getCR(), null, "qualifier", null, 0, -1,

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

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

-		initEReference(

-			getCD_Translation(), this.getCD(), null, "translation", null, 0, -1,

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

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

-		initEAttribute(

-			getCD_Code(), this.getcsType(), "code", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.CD.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

-		initEAttribute(

-			getCD_CodeSystem(), this.getuid(), "codeSystem", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.CD.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

-		initEAttribute(

-			getCD_CodeSystemName(), this.getstType(), "codeSystemName", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.CD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEAttribute(

-			getCD_CodeSystemVersion(), this.getstType(), "codeSystemVersion", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.CD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEAttribute(

-			getCD_DisplayName(), this.getstType(), "displayName", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.CD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEAttribute(

-			getCD_SDTCValueSet(), this.getstType(), "sDTCValueSet", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.CD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEAttribute(

-			getCD_SDTCValueSetVersion(), this.getstType(), "sDTCValueSetVersion", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.CD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-

-		initEClass(

-			crEClass, org.eclipse.mdht.uml.hl7.datatypes.CR.class, "CR", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEReference(

-			getCR_Name(), this.getCV(), null, "name", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.CR.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			!IS_DERIVED, !IS_ORDERED);

-		initEReference(

-			getCR_Value(), this.getCD(), null, "value", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.CR.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			!IS_DERIVED, !IS_ORDERED);

-		initEAttribute(

-			getCR_Inverted(), theTypesPackage.getBoolean(), "inverted", "false", 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.CR.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-

-		op = addEOperation(crEClass, ecorePackage.getEBoolean(), "validateCR", 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);

-

-		initEClass(

-			cvEClass, org.eclipse.mdht.uml.hl7.datatypes.CV.class, "CV", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-

-		op = addEOperation(cvEClass, ecorePackage.getEBoolean(), "validateTranslation", 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);

-

-		initEClass(

-			ceEClass, org.eclipse.mdht.uml.hl7.datatypes.CE.class, "CE", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-

-		op = addEOperation(ceEClass, ecorePackage.getEBoolean(), "validateQualifier", 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);

-

-		initEClass(

-			iiEClass, org.eclipse.mdht.uml.hl7.datatypes.II.class, "II", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getII_Root(), this.getuid(), "root", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.II.class, !IS_TRANSIENT,

-			!IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

-		initEAttribute(

-			getII_Extension(), this.getstType(), "extension", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.II.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

-		initEAttribute(

-			getII_AssigningAuthorityName(), this.getstType(), "assigningAuthorityName", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.II.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEAttribute(

-			getII_Displayable(), ecorePackage.getEBooleanObject(), "displayable", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.II.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-

-		op = addEOperation(iiEClass, ecorePackage.getEBoolean(), "validateII", 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);

-

-		initEClass(

-			blEClass, org.eclipse.mdht.uml.hl7.datatypes.BL.class, "BL", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getBL_Value(), ecorePackage.getEBooleanObject(), "value", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.BL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-

-		op = addEOperation(blEClass, ecorePackage.getEBoolean(), "validateBL", 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);

-

-		initEClass(

-			bnEClass, org.eclipse.mdht.uml.hl7.datatypes.BN.class, "BN", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-

-		op = addEOperation(bnEClass, ecorePackage.getEBoolean(), "validateNullFlavor", 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);

-

-		initEClass(

-			adEClass, org.eclipse.mdht.uml.hl7.datatypes.AD.class, "AD", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEReference(

-			getAD_Delimiter(), this.getADXP(), null, "delimiter", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_Country(), this.getADXP(), null, "country", null, 0, -1, org.eclipse.mdht.uml.hl7.datatypes.AD.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEReference(

-			getAD_State(), this.getADXP(), null, "state", null, 0, -1, org.eclipse.mdht.uml.hl7.datatypes.AD.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEReference(

-			getAD_County(), this.getADXP(), null, "county", null, 0, -1, org.eclipse.mdht.uml.hl7.datatypes.AD.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEReference(

-			getAD_City(), this.getADXP(), null, "city", null, 0, -1, org.eclipse.mdht.uml.hl7.datatypes.AD.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEReference(

-			getAD_PostalCode(), this.getADXP(), null, "postalCode", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_StreetAddressLine(), this.getADXP(), null, "streetAddressLine", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_HouseNumber(), this.getADXP(), null, "houseNumber", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_HouseNumberNumeric(), this.getADXP(), null, "houseNumberNumeric", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_Direction(), this.getADXP(), null, "direction", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_StreetName(), this.getADXP(), null, "streetName", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_StreetNameBase(), this.getADXP(), null, "streetNameBase", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_StreetNameType(), this.getADXP(), null, "streetNameType", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_AdditionalLocator(), this.getADXP(), null, "additionalLocator", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_UnitID(), this.getADXP(), null, "unitID", null, 0, -1, org.eclipse.mdht.uml.hl7.datatypes.AD.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEReference(

-			getAD_UnitType(), this.getADXP(), null, "unitType", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_CareOf(), this.getADXP(), null, "careOf", null, 0, -1, org.eclipse.mdht.uml.hl7.datatypes.AD.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEReference(

-			getAD_CensusTract(), this.getADXP(), null, "censusTract", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_DeliveryAddressLine(), this.getADXP(), null, "deliveryAddressLine", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_DeliveryInstallationType(), this.getADXP(), null, "deliveryInstallationType", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_DeliveryInstallationArea(), this.getADXP(), null, "deliveryInstallationArea", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_DeliveryInstallationQualifier(), this.getADXP(), null, "deliveryInstallationQualifier", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_DeliveryMode(), this.getADXP(), null, "deliveryMode", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_DeliveryModeIdentifier(), this.getADXP(), null, "deliveryModeIdentifier", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_BuildingNumberSuffix(), this.getADXP(), null, "buildingNumberSuffix", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getAD_PostBox(), this.getADXP(), null, "postBox", null, 0, -1, org.eclipse.mdht.uml.hl7.datatypes.AD.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEReference(

-			getAD_Precinct(), this.getADXP(), null, "precinct", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEAttribute(

-			getAD_Part(), ecorePackage.getEFeatureMapEntry(), "part", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEReference(

-			getAD_UseablePeriod(), this.getSXCM_TS(), null, "useablePeriod", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEAttribute(

-			getAD_Use(), theVocabPackage.getPostalAddressUse(), "use", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-		initEAttribute(

-			getAD_IsNotOrdered(), ecorePackage.getEBooleanObject(), "isNotOrdered", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEAttribute(

-			getAD_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.AD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-

-		op = addEOperation(adEClass, ecorePackage.getEBoolean(), "validateDelimiter", 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(adEClass, ecorePackage.getEBoolean(), "validateCountry", 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(adEClass, ecorePackage.getEBoolean(), "validateState", 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(adEClass, ecorePackage.getEBoolean(), "validateCounty", 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(adEClass, ecorePackage.getEBoolean(), "validateCity", 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(adEClass, ecorePackage.getEBoolean(), "validatePostalCode", 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(

-			adEClass, ecorePackage.getEBoolean(), "validateStreetAddressLine", 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(adEClass, ecorePackage.getEBoolean(), "validateHouseNumber", 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(

-			adEClass, ecorePackage.getEBoolean(), "validateHouseNumberNumeric", 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(adEClass, ecorePackage.getEBoolean(), "validateDirection", 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(adEClass, ecorePackage.getEBoolean(), "validateStreetName", 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(adEClass, ecorePackage.getEBoolean(), "validateStreetNameBase", 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(adEClass, ecorePackage.getEBoolean(), "validateStreetNameType", 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(

-			adEClass, ecorePackage.getEBoolean(), "validateAdditionalLocator", 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(adEClass, ecorePackage.getEBoolean(), "validateUnitID", 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(adEClass, ecorePackage.getEBoolean(), "validateUnitType", 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(adEClass, ecorePackage.getEBoolean(), "validateCareOf", 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(adEClass, ecorePackage.getEBoolean(), "validateCensusTract", 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(

-			adEClass, ecorePackage.getEBoolean(), "validateDeliveryAddressLine", 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(

-			adEClass, ecorePackage.getEBoolean(), "validateDeliveryInstallationType", 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(

-			adEClass, ecorePackage.getEBoolean(), "validateDeliveryInstallationArea", 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(

-			adEClass, ecorePackage.getEBoolean(), "validateDeliveryInstallationQualifier", 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(adEClass, ecorePackage.getEBoolean(), "validateDeliveryMode", 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(

-			adEClass, ecorePackage.getEBoolean(), "validateDeliveryModeIdentifier", 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(

-			adEClass, ecorePackage.getEBoolean(), "validateBuildingNumberSuffix", 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(adEClass, ecorePackage.getEBoolean(), "validatePostBox", 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(adEClass, ecorePackage.getEBoolean(), "validatePrecinct", 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(adEClass, this.getAD(), "addDelimiter", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "delimiter", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addCountry", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "country", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addState", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "state", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addCounty", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "county", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addCity", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "city", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addPostalCode", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "postalCode", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addStreetAddressLine", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "streetAddressLine", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addHouseNumber", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "houseNumber", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addHouseNumberNumeric", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "houseNumberNumeric", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addDirection", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "direction", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addStreetName", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "streetName", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addStreetNameBase", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "streetNameBase", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addStreetNameType", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "streetNameType", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addAdditionalLocator", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "additionalLocator", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addUnitID", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "unitID", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addUnitType", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "unitType", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addCareOf", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "careOf", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addCensusTract", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "censusTract", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addDeliveryAddressLine", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "deliveryAddressLine", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addDeliveryInstallationType", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "deliveryInstallationType", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addDeliveryInstallationArea", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "deliveryInstallationArea", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addDeliveryInstallationQualifier", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "deliveryInstallationQualifier", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addDeliveryMode", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "deliveryMode", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addDeliveryModeIdentifier", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "deliveryModeIdentifier", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addBuildingNumberSuffix", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "buildingNumberSuffix", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addPostBox", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "postBox", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addPrecinct", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "precinct", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(adEClass, this.getAD(), "addText", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "text", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		addEOperation(adEClass, theTypesPackage.getString(), "getText", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		initEClass(

-			adxpEClass, org.eclipse.mdht.uml.hl7.datatypes.ADXP.class, "ADXP", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getADXP_PartType(), theVocabPackage.getAddressPartType(), "partType", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.ADXP.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-

-		initEClass(

-			enEClass, org.eclipse.mdht.uml.hl7.datatypes.EN.class, "EN", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEReference(

-			getEN_Delimiter(), this.getENXP(), null, "delimiter", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.EN.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEReference(

-			getEN_Family(), this.getENXP(), null, "family", null, 0, -1, org.eclipse.mdht.uml.hl7.datatypes.EN.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEReference(

-			getEN_Given(), this.getENXP(), null, "given", null, 0, -1, org.eclipse.mdht.uml.hl7.datatypes.EN.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEReference(

-			getEN_Prefix(), this.getENXP(), null, "prefix", null, 0, -1, org.eclipse.mdht.uml.hl7.datatypes.EN.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEReference(

-			getEN_Suffix(), this.getENXP(), null, "suffix", null, 0, -1, org.eclipse.mdht.uml.hl7.datatypes.EN.class,

-			IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			IS_DERIVED, IS_ORDERED);

-		initEAttribute(

-			getEN_Part(), ecorePackage.getEFeatureMapEntry(), "part", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.EN.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEReference(

-			getEN_ValidTime(), this.getIVL_TS(), null, "validTime", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.EN.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,

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

-		initEAttribute(

-			getEN_Use(), theVocabPackage.getEntityNameUse(), "use", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.EN.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-		initEAttribute(

-			getEN_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.EN.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-

-		op = addEOperation(enEClass, ecorePackage.getEBoolean(), "validateDelimiter", 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(enEClass, ecorePackage.getEBoolean(), "validateFamily", 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(enEClass, ecorePackage.getEBoolean(), "validateGiven", 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(enEClass, ecorePackage.getEBoolean(), "validatePrefix", 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(enEClass, ecorePackage.getEBoolean(), "validateSuffix", 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(enEClass, this.getEN(), "addDelimiter", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "delimiter", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(enEClass, this.getEN(), "addFamily", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "family", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(enEClass, this.getEN(), "addGiven", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "given", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(enEClass, this.getEN(), "addPrefix", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "prefix", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(enEClass, this.getEN(), "addSuffix", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "suffix", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(enEClass, this.getEN(), "addText", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getString(), "text", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		addEOperation(enEClass, theTypesPackage.getString(), "getText", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		op = addEOperation(enEClass, theTypesPackage.getString(), "getText", 1, 1, IS_UNIQUE, !IS_ORDERED);

-		addEParameter(op, theTypesPackage.getBoolean(), "trim", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		initEClass(

-			enxpEClass, org.eclipse.mdht.uml.hl7.datatypes.ENXP.class, "ENXP", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getENXP_PartType(), theVocabPackage.getEntityNamePartType(), "partType", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.ENXP.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-		initEAttribute(

-			getENXP_Qualifier(), theVocabPackage.getEntityNamePartQualifier(), "qualifier", null, 0, -1,

-			org.eclipse.mdht.uml.hl7.datatypes.ENXP.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-

-		initEClass(

-			ivL_TSEClass, org.eclipse.mdht.uml.hl7.datatypes.IVL_TS.class, "IVL_TS", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEReference(

-			getIVL_TS_Low(), this.getIVXB_TS(), null, "low", null, 0, 1,

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

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

-		initEReference(

-			getIVL_TS_Center(), this.getTS(), null, "center", null, 0, 1,

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

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

-		initEReference(

-			getIVL_TS_High(), this.getIVXB_TS(), null, "high", null, 0, 1,

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

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

-		initEReference(

-			getIVL_TS_Width(), this.getPQ(), null, "width", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.IVL_TS.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			!IS_DERIVED, !IS_ORDERED);

-

-		op = addEOperation(

-			ivL_TSEClass, ecorePackage.getEBoolean(), "validateOptionsContainingLow", 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(

-			ivL_TSEClass, ecorePackage.getEBoolean(), "validateOptionsContainingCenter", 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(

-			ivL_TSEClass, ecorePackage.getEBoolean(), "validateOptionsContainingHigh", 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(

-			ivL_TSEClass, ecorePackage.getEBoolean(), "validateOptionsContainingWidth", 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);

-

-		initEClass(

-			ivxB_TSEClass, org.eclipse.mdht.uml.hl7.datatypes.IVXB_TS.class, "IVXB_TS", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getIVXB_TS_Inclusive(), ecorePackage.getEBooleanObject(), "inclusive", "true", 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.IVXB_TS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,

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

-

-		initEClass(

-			pqEClass, org.eclipse.mdht.uml.hl7.datatypes.PQ.class, "PQ", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getPQ_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.PQ.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEAttribute(

-			getPQ_Unit(), this.getcsType(), "unit", "1", 0, 1, org.eclipse.mdht.uml.hl7.datatypes.PQ.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

-		initEReference(

-			getPQ_Translation(), this.getPQR(), null, "translation", null, 0, -1,

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

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

-

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

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

-

-		initEClass(

-			pqrEClass, org.eclipse.mdht.uml.hl7.datatypes.PQR.class, "PQR", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getPQR_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.PQR.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-

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

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

-

-		initEClass(

-			onEClass, org.eclipse.mdht.uml.hl7.datatypes.ON.class, "ON", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-

-		op = addEOperation(onEClass, ecorePackage.getEBoolean(), "validateInvariant", 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);

-

-		initEClass(

-			pnEClass, org.eclipse.mdht.uml.hl7.datatypes.PN.class, "PN", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-

-		op = addEOperation(pnEClass, ecorePackage.getEBoolean(), "validateInvariant", 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);

-

-		initEClass(

-			tnEClass, org.eclipse.mdht.uml.hl7.datatypes.TN.class, "TN", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-

-		op = addEOperation(tnEClass, ecorePackage.getEBoolean(), "validateInvariant", 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);

-

-		initEClass(

-			intEClass, org.eclipse.mdht.uml.hl7.datatypes.INT.class, "INT", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getINT_Value(), ecorePackage.getEBigInteger(), "value", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.INT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-

-		op = addEOperation(intEClass, ecorePackage.getEBoolean(), "validateINT", 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(intEClass, null, "setValue", 1, 1, IS_UNIQUE, !IS_ORDERED);

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

-

-		initEClass(

-			realEClass, org.eclipse.mdht.uml.hl7.datatypes.REAL.class, "REAL", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getREAL_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1,

-			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, null, "setValue", 1, 1, IS_UNIQUE, !IS_ORDERED);

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

-

-		initEClass(

-			csEClass, org.eclipse.mdht.uml.hl7.datatypes.CS.class, "CS", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-

-		op = addEOperation(csEClass, ecorePackage.getEBoolean(), "validateOriginalText", 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(csEClass, ecorePackage.getEBoolean(), "validateCodeSystem", 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(csEClass, ecorePackage.getEBoolean(), "validateCodeSystemName", 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(

-			csEClass, ecorePackage.getEBoolean(), "validateCodeSystemVersion", 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(csEClass, ecorePackage.getEBoolean(), "validateDisplayName", 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);

-

-		initEClass(

-			coEClass, org.eclipse.mdht.uml.hl7.datatypes.CO.class, "CO", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-

-		initEClass(

-			scEClass, org.eclipse.mdht.uml.hl7.datatypes.SC.class, "SC", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getSC_Code(), this.getcsType(), "code", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.SC.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

-		initEAttribute(

-			getSC_CodeSystem(), this.getuid(), "codeSystem", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.SC.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

-		initEAttribute(

-			getSC_CodeSystemName(), this.getstType(), "codeSystemName", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.SC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEAttribute(

-			getSC_CodeSystemVersion(), this.getstType(), "codeSystemVersion", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.SC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEAttribute(

-			getSC_DisplayName(), this.getstType(), "displayName", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.SC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-

-		initEClass(

-			rtO_QTY_QTYEClass, org.eclipse.mdht.uml.hl7.datatypes.RTO_QTY_QTY.class, "RTO_QTY_QTY", !IS_ABSTRACT,

-			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

-		initEReference(

-			getRTO_QTY_QTY_Numerator(), this.getQTY(), null, "numerator", null, 1, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.RTO_QTY_QTY.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,

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

-		initEReference(

-			getRTO_QTY_QTY_Denominator(), this.getQTY(), null, "denominator", null, 1, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.RTO_QTY_QTY.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,

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

-

-		op = addEOperation(

-			rtO_QTY_QTYEClass, ecorePackage.getEBoolean(), "validateDenominator", 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);

-

-		initEClass(

-			moEClass, org.eclipse.mdht.uml.hl7.datatypes.MO.class, "MO", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getMO_Value(), ecorePackage.getEBigDecimal(), "value", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.MO.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,

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

-		initEAttribute(

-			getMO_Currency(), this.getcsType(), "currency", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.MO.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);

-

-		op = addEOperation(moEClass, ecorePackage.getEBoolean(), "validateMO", 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(moEClass, null, "setValue", 1, 1, IS_UNIQUE, !IS_ORDERED);

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

-

-		initEClass(

-			rtoEClass, org.eclipse.mdht.uml.hl7.datatypes.RTO.class, "RTO", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-

-		initEClass(

-			sxcM_INTEClass, org.eclipse.mdht.uml.hl7.datatypes.SXCM_INT.class, "SXCM_INT", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getSXCM_INT_Operator(), theVocabPackage.getSetOperator(), "operator", "I", 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.SXCM_INT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,

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

-

-		initEClass(

-			ivxB_INTEClass, org.eclipse.mdht.uml.hl7.datatypes.IVXB_INT.class, "IVXB_INT", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getIVXB_INT_Inclusive(), ecorePackage.getEBooleanObject(), "inclusive", "true", 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.IVXB_INT.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,

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

-

-		initEClass(

-			ivL_INTEClass, org.eclipse.mdht.uml.hl7.datatypes.IVL_INT.class, "IVL_INT", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEReference(

-			getIVL_INT_Low(), this.getIVXB_INT(), null, "low", null, 0, 1,

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

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

-		initEReference(

-			getIVL_INT_Center(), this.getINT(), null, "center", null, 0, 1,

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

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

-		initEReference(

-			getIVL_INT_High(), this.getIVXB_INT(), null, "high", null, 0, 1,

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

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

-		initEReference(

-			getIVL_INT_Width(), this.getINT(), null, "width", null, 0, 1,

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

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

-

-		op = addEOperation(

-			ivL_INTEClass, ecorePackage.getEBoolean(), "validateOptionsContainingLow", 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(

-			ivL_INTEClass, ecorePackage.getEBoolean(), "validateOptionsContainingCenter", 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(

-			ivL_INTEClass, ecorePackage.getEBoolean(), "validateOptionsContainingHigh", 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(

-			ivL_INTEClass, ecorePackage.getEBoolean(), "validateOptionsContainingWidth", 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);

-

-		initEClass(

-			ivxB_PQEClass, org.eclipse.mdht.uml.hl7.datatypes.IVXB_PQ.class, "IVXB_PQ", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getIVXB_PQ_Inclusive(), ecorePackage.getEBooleanObject(), "inclusive", "true", 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.IVXB_PQ.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,

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

-

-		initEClass(

-			sxcM_PQEClass, org.eclipse.mdht.uml.hl7.datatypes.SXCM_PQ.class, "SXCM_PQ", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getSXCM_PQ_Operator(), theVocabPackage.getSetOperator(), "operator", "I", 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.SXCM_PQ.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-

-		initEClass(

-			ivL_PQEClass, org.eclipse.mdht.uml.hl7.datatypes.IVL_PQ.class, "IVL_PQ", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEReference(

-			getIVL_PQ_Low(), this.getIVXB_PQ(), null, "low", null, 0, 1,

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

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

-		initEReference(

-			getIVL_PQ_Center(), this.getPQ(), null, "center", null, 0, 1,

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

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

-		initEReference(

-			getIVL_PQ_High(), this.getIVXB_PQ(), null, "high", null, 0, 1,

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

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

-		initEReference(

-			getIVL_PQ_Width(), this.getPQ(), null, "width", null, 0, 1, org.eclipse.mdht.uml.hl7.datatypes.IVL_PQ.class,

-			!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,

-			!IS_DERIVED, !IS_ORDERED);

-

-		op = addEOperation(

-			ivL_PQEClass, ecorePackage.getEBoolean(), "validateOptionsContainingLow", 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(

-			ivL_PQEClass, ecorePackage.getEBoolean(), "validateOptionsContainingCenter", 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(

-			ivL_PQEClass, ecorePackage.getEBoolean(), "validateOptionsContainingHigh", 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(

-			ivL_PQEClass, ecorePackage.getEBoolean(), "validateOptionsContainingWidth", 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);

-

-		initEClass(

-			rtO_PQ_PQEClass, org.eclipse.mdht.uml.hl7.datatypes.RTO_PQ_PQ.class, "RTO_PQ_PQ", !IS_ABSTRACT,

-			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

-		initEReference(

-			getRTO_PQ_PQ_Numerator(), this.getPQ(), null, "numerator", null, 1, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.RTO_PQ_PQ.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,

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

-		initEReference(

-			getRTO_PQ_PQ_Denominator(), this.getPQ(), null, "denominator", null, 1, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.RTO_PQ_PQ.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,

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

-

-		op = addEOperation(

-			rtO_PQ_PQEClass, ecorePackage.getEBoolean(), "validateDenominator", 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);

-

-		initEClass(

-			pivL_TSEClass, org.eclipse.mdht.uml.hl7.datatypes.PIVL_TS.class, "PIVL_TS", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEReference(

-			getPIVL_TS_Phase(), this.getIVL_TS(), null, "phase", null, 0, 1,

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

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

-		initEReference(

-			getPIVL_TS_Period(), this.getPQ(), null, "period", null, 0, 1,

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

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

-		initEAttribute(

-			getPIVL_TS_Alignment(), theVocabPackage.getCalendarCycle(), "alignment", null, 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.PIVL_TS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-		initEAttribute(

-			getPIVL_TS_InstitutionSpecified(), ecorePackage.getEBooleanObject(), "institutionSpecified", "false", 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.PIVL_TS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE,

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

-

-		initEClass(

-			eivL_eventEClass, EIVL_event.class, "EIVL_event", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

-

-		op = addEOperation(

-			eivL_eventEClass, ecorePackage.getEBoolean(), "validateOriginalText", 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(

-			eivL_eventEClass, ecorePackage.getEBoolean(), "validateTranslation", 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(

-			eivL_eventEClass, ecorePackage.getEBoolean(), "validateCodeSystem", 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(

-			eivL_eventEClass, ecorePackage.getEBoolean(), "validateCodeSystemName", 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(eivL_eventEClass, ecorePackage.getEBoolean(), "validateCode", 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);

-

-		addEOperation(eivL_eventEClass, this.getEIVL_event(), "init", 1, 1, IS_UNIQUE, !IS_ORDERED);

-

-		initEClass(

-			eivL_TSEClass, org.eclipse.mdht.uml.hl7.datatypes.EIVL_TS.class, "EIVL_TS", !IS_ABSTRACT, !IS_INTERFACE,

-			IS_GENERATED_INSTANCE_CLASS);

-		initEReference(

-			getEIVL_TS_Event(), this.getEIVL_event(), null, "event", null, 0, 1,

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

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

-		initEReference(

-			getEIVL_TS_Offset(), this.getIVL_PQ(), null, "offset", null, 0, 1,

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

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

-

-		initEClass(

-			sxcM_REALEClass, org.eclipse.mdht.uml.hl7.datatypes.SXCM_REAL.class, "SXCM_REAL", !IS_ABSTRACT,

-			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getSXCM_REAL_Operator(), theVocabPackage.getSetOperator(), "operator", "I", 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.SXCM_REAL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,

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

-

-		initEClass(

-			ivxB_REALEClass, org.eclipse.mdht.uml.hl7.datatypes.IVXB_REAL.class, "IVXB_REAL", !IS_ABSTRACT,

-			!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

-		initEAttribute(

-			getIVXB_REAL_Inclusive(), ecorePackage.getEBooleanObject(), "inclusive", "true", 0, 1,

-			org.eclipse.mdht.uml.hl7.datatypes.IVXB_REAL.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,

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

-

-		initEClass(

-			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.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(

-			getIVL_REAL_Center(), this.getREAL(), null, "center", 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(

-			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(

-			getIVL_REAL_Width(), this.getREAL(), null, "width", 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);

-

-		op = addEOperation(

-			ivL_REALEClass, ecorePackage.getEBoolean(), "validateOptionsContainingLow", 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(

-			ivL_REALEClass, ecorePackage.getEBoolean(), "validateOptionsContainingCenter", 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(

-			ivL_REALEClass, ecorePackage.getEBoolean(), "validateOptionsContainingHigh", 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(

-			ivL_REALEClass, ecorePackage.getEBoolean(), "validateOptionsContainingWidth", 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);

-

-		// Initialize enums and add enum literals

-		initEEnum(binaryDataEncodingEEnum, BinaryDataEncoding.class, "BinaryDataEncoding");

-		addEEnumLiteral(binaryDataEncodingEEnum, BinaryDataEncoding.B64);

-		addEEnumLiteral(binaryDataEncodingEEnum, BinaryDataEncoding.TXT);

-

-		// Initialize data types

-		initEDataType(tsTypeEDataType, String.class, "tsType", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);

-		initEDataType(csTypeEDataType, String.class, "csType", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);

-		initEDataType(uidEDataType, String.class, "uid", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);

-		initEDataType(stTypeEDataType, String.class, "stType", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);

-

-		// Create resource

+		URI uri = URI.createURI(url.toString());

+		Resource resource = new EcoreResourceFactoryImpl().createResource(uri);

+		try {

+			resource.load(null);

+		} catch (IOException exception) {

+			throw new WrappedException(exception);

+		}

+		initializeFromLoadedEPackage(this, (EPackage) resource.getContents().get(0));

 		createResource(eNS_URI);

-

-		// Create annotations

-		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData

-		createExtendedMetaDataAnnotations();

-		// duplicates

-		createDuplicatesAnnotations();

 	}

 

 	/**

-	 * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.

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

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

 	 * @generated

 	 */

-	protected void createExtendedMetaDataAnnotations() {

-		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";

-		addAnnotation(binEClass, source, new String[] { "kind", "empty" });

-		addAnnotation(edEClass, source, new String[] { "kind", "mixed" });

-		addAnnotation(getED_Mixed(), source, new String[] { "name", "mixed", "kind", "elementWildcard" });

-		addAnnotation(getED_Reference(), source, new String[] { "namespace", "urn:hl7-org:v3", "kind", "element" });

-		addAnnotation(getED_Thumbnail(), source, new String[] { "namespace", "urn:hl7-org:v3", "kind", "element" });

-		addAnnotation(telEClass, source, new String[] { "kind", "mixed" });

-		addAnnotation(getTEL_Mixed(), source, new String[] { "name", "", "namespace", "", "kind", "elementWildcard" });

-		addAnnotation(getTEL_UseablePeriod(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getTEL_Use(), source, new String[] { "kind", "attribute" });

-		addAnnotation(

-			tsTypeEDataType, source,

-			new String[] { "pattern", "[0-9]{1,8}|([0-9]{9,14}|[0-9]{14,14}\\.[0-9]+)([+\\-][0-9]{1,4})?" });

-		addAnnotation(

-			csTypeEDataType, source,

-			new String[] { "pattern", "[^\\s]+", "baseType", "http://www.eclipse.org/emf/2003/XMLType#token" });

-		addAnnotation(stEClass, source, new String[] { "kind", "mixed" });

-		addAnnotation(getCD_OriginalText(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getCD_Qualifier(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getCD_Translation(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(

-			getCD_SDTCValueSet(), source,

-			new String[] { "name", "valueSet", "namespace", "urn:hl7-org:sdtc", "kind", "attribute" });

-		addAnnotation(

-			getCD_SDTCValueSetVersion(), source,

-			new String[] { "name", "valueSetVersion", "namespace", "urn:hl7-org:sdtc", "kind", "attribute" });

-		addAnnotation(getCR_Name(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getCR_Value(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(

-			uidEDataType, source,

-			new String[] {

-					"pattern",

-					"[0-2](\\.(0|[1-9][0-9]*))* [0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12} [A-Za-z][A-Za-z0-9\\-]*" });

-		addAnnotation(stTypeEDataType, source, new String[] { "pattern", ".+" });

-		addAnnotation(adEClass, source, new String[] { "kind", "mixed" });

-		addAnnotation(

-			getAD_Delimiter(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_Country(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_State(), source, new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_County(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_City(), source, new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_PostalCode(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_StreetAddressLine(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_HouseNumber(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_HouseNumberNumeric(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_Direction(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_StreetName(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_StreetNameBase(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_StreetNameType(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_AdditionalLocator(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_UnitID(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_UnitType(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_CareOf(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_CensusTract(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_DeliveryAddressLine(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_DeliveryInstallationType(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_DeliveryInstallationArea(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_DeliveryInstallationQualifier(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_DeliveryMode(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_DeliveryModeIdentifier(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_BuildingNumberSuffix(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_PostBox(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getAD_Precinct(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(getAD_Part(), source, new String[] { "kind", "group" });

-		addAnnotation(getAD_UseablePeriod(), source, new String[] { "namespace", "urn:hl7-org:v3", "kind", "element" });

-		addAnnotation(getAD_Use(), source, new String[] { "kind", "attribute" });

-		addAnnotation(getAD_Mixed(), source, new String[] { "kind", "elementWildcard" });

-		addAnnotation(adxpEClass, source, new String[] { "kind", "mixed" });

-		addAnnotation(enEClass, source, new String[] { "kind", "mixed" });

-		addAnnotation(

-			getEN_Delimiter(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getEN_Family(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getEN_Given(), source, new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getEN_Prefix(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(

-			getEN_Suffix(), source,

-			new String[] { "namespace", "urn:hl7-org:v3", "kind", "element", "group", "#part" });

-		addAnnotation(getEN_Part(), source, new String[] { "kind", "group" });

-		addAnnotation(getEN_ValidTime(), source, new String[] { "namespace", "urn:hl7-org:v3", "kind", "element" });

-		addAnnotation(getEN_Use(), source, new String[] { "kind", "attribute" });

-		addAnnotation(getEN_Mixed(), source, new String[] { "kind", "elementWildcard" });

-		addAnnotation(enxpEClass, source, new String[] { "kind", "mixed" });

-		addAnnotation(getENXP_Qualifier(), source, new String[] { "kind", "attribute" });

-		addAnnotation(getIVL_TS_Low(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getIVL_TS_Center(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getIVL_TS_High(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getIVL_TS_Width(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getPQ_Translation(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(onEClass, source, new String[] { "kind", "mixed" });

-		addAnnotation(pnEClass, source, new String[] { "kind", "mixed" });

-		addAnnotation(tnEClass, source, new String[] { "kind", "mixed" });

-		addAnnotation(scEClass, source, new String[] { "kind", "mixed" });

-		addAnnotation(getRTO_QTY_QTY_Numerator(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getRTO_QTY_QTY_Denominator(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getIVL_INT_Low(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getIVL_INT_Center(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getIVL_INT_High(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getIVL_INT_Width(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getIVL_PQ_Low(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getIVL_PQ_Center(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getIVL_PQ_High(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getIVL_PQ_Width(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getRTO_PQ_PQ_Numerator(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getRTO_PQ_PQ_Denominator(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getPIVL_TS_Phase(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getPIVL_TS_Period(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(eivL_eventEClass, source, new String[] { "name", "EIVL.event" });

-		addAnnotation(getEIVL_TS_Event(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-		addAnnotation(getEIVL_TS_Offset(), source, new String[] { "namespace", "urn:hl7-org:v3" });

-	}

+	private boolean isFixed = false;

 

 	/**

-	 * Initializes the annotations for <b>duplicates</b>.

+	 * Fixes up the loaded package, to make it appear as if it had been programmatically built.

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

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

 	 * @generated

 	 */

-	protected void createDuplicatesAnnotations() {

-		String source = "duplicates";

-		addAnnotation(ivL_INTEClass, source, new String[] {});

+	public void fixPackageContents() {

+		if (isFixed) {

+			return;

+		}

+		isFixed = true;

+		fixEClassifiers();

+	}

+

+	/**

+	 * Sets the instance class on the given classifier.

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

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

+	 * @generated

+	 */

+	@Override

+	protected void fixInstanceClass(EClassifier eClassifier) {

+		if (eClassifier.getInstanceClassName() == null) {

+			eClassifier.setInstanceClassName("org.eclipse.mdht.uml.hl7.datatypes." + eClassifier.getName());

+			setGeneratedClassName(eClassifier);

+		}

 	}

 

 } // DatatypesPackageImpl

diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/IVL_TSImpl.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/IVL_TSImpl.java
index 9d1b587..ba865eb 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/IVL_TSImpl.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/IVL_TSImpl.java
@@ -35,8 +35,8 @@
  * <ul>

  *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.impl.IVL_TSImpl#getLow <em>Low</em>}</li>

  *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.impl.IVL_TSImpl#getCenter <em>Center</em>}</li>

- *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.impl.IVL_TSImpl#getHigh <em>High</em>}</li>

  *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.impl.IVL_TSImpl#getWidth <em>Width</em>}</li>

+ *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.impl.IVL_TSImpl#getHigh <em>High</em>}</li>

  * </ul>

  *

  * @generated

@@ -63,16 +63,6 @@
 	protected TS center;

 

 	/**

-	 * The cached value of the '{@link #getHigh() <em>High</em>}' containment reference.

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

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

-	 * @see #getHigh()

-	 * @generated

-	 * @ordered

-	 */

-	protected IVXB_TS high;

-

-	/**

 	 * The cached value of the '{@link #getWidth() <em>Width</em>}' containment reference.

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

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

@@ -83,6 +73,16 @@
 	protected PQ width;

 

 	/**

+	 * The cached value of the '{@link #getHigh() <em>High</em>}' containment reference.

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

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

+	 * @see #getHigh()

+	 * @generated

+	 * @ordered

+	 */

+	protected IVXB_TS high;

+

+	/**

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

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

 	 * @generated

@@ -374,10 +374,10 @@
 				return basicSetLow(null, msgs);

 			case DatatypesPackage.IVL_TS__CENTER:

 				return basicSetCenter(null, msgs);

-			case DatatypesPackage.IVL_TS__HIGH:

-				return basicSetHigh(null, msgs);

 			case DatatypesPackage.IVL_TS__WIDTH:

 				return basicSetWidth(null, msgs);

+			case DatatypesPackage.IVL_TS__HIGH:

+				return basicSetHigh(null, msgs);

 		}

 		return super.eInverseRemove(otherEnd, featureID, msgs);

 	}

@@ -394,10 +394,10 @@
 				return getLow();

 			case DatatypesPackage.IVL_TS__CENTER:

 				return getCenter();

-			case DatatypesPackage.IVL_TS__HIGH:

-				return getHigh();

 			case DatatypesPackage.IVL_TS__WIDTH:

 				return getWidth();

+			case DatatypesPackage.IVL_TS__HIGH:

+				return getHigh();

 		}

 		return super.eGet(featureID, resolve, coreType);

 	}

@@ -416,12 +416,12 @@
 			case DatatypesPackage.IVL_TS__CENTER:

 				setCenter((TS) newValue);

 				return;

-			case DatatypesPackage.IVL_TS__HIGH:

-				setHigh((IVXB_TS) newValue);

-				return;

 			case DatatypesPackage.IVL_TS__WIDTH:

 				setWidth((PQ) newValue);

 				return;

+			case DatatypesPackage.IVL_TS__HIGH:

+				setHigh((IVXB_TS) newValue);

+				return;

 		}

 		super.eSet(featureID, newValue);

 	}

@@ -440,12 +440,12 @@
 			case DatatypesPackage.IVL_TS__CENTER:

 				setCenter((TS) null);

 				return;

-			case DatatypesPackage.IVL_TS__HIGH:

-				setHigh((IVXB_TS) null);

-				return;

 			case DatatypesPackage.IVL_TS__WIDTH:

 				setWidth((PQ) null);

 				return;

+			case DatatypesPackage.IVL_TS__HIGH:

+				setHigh((IVXB_TS) null);

+				return;

 		}

 		super.eUnset(featureID);

 	}

@@ -462,10 +462,10 @@
 				return low != null;

 			case DatatypesPackage.IVL_TS__CENTER:

 				return center != null;

-			case DatatypesPackage.IVL_TS__HIGH:

-				return high != null;

 			case DatatypesPackage.IVL_TS__WIDTH:

 				return width != null;

+			case DatatypesPackage.IVL_TS__HIGH:

+				return high != null;

 		}

 		return super.eIsSet(featureID);

 	}

diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/TELImpl.java b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/TELImpl.java
index 763c3a5..52d4665 100644
--- a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/TELImpl.java
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/TELImpl.java
@@ -35,25 +35,15 @@
  * The following features are implemented:

  * </p>

  * <ul>

- *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.impl.TELImpl#getMixed <em>Mixed</em>}</li>

  *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.impl.TELImpl#getUseablePeriods <em>Useable Period</em>}</li>

  *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.impl.TELImpl#getUses <em>Use</em>}</li>

+ *   <li>{@link org.eclipse.mdht.uml.hl7.datatypes.impl.TELImpl#getMixed <em>Mixed</em>}</li>

  * </ul>

  *

  * @generated

  */

 public class TELImpl extends URLImpl implements TEL {

 	/**

-	 * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.

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

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

-	 * @see #getMixed()

-	 * @generated

-	 * @ordered

-	 */

-	protected FeatureMap mixed;

-

-	/**

 	 * The cached value of the '{@link #getUseablePeriods() <em>Useable Period</em>}' containment reference list.

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

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

@@ -74,6 +64,16 @@
 	protected EList<TelecommunicationAddressUse> uses;

 

 	/**

+	 * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.

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

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

+	 * @see #getMixed()

+	 * @generated

+	 * @ordered

+	 */

+	protected FeatureMap mixed;

+

+	/**

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

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

 	 * @generated

@@ -172,10 +172,10 @@
 	@Override

 	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {

 		switch (featureID) {

-			case DatatypesPackage.TEL__MIXED:

-				return ((InternalEList<?>) getMixed()).basicRemove(otherEnd, msgs);

 			case DatatypesPackage.TEL__USEABLE_PERIOD:

 				return ((InternalEList<?>) getUseablePeriods()).basicRemove(otherEnd, msgs);

+			case DatatypesPackage.TEL__MIXED:

+				return ((InternalEList<?>) getMixed()).basicRemove(otherEnd, msgs);

 		}

 		return super.eInverseRemove(otherEnd, featureID, msgs);

 	}

@@ -188,15 +188,15 @@
 	@Override

 	public Object eGet(int featureID, boolean resolve, boolean coreType) {

 		switch (featureID) {

+			case DatatypesPackage.TEL__USEABLE_PERIOD:

+				return getUseablePeriods();

+			case DatatypesPackage.TEL__USE:

+				return getUses();

 			case DatatypesPackage.TEL__MIXED:

 				if (coreType) {

 					return getMixed();

 				}

 				return ((FeatureMap.Internal) getMixed()).getWrapper();

-			case DatatypesPackage.TEL__USEABLE_PERIOD:

-				return getUseablePeriods();

-			case DatatypesPackage.TEL__USE:

-				return getUses();

 		}

 		return super.eGet(featureID, resolve, coreType);

 	}

@@ -210,9 +210,6 @@
 	@Override

 	public void eSet(int featureID, Object newValue) {

 		switch (featureID) {

-			case DatatypesPackage.TEL__MIXED:

-				((FeatureMap.Internal) getMixed()).set(newValue);

-				return;

 			case DatatypesPackage.TEL__USEABLE_PERIOD:

 				getUseablePeriods().clear();

 				getUseablePeriods().addAll((Collection<? extends SXCM_TS>) newValue);

@@ -221,6 +218,9 @@
 				getUses().clear();

 				getUses().addAll((Collection<? extends TelecommunicationAddressUse>) newValue);

 				return;

+			case DatatypesPackage.TEL__MIXED:

+				((FeatureMap.Internal) getMixed()).set(newValue);

+				return;

 		}

 		super.eSet(featureID, newValue);

 	}

@@ -233,15 +233,15 @@
 	@Override

 	public void eUnset(int featureID) {

 		switch (featureID) {

-			case DatatypesPackage.TEL__MIXED:

-				getMixed().clear();

-				return;

 			case DatatypesPackage.TEL__USEABLE_PERIOD:

 				getUseablePeriods().clear();

 				return;

 			case DatatypesPackage.TEL__USE:

 				unsetUses();

 				return;

+			case DatatypesPackage.TEL__MIXED:

+				getMixed().clear();

+				return;

 		}

 		super.eUnset(featureID);

 	}

@@ -254,12 +254,12 @@
 	@Override

 	public boolean eIsSet(int featureID) {

 		switch (featureID) {

-			case DatatypesPackage.TEL__MIXED:

-				return mixed != null && !mixed.isEmpty();

 			case DatatypesPackage.TEL__USEABLE_PERIOD:

 				return useablePeriods != null && !useablePeriods.isEmpty();

 			case DatatypesPackage.TEL__USE:

 				return isSetUses();

+			case DatatypesPackage.TEL__MIXED:

+				return mixed != null && !mixed.isEmpty();

 		}

 		return super.eIsSet(featureID);

 	}

@@ -276,10 +276,10 @@
 		}

 

 		StringBuilder result = new StringBuilder(super.toString());

-		result.append(" (mixed: ");

-		result.append(mixed);

-		result.append(", use: ");

+		result.append(" (use: ");

 		result.append(uses);

+		result.append(", mixed: ");

+		result.append(mixed);

 		result.append(')');

 		return result.toString();

 	}

diff --git a/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/datatypes.ecore b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/datatypes.ecore
new file mode 100644
index 0000000..a08e308
--- /dev/null
+++ b/cda/plugins/org.eclipse.mdht.uml.hl7.datatypes/src/org/eclipse/mdht/uml/hl7/datatypes/impl/datatypes.ecore
@@ -0,0 +1,1723 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="datatypes" nsURI="http://www.openhealthtools.org/mdht/uml/hl7/datatypes"
+    nsPrefix="datatypes">
+  <eClassifiers xsi:type="ecore:EClass" name="ANY" abstract="true">
+    <eOperations name="isNullFlavorDefined" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+    <eOperations name="isNullFlavorUndefined" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+    <eOperations name="hasContent" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+    <eOperations name="isDefined" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean">
+      <eParameters name="featureName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="matches" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean">
+      <eParameters name="featureName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+      <eParameters name="regularExpression" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nullFlavor" ordered="false"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//NullFlavor"
+        unsettable="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="BIN" abstract="true" eSuperTypes="#//ANY">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="empty"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="representation" ordered="false"
+        eType="#//BinaryDataEncoding" unsettable="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="BinaryDataEncoding">
+    <eLiterals name="B64"/>
+    <eLiterals name="TXT" value="1"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ED" eSuperTypes="#//BIN">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eOperations name="thumbnail_thumbnail" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="addText" ordered="false" lowerBound="1" eType="#//ED">
+      <eParameters name="text" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="getText" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    <eOperations name="matches" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean">
+      <eParameters name="regularExpression" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="getCDATA" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    <eOperations name="addCDATA" ordered="false" lowerBound="1" eType="#//ED">
+      <eParameters name="cdata" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value="mixed"/>
+        <details key="kind" value="elementWildcard"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="reference" eType="#//TEL"
+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="thumbnail" eType="#//ED"
+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mediaType" ordered="false"
+        eType="#//csType" defaultValueLiteral="text/plain" unsettable="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" ordered="false"
+        eType="#//csType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="compression" ordered="false"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//CompressionAlgorithm"
+        unsettable="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="integrityCheck" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EByteArray"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="integrityCheckAlgorithm"
+        ordered="false" eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//IntegrityCheckAlgorithm"
+        defaultValueLiteral="SHA-1" unsettable="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TEL" eSuperTypes="#//URL">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eOperations name="getText" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="useablePeriod" ordered="false"
+        upperBound="-1" eType="#//SXCM_TS" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="use" ordered="false" upperBound="-1"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//TelecommunicationAddressUse"
+        unsettable="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" ordered="false"
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value=""/>
+        <details key="namespace" value=""/>
+        <details key="kind" value="elementWildcard"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="URL" abstract="true" eSuperTypes="#//ANY">
+    <eOperations name="URL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SXCM_TS" eSuperTypes="#//TS">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" ordered="false"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//SetOperator"
+        defaultValueLiteral="I" unsettable="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TS" eSuperTypes="#//QTY">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        eType="#//tsType"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="QTY" abstract="true" eSuperTypes="#//ANY"/>
+  <eClassifiers xsi:type="ecore:EDataType" name="tsType" instanceClassName="java.lang.String">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="pattern" value="[0-9]{1,8}|([0-9]{9,14}|[0-9]{14,14}\.[0-9]+)([+\-][0-9]{1,4})?"/>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EDataType" name="csType" instanceClassName="java.lang.String">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="pattern" value="[^\s]+"/>
+      <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#token"/>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ST" eSuperTypes="#//ED">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eOperations name="thumbnail" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="reference" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="integrityCheck" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="integrityCheckAlgorithm" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="compression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="representation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="ST" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="isCompressionDefined" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+    <eOperations name="isIntegrityCheckAlgorithmDefined" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+    <eOperations name="isRepresentationDefined" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CD" eSuperTypes="#//ANY">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="originalText" ordered="false"
+        eType="#//ED" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="qualifier" ordered="false"
+        upperBound="-1" eType="#//CR" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="translation" ordered="false"
+        upperBound="-1" eType="#//CD" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="code" ordered="false" eType="#//csType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="codeSystem" ordered="false"
+        eType="#//uid"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="codeSystemName" ordered="false"
+        eType="#//stType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="codeSystemVersion" ordered="false"
+        eType="#//stType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" ordered="false"
+        eType="#//stType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sDTCValueSet" ordered="false"
+        eType="#//stType">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value="valueSet"/>
+        <details key="namespace" value="urn:hl7-org:sdtc"/>
+        <details key="kind" value="attribute"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="sDTCValueSetVersion" ordered="false"
+        eType="#//stType">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value="valueSetVersion"/>
+        <details key="namespace" value="urn:hl7-org:sdtc"/>
+        <details key="kind" value="attribute"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CR" eSuperTypes="#//ANY">
+    <eOperations name="CR" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="name" ordered="false" eType="#//CV"
+        containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"
+        eType="#//CD" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="inverted" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"
+        defaultValueLiteral="false"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CV" eSuperTypes="#//CE">
+    <eOperations name="translation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CE" eSuperTypes="#//CD">
+    <eOperations name="qualifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EDataType" name="uid" instanceClassName="java.lang.String">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="pattern" value="[0-2](\.(0|[1-9][0-9]*))* [0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12} [A-Za-z][A-Za-z0-9\-]*"/>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EDataType" name="stType" instanceClassName="java.lang.String">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="pattern" value=".+"/>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="II" eSuperTypes="#//ANY">
+    <eOperations name="II" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="root" ordered="false" eType="#//uid"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="extension" ordered="false"
+        eType="#//stType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="assigningAuthorityName"
+        ordered="false" eType="#//stType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayable" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="BL" eSuperTypes="#//ANY">
+    <eOperations name="BL" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="BN" eSuperTypes="#//BL">
+    <eOperations name="nullFlavor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="AD" eSuperTypes="#//ANY">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eOperations name="delimiter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="country" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="county" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="city" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="postalCode" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="streetAddressLine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="houseNumber" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="houseNumberNumeric" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="direction" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="streetName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="streetNameBase" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="streetNameType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="additionalLocator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="unitID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="unitType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="careOf" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="censusTract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="deliveryAddressLine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="deliveryInstallationType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="deliveryInstallationArea" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="deliveryInstallationQualifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="deliveryMode" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="deliveryModeIdentifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="buildingNumberSuffix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="postBox" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="precinct" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="addDelimiter" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="delimiter" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addCountry" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="country" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addState" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="state" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addCounty" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="county" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addCity" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="city" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addPostalCode" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="postalCode" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addStreetAddressLine" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="streetAddressLine" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addHouseNumber" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="houseNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addHouseNumberNumeric" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="houseNumberNumeric" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addDirection" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="direction" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addStreetName" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="streetName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addStreetNameBase" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="streetNameBase" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addStreetNameType" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="streetNameType" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addAdditionalLocator" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="additionalLocator" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addUnitID" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="unitID" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addUnitType" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="unitType" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addCareOf" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="careOf" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addCensusTract" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="censusTract" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addDeliveryAddressLine" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="deliveryAddressLine" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addDeliveryInstallationType" ordered="false" lowerBound="1"
+        eType="#//AD">
+      <eParameters name="deliveryInstallationType" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addDeliveryInstallationArea" ordered="false" lowerBound="1"
+        eType="#//AD">
+      <eParameters name="deliveryInstallationArea" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addDeliveryInstallationQualifier" ordered="false" lowerBound="1"
+        eType="#//AD">
+      <eParameters name="deliveryInstallationQualifier" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addDeliveryMode" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="deliveryMode" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addDeliveryModeIdentifier" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="deliveryModeIdentifier" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addBuildingNumberSuffix" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="buildingNumberSuffix" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addPostBox" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="postBox" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addPrecinct" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="precinct" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addText" ordered="false" lowerBound="1" eType="#//AD">
+      <eParameters name="text" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="getText" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="delimiter" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="country" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="state" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="county" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="city" upperBound="-1" eType="#//ADXP"
+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="postalCode" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="streetAddressLine" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="houseNumber" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="houseNumberNumeric" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="direction" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="streetName" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="streetNameBase" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="streetNameType" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="additionalLocator" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="unitID" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="unitType" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="careOf" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="censusTract" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deliveryAddressLine" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deliveryInstallationType"
+        upperBound="-1" eType="#//ADXP" volatile="true" transient="true" derived="true"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deliveryInstallationArea"
+        upperBound="-1" eType="#//ADXP" volatile="true" transient="true" derived="true"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deliveryInstallationQualifier"
+        upperBound="-1" eType="#//ADXP" volatile="true" transient="true" derived="true"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deliveryMode" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deliveryModeIdentifier"
+        upperBound="-1" eType="#//ADXP" volatile="true" transient="true" derived="true"
+        containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="buildingNumberSuffix" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="postBox" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="precinct" upperBound="-1"
+        eType="#//ADXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="part" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"
+        volatile="true" transient="true" derived="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="useablePeriod" upperBound="-1"
+        eType="#//SXCM_TS" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="use" ordered="false" upperBound="-1"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//PostalAddressUse"
+        unsettable="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isNotOrdered" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="elementWildcard"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ADXP" eSuperTypes="#//ST">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="partType" ordered="false"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//AddressPartType"
+        transient="true" unsettable="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="EN" eSuperTypes="#//ANY">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eOperations name="delimiter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="family" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="given" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="prefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="suffix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="addDelimiter" ordered="false" lowerBound="1" eType="#//EN">
+      <eParameters name="delimiter" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addFamily" ordered="false" lowerBound="1" eType="#//EN">
+      <eParameters name="family" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addGiven" ordered="false" lowerBound="1" eType="#//EN">
+      <eParameters name="given" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addPrefix" ordered="false" lowerBound="1" eType="#//EN">
+      <eParameters name="prefix" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addSuffix" ordered="false" lowerBound="1" eType="#//EN">
+      <eParameters name="suffix" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="addText" ordered="false" lowerBound="1" eType="#//EN">
+      <eParameters name="text" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="getText" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String"/>
+    <eOperations name="getText" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//String">
+      <eParameters name="trim" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/5.0.0/Types#//Boolean"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="delimiter" upperBound="-1"
+        eType="#//ENXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="family" upperBound="-1"
+        eType="#//ENXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="given" upperBound="-1"
+        eType="#//ENXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="prefix" upperBound="-1"
+        eType="#//ENXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="suffix" upperBound="-1"
+        eType="#//ENXP" volatile="true" transient="true" derived="true" containment="true"
+        resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+        <details key="group" value="#part"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="part" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"
+        volatile="true" transient="true" derived="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="group"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="validTime" eType="#//IVL_TS"
+        volatile="true" transient="true" derived="true" containment="true" resolveProxies="false">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+        <details key="kind" value="element"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="use" ordered="false" upperBound="-1"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//EntityNameUse"
+        unsettable="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" ordered="false"
+        upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="elementWildcard"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ENXP" eSuperTypes="#//ST">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="partType" ordered="false"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//EntityNamePartType"
+        transient="true" unsettable="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifier" ordered="false"
+        upperBound="-1" eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//EntityNamePartQualifier"
+        unsettable="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="IVL_TS" eSuperTypes="#//SXCM_TS">
+    <eOperations name="optionsContainingLow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingCenter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingHigh" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingWidth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="low" ordered="false" eType="#//IVXB_TS"
+        containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="center" ordered="false"
+        eType="#//TS" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="width" ordered="false"
+        eType="#//PQ" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="high" ordered="false" eType="#//IVXB_TS"
+        containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="IVXB_TS" eSuperTypes="#//TS">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="inclusive" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+        defaultValueLiteral="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="PQ" eSuperTypes="#//QTY">
+    <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>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" ordered="false" eType="#//csType"
+        defaultValueLiteral="1"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="translation" ordered="false"
+        upperBound="-1" eType="#//PQR" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="PQR" eSuperTypes="#//CV">
+    <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>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ON" eSuperTypes="#//EN">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eOperations name="invariant" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="PN" eSuperTypes="#//EN">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eOperations name="invariant" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TN" eSuperTypes="#//EN">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eOperations name="invariant" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="INT" eSuperTypes="#//QTY">
+    <eOperations name="INT" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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#//EIntegerObject"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="REAL" eSuperTypes="#//QTY">
+    <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>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CS" eSuperTypes="#//CV">
+    <eOperations name="originalText" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="codeSystem" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="codeSystemName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="codeSystemVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="displayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="CO" eSuperTypes="#//CV"/>
+  <eClassifiers xsi:type="ecore:EClass" name="SC" eSuperTypes="#//ST">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="kind" value="mixed"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="code" ordered="false" eType="#//csType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="codeSystem" ordered="false"
+        eType="#//uid"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="codeSystemName" ordered="false"
+        eType="#//stType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="codeSystemVersion" ordered="false"
+        eType="#//stType"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" ordered="false"
+        eType="#//stType"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="RTO_QTY_QTY" eSuperTypes="#//QTY">
+    <eOperations name="denominator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="numerator" ordered="false"
+        lowerBound="1" eType="#//QTY" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="denominator" ordered="false"
+        lowerBound="1" eType="#//QTY" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="MO" eSuperTypes="#//QTY">
+    <eOperations name="MO" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="currency" ordered="false"
+        eType="#//csType"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="RTO" eSuperTypes="#//RTO_QTY_QTY"/>
+  <eClassifiers xsi:type="ecore:EClass" name="SXCM_INT" eSuperTypes="#//INT">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" ordered="false"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//SetOperator"
+        defaultValueLiteral="I" unsettable="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="IVXB_INT" eSuperTypes="#//INT">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="inclusive" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+        defaultValueLiteral="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="IVL_INT" eSuperTypes="#//SXCM_INT">
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="INT" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+        <eAnnotations source="redefines" references="#//INT/INT"/>
+        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+        <eParameters name="context">
+          <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>
+      </contents>
+    </eAnnotations>
+    <eOperations name="optionsContainingLow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingCenter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingHigh" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingWidth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="low" ordered="false" eType="#//IVXB_INT"
+        containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="center" ordered="false"
+        eType="#//INT" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="high" ordered="false" eType="#//IVXB_INT"
+        containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="width" ordered="false"
+        eType="#//INT" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="IVXB_PQ" eSuperTypes="#//PQ">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="inclusive" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+        defaultValueLiteral="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SXCM_PQ" eSuperTypes="#//PQ">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" ordered="false"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//SetOperator"
+        defaultValueLiteral="I" unsettable="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="IVL_PQ" eSuperTypes="#//SXCM_PQ">
+    <eOperations name="optionsContainingLow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingCenter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingHigh" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingWidth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="low" ordered="false" eType="#//IVXB_PQ"
+        containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="center" ordered="false"
+        eType="#//PQ" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="high" ordered="false" eType="#//IVXB_PQ"
+        containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="width" ordered="false"
+        eType="#//PQ" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="RTO_PQ_PQ" eSuperTypes="#//QTY">
+    <eOperations name="denominator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="numerator" ordered="false"
+        lowerBound="1" eType="#//PQ" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="denominator" ordered="false"
+        lowerBound="1" eType="#//PQ" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="PIVL_TS" eSuperTypes="#//SXCM_TS">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="phase" ordered="false"
+        eType="#//IVL_TS" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="period" ordered="false"
+        eType="#//PQ" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="alignment" ordered="false"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//CalendarCycle"
+        unsettable="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="institutionSpecified" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+        defaultValueLiteral="false" unsettable="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="EIVL_event" eSuperTypes="#//CE">
+    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+      <details key="name" value="EIVL.event"/>
+    </eAnnotations>
+    <eOperations name="originalText" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="translation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="codeSystem" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="codeSystemName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="code" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="init" ordered="false" lowerBound="1" eType="#//EIVL_event"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="EIVL_TS" eSuperTypes="#//SXCM_TS">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="event" ordered="false"
+        eType="#//EIVL_event" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="offset" ordered="false"
+        eType="#//IVL_PQ" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="namespace" value="urn:hl7-org:v3"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="SXCM_REAL" eSuperTypes="#//REAL">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" ordered="false"
+        eType="ecore:EEnum http://www.openhealthtools.org/mdht/uml/hl7/vocab#//SetOperator"
+        defaultValueLiteral="I"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="IVXB_REAL" eSuperTypes="#//REAL">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="inclusive" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"
+        defaultValueLiteral="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="IVL_REAL" eSuperTypes="#//SXCM_REAL">
+    <eOperations name="optionsContainingLow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingCenter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingHigh" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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="optionsContainingWidth" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <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>
+    <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="#//IVXB_REAL"
+        containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="width" ordered="false"
+        eType="#//REAL" containment="true"/>
+  </eClassifiers>
+</ecore:EPackage>