Best use of versioning for multiple editions

Answered Best use of versioning for multiple editions

  • Monday, February 07, 2011 11:30 PM
     
     

    Hi all. We've recently begun using MDS to store our health master data, such as clinical codesets. Typically, new editions of these codesets are released each year with descriptions and other attributes updated, added and removed. So the best way forward seems to be adding a new version for each edition of the clinical codeset (the model doesn't change), with a 'Publish' flag specific to each edition (flags are unique to a model).

    So my question is: for each codeset edition in a new version of the model, what is the best way to create a new, empty version ready to import the new data? The only way seems to be copying a previous version, but I cannot find a way to easily delete all members in a version.

    Thanks in advance, Drew

    PS. I found the two Profisee videos on Version Management a very useful introduction to this (free registration required).

All Replies

  • Wednesday, February 09, 2011 10:07 AM
    Moderator
     
     Answered

    Hi Drew

    unless using the API and delete each entity members one by one (respecting the order of deletion when there are domain based attributes : from leaf to root), you could create a package by specifying your current version and NOT check "include data from version", then you deploy this package in the same model on a new version, and it will be empty of data.

    For API using and bulk members deletion, you can check my source code on codeplex: http://mdsmanager.codeplex.com/

     

     

     



    Xavier Averbouch
    Avanade , FRANCE
    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
  • Wednesday, February 09, 2011 3:31 PM
     
     Answered

    Hi Drew,

    In typical MDS scenarios you would be maintaining incremental changes from version to version rather than loading a complete set of data from external sources each time.  However, there is a simple answer to your scenario: keep a source version that is empty and always copy from this version.  For example, when the model is first created, you have an empty Version 1.  Copy Version 1 to Version 2.  Now Version 2 is empty.  Load your data to Version 2.  For the next iteration, copy Version 1 to Version 3.  Version 3 is empty and you can load a fresh set of data to this version.  Repeat as you like, always copying from the empty Version 1.

    Having said that, it sounds like you have data in all your versions already, so you may need to empty out a new version (using techniques that Xavier described) and keep that around as your "template version" for new copies.

    Regards,

    Val Lovicz, CTO Profisee

    • Proposed As Answer by Val Lovicz Wednesday, February 09, 2011 3:36 PM
    • Marked As Answer by Drew Duckworth Thursday, February 10, 2011 4:38 AM
    •  
  • Thursday, February 10, 2011 4:47 AM
     
     

    Thankyou for two insightful answers Xavier and Val. Using them both, I have a way forward: I'll create a template version.

    As you suggest Val, the Versioning setup of MDS supposes incremental changes. Nevertheless, I'm surprised there's not a straightforward way to delete or edit all attributes in one operation through the interface; for me, this would be a very useful addition.

    Thanks, Drew

  • Thursday, February 10, 2011 5:03 AM
     
     
    As an addendum, if you select 'Update the existing model' when deploying a package with no data, there is no change to the content. In selecting 'Create a new model' though, I can start again from scratch (which is fine, as the data just needs to be imported), once I add the Versions and Flags back into the Model. 
  • Tuesday, June 19, 2012 3:36 AM
     
     

    Hi Val,

    Can you please send me sample code to copy from version 1 to version 2 then again copy from version 1  to version3

    Thanks