diff --git a/cps-ri/src/main/resources/changelog/changelog-master.yaml b/cps-ri/src/main/resources/changelog/changelog-master.yaml
index 14f3726..251cec6 100644
--- a/cps-ri/src/main/resources/changelog/changelog-master.yaml
+++ b/cps-ri/src/main/resources/changelog/changelog-master.yaml
@@ -1,5 +1,6 @@
 # ============LICENSE_START=======================================================
 # Copyright (c) 2021 Bell Canada.
+# Modifications Copyright (C) 2022 Nordix Foundation.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -37,3 +38,7 @@
       file: changelog/db/changes/10-loadData-dmi-registry-fragment.yaml
   - include:
       file: changelog/db/changes/11-add-column-to-yang-resources-table.yaml
+  - include:
+      file: changelog/db/changes/12-delete-all-previous-dmi-registry-schema-set.yaml
+  - include:
+      file: changelog/db/changes/13-insert-dmi-registry-2022-02-10-schema-set.yaml
diff --git a/cps-ri/src/main/resources/changelog/db/changes/11-add-column-to-yang-resources-table.yaml b/cps-ri/src/main/resources/changelog/db/changes/11-add-column-to-yang-resources-table.yaml
index 139e83b..8643a05 100644
--- a/cps-ri/src/main/resources/changelog/db/changes/11-add-column-to-yang-resources-table.yaml
+++ b/cps-ri/src/main/resources/changelog/db/changes/11-add-column-to-yang-resources-table.yaml
@@ -40,4 +40,4 @@
         - sql:
             sql: update yang_resource set module_name = 'dummy_module_name', revision = '2021-08-04' where module_name is null and revision is null
       rollback:
-        comment: Rollback for change set 11.1 is not supported. Please rollback change set 11 to rollback changeset 11.1. Change set 11.1 removes null values from the yang_resource table created by change set 11.
\ No newline at end of file
+        sql: update yang_resource set module_name = null, revision = null where module_name = 'dummy_module_name' and revision = '2021-08-04'
\ No newline at end of file
diff --git a/cps-ri/src/main/resources/changelog/db/changes/12-delete-all-previous-dmi-registry-schema-set.yaml b/cps-ri/src/main/resources/changelog/db/changes/12-delete-all-previous-dmi-registry-schema-set.yaml
new file mode 100644
index 0000000..9eda029
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/12-delete-all-previous-dmi-registry-schema-set.yaml
@@ -0,0 +1,157 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+databaseChangeLog:
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-delete
+      id: 12
+      sql: delete from schema_set_yang_resources
+        where schema_set_id = (select id from schema_set where name = 'ncmp-dmi-registry-model')
+        and yang_resource_id = (select id from yang_resource where name = 'dmi-registry@2021-05-20.yang')
+      rollback:
+        loadUpdateData:
+          encoding: UTF-8
+          file: 'changelog/db/changes/data/dmi/schema_set_yang_resources.csv'
+          quotchar: '"'
+          primaryKey: 'schema_set_id,yang_resource_id'
+          separator: '|'
+          tableName: 'schema_set_yang_resources'
+          usePreparedStatements: true
+
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-delete
+      id: 12.1
+      sql: delete from yang_resource where name = 'dmi-registry@2021-05-20.yang'
+      rollback:
+        loadUpdateData:
+          encoding: UTF-8
+          file: 'changelog/db/changes/data/dmi/yang_resource.csv'
+          onlyUpdate: 'false'
+          primaryKey: 'id'
+          quotchar: '"'
+          separator: '|'
+          tableName: 'yang_resource'
+          columns:
+            - column:
+                header: name
+                name: name
+                type: STRING
+            - column:
+                header: content
+                name: content
+                type: STRING
+            - column:
+                header: checksum
+                name: checksum
+                type: STRING
+        sql: update yang_resource set module_name = 'dummy_module_name', revision = '2021-08-04' where module_name is null and revision is null
+
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-delete
+      id: 12.2
+      sql: delete from schema_set_yang_resources
+        where schema_set_id = (select id from schema_set where name = 'ncmp-dmi-registry-model')
+        and yang_resource_id = (select id from yang_resource where name = 'dmi-registry@2021-10-20.yang')
+      rollback:
+        loadUpdateData:
+          encoding: UTF-8
+          file: 'changelog/db/changes/data/dmi/schema_set_yang_resources@2021-10-20.csv'
+          quotchar: '"'
+          primaryKey: 'schema_set_id,yang_resource_id'
+          separator: '|'
+          tableName: 'schema_set_yang_resources'
+          usePreparedStatements: true
+
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-delete
+      id: 12.3
+      sql: delete from yang_resource where name = 'dmi-registry@2021-10-20.yang'
+      rollback:
+        loadUpdateData:
+          encoding: UTF-8
+          file: 'changelog/db/changes/data/dmi/yang_resource@2021-10-20.csv'
+          onlyUpdate: 'false'
+          primaryKey: 'id'
+          quotchar: '"'
+          separator: '|'
+          tableName: 'yang_resource'
+          columns:
+            - column:
+                header: name
+                name: name
+                type: STRING
+            - column:
+                header: content
+                name: content
+                type: STRING
+            - column:
+                header: checksum
+                name: checksum
+                type: STRING
+        sql: update yang_resource set module_name = 'dummy_module_name', revision = '2021-08-04' where module_name is null and revision is null
+
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-delete
+      id: 12.4
+      sql: delete from schema_set_yang_resources
+        where schema_set_id = (select id from schema_set where name = 'ncmp-dmi-registry-model')
+        and yang_resource_id = (select id from yang_resource where name = 'dmi-registry@2021-12-13.yang')
+      rollback:
+        loadUpdateData:
+          encoding: UTF-8
+          file: 'changelog/db/changes/data/dmi/schema_set_yang_resources@2021-12-13.csv'
+          quotchar: '"'
+          primaryKey: 'schema_set_id,yang_resource_id'
+          separator: '|'
+          tableName: 'schema_set_yang_resources'
+          usePreparedStatements: true
+
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-delete
+      id: 12.5
+      sql: delete from yang_resource where name = 'dmi-registry@2021-12-13.yang'
+      rollback:
+        loadUpdateData:
+          encoding: UTF-8
+          file: 'changelog/db/changes/data/dmi//generated-csv/generated_yang_resource_dmi-registry@2021-12-13.csv'
+          onlyUpdate: 'false'
+          primaryKey: 'id'
+          quotchar: '"'
+          separator: '|'
+          tableName: 'yang_resource'
+          columns:
+            - column:
+                header: name
+                name: name
+                type: STRING
+            - column:
+                header: content
+                name: content
+                type: STRING
+            - column:
+                header: checksum
+                name: checksum
+                type: STRING
+        sql: update yang_resource set module_name = 'dummy_module_name', revision = '2021-08-04' where module_name is null and revision is null
+
diff --git a/cps-ri/src/main/resources/changelog/db/changes/13-insert-dmi-registry-2022-02-10-schema-set.yaml b/cps-ri/src/main/resources/changelog/db/changes/13-insert-dmi-registry-2022-02-10-schema-set.yaml
new file mode 100644
index 0000000..3351b54
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/13-insert-dmi-registry-2022-02-10-schema-set.yaml
@@ -0,0 +1,66 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+databaseChangeLog:
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-load-revision-2022-02-10
+      id: 13
+      loadUpdateData:
+        encoding: UTF-8
+        file: 'changelog/db/changes/data/dmi/generated-csv/generated_yang_resource_dmi-registry@2022-02-10.csv'
+        onlyUpdate: 'false'
+        primaryKey: 'id'
+        quotchar: '"'
+        separator: '|'
+        tableName: 'yang_resource'
+        columns:
+          - column:
+              header: name
+              name: name
+              type: STRING
+          - column:
+              header: content
+              name: content
+              type: STRING
+          - column:
+              header: checksum
+              name: checksum
+              type: STRING
+          - column:
+              header: module_name
+              name: module_name
+              type: STRING
+          - column:
+              header: revision
+              name: revision
+              type: STRING
+      rollback:
+        - sql:
+            sql: delete from yang_resource where name = 'dmi-registry@2022-02-10.yang'
+
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-load-revision-2022-02-10
+      id: 13.1
+      sql: INSERT INTO schema_set_yang_resources (schema_set_id, yang_resource_id)
+        VALUES ((select id from schema_set where name = 'ncmp-dmi-registry-model'), (select id from yang_resource where name = 'dmi-registry@2022-02-10.yang'));
+      rollback:
+        sql: delete from schema_set_yang_resources
+          where schema_set_id = (select id from schema_set where name = 'ncmp-dmi-registry-model')
+          and yang_resource_id = (select id from yang_resource where name = 'dmi-registry@2022-02-10.yang')
\ No newline at end of file
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/yang-models/dmi-registry@2022-02-10.yang b/cps-ri/src/main/resources/changelog/db/changes/data/yang-models/dmi-registry@2022-02-10.yang
new file mode 100644
index 0000000..3c6d990
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/yang-models/dmi-registry@2022-02-10.yang
@@ -0,0 +1,81 @@
+module dmi-registry {
+
+  yang-version 1.1;
+
+  namespace "org:onap:cps:ncmp";
+
+  prefix dmi-reg;
+
+  contact "toine.siebelink@est.tech";
+
+  revision "2022-02-10" {
+    description
+    "Added State, LockReason, LockReasonDetails to aid with cmHandle sync and timestamp to aid with retry/timeout scenarios";
+  }
+
+  revision "2021-12-13" {
+    description
+    "Added new list of public additional properties for a Cm-Handle which are exposed to clients of the NCMP interface";
+  }
+
+  revision "2021-10-20" {
+    description
+    "Added dmi-data-service-name & dmi-model-service-name to allow separate DMI instances for each responsibility";
+  }
+
+  revision "2021-05-20" {
+    description
+    "Initial Version";
+  }
+
+  container dmi-registry {
+    list cm-handles {
+      key "id";
+      leaf id {
+        type string;
+      }
+      leaf dmi-service-name {
+        type string;
+      }
+      leaf dmi-data-service-name {
+        type string;
+      }
+      leaf dmi-model-service-name {
+        type string;
+      }
+
+      list additional-properties {
+        key "name";
+        leaf name {
+          type string;
+        }
+        leaf value {
+          type string;
+        }
+      }
+
+      list public-properties {
+        key "name";
+        leaf name {
+          type string;
+        }
+        leaf value {
+          type string;
+        }
+      }
+
+      leaf state {
+        type string;
+      }
+      leaf lock-reason {
+        type string;
+      }
+      leaf lock-reason-details {
+        type string;
+      }
+      leaf last-update-time {
+        type string;
+      }
+    }
+  }
+}
diff --git a/cps-ri/src/main/resources/yangResourceCsvGenerator.py b/cps-ri/src/main/resources/yangResourceCsvGenerator.py
index 9a4077b..3a076d4 100644
--- a/cps-ri/src/main/resources/yangResourceCsvGenerator.py
+++ b/cps-ri/src/main/resources/yangResourceCsvGenerator.py
@@ -18,21 +18,49 @@
 
 
 import csv
+import datetime
 import hashlib
 import sys
+import re
 
 yang_source = ''
 checksum = ''
+regexForModuleName = '(?<=module)(.*)(?={)'
+regexForRevision = '(?<=revision)(.*)(?={)'
 
-for yang_source in sys.argv[1:]:
-    checksum = hashlib.sha256(str(yang_source).encode()).hexdigest()
+def main():
+    for yang_source in sys.argv[1:]:
+        checksum = hashlib.sha256(str(yang_source).encode()).hexdigest()
 
-with open('changelog/db/changes/data/yang-models/' + yang_source + '.yang') as content:
-    dmiRegistry = content.read()
+        with open('changelog/db/changes/data/yang-models/' + yang_source + '.yang', 'r') as content:
+            dmiRegistry = content.read()
 
-# open the file in the write mode
-with open('changelog/db/changes/data/dmi/generated-csv/generated_yang_resource_' + yang_source + '.csv', 'w', newline='') \
-        as file:
-    writer = csv.writer(file, delimiter='|')
-    writer.writerow(["name", "content", "checksum"])
-    writer.writerow([yang_source + '.yang', dmiRegistry, checksum])
+        try:
+            latestRevision = re.search(regexForRevision, dmiRegistry).group(0).replace('\"','').strip()
+        except:
+            print("ERROR IN in yangResourceCsvGenerator.py: Unable to find revision for " + yang_source + '.yang')
+
+        try:
+            module_name = re.search(regexForModuleName, dmiRegistry).group(0).strip()
+        except:
+            print("ERROR IN in yangResourceCsvGenerator.py: Unable to find module name for " + yang_source + '.yang')
+
+        #If true, file was created after module_name and revision columns were added to yang-resources table
+        writeWithModuleNameAndRevision = yang_source != 'dmi-registry@2021-12-13'
+
+        try:
+            # open the file in the write mode
+            with open('changelog/db/changes/data/dmi/generated-csv/generated_yang_resource_' + yang_source + '.csv', 'w', newline='') \
+                    as file:
+                writer = csv.writer(file, delimiter='|')
+                if(writeWithModuleNameAndRevision):
+                    writer.writerow(["name", "content", "checksum", "module_name", "revision"])
+                    writer.writerow([yang_source + '.yang', dmiRegistry, checksum, module_name, latestRevision])
+                else:
+                    writer.writerow(["name", "content", "checksum"])
+                    writer.writerow([yang_source + '.yang', dmiRegistry, checksum])
+        except:
+            print("ERROR IN in yangResourceCsvGenerator.py: Unable to write to changelog/db/changes/data/dmi/generated-csv/generated_yang_resource_" + yang_source + ".csv")
+
+
+main()
\ No newline at end of file
