diff --git a/cdaepsos-model/pom.xml b/cdaepsos-model/pom.xml
index 7fb38a55d0ec8fc59c118a17237beeb15429afa3..e114f4ee0830703a7147a92f08071805fc8df1ab 100644
--- a/cdaepsos-model/pom.xml
+++ b/cdaepsos-model/pom.xml
@@ -58,7 +58,7 @@
         <dependency>
             <groupId>net.ihe.gazelle.model</groupId>
             <artifactId>datatypes-model</artifactId>
-            <version>3.1.1</version>
+            <version>3.1.2-SNAPSHOT</version>
         </dependency>
 
         <dependency>
diff --git a/cdaxehealth-model/src/main/java/net/ihe/gazelle/model/CdaxehealthModelRetriever.java b/cdaxehealth-model/src/main/java/net/ihe/gazelle/model/CdaxehealthModelRetriever.java
index 5285c0c31f4cd1154e0dcfca566e6bf96e6f0e1d..2704d28c94fa4940fadd281c64c40539b34c6191 100644
--- a/cdaxehealth-model/src/main/java/net/ihe/gazelle/model/CdaxehealthModelRetriever.java
+++ b/cdaxehealth-model/src/main/java/net/ihe/gazelle/model/CdaxehealthModelRetriever.java
@@ -20,9 +20,9 @@ public class CdaxehealthModelRetriever extends ModelRetriever {
     @Override
     public Map<String, URL> retrieveModels() {
         Map<String, URL> modelMap = new HashMap<String, URL>();
-        modelMap.put("cda.uml", getClass().getResource("/modelad2/cda.uml"));
-        modelMap.put("pharm.uml", getClass().getResource("/modelad2/pharm.uml"));
-        modelMap.put("lab.uml", getClass().getResource("/modelad2/lab.uml"));
+        modelMap.put("cda.uml", getClass().getResource("/modelxeh/cda.uml"));
+        modelMap.put("pharm.uml", getClass().getResource("/modelxeh/pharm.uml"));
+        modelMap.put("lab.uml", getClass().getResource("/modelxeh/lab.uml"));
 
         VocModelRetriever vocModelRetriever = new VocModelRetriever();
         Map<String, URL> vocModelMap = vocModelRetriever.retrieveModels();
diff --git a/cdaxehealth-model/src/main/java/net/ihe/gazelle/model/DatatypesIpsModelRetriever.java b/cdaxehealth-model/src/main/java/net/ihe/gazelle/model/DatatypesIpsModelRetriever.java
index 25c15a0a79f24a08d62f8ec5b7a18492c0396c27..a79cf357d265d614f1192bf2dbf080e4c481f32a 100644
--- a/cdaxehealth-model/src/main/java/net/ihe/gazelle/model/DatatypesIpsModelRetriever.java
+++ b/cdaxehealth-model/src/main/java/net/ihe/gazelle/model/DatatypesIpsModelRetriever.java
@@ -2,12 +2,8 @@ package net.ihe.gazelle.model;
 
 public class DatatypesIpsModelRetriever extends DatatypesModelRetriever{
 
-    protected String dataTypeResource ;
-    protected String datatypeUmlName ;
-
-    public DatatypesIpsModelRetriever() {
-        super();
-        dataTypeResource = "/models/datatypes.uml";
-        datatypeUmlName = "datatypes.uml";
+    @Override
+    protected String getDatatypeUmlName() {
+        return "/datatypes-ips-model/datatypes.uml";
     }
 }
diff --git a/cdaxehealth-model/src/main/resources/datatypes-ips-model/datatypes.uml b/cdaxehealth-model/src/main/resources/datatypes-ips-model/datatypes.uml
index 4175d95210f71524c74638b21e0ca36cb698fb25..9a0e6006294b1236a952be94b36cb9b34fb5c354 100644
--- a/cdaxehealth-model/src/main/resources/datatypes-ips-model/datatypes.uml
+++ b/cdaxehealth-model/src/main/resources/datatypes-ips-model/datatypes.uml
@@ -2560,7 +2560,7 @@ self.denominator.value &lt;> 0</body>
       <appliedProfile href="pathmap://UML_PROFILES/common-profile.uml#_1P9GAG7eEeGRT9uCX2f8pg"/>
     </profileApplication>
   </uml:Model>
-  <Ecore:EPackage xmi:id="_CuE1aa70EeGxJei_o6JmIA" base_Package="_CuDmcK70EeGxJei_o6JmIA" packageName="net.ihe.gazelle.datatypes" nsPrefix="datatypes" nsURI="urn:hl7-org:v3"/>
+  <Ecore:EPackage xmi:id="_CuE1aa70EeGxJei_o6JmIA" base_Package="_CuDmcK70EeGxJei_o6JmIA" packageName="net.ihe.gazelle.ips.datatypes" nsPrefix="datatypes" nsURI="urn:hl7-org:v3"/>
   <Ecore:EClass xmi:id="_CuE1aq70EeGxJei_o6JmIA" base_Class="_CuDmcq70EeGxJei_o6JmIA" xmlContentKind="Mixed"/>
   <Ecore:EAttribute xmi:id="_CuE1a670EeGxJei_o6JmIA" xmlName=":mixed" xmlFeatureKind="ElementWildcard" base_Property="_CuDmda70EeGxJei_o6JmIA"/>
   <Ecore:EAttribute xmi:id="_CuE1bK70EeGxJei_o6JmIA" xmlName="group:2" isTransient="true" isVolatile="true" xmlFeatureKind="Group" base_Property="_CuDmeK70EeGxJei_o6JmIA"/>
diff --git a/cdaxehealth-model/src/main/resources/modelad2/cda.uml b/cdaxehealth-model/src/main/resources/modelxeh/cda.uml
similarity index 99%
rename from cdaxehealth-model/src/main/resources/modelad2/cda.uml
rename to cdaxehealth-model/src/main/resources/modelxeh/cda.uml
index 8427b2fa596dfc1fff22809f0ba5e2128514a399..f9397497aa3bdb197a9dd0084242b5a595d9fc58 100644
--- a/cdaxehealth-model/src/main/resources/modelad2/cda.uml
+++ b/cdaxehealth-model/src/main/resources/modelxeh/cda.uml
@@ -7510,7 +7510,6 @@ The following types are used for structural RIM attributes</body>
   <TemplateDefiner_1:ParentPoperty xmi:id="_Rpk1UBqAEeWitI56_FpVRg" base_Property="_PP8rgBqAEeWitI56_FpVRg"/>
   <TemplateDefiner_1:ParentPoperty xmi:id="_X_9voBqAEeWitI56_FpVRg" base_Property="_WTwsgBqAEeWitI56_FpVRg"/>
   <TemplateDefiner_1:ParentPoperty xmi:id="_XEvT4Bs4EeW0jfOHSD1apw" base_Property="_M6jX0Bs4EeW0jfOHSD1apw"/>
-  <Ecore:EReference xmi:id="_TXB3I-vfEeemYNdmj6WL9w" xmlNamespace="urn:epsos-org:ep:medication" xmlFeatureKind="Element" base_Property="_TXB3IOvfEeemYNdmj6WL9w" isResolveProxies="false"/>
   <Ecore:EReference xmi:id="_g2gUA-vfEeemYNdmj6WL9w" xmlNamespace="urn:hl7-org:pharm" xmlFeatureKind="Element" base_Property="_g2gUAOvfEeemYNdmj6WL9w" isResolveProxies="false"/>
 
   <Ecore:EReference xmi:id="_h54ckOvfEeemYNdmj6WL9w" xmlNamespace="urn:hl7-org:pharm" xmlFeatureKind="Element" base_Property="_h531gOvfEeemYNdmj6WL9w" isResolveProxies="false"/>
diff --git a/cdaxehealth-model/src/main/resources/modelad2/lab.uml b/cdaxehealth-model/src/main/resources/modelxeh/lab.uml
similarity index 79%
rename from cdaxehealth-model/src/main/resources/modelad2/lab.uml
rename to cdaxehealth-model/src/main/resources/modelxeh/lab.uml
index 31287d212cbcc8d80a0837fffcdf2f964673a7b8..55a848be5309cd715746e61de5e534c520faa144 100644
--- a/cdaxehealth-model/src/main/resources/modelad2/lab.uml
+++ b/cdaxehealth-model/src/main/resources/modelxeh/lab.uml
@@ -83,26 +83,6 @@ The following types are used for structural RIM attributes</body>
     <elementImport xmi:id="_pqc5MLAeEeGchOU_fiETmQ">
       <importedElement xmi:type="uml:Enumeration" href="../../voc-model/models/voc.uml#_DFpoI670EeGxJei_o6JmIA"/>
     </elementImport>
-    <packagedElement xmi:type="uml:Class" xmi:id="_DAHm0q70EeGxJei_o6JmIA" name="DocumentRoot">
-      <ownedAttribute xmi:id="_DAHm0670EeGxJei_o6JmIA" name="mixed" visibility="public" isOrdered="true" isUnique="false">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EFeatureMapEntry"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DAHm1K70EeGxJei_o6JmIA" value="*"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DAHm1a70EeGxJei_o6JmIA"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_DAHm1q70EeGxJei_o6JmIA" name="xMLNSPrefixMap" isOrdered="true" aggregation="composite" association="_DAHm3q70EeGxJei_o6JmIA">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/XMLPrimitiveTypes.library.uml#String"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DAHm1670EeGxJei_o6JmIA" value="*"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DAHm2K70EeGxJei_o6JmIA"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_DAHm2a70EeGxJei_o6JmIA" name="xSISchemaLocation" isOrdered="true" aggregation="composite" association="_DAHm4K70EeGxJei_o6JmIA">
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/XMLPrimitiveTypes.library.uml#String"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_DAHm2q70EeGxJei_o6JmIA" value="*"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DAHm2670EeGxJei_o6JmIA"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_DAHm3K70EeGxJei_o6JmIA" name="clinicalDocument" type="_DAHm4q70EeGxJei_o6JmIA" isOrdered="true" isDerived="true" aggregation="composite" association="_DALS7K70EeGxJei_o6JmIA">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DAHm3a70EeGxJei_o6JmIA"/>
-      </ownedAttribute>
-    </packagedElement>
 
 
 
@@ -171,18 +151,13 @@ The following types are used for structural RIM attributes</body>
     </profileApplication>
   </uml:Model>
   <Ecore:EPackage xmi:id="_DALS8K70EeGxJei_o6JmIA" base_Package="_DAHm0K70MeGxKef_o6JmIA" packageName="net.ihe.gazelle.ips.lab" nsPrefix="v3" nsURI="urn:hl7-org:v3"/>
-  <Ecore:EClass xmi:id="_DALS8a70EeGxJei_o6JmIA" xmlName="" base_Class="_DAHm0q70EeGxJei_o6JmIA" xmlContentKind="Mixed"/>
-  <Ecore:EAttribute xmi:id="_DALS8q70EeGxJei_o6JmIA" xmlName=":mixed" xmlFeatureKind="ElementWildcard" base_Property="_DAHm0670EeGxJei_o6JmIA"/>
-  <Ecore:EReference xmi:id="_DALS8670EeGxJei_o6JmIA" xmlName="xmlns:prefix" isTransient="true" xmlFeatureKind="Attribute" base_Property="_DAHm1q70EeGxJei_o6JmIA" isResolveProxies="false"/>
-  <Ecore:EReference xmi:id="_DALS9K70EeGxJei_o6JmIA" xmlName="xsi:schemaLocation" isTransient="true" xmlFeatureKind="Attribute" base_Property="_DAHm2a70EeGxJei_o6JmIA" isResolveProxies="false"/>
-  <Ecore:EReference xmi:id="_DALS9a70EeGxJei_o6JmIA" xmlName="ClinicalDocument" isTransient="true" isVolatile="true" xmlNamespace="urn:hl7-org:v3" xmlFeatureKind="Element" base_Property="_DAHm3K70EeGxJei_o6JmIA" isResolveProxies="false"/>
 
 
-  <Ecore:EClass xmi:id="_DAYskK70EeGxJei_o6JmIA" xmlName="Precondition" base_Class="_DAKEh670EeGxJei_o6JmIA" xmlContentKind="ElementOnly"/>
+  <Ecore:EClass xmi:id="_DAYskK70EeGxJei_o6JmIA" xmlName="Precondition" base_Class="_DAKEh670YnGxJei_o6JmIA" xmlContentKind="ElementOnly"/>
   <Ecore:EReference xmi:id="_DAYslK70EeGxJei_o6JmIA" xmlNamespace="urn:hl7-org:v3" xmlFeatureKind="Element" base_Property="_DAKEkK70EeGxJei_o6JmIA" isResolveProxies="false"/>
   <Ecore:EAttribute xmi:id="_DAYsla70EeGxJei_o6JmIA" isUnsettable="true" xmlFeatureKind="Attribute" base_Property="_DAKEka70EeGxJei_o6JmIA"/>
   <Ecore:EAttribute xmi:id="_DAYslq70EeGxJei_o6JmIA" isUnsettable="true" xmlFeatureKind="Attribute" base_Property="_DAKEk670EeGxJei_o6JmIA"/>
-  <Ecore:EClass xmi:id="_DAYsl670EeGxJei_o6JmIA" xmlName="Criterion" base_Class="_DAKEm670EeGxJei_o6JmIA" xmlContentKind="ElementOnly"/>
+  <Ecore:EClass xmi:id="_DAYsl670EeGxJei_o6JmIA" xmlName="Criterion" base_Class="_DAKEm670EeGjJei_o6JmIA" xmlContentKind="ElementOnly"/>
 
   <Ecore:EReference xmi:id="_DAYsm670EeGxJei_o6JmIA" xmlNamespace="urn:hl7-org:v3" xmlFeatureKind="Element" base_Property="_DAKEpK70EeGxJei_o6JmIA" isResolveProxies="false"/>
 
diff --git a/cdaxehealth-model/src/main/resources/modelad2/pharm.uml b/cdaxehealth-model/src/main/resources/modelxeh/pharm.uml
similarity index 100%
rename from cdaxehealth-model/src/main/resources/modelad2/pharm.uml
rename to cdaxehealth-model/src/main/resources/modelxeh/pharm.uml
diff --git a/datatypes-model/src/main/java/net/ihe/gazelle/model/DatatypesModelRetriever.java b/datatypes-model/src/main/java/net/ihe/gazelle/model/DatatypesModelRetriever.java
index 91d7a1b1741eb2d6594814d371a735227c3d927c..363fd08eb73e16b05b22235a6196fc9dd180a6a2 100644
--- a/datatypes-model/src/main/java/net/ihe/gazelle/model/DatatypesModelRetriever.java
+++ b/datatypes-model/src/main/java/net/ihe/gazelle/model/DatatypesModelRetriever.java
@@ -7,13 +7,9 @@ import java.util.Map;
 public class DatatypesModelRetriever extends ModelRetriever{
 
 
-    protected String dataTypeResource ;
-    protected String datatypeUmlName ;
 
-    public DatatypesModelRetriever() {
-        super();
-        dataTypeResource = "/models/datatypes.uml";
-        datatypeUmlName = "datatypes.uml";
+    protected String getDatatypeUmlName(){
+        return "/models/datatypes.uml";
     }
 
     @Override
@@ -24,7 +20,7 @@ public class DatatypesModelRetriever extends ModelRetriever{
     @Override
     public Map<String, URL> retrieveModels(){
         Map<String, URL> modelMap = new HashMap<String, URL>();
-        modelMap.put(datatypeUmlName, getClass().getResource(dataTypeResource));
+        modelMap.put("datatypes.uml", getClass().getResource(getDatatypeUmlName()));
         CommonModelRetriever commonModelRetriever = new CommonModelRetriever();
         Map<String, URL> commonModelsMap = commonModelRetriever.retrieveModels();
         for (Map.Entry<String, URL> entry : commonModelsMap.entrySet()){