Mainzelliste is a web-based first-level pseudonymisation service. It allows for the creation of personal identifiers (PID) from identifying attributes (IDAT), and thanks to the record linkage functionality, this is even possible with poor quality identifying data. The functions are available through a REST interface.
Multi-centric research projects are one use for it: For this, Mainzelliste functions as a trustworthy third party that creates uniform pseudo-identifiers, even creating several for each system connected if necessary. By this means, data from each study subject is connectable between institutions, yet legal data protection requirements can be ensured through the implementation of power separations, including pseudonymised data storage.
Mainzelliste was developed as the successor of the so-called “PID Generator” (Professor Klaus Pommerening, University Medical Centre, Mainz) in order to fulfil the requirements of the revised data protection concept from the TMF.
For each patient entered, Mainzelliste creates one or more non-speaking so-called personal identifiers (PID) that are compatible with the identifiers of the original PID generator. These deterministically created 8-digit strings are appropriate for use on the Web as well as for manual data transfer, as they can identify up to two typos [1].
For each patient there should only be exactly one pseudonym created, even for multiple entries of the patient. Therefore, when a patient is added the database is examined to see if this patient already exists. Thanks to a modular record linkage system that can be adapted to the demands of specific uses through a configuration file, this is possible even in the event of typos or alternate spellings. Particularly new compared to the PID generator is the possibility of using in-house phonetic codes and string comparisons, thereby allowing names from other linguistic backgrounds to be fault-tolerantly compared. Currently, weight-based record linkage is supported, but the modular concept allows for retrofitting an in-house algorithm. The possibility to manually re-work uncertain assignments further supports the automatic matching process.
A lightly-weighted REST-based [2] interface permits simple connection to different systems, for example to registries, biobanks, EDC systems and study management systems. This makes it possible to use web browsers over AJAX and JSONP requests in the first place. Among others, implementations exist for the study management system “SecuTrial” from the company iAS.
The complexity of record linkage remains hidden from the user because he or she enters identifying patient data in a web browser over an easy-to-understand, streamlined user-interface.
Possible record linkage errors can be corrected in an administrative user-interface (implementation is in progress). Appropriate error messages simplify the process for users and administrators.
For networks that still use the PID generator, a migration path to Mainzelliste is available in most cases. For this, phonetics in accordance with the phonetic algorithm by Jörg Michael [3] has been reimplemented as part of an evaluation [4].
In some applications surrounding patient care, it is permitted and desirable for users to be able to see real names instead of pseudonyms. The REST interface of Mainzelliste makes the revelation of these names possible in principle, but some modern and nearly all old web browsers present diverse hurdles to a stable implementation [5]. Mainzelliste helps circumvent these obstacles by allowing access through the Mainz data protection library (implementation is being worked on as part of the project OSSE).
In some applications surrounding patient care, permanent pseudonyms should be hidden from the user. In their place are temporarily valid pseudonyms (TempIDs) that can be created, shared between the servers involved and converted back to identifiable data through the Mainz data protection library (implementation is being worked on as part of the project OSSE).
Mainzelliste is already used in numerous projects and its application interface has been implemented in various software products for medical research. You can find a current list of usage references on the Bitbucket project web site.
Everything that you need for your own Mainzelliste can be directly downloaded here (you will be redirected to an overview of the available versions). Please see the terms of use farther down on this page.
If you want to refer to Mainzelliste in your publications, please cite the following article, which deals with the general concept and the interface of the program:
Lablans M, Borg A, Ückert F: A RESTful interface to pseudonymization services in modern web applications. BMC Med Inform Decis Mak. 2015 Feb 7;15:2. doi: 10.1186/s12911-014-0123-5.
In order to stay up-to-date, you can register for our mailing list.
You can reach the developers at info@mainzelliste.de.
We have decided to make the code for Mainzelliste available in the repository service “BitBucket” for mutual cooperation purposes. This service from the company Atlassian supports the distributed version-control systems Git and Mercurial and is available for free in the basic version. BitBucket supplies all the necessary features for repository management (code browser, forks, commit history, etc.) and offers additional tools through an integrated Wiki as well as an issue tracking system.
Click here to access our repository.
It is relatively simple to set up the development environment for Mainzelliste and to start up the programme locally. In our instructions for developers, you can read about this as well as a few other bits of information (currently only available in German if not stated otherwise).
The entries in the configuration are of critical importance for correct matching weights and matching limits. We have already entered these at our institute in an executable state based on comprehensive experience.
Mainzelliste - A tool for pseudonymisation
Copyright © 2013 Martin Lablans, Andreas Borg, Frank Ückert
This programme is free software: Under the conditions of the GNU Affero General Public License (AGPL) (either Version 3 of the license or a later version) published by the Free Software Foundation, you can distribute and/or modify the software. You should have received a copy of the AGPL with the software. If not, please have a look at www.gnu.org/licenses/. If your software interacts with remote users over a computer network, you must be sure that there is a way for your users to download the software’s source code (including if it has been altered by you). For example, your website (in the case of a web application) could provide a link to an archive with the source code (also see Article 13 of the AGPL).
The following brief summary does not replace the text of the license. In brief, the GNU Affero General Public License means:
Read the entire AGPL license here.
Are you interested in using Mainzelliste for pseudonymisation, for example for your medical research association? But you don’t want to have to operate the software within your own work? You don’t have the appropriate hardware available or are unable to be a Mainzelliste provider yourself? Then we have a solution for you:
In principle, we, the IMBEI at the University Medical Centre, offer to operate Mainzelliste for our cooperation partners. For this, you need to complete the corresponding contract with the University Medical Centre that we have already developed and used. In it, the contract subject matter, time lines, compensation, confidentiality, terms of use, contract termination and many other small details are defined.