Patient De-Identifier Utility


Patient De-Identifier Utility

The Patient De-Identifier (DEID) utility replaces identifiable patient data in a NextGen Healthcare database with realistic but false computer-generated values. The resulting database preserves all existing family relationships, visit information and medical conditions. A de-identified database can be safely used for conversion testing, user training, and other purposes without risking patient confidentiality.

DEID requires the Microsoft .NET Framework 4.5, which means that the framework must be installed on any machine before you install DEID on that machine. Installing the framework will require a reboot. If you are installing on a workstation, this is likely not a problem. If you are installing on a server, you will need to inform your IT Group or System Administrator (if you have such a group in your organization) as they will need to coordinate the installation and reboot with other users of the server. Generally this means waiting until "non-working hours" to perform the update.

A License Key (sold separately) can be obtained by contacting the NextGen Healthcare Success Community, or by calling NextGen Healthcare Corporate Headquarters at (215) 657-7010.

If you have purchased the DEID and have not received a license key, please submit a NextGen Healthcare Success Community request and we will provide a license key as soon as possible.

Download Latest Version:  1.97.79
January 2, 2018
Team Cianos
Version 1.97
January 2, 2018
  • (1.97.79) Changes to Library dependencies
  • (1.97.78) Enabled use of CLIENT MAP file, which is generated by the Client Data Capture tool (available in the RESOURCES section)
  • (1.97.77) Added Digital Certificate (AKA "Signed") installer MSI file.
  • (1.97.77) Updates to text descriptions on "Ignore Specific Persons" and "Delete Some Persons". Some icons updated to use more recent NextGen standard icons.
  • (1.97.76) Changes in SQL Server detection required updates
  • (1.97.75) DEID would crash if user added more than two person filter fields on the UI. Fixed
  • (1.97.73) DEID now handles in-place replacement of NOTES and COMMENTS fields
  • (1.97.71) FIX: JOBS were being disabled but not enabled after processing. Jobs are now correctly being disabled before, and enabled after, DEID processing.
  • (1.97.70) FIX: DEID referencing an older version of a key library.
  • (1.97.69) FIX: Changes to version handling prevented DEID from de-identifying any PERSON data.
  • (1.97.68) DEID now handles the special USA ZIP Codes with fewere than 20,000 persons, changing the first 3 of ZIP to 000
  • (1.97.67) FIX: When not using IntegratedSecurity option, the PERSON DELETE process would close its database connection, leading to failure.
  • (1.97.65) FIX: Bug preventing DEID from processing databases and incorrectly reporting partial success.
  • (1.97.64) FIX: DEID was failing during PROVIDER update. FIX: Locations and Practices were missing line breaks when writing to log. FIX: Disabled three SPACE RECOVERY features that ruin KBM linkage in EHR/EPM. FIX: Tab Order and Maximize feature of Data Warning dialog.
  • (1.97.63) Stored procedure used for troubleshooting (if needed) is having issues on some SQL 2012 servers. Removed.
  • (1.97.62) DEID Updates to delete PAC images from KBM
  • (1.97.61) DEID Updates to support logging of the SQL ID process
  • (1.97.60) DEID Updates to recognize and support newer SQL Server releases
  • (1.97.58) DEID was having trouble changing User Account passwords. Fixed.
  • (1.97.58) DEID was incorrectly detecting that Enterprise, Practice, and Location entities needed changes when they did not. No data was harmed during the lifetime of this error. Fixed.
  • (1.97.56) FIX: TRUNCATE DB LOG option now enabled when CHANGE DB BACKUP MODEL is checked.
  • (1.97.56) New Option: Rebuild Fragmented Indexes after processing
  • (1.97.56) New Option: Update Statistics on DB after processing
  • (1.97.56) The LOG was incorrectly labeling the count of De-identified persons as Deleted persons. Fixed
  • (1.97.55) DEID was not deleting Person records associated with Enterprise and Practice records that were being deleted. Fixed.
  • (1.97.55) DEID can now detect and overcome issues where Enterprise, Practice, and Person links are somehow out of sync. This was preventing associated Persons records from being deleted when an Enterprise and/or Practice was being deleted.
  • (1.97.55) A new simplified algorithm is used when analyzing family relationships, improving processing speed during Configuration. 10 Million Persons analyzed in 11 seconds.
  • (1.97.55) DEID always re-applies SQL Scripts for a database after de-identification.
  • (1.97.55) Enterprise and Practice listings in Configuration Panel now shows Enterprise ID and Practice ID
  • (1.97.55) Adding and changing Person Filter options in Config Panel now updates count immediately, as expected.
  • (1.97.55) Moved Eligible Person Statistics to top of Configuration panel, so that the effect of selections that change statistics can be seen immediately
  • (1.97.55) Removed legacy concept of "fake" Locations to handle unassigned persons from Location UI
  • (1.97.54) Cleanup of sensitive data in LOG file.
  • (1.97.54) Was not creating key tables if no Entity selected for De-identify. Fixed.
  • (1.97.53) DEID was attempting to use a non-existent stored procedure under some conditions. Fixed.
  • (1.97.52) Two updates ([NEXTMD-58-007a] and [NEXTMD-58-007b]) were failing, and causing DEID to fail completely. Fixed.
  • (1.97.51) DEID was de-identifying Enterprise/Practice/Location records if the ENABLE switch was selected for that entity, even if the individual records were set to IGNORE. Fixed.
  • (1.97.51) Addition of new database updates to obscure PHI. Now obscures Provider License Number.
  • (1.97.50) DEID now tests ability for user account to access SYS.Partitions to count rows, and using COUNT(1) to count rows
  • (1.97.50) Changed logging code to show same Person statistics as Configuration UI
  • (1.97.49) DEID was requiring data to exist in the agency_mstr, payer_mstr, and employer_mstr tables before using the database. This is no longer required
  • (1.97.48) The SHRINK option was not working correctly. This has been fixed. In addition, if a problem occurs during the Shrink process, it will not cause the tool to report "de-identification failure", as the Shrink is considered a non-essential part of the process.
  • (1.97.48) DEID now restores the state of JOBS and TRIGGERS, even if the de-identification process fails. Previously, if the process failed, the cleanup steps of restoring Jobs and Triggers did not occur.
  • (1.97.48) On the CONFIGURATION page, Delete and Shrink options now show how much space can be reclaimed by selecting each options.
  • (1.97.48) Database selection screen now shows both Database Size and "Free Space", or space that could be reclaimed if the database is Shrunk.
  • (1.97.48) DEID no longer runs Database Updates if no Entities are selected for changes.
  • (1.97.48) DEID no longer processes PERSONS if they are all being IGNORED.
  • (1.97.47) DEID no longer changes Log File size during processing.
  • (1.97.47) DEID database scripts incorrectly created without using SCHEMA names for database objects such as tables, stored procedures, and functions. Fixed.
  • (1.97.46) Incorrectly generated database script files preventing DEID from configuring a database. Fixed.
  • (1.97.45) Fixed bugs related to out-of-date source code files in previous build.
  • (1.97.44) Addition of Database Updates to de-identify some PHI data stored by Patient Portal and some KBM Tables
  • (1.97.44) DEID would fail when using constant values to LINK tables in the DMAP file. Constants used as LINK values are now ignored.
  • (1.97.43) The default settings for deleting LOG files has changed. They are no longer automatically selected for delete, and must be selected manually.
  • (1.97.43) DEID Tested against SQL Server 2012 and updated to permit use on 2012 and 2014 versions
  • (1.97.43) XML comments in the Database Update file could prevent DEID from loading. Fixed.
  • (1.97.43) Added database updates to support data stored in Patient Portal
  • (1.97.41) Choosing DELETE AUDIT LOGS would actually delete Payment Info. Fixed
  • (1.97.41) Some DEID config flags not being written to the activity log. Fixed.
  • (1.97.41) Activity log no longer writes names of all servers and databases found to activity file, only the server and database being used for DEID purposes.
  • (1.97.41) When loading a saved profile, DEID would "forget" the database name after load. Fixed.
  • (1.97.41) Updates to USER RIGHTS dialog. Now shows ALL Server privileges, and marks the ones specifically GRANTED, DENIED, and INHERITED
  • (1.97.40) Minor update to remove CMD window interface at startup.
  • (1.97.39) Command-line capability Update
  • (1.97.38) Addition of command-line arguments to allow DEID to be automated in batch processes. Allows automated loading of Profile data by ID, automatic start, and automatic closing. Use DEID /? to see the syntax of available command-line options.
  • (1.97.37) Corrected a bug related to Bulk Insert of data during Patient data generation. It was causing "Login Failed for User [UserName]" when using SQL Account authentication instead of Windows Authentication.
  • (1.97.36) Corrected a syntax error in the statement builder logic for person records to IGNORE. Previously only EQUALS or CONTAINS could be used to build successful statements. Now all equality comparisons work correctly (BEGINS WITH, ENDS WITH, etc.)
  • (1.97.36) Corrected a logic error causing person processing to exit after processing as few as a single record under certain conditions. App now correctly calculates total workload and processes expected number of records.
  • (1.97.36) Corrected issue where SP notifications of progress caused record counts to increase multiple times per record.
  • (1.97.35) Corrected an error where app was generating data for nonexistent Persons, preventing certain updates from executing successfully.
  • (1.97.34) Corrected a script using a potentially invalid value for IGNORE PERSON.
  • (1.97.34) LOGGING: Addition of logging to help track queries when adding Person Filter Criteria
  • (1.97.33) LOGGING: Addition of logging to make entity generation steps easier to track
  • (1.97.32) Updates XML file fixes
  • (1.97.30) LOGGING: Addition of log code to make it easier to troubleshoot issues with random data generation
  • (1.97.27) The LOCATION listing no longer shows a list of non-patient persons. This distinction was confusing and has been removed.
  • (1.97.27) When selecting a Server and Database, the utility configures itself by default to ONLY de-identify PERSON data. All other options are unchecked and must be explicitly checked if desired. This is the most common case for using DEID according to customer usage.
  • (1.97.27) SPEED: Utility uses a tableset-based scheme to identify and group FAMILY data. The utility can now process millions of person records in a few minutes, where in the past it could take many hours or days, or simply time out and fail.
  • (1.97.27) SPEED: Utility no longer uses User-defined database functions, which improves query speeds
  • (1.97.27) SPEED: Utility no longer updates Person.Other_ID_Number, which is covered by one of the PERSON indexes
  • Application Database Scripts were missing two key stored procs. These have been restored.
  • (1.97.27) SPEED: Utility no longer updates Person.Site_ID, which is part of the Clustered Index of the PERSON Table
  • Updated to fix a bug where, under certain conditions, specific Server data was not loaded before being used, causing failure during DEID.
  • Utility formerly required at least one EMPLOYER, AGENCY and PAYER. This is no longer a requirement.
  • Updated to generate more random Employer Names (specifically the #XX portion at the end of the name). Was previously generating random numbers, which could result in the same number being generated twice.
  • Added CHECK RIGHTS button to show privileges of current user on current database, to help troubleshoot permissions errors.
  • Updated to detect COMPATIBILITY LEVEL of Database. Unable to process databases set to SQL 2000 compatibility (Level 80). Databases must be changed to a minimum of Level 90 (SQL 2005) to work with De-identifier now.
  • Utility was using the 'Connect as SPECIFIC USER' credentials if supplied, even if 'Connect as CURRENT USER' was selected. This has been fixed.
  • Utility now performs a test on each database and reports the findings in the User Privileges window. This will make it much easier to determine what privileges are missing - and therefore which ones must be granted - to make the utility work with a given account.
  • If the utility encountered a database it had no access rights to, it used to stop checking for all further databases. This has been corrected.
  • Updated error message to better detect if internal checksum hasn't been updated.
  • Utility updates Patient First Name and Last Name SOUNDEX values after updating the First and Last names, to allow proper searching in NG
  • Some Users experiencing math errors during SELECT COUNT() phase of database preparation, which ARITHABORT and ARITHIGNORE were used to fix.
  • Utility was showing a debugging dialog message in the middle of de-identify process. This has been fixed.
  • Utility was failing to convert Locations if more than one Practice linked to a single Location. This has been fixed.
  • Updated data mapping file to include new updates for PATIENT_ table, which many NextGen KBM templates use to obtain patient information since names are already concatenated, age descriptions are already calculated and written out, etc.
  • Updated Known Good Script Checksum so DEID can detect changes to SP, Tables, etc.
  • Updates to make utility compatible with NG 5.8
  • Added UI control section to control InstantLog and Script Checking during normal operation.
  • Utility was truncating the TEMPLATE_AUDIT table when the user selected CLEAR ALL AUDIT LOG TABLES, which would affect the Patient History listings for templates used against a Patient in EHR. This has been corrected.
  • An incorrect column name was being used for a DEID Processing Table, preventing the global person delete process from operating correctly. This has been corrected.
  • Utility was not permitting use on SQL Servers newer than 2008R2. This has been corrected.
  • Updated Labels in CONCEALMENT section to indicate NextGen Document Management images are not deleted, but that only their links are.
  • Updated Labels in CONCEALMENT section to remove "for De-identified persons" because concealment options apply to all persons in the database, not just the persons selected for de-identification.
  • Performance improvements during Person/Family name generation
  • Performance improvements during database analysis
  • Added table "black list" to ignore tables that shouldn't be modified
  • Improved person counting
  • Added ability to ignore users matching supplied criteria
  • Added ability to select Enterprise, Practice, and Location actions independently.
  • Utility indicates database analysis with message, instead of a long wait cursor.
  • Previously saved Profiles no longer compatible with new product. Incompatible profiles are shown in the list of saved profiles with special symbol.

Terms & Conditions | Privacy Policy | Legal Notices | © 2014-2016 QSI Management, LLC. All Rights Reserved.

Technical Consulting Admin Login