Someone recently wrote to me for advice on how to get started with a LabWare system migration for two systems that will be merged into a single system. I sent him my brain dump to help give him a start and I figured I would share it with all of you who might be doing the same, but a lot of these issues apply to just about any system, whether LabWare LIMS, Thermo Fisher SampleManager LIMS, an ELN or anything else.
Just off the top of my head, here are some things to start with when merging two instances, and you can read more general information specifically about the LabWare system at “LabWare LIMS: We’re the Experts.”
The sample text IDs would merge fine if they start with different text, but if this is not the case, you have to work out some merge strategy for your text sample IDs, and you have to verify this all over both systems for all objects, too. For example, what if the analysis names overlap? It doesn’t necessarily mean that the analysis is exactly the same, so you have to work this out. You have to do this for every table with text IDs.
Additionally, you have to figure out what to do with the numeric IDs. So, for example, system 1 has the same sample IDs as system 2, probably. You have to pick which one will jump their numbers. You have to do this for anything with an incremental number, such as tests, results, and anything else using a system-generated number for an identity.
Then, you have to catch every link. So, for example, if you decide that site #2 is the one whose numbers will jump, you would jump its sample numbers, its test numbers, its result numbers -AND- those new test numbers have to point to the new sample numbers and the new result numbers have to point to the new test numbers and the new sample numbers.
Don’t forget to address your increments.
Also, since you are jumping your numbers for whichever system loads second, you have to consider what happens to those samples that are labeled with the old sample number. You have to figure this out, and what you really have to do is look at all the labels you have and come to some agreement how they’re affected and what you’ll do. Maybe you’ll do nothing but tell people that they can’t scan the old labels. It depends on your situation. And all external related/integrated systems could be affected, so you need to address these. Another option is to create fields for the old IDs within the new merged system and to come up with a strategy on how to reference the old data.
Of course, let’s not forget that you might have to upgrade the databases from LabWare if this is also an upgrade. Then, do you upgrade a plain system to the new version then merge the two systems in? Or, do you upgrade them, separately, then merge them, together? This is something you need to figure out based on how much work it is to do one over the other and will have to do with whether you’re going to merge their functionality, too. You might consider just installing a plain latest version system so that you can check it for bugs when you run into problems. You might even want to install your SLLs, but leave out the customization your sites have and leave out the extra fields. It gives you a reference point.
Also, do you need to change the security on the users and data? When you merge them, together, if you need to separate them and they weren’t previously separated, you should model this, then map the objects (including the users and their groups) for the migration.
Also, if you have the same programs in both with the same subroutine names but different code, you have to either harmonize or change the code to have two paths.
Don’t forget things like the audits, either, because your initial data load needs to consider this and your final migration will have to handle these.
Anyway, this is my brain dump on it, I’m sure I’ve missed things, but it gives you a start. Just what I’ve mentioned, all by itself, is a huge amount of work, depending on how big and similar the systems are.
To those people reading this, while this was focused more on LabWare LIMS, you’ll recognize these issues for other LIMS and for ELNs, as well as other products we use. I’d been recently working on a SampleManager upgrade and these are basically the same types of issues we’d worked through.
Note: Anyone who has upgrade tips they wish to share should feel encouraged to post them as comments to this post. Whether they are for LabWare LIMS, other LIMS, or any other products in our laboratory informatics space, please include them.