diff --git a/.github/workflows/testpack.yml b/.github/workflows/testpack.yml
index afb5bd1..2e7b11b 100644
--- a/.github/workflows/testpack.yml
+++ b/.github/workflows/testpack.yml
@@ -14,11 +14,11 @@ jobs:
run: dotnet test --nologo
- name: Package
run: |
- dotnet publish BadMedicine/BadMedicine.csproj -o linux-x64 -r linux-x64 -c Release --self-contained --nologo -p:PublishSingleFile=true -p:GenerateDocumentationFile=false
- dotnet publish BadMedicine/BadMedicine.csproj -o win-x64 -r win-x64 -c Release --self-contained --nologo -p:PublishSingleFile=true -p:GenerateDocumentationFile=false
- dotnet pack BadMedicine.Core/BadMedicine.Core.csproj -p:DebugType=full -p:SymbolPackageFormat=snupkg -p:PackageVersion=$(fgrep AssemblyInformationalVersion SharedAssemblyInfo.cs|cut -d'"' -f2) -o . --include-source --include-symbols --nologo -c Release
- tar czf badmedicine-cli-linux-x64.tgz ./linux-x64
- zip -9rj badmedicine-cli-win-x64.zip win-x64
+ dotnet publish SynthEHR/SynthEHR.csproj -o linux-x64 -r linux-x64 -c Release --self-contained --nologo -p:PublishSingleFile=true -p:GenerateDocumentationFile=false
+ dotnet publish SynthEHR/SynthEHR.csproj -o win-x64 -r win-x64 -c Release --self-contained --nologo -p:PublishSingleFile=true -p:GenerateDocumentationFile=false
+ dotnet pack SynthEHR.Core/SynthEHR.Core.csproj -p:DebugType=full -p:SymbolPackageFormat=snupkg -p:PackageVersion=$(fgrep AssemblyInformationalVersion SharedAssemblyInfo.cs|cut -d'"' -f2) -o . --include-source --include-symbols --nologo -c Release
+ tar czf SynthEHR-cli-linux-x64.tgz ./linux-x64
+ zip -9rj SynthEHR-cli-win-x64.zip win-x64
- name: Nuget push
if: contains(github.ref,'refs/tags/')
run: nuget push HIC.*.nupkg -skipDuplicate -Source https://api.nuget.org/v3/index.json -ApiKey ${{ secrets.NUGET_KEY }}
@@ -27,7 +27,7 @@ jobs:
if: contains(github.ref, 'refs/tags/v')
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: badmedicine-cli-*
+ file: SynthEHR-cli-*
tag: ${{ github.ref }}
overwrite: true
file_glob: true
diff --git a/.gitignore b/.gitignore
index 3680e2d..9c4d0ad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,13 @@
-BadMedicine/obj/
-BadMedicine/bin/
+SynthEHR/obj/
+SynthEHR/bin/
*.user
-BadMedicine/.vs/
+SynthEHR/.vs/
.vs/
Visual Studio 2017/
-BadMedicineTests/obj/
+SynthEHRTests/obj/
*.vspx
*.psess
-BadMedicineTests/bin/
-BadMedicine.Core/obj/
-BadMedicine.Core/bin/
+SynthEHRTests/bin/
+SynthEHR.Core/obj/
+SynthEHR.Core/bin/
.idea/
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0f5af04..55e30c2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,11 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-## [1.2.2] - 2024-035-16
+## [2.0.0] - Unreleased
+
+- Rename package to SynthEHR
+
+## [1.2.2] - 2024-05-16
-Add warning about naming deprecation, see [README](./README.md#Deprecation)
@@ -16,7 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Now targets .Net 8.0
- Some bugfixes change random data generation, cross-version consistency not preserved
-- BadMedicine itself now AOT/trim clean, but dependencies are not
+- SynthEHR itself now AOT/trim clean, but dependencies are not
- Improve BucketList performance
- Add Equ 2.3.0
- Bump HIC.FAnsiSql from 3.0.1 to 3.2.0
@@ -88,15 +92,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Patient birth dates now go from 1914 (Person.MinimumYearOfBirth) allowing for patients aged up to 100 years
-[Unreleased]: https://github.com/HicServices/BadMedicine/compare/v1.2.2...main
-[1.2.2]: https://github.com/HicServices/BadMedicine/compare/v1.2.1...v1.2.2
-[1.2.1]: https://github.com/HicServices/BadMedicine/compare/v1.2.0...v1.2.1
-[1.2.0]: https://github.com/HicServices/BadMedicine/compare/v1.1.2...v1.2.0
-[1.1.2]: https://github.com/HicServices/BadMedicine/compare/v1.1.1...v1.1.2
-[1.1.1]: https://github.com/HicServices/BadMedicine/compare/v1.1.0...v1.1.1
-[1.1.0]: https://github.com/HicServices/BadMedicine/compare/v1.0.0...v1.1.0
-[1.0.0]: https://github.com/HicServices/BadMedicine/compare/v0.1.6...v1.0.0
-[0.1.6]: https://github.com/HicServices/BadMedicine/compare/v0.1.5...v0.1.6
-[0.1.5]: https://github.com/HicServices/BadMedicine/compare/v0.1.4...v0.1.5
-[0.1.4]: https://github.com/HicServices/BadMedicine/compare/v0.1.3...v0.1.4
-[0.1.3]: https://github.com/HicServices/BadMedicine/compare/0.0.1.2...v0.1.3
+[Unreleased]: https://github.com/HicServices/SynthEHR/compare/v2.0.0...main
+[2.0.0]: https://github.com/HicServices/SynthEHR/compare/v1.2.2...v2.0.0
+[1.2.2]: https://github.com/HicServices/SynthEHR/compare/v1.2.1...v1.2.2
+[1.2.1]: https://github.com/HicServices/SynthEHR/compare/v1.2.0...v1.2.1
+[1.2.0]: https://github.com/HicServices/SynthEHR/compare/v1.1.2...v1.2.0
+[1.1.2]: https://github.com/HicServices/SynthEHR/compare/v1.1.1...v1.1.2
+[1.1.1]: https://github.com/HicServices/SynthEHR/compare/v1.1.0...v1.1.1
+[1.1.0]: https://github.com/HicServices/SynthEHR/compare/v1.0.0...v1.1.0
+[1.0.0]: https://github.com/HicServices/SynthEHR/compare/v0.1.6...v1.0.0
+[0.1.6]: https://github.com/HicServices/SynthEHR/compare/v0.1.5...v0.1.6
+[0.1.5]: https://github.com/HicServices/SynthEHR/compare/v0.1.4...v0.1.5
+[0.1.4]: https://github.com/HicServices/SynthEHR/compare/v0.1.3...v0.1.4
+[0.1.3]: https://github.com/HicServices/SynthEHR/compare/0.0.1.2...v0.1.3
diff --git a/README.md b/README.md
index 8b75571..e181ed4 100644
--- a/README.md
+++ b/README.md
@@ -1,21 +1,16 @@
-# BadMedicine
+# SynthEHR (Previously BadMedicine)
-## Deprecation Notice
-
-BadMedicine v1.2.2 will be the final release under this name.
-
-The project will be renamed SynthEHR in all future releases, starting at v2.0.0
-
-The project will be able to be found on [Github](https://gituhb.com/HICServices/SynthEHR) and on [Nuget](https://www.nuget.org/packages/HIC.SynthEHR/)
-
-[![Build Status](https://github.com/HICServices/BadMedicine/actions/workflows/testpack.yml/badge.svg?branch=develop)](https://travis-ci.org/HicServices/BadMedicine) [![NuGet Badge](https://buildstats.info/nuget/HIC.BadMedicine)](https://www.nuget.org/packages/HIC.BadMedicine/)
+[![Build Status](https://github.com/HICServices/SynthEHR/actions/workflows/testpack.yml/badge.svg?branch=develop)](https://travis-ci.org/HicServices/SynthEHR) [![NuGet Badge](https://buildstats.info/nuget/HIC.SynthEHR)](https://www.nuget.org/packages/HIC.SynthEHR/)
Library and CLI for randomly generating medical data like you might get out of an Electronic Health Records (EHR) system. It is intended for generating data for demos and testing ETL / cohort generation/ data management tools.
-BadMedicine differs from other random data generators e.g. Mockaroo, SQL Data Generator etc in that data generated is based on (simple) models generated from live EHR datasets collected for over 30 years in Tayside and Fife (UK). This makes the data generated recognisable (codes used, frequency of codes etc) from a clinical perspective and representative of the problems (ontology mapping etc) that data analysts would encounter working with real medical data.
+SynthEHR differs from other random data generators e.g. Mockaroo, SQL Data Generator etc in that data generated is based on (simple) models generated from live EHR datasets collected for over 30 years in Tayside and Fife (UK). This makes the data generated recognisable (codes used, frequency of codes etc) from a clinical perspective and representative of the problems (ontology mapping etc) that data analysts would encounter working with real medical data.
Datasets generated are not suitable for training AI algorithms etc (See [What is Modelled?](#what-is-modelled))
+## Rename
+As of v2.0.0 BadMedicine was renamed to SynthEHR. Previous versions of the software can be found at [nuget.org](https://www.nuget.org/packages/HIC.BadMedicine).
+
## Datasets
The following synthetic datasets can be produced.
@@ -31,32 +26,32 @@ The following synthetic datasets can be produced.
## Usage:
-BadMedicine is available as a [nuget package](https://www.nuget.org/packages/HIC.BadMedicine/) for linking as a library
+SynthEHR is available as a [nuget package](https://www.nuget.org/packages/HIC.SynthEHR/) for linking as a library
-The standalone CLI (BadMedicine.exe) is available in the [releases section of Github](https://github.com/HicServices/BadMedicine/releases)
+The standalone CLI (SynthEHR.exe) is available in the [releases section of Github](https://github.com/HicServices/SynthEHR/releases)
Usage is as follows:
```
-BadMedicine.exe c:\temp\
+SynthEHR.exe c:\temp\
```
You can change how much data is produced (e.g. 500 patients, 10000 records per dataset):
```
-BadMedicine.exe c:\temp\ 500 10000
+SynthEHR.exe c:\temp\ 500 10000
```
Or run only a single dataset:
```
-BadMedicine.exe c:\omg 5000 200000 -l -d CarotidArteryScan
+SynthEHR.exe c:\omg 5000 200000 -l -d CarotidArteryScan
```
You can seed the generator (Guids generated will still differ)
```
-BadMedicine.exe c:\omg 5000 200000 -l -d CarotidArteryScan -s 5000
+SynthEHR.exe c:\omg 5000 200000 -l -d CarotidArteryScan -s 5000
```
## Building
@@ -65,16 +60,16 @@ Building requires MSBuild 15 or later (or Visual Studio 2017 or later). You wil
You can build a OS specific binary
-First build BadMedicine.csproj
+First build SynthEHR.csproj
```
-dotnet publish BadMedicine.csproj -r win-x64 --self-contained
+dotnet publish SynthEHR.csproj -r win-x64 --self-contained
cd .\bin\Debug\netcoreapp2.2\win-x64\
```
## Direct to Database
You can generate data directly into a relational database (instead of onto disk).
-To turn this mode on rename the file `BadMedicine.template.yaml` to `BadMedicine.yaml` and provide the connection strings to your database e.g.:
+To turn this mode on rename the file `SynthEHR.template.yaml` to `SynthEHR.yaml` and provide the connection strings to your database e.g.:
```yaml
Database:
@@ -85,12 +80,12 @@ Database:
# Your DBMS provider ('MySql', 'PostgreSql','Oracle' or 'MicrosoftSQLServer')
DatabaseType: MicrosoftSQLServer
# Database to create/use on the server
- DatabaseName: BadMedicineTestData
+ DatabaseName: SynthEHRTestData
```
## Library Usage
-You can generate test data for your program yourself by referencing the [nuget package](https://www.nuget.org/packages/HIC.BadMedicine/):
+You can generate test data for your program yourself by referencing the [nuget package](https://www.nuget.org/packages/HIC.SynthEHR/):
```csharp
//Seed the random generator if you want to always produce the same randomisation
@@ -113,7 +108,7 @@ Assert.IsNotNull(a.Condition1);
## What is Modelled?
-Data generated by BadMedicine is driven by Aggregate distributions of real health data collected in Tayside (UK). This means that codes appear in data with the frequency that match real data. For example in the Hospital Admissions data we can see that ICD9 codes (denoted by dash) cease being recorded in ~1997 in favour of ICD10 codes and we can see the most common admission conditions are sensible:
+Data generated by SynthEHR is driven by Aggregate distributions of real health data collected in Tayside (UK). This means that codes appear in data with the frequency that match real data. For example in the Hospital Admissions data we can see that ICD9 codes (denoted by dash) cease being recorded in ~1997 in favour of ICD10 codes and we can see the most common admission conditions are sensible:
![alt text](./Images/MainConditionDistribution.png)
diff --git a/SharedAssemblyInfo.cs b/SharedAssemblyInfo.cs
index 767edff..ceaf1a4 100644
--- a/SharedAssemblyInfo.cs
+++ b/SharedAssemblyInfo.cs
@@ -1,12 +1,12 @@
using System.Reflection;
[assembly: AssemblyCompany("Health Informatics Centre, University of Dundee")]
-[assembly: AssemblyProduct("Bad Medicine")]
+[assembly: AssemblyProduct("SynthEHR")]
[assembly: AssemblyCopyright("Copyright (c) 2018 - 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// These should be replaced with correct values by the release process
-[assembly: AssemblyVersion("1.2.2")]
-[assembly: AssemblyFileVersion("1.2.2")]
-[assembly: AssemblyInformationalVersion("1.2.2")]
\ No newline at end of file
+[assembly: AssemblyVersion("2.0.0")]
+[assembly: AssemblyFileVersion("2.0.0")]
+[assembly: AssemblyInformationalVersion("2.0.0")]
\ No newline at end of file
diff --git a/BadMedicine.Core/BucketList.cs b/SynthEHR.Core/BucketList.cs
similarity index 99%
rename from BadMedicine.Core/BucketList.cs
rename to SynthEHR.Core/BucketList.cs
index 898e00c..77cf0c3 100644
--- a/BadMedicine.Core/BucketList.cs
+++ b/SynthEHR.Core/BucketList.cs
@@ -4,7 +4,7 @@
using System.Linq;
using System.Threading;
-namespace BadMedicine;
+namespace SynthEHR;
///
/// Picks random object of Type T based on a specified probability for each element.
diff --git a/BadMedicine.Core/Datasets/Aggregates.zip b/SynthEHR.Core/Datasets/Aggregates.zip
similarity index 100%
rename from BadMedicine.Core/Datasets/Aggregates.zip
rename to SynthEHR.Core/Datasets/Aggregates.zip
diff --git a/BadMedicine.Core/Datasets/Appointment.cs b/SynthEHR.Core/Datasets/Appointment.cs
similarity index 97%
rename from BadMedicine.Core/Datasets/Appointment.cs
rename to SynthEHR.Core/Datasets/Appointment.cs
index f2687f8..f212fd7 100644
--- a/BadMedicine.Core/Datasets/Appointment.cs
+++ b/SynthEHR.Core/Datasets/Appointment.cs
@@ -6,7 +6,7 @@
using System;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
/// Data class describing an appointment including a guid identifier
diff --git a/BadMedicine.Core/Datasets/Biochemistry.cs b/SynthEHR.Core/Datasets/Biochemistry.cs
similarity index 98%
rename from BadMedicine.Core/Datasets/Biochemistry.cs
rename to SynthEHR.Core/Datasets/Biochemistry.cs
index 20bed4f..3a5ccd7 100644
--- a/BadMedicine.Core/Datasets/Biochemistry.cs
+++ b/SynthEHR.Core/Datasets/Biochemistry.cs
@@ -6,7 +6,7 @@
using System;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
///
diff --git a/BadMedicine.Core/Datasets/Biochemistry.sql b/SynthEHR.Core/Datasets/Biochemistry.sql
similarity index 100%
rename from BadMedicine.Core/Datasets/Biochemistry.sql
rename to SynthEHR.Core/Datasets/Biochemistry.sql
diff --git a/BadMedicine.Core/Datasets/BiochemistryRecord.cs b/SynthEHR.Core/Datasets/BiochemistryRecord.cs
similarity index 99%
rename from BadMedicine.Core/Datasets/BiochemistryRecord.cs
rename to SynthEHR.Core/Datasets/BiochemistryRecord.cs
index d13ab28..fc3c52d 100644
--- a/BadMedicine.Core/Datasets/BiochemistryRecord.cs
+++ b/SynthEHR.Core/Datasets/BiochemistryRecord.cs
@@ -10,7 +10,7 @@
using System.Linq;
using MathNet.Numerics.Distributions;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
/// Data class representing a single row in (use if you want to use randomly generated data directly
diff --git a/BadMedicine.Core/Datasets/CarotidArteryScan.cs b/SynthEHR.Core/Datasets/CarotidArteryScan.cs
similarity index 99%
rename from BadMedicine.Core/Datasets/CarotidArteryScan.cs
rename to SynthEHR.Core/Datasets/CarotidArteryScan.cs
index a8136c4..f70a633 100644
--- a/BadMedicine.Core/Datasets/CarotidArteryScan.cs
+++ b/SynthEHR.Core/Datasets/CarotidArteryScan.cs
@@ -7,7 +7,7 @@
using System;
using System.Linq;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
/// Test data based on the Scottish Vascular Labs CARSCAN database table
diff --git a/BadMedicine.Core/Datasets/DataGenerator.cs b/SynthEHR.Core/Datasets/DataGenerator.cs
similarity index 99%
rename from BadMedicine.Core/Datasets/DataGenerator.cs
rename to SynthEHR.Core/Datasets/DataGenerator.cs
index c63cbb9..8f6929a 100644
--- a/BadMedicine.Core/Datasets/DataGenerator.cs
+++ b/SynthEHR.Core/Datasets/DataGenerator.cs
@@ -17,7 +17,7 @@
using CsvHelper.Configuration;
using MathNet.Numerics.Distributions;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
/// Base class for all randomly generated datasets. Handles generating random data types and writing
diff --git a/BadMedicine.Core/Datasets/DataGeneratorFactory.cs b/SynthEHR.Core/Datasets/DataGeneratorFactory.cs
similarity index 96%
rename from BadMedicine.Core/Datasets/DataGeneratorFactory.cs
rename to SynthEHR.Core/Datasets/DataGeneratorFactory.cs
index 13db5e5..859e544 100644
--- a/BadMedicine.Core/Datasets/DataGeneratorFactory.cs
+++ b/SynthEHR.Core/Datasets/DataGeneratorFactory.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
/// Finds Types and Creates instances of implementations
@@ -22,7 +22,7 @@ public readonly struct GeneratorType(Type type)
}
///
- /// List of generator types. Add yourself to this if outside BadMedicine.Core, to avoid reliance on reflection breaking AOT.
+ /// List of generator types. Add yourself to this if outside SynthEHR.Core, to avoid reliance on reflection breaking AOT.
///
public static readonly List Generators =
[
diff --git a/BadMedicine.Core/Datasets/Demography.cs b/SynthEHR.Core/Datasets/Demography.cs
similarity index 99%
rename from BadMedicine.Core/Datasets/Demography.cs
rename to SynthEHR.Core/Datasets/Demography.cs
index 0a626f1..0ae4caa 100644
--- a/BadMedicine.Core/Datasets/Demography.cs
+++ b/SynthEHR.Core/Datasets/Demography.cs
@@ -6,7 +6,7 @@
using System;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
///
diff --git a/BadMedicine.Core/Datasets/DemographyAddress.cs b/SynthEHR.Core/Datasets/DemographyAddress.cs
similarity index 99%
rename from BadMedicine.Core/Datasets/DemographyAddress.cs
rename to SynthEHR.Core/Datasets/DemographyAddress.cs
index 88d2963..a5a2855 100644
--- a/BadMedicine.Core/Datasets/DemographyAddress.cs
+++ b/SynthEHR.Core/Datasets/DemographyAddress.cs
@@ -6,7 +6,7 @@
using System;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
/// Data model for a 5 line address in which some lines might be null
diff --git a/BadMedicine.Core/Datasets/DemographyPostcode.cs b/SynthEHR.Core/Datasets/DemographyPostcode.cs
similarity index 97%
rename from BadMedicine.Core/Datasets/DemographyPostcode.cs
rename to SynthEHR.Core/Datasets/DemographyPostcode.cs
index 44bee0a..9715872 100644
--- a/BadMedicine.Core/Datasets/DemographyPostcode.cs
+++ b/SynthEHR.Core/Datasets/DemographyPostcode.cs
@@ -4,7 +4,7 @@
// RDMP is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along with RDMP. If not, see .
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
/// Data model for a UK postcode
diff --git a/BadMedicine.Core/Datasets/HospitalAdmissions.cs b/SynthEHR.Core/Datasets/HospitalAdmissions.cs
similarity index 98%
rename from BadMedicine.Core/Datasets/HospitalAdmissions.cs
rename to SynthEHR.Core/Datasets/HospitalAdmissions.cs
index dfdc883..a626dbc 100644
--- a/BadMedicine.Core/Datasets/HospitalAdmissions.cs
+++ b/SynthEHR.Core/Datasets/HospitalAdmissions.cs
@@ -1,6 +1,6 @@
using System;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
/// Generates synthetic random data that is representative of patient hospital admissions data
diff --git a/BadMedicine.Core/Datasets/HospitalAdmissions.sql b/SynthEHR.Core/Datasets/HospitalAdmissions.sql
similarity index 100%
rename from BadMedicine.Core/Datasets/HospitalAdmissions.sql
rename to SynthEHR.Core/Datasets/HospitalAdmissions.sql
diff --git a/BadMedicine.Core/Datasets/HospitalAdmissionsOperations.sql b/SynthEHR.Core/Datasets/HospitalAdmissionsOperations.sql
similarity index 100%
rename from BadMedicine.Core/Datasets/HospitalAdmissionsOperations.sql
rename to SynthEHR.Core/Datasets/HospitalAdmissionsOperations.sql
diff --git a/BadMedicine.Core/Datasets/HospitalAdmissionsRecord.cs b/SynthEHR.Core/Datasets/HospitalAdmissionsRecord.cs
similarity index 98%
rename from BadMedicine.Core/Datasets/HospitalAdmissionsRecord.cs
rename to SynthEHR.Core/Datasets/HospitalAdmissionsRecord.cs
index 28a6436..ce3c7c3 100644
--- a/BadMedicine.Core/Datasets/HospitalAdmissionsRecord.cs
+++ b/SynthEHR.Core/Datasets/HospitalAdmissionsRecord.cs
@@ -8,10 +8,10 @@
using System.Collections.Generic;
using System.Data;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
-/// Random record for when a entered hospital. Basic logic is implemented here to ensure that
+/// Random record for when a entered hospital. Basic logic is implemented here to ensure that
/// is after and that the person was alive at the time.
///
public sealed class HospitalAdmissionsRecord
diff --git a/BadMedicine.Core/Datasets/IDataGenerator.cs b/SynthEHR.Core/Datasets/IDataGenerator.cs
similarity index 98%
rename from BadMedicine.Core/Datasets/IDataGenerator.cs
rename to SynthEHR.Core/Datasets/IDataGenerator.cs
index 7f4e072..1785da1 100644
--- a/BadMedicine.Core/Datasets/IDataGenerator.cs
+++ b/SynthEHR.Core/Datasets/IDataGenerator.cs
@@ -8,7 +8,7 @@
using System.Data;
using System.IO;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
/// Interface for classes which generate test data to disk.
diff --git a/BadMedicine.Core/Datasets/Maternity.cs b/SynthEHR.Core/Datasets/Maternity.cs
similarity index 98%
rename from BadMedicine.Core/Datasets/Maternity.cs
rename to SynthEHR.Core/Datasets/Maternity.cs
index a6fda13..c90536a 100644
--- a/BadMedicine.Core/Datasets/Maternity.cs
+++ b/SynthEHR.Core/Datasets/Maternity.cs
@@ -1,6 +1,6 @@
using System;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
///
diff --git a/BadMedicine.Core/Datasets/Maternity.csv b/SynthEHR.Core/Datasets/Maternity.csv
similarity index 100%
rename from BadMedicine.Core/Datasets/Maternity.csv
rename to SynthEHR.Core/Datasets/Maternity.csv
diff --git a/BadMedicine.Core/Datasets/MaternityRecord.cs b/SynthEHR.Core/Datasets/MaternityRecord.cs
similarity index 98%
rename from BadMedicine.Core/Datasets/MaternityRecord.cs
rename to SynthEHR.Core/Datasets/MaternityRecord.cs
index 19a99c0..9686326 100644
--- a/BadMedicine.Core/Datasets/MaternityRecord.cs
+++ b/SynthEHR.Core/Datasets/MaternityRecord.cs
@@ -1,7 +1,7 @@
using System;
using System.Data;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
/// Describes a single maternity event for a specific
@@ -57,7 +57,7 @@ public sealed class MaternityRecord
///
/// Generates a new random biochemistry test.
///
- /// The person who is undergoing maternity activity. Should be Female and of a sufficient age that the operation could have taken place during their lifetime (see
+ /// The person who is undergoing maternity activity. Should be Female and of a sufficient age that the operation could have taken place during their lifetime (see
///
public MaternityRecord(Person p, Random r)
{
diff --git a/BadMedicine.Core/Datasets/Prescribing.cs b/SynthEHR.Core/Datasets/Prescribing.cs
similarity index 98%
rename from BadMedicine.Core/Datasets/Prescribing.cs
rename to SynthEHR.Core/Datasets/Prescribing.cs
index 665a689..93418e9 100644
--- a/BadMedicine.Core/Datasets/Prescribing.cs
+++ b/SynthEHR.Core/Datasets/Prescribing.cs
@@ -6,7 +6,7 @@
using System;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
///
diff --git a/BadMedicine.Core/Datasets/PrescribingRecord.cs b/SynthEHR.Core/Datasets/PrescribingRecord.cs
similarity index 99%
rename from BadMedicine.Core/Datasets/PrescribingRecord.cs
rename to SynthEHR.Core/Datasets/PrescribingRecord.cs
index 0cdb8e7..377011e 100644
--- a/BadMedicine.Core/Datasets/PrescribingRecord.cs
+++ b/SynthEHR.Core/Datasets/PrescribingRecord.cs
@@ -9,7 +9,7 @@
using System.Data;
using System.Linq;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
public sealed class PrescribingRecord
diff --git a/BadMedicine.Core/Datasets/UltraWide.cs b/SynthEHR.Core/Datasets/UltraWide.cs
similarity index 97%
rename from BadMedicine.Core/Datasets/UltraWide.cs
rename to SynthEHR.Core/Datasets/UltraWide.cs
index 54ecd70..05d8c20 100644
--- a/BadMedicine.Core/Datasets/UltraWide.cs
+++ b/SynthEHR.Core/Datasets/UltraWide.cs
@@ -1,7 +1,7 @@
using System;
using System.Threading;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
///
diff --git a/BadMedicine.Core/Datasets/Wide.cs b/SynthEHR.Core/Datasets/Wide.cs
similarity index 97%
rename from BadMedicine.Core/Datasets/Wide.cs
rename to SynthEHR.Core/Datasets/Wide.cs
index 3215776..b9bfdbd 100644
--- a/BadMedicine.Core/Datasets/Wide.cs
+++ b/SynthEHR.Core/Datasets/Wide.cs
@@ -1,7 +1,7 @@
using System;
using System.Threading;
-namespace BadMedicine.Datasets;
+namespace SynthEHR.Datasets;
///
///
diff --git a/BadMedicine.Core/DateTimeExtensions.cs b/SynthEHR.Core/DateTimeExtensions.cs
similarity index 97%
rename from BadMedicine.Core/DateTimeExtensions.cs
rename to SynthEHR.Core/DateTimeExtensions.cs
index 64c12f9..27e12c2 100644
--- a/BadMedicine.Core/DateTimeExtensions.cs
+++ b/SynthEHR.Core/DateTimeExtensions.cs
@@ -1,6 +1,6 @@
using System;
-namespace BadMedicine;
+namespace SynthEHR;
///
/// Extension methods for the class
diff --git a/BadMedicine.Core/Descriptions.cs b/SynthEHR.Core/Descriptions.cs
similarity index 93%
rename from BadMedicine.Core/Descriptions.cs
rename to SynthEHR.Core/Descriptions.cs
index f42fdcf..2cb5339 100644
--- a/BadMedicine.Core/Descriptions.cs
+++ b/SynthEHR.Core/Descriptions.cs
@@ -1,11 +1,11 @@
-using BadMedicine.Datasets;
+using SynthEHR.Datasets;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Resources;
using System.Xml.Linq;
-namespace BadMedicine;
+namespace SynthEHR;
///
/// Provides descriptions for what is in each dataset column (at runtime). This is the same information that appears in xmldocs.
@@ -20,11 +20,11 @@ public static class Descriptions
///
static Descriptions()
{
- using var stream = typeof(Descriptions).Assembly.GetManifestResourceStream("BadMedicine.Datasets.doc.xml") ??
+ using var stream = typeof(Descriptions).Assembly.GetManifestResourceStream("SynthEHR.Datasets.doc.xml") ??
throw new MissingManifestResourceException(
- "BadMedicine.Datasets.doc.xml");
+ "SynthEHR.Datasets.doc.xml");
Doc = XDocument.Load(stream);
- Ns = Doc.Root?.GetDefaultNamespace() ?? throw new MissingManifestResourceException("BadMedicine.Datasets.doc.xml not valid");
+ Ns = Doc.Root?.GetDefaultNamespace() ?? throw new MissingManifestResourceException("SynthEHR.Datasets.doc.xml not valid");
}
///
diff --git a/BadMedicine.Core/ExerciseTestData.cd b/SynthEHR.Core/ExerciseTestData.cd
similarity index 77%
rename from BadMedicine.Core/ExerciseTestData.cd
rename to SynthEHR.Core/ExerciseTestData.cd
index 6bcc673..d8d1661 100644
--- a/BadMedicine.Core/ExerciseTestData.cd
+++ b/SynthEHR.Core/ExerciseTestData.cd
@@ -1,13 +1,13 @@
-
+
AAAAAAAAAAAAAAAAAAACAAACAAAAAAAAAAAgAAAAAAA=
Datasets\Biochemistry.cs
-
+
ECAIIAAAAAIAAAAgAAAAAAACAIgBAIAAAEAhACQABCA=
@@ -15,35 +15,35 @@
-
+
AAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAgAAAAAgA=
Datasets\CarotidArteryScan.cs
-
+
AAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAgAgAAAAAAA=
Datasets\Demography.cs
-
+
AAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAgAAAAAAA=
Datasets\HospitalAdmissions.cs
-
+
AAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAgAAAAAAA=
Datasets\Prescribing.cs
-
+
AAAAAAAAAIAAAAAAAAAAAAAAAAAAACAAAAABAAAAAAA=
@@ -53,42 +53,42 @@
-
+
IAEIBKAoAAAIAEDAgRBDABABRAARQAgDAUAAAAEAAAA=
Person.cs
-
+
AAACQSAAAAAgAAAAAAAABAQAAIAAAAAAEAAAIAAAAAA=
Datasets\BiochemistryRecord.cs
-
+
AAACAAAAABAAAAAAAAAAgIAAAAAAAEAgAAAAQAAAAAA=
Datasets\DemographyAddress.cs
-
+
AAAAAQAAAAAAAAAAAAAAAAAAAAAABAAAAAAgAAAAAAA=
Datasets\DemographyPostcode.cs
-
+
AIECACAcAAAAAEBAEQAACAAAQIAAAAgAAAAAAAEAAAA=
Datasets\HospitalAdmissionsRecord.cs
-
+
CgRAQQAAAAAgAAgAAAAAAAACAIAEAAAAQAAAgAABAAA=
diff --git a/BadMedicine.Core/IPersonCollection.cs b/SynthEHR.Core/IPersonCollection.cs
similarity index 98%
rename from BadMedicine.Core/IPersonCollection.cs
rename to SynthEHR.Core/IPersonCollection.cs
index 79af32e..cfa1d0b 100644
--- a/BadMedicine.Core/IPersonCollection.cs
+++ b/SynthEHR.Core/IPersonCollection.cs
@@ -6,7 +6,7 @@
using System;
-namespace BadMedicine;
+namespace SynthEHR;
///
/// A factory and collection for . Pass around to ensure all datasets share the same
diff --git a/BadMedicine.Core/Person.cs b/SynthEHR.Core/Person.cs
similarity index 99%
rename from BadMedicine.Core/Person.cs
rename to SynthEHR.Core/Person.cs
index 92fd37f..fac02f1 100644
--- a/BadMedicine.Core/Person.cs
+++ b/SynthEHR.Core/Person.cs
@@ -6,10 +6,10 @@
using System;
using System.Text;
-using BadMedicine.Datasets;
+using SynthEHR.Datasets;
using Equ;
-namespace BadMedicine;
+namespace SynthEHR;
///
/// Randomly generated person for whom datasets can be built
diff --git a/BadMedicine.Core/PersonCollection.cs b/SynthEHR.Core/PersonCollection.cs
similarity index 98%
rename from BadMedicine.Core/PersonCollection.cs
rename to SynthEHR.Core/PersonCollection.cs
index 6054d30..85c5c85 100644
--- a/BadMedicine.Core/PersonCollection.cs
+++ b/SynthEHR.Core/PersonCollection.cs
@@ -7,7 +7,7 @@
using System;
using System.Collections.Generic;
-namespace BadMedicine;
+namespace SynthEHR;
///
public class PersonCollection : IPersonCollection
diff --git a/BadMedicine.Core/RowsGeneratedEventArgs.cs b/SynthEHR.Core/RowsGeneratedEventArgs.cs
similarity index 96%
rename from BadMedicine.Core/RowsGeneratedEventArgs.cs
rename to SynthEHR.Core/RowsGeneratedEventArgs.cs
index d51c9e3..2e4fc05 100644
--- a/BadMedicine.Core/RowsGeneratedEventArgs.cs
+++ b/SynthEHR.Core/RowsGeneratedEventArgs.cs
@@ -1,7 +1,7 @@
using System;
-using BadMedicine.Datasets;
+using SynthEHR.Datasets;
-namespace BadMedicine;
+namespace SynthEHR;
///
/// Args for the event. Describes how many rows have
diff --git a/BadMedicine.Core/BadMedicine.Core.csproj b/SynthEHR.Core/SynthEHR.Core.csproj
similarity index 76%
rename from BadMedicine.Core/BadMedicine.Core.csproj
rename to SynthEHR.Core/SynthEHR.Core.csproj
index 085b60e..108037b 100644
--- a/BadMedicine.Core/BadMedicine.Core.csproj
+++ b/SynthEHR.Core/SynthEHR.Core.csproj
@@ -1,11 +1,11 @@
- HIC.BadMedicine
+ HIC.SynthEHR
GPL-3.0-or-later
- https://github.com/HicServices/BadMedicine
+ https://github.com/HicServices/SynthEHR
Test Data,Random,Synthetic Data,EHR,Electronic Health Record
Copyright 2019
- HIC.BadMedicine
+ HIC.SynthEHR
Health Informatics Centre - University of Dundee
net8.0
true
@@ -13,13 +13,13 @@
false
embedded
true
- BadMedicine
- BadMedicine.Core
+ SynthEHR
+ SynthEHR.Core
latest
Library and CLI for randomly generating medical data like you might get out of an Electronic Health Records (EHR) system. It is intended for generating data for demos and testing ETL / cohort generation/ data management tools.
- BadMedicine differs from other random data generators e.g. Mockaroo, SQL Data Generator etc in that data generated is based on (simple) models generated from live EHR datasets collected for over 30 years in Tayside and Fife (UK). This makes the data generated recognisable (codes used, frequency of codes etc) from a clinical perspective and representative of the problems (ontology mapping etc) that data analysts would encounter working with real medical data..
+ SynthEHR differs from other random data generators e.g. Mockaroo, SQL Data Generator etc in that data generated is based on (simple) models generated from live EHR datasets collected for over 30 years in Tayside and Fife (UK). This makes the data generated recognisable (codes used, frequency of codes etc) from a clinical perspective and representative of the problems (ontology mapping etc) that data analysts would encounter working with real medical data..
true
true
diff --git a/BadMedicine.sln b/SynthEHR.sln
similarity index 82%
rename from BadMedicine.sln
rename to SynthEHR.sln
index ed47b8f..17c9f6b 100644
--- a/BadMedicine.sln
+++ b/SynthEHR.sln
@@ -3,11 +3,11 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29006.145
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BadMedicineTests", "BadMedicineTests\BadMedicineTests.csproj", "{2CD8ACBD-1CF4-40F0-884D-8CA0A339C4F7}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SynthEHRTests", "SynthEHRTests\SynthEHRTests.csproj", "{2CD8ACBD-1CF4-40F0-884D-8CA0A339C4F7}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BadMedicine.Core", "BadMedicine.Core\BadMedicine.Core.csproj", "{1100F649-D54E-49DF-BC8F-02B6BAB7522A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SynthEHR.Core", "SynthEHR.Core\SynthEHR.Core.csproj", "{1100F649-D54E-49DF-BC8F-02B6BAB7522A}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BadMedicine", "BadMedicine\BadMedicine.csproj", "{CF7CD87E-C734-4E61-9A29-94ECD847B77C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SynthEHR", "SynthEHR\SynthEHR.csproj", "{CF7CD87E-C734-4E61-9A29-94ECD847B77C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{EDE7D1ED-61F4-46F6-A1B8-BF6751B3A060}"
ProjectSection(SolutionItems) = preProject
diff --git a/BadMedicine/Configuration/Config.cs b/SynthEHR/Configuration/Config.cs
similarity index 64%
rename from BadMedicine/Configuration/Config.cs
rename to SynthEHR/Configuration/Config.cs
index 57e3c0a..a562c0a 100644
--- a/BadMedicine/Configuration/Config.cs
+++ b/SynthEHR/Configuration/Config.cs
@@ -1,4 +1,4 @@
-namespace BadMedicine.Configuration;
+namespace SynthEHR.Configuration;
internal class Config
{
diff --git a/BadMedicine/Configuration/TargetDatabase.cs b/SynthEHR/Configuration/TargetDatabase.cs
similarity index 95%
rename from BadMedicine/Configuration/TargetDatabase.cs
rename to SynthEHR/Configuration/TargetDatabase.cs
index 0561aa7..ef26d1a 100644
--- a/BadMedicine/Configuration/TargetDatabase.cs
+++ b/SynthEHR/Configuration/TargetDatabase.cs
@@ -1,6 +1,6 @@
using FAnsi;
-namespace BadMedicine.Configuration;
+namespace SynthEHR.Configuration;
///
/// Identify the target database and configuration for generated data
diff --git a/BadMedicine/Program.cs b/SynthEHR/Program.cs
similarity index 97%
rename from BadMedicine/Program.cs
rename to SynthEHR/Program.cs
index bb9ec98..979a3f3 100644
--- a/BadMedicine/Program.cs
+++ b/SynthEHR/Program.cs
@@ -2,8 +2,8 @@
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Linq;
-using BadMedicine.Configuration;
-using BadMedicine.Datasets;
+using SynthEHR.Configuration;
+using SynthEHR.Datasets;
using CommandLine;
using FAnsi.Discovery;
using FAnsi.Implementation;
@@ -13,12 +13,12 @@
using FAnsi.Implementations.PostgreSql;
using YamlDotNet.Serialization;
-namespace BadMedicine;
+namespace SynthEHR;
internal static class Program
{
private static int _returnCode;
- private const string ConfigFile = "./BadMedicine.yaml";
+ private const string ConfigFile = "./SynthEHR.yaml";
public static int Main(string[] args)
{
diff --git a/BadMedicine/ProgramOptions.cs b/SynthEHR/ProgramOptions.cs
similarity index 98%
rename from BadMedicine/ProgramOptions.cs
rename to SynthEHR/ProgramOptions.cs
index f7426fa..0b0fdc0 100644
--- a/BadMedicine/ProgramOptions.cs
+++ b/SynthEHR/ProgramOptions.cs
@@ -2,7 +2,7 @@
using CommandLine;
using CommandLine.Text;
-namespace BadMedicine;
+namespace SynthEHR;
internal sealed class ProgramOptions
{
diff --git a/BadMedicine/Properties/launchSettings.json b/SynthEHR/Properties/launchSettings.json
similarity index 84%
rename from BadMedicine/Properties/launchSettings.json
rename to SynthEHR/Properties/launchSettings.json
index 75e8996..7b08e3a 100644
--- a/BadMedicine/Properties/launchSettings.json
+++ b/SynthEHR/Properties/launchSettings.json
@@ -1,6 +1,6 @@
{
"profiles": {
- "BadMedicine": {
+ "SynthEHR": {
"commandName": "Project",
"commandLineArgs": "c:\\omg 5000 20000 -l -s 500"
}
diff --git a/BadMedicine/BadMedicine.csproj b/SynthEHR/SynthEHR.csproj
similarity index 85%
rename from BadMedicine/BadMedicine.csproj
rename to SynthEHR/SynthEHR.csproj
index 809eb56..b12804d 100644
--- a/BadMedicine/BadMedicine.csproj
+++ b/SynthEHR/SynthEHR.csproj
@@ -5,7 +5,7 @@
false
Exe
- BadMedicine.Program
+ SynthEHR.Program
false
embedded
latest
@@ -18,13 +18,13 @@
MinimumRecommendedRules.ruleset
-
+
-
+
PreserveNewest
@@ -37,6 +37,6 @@
-
+
diff --git a/BadMedicine/BadMedicine.template.yaml b/SynthEHR/SynthEHR.template.yaml
similarity index 91%
rename from BadMedicine/BadMedicine.template.yaml
rename to SynthEHR/SynthEHR.template.yaml
index 8b51d4d..e129e83 100644
--- a/BadMedicine/BadMedicine.template.yaml
+++ b/SynthEHR/SynthEHR.template.yaml
@@ -6,4 +6,4 @@
# Your DBMS provider ('MySql', 'PostgreSql','Oracle' or 'MicrosoftSQLServer')
DatabaseType: MySql
# Database to create/use on the server
- DatabaseName: BadMedicineTestData
+ DatabaseName: SynthEHRTestData
diff --git a/BadMedicine/runtimeconfig.template.json b/SynthEHR/runtimeconfig.template.json
similarity index 100%
rename from BadMedicine/runtimeconfig.template.json
rename to SynthEHR/runtimeconfig.template.json
diff --git a/BadMedicineTests/BiochemistryTests.cs b/SynthEHRTests/BiochemistryTests.cs
similarity index 97%
rename from BadMedicineTests/BiochemistryTests.cs
rename to SynthEHRTests/BiochemistryTests.cs
index 56ef6d1..4b0d6f5 100644
--- a/BadMedicineTests/BiochemistryTests.cs
+++ b/SynthEHRTests/BiochemistryTests.cs
@@ -1,9 +1,9 @@
using System;
-using BadMedicine;
-using BadMedicine.Datasets;
+using SynthEHR;
+using SynthEHR.Datasets;
using NUnit.Framework;
-namespace BadMedicineTests;
+namespace SynthEHRTests;
internal sealed class TestBiochemistry
{
diff --git a/BadMedicineTests/BucketListTests.cs b/SynthEHRTests/BucketListTests.cs
similarity index 97%
rename from BadMedicineTests/BucketListTests.cs
rename to SynthEHRTests/BucketListTests.cs
index f92f6e7..732c34a 100644
--- a/BadMedicineTests/BucketListTests.cs
+++ b/SynthEHRTests/BucketListTests.cs
@@ -1,8 +1,8 @@
using System;
-using BadMedicine;
+using SynthEHR;
using NUnit.Framework;
-namespace BadMedicineTests;
+namespace SynthEHRTests;
internal sealed class BucketListTests
{
diff --git a/BadMedicineTests/DataGeneratorFactoryTests.cs b/SynthEHRTests/DataGeneratorFactoryTests.cs
similarity index 86%
rename from BadMedicineTests/DataGeneratorFactoryTests.cs
rename to SynthEHRTests/DataGeneratorFactoryTests.cs
index 87f8ec7..03ada57 100644
--- a/BadMedicineTests/DataGeneratorFactoryTests.cs
+++ b/SynthEHRTests/DataGeneratorFactoryTests.cs
@@ -1,15 +1,15 @@
using System.Linq;
-using BadMedicine.Datasets;
+using SynthEHR.Datasets;
using NUnit.Framework;
-namespace BadMedicineTests;
+namespace SynthEHRTests;
file sealed class DataGeneratorFactoryTests
{
[Test]
public void GeneratorList()
{
- //find all generators in the assembly - only use reflection here, to keep BadMedicine.Core AOT-clean
+ //find all generators in the assembly - only use reflection here, to keep SynthEHR.Core AOT-clean
var fromReflection = typeof(IDataGenerator).Assembly.GetExportedTypes()
.Where(static t => typeof(IDataGenerator).IsAssignableFrom(t)
&& !t.IsAbstract
diff --git a/BadMedicineTests/DescriptionsTests.cs b/SynthEHRTests/DescriptionsTests.cs
similarity index 97%
rename from BadMedicineTests/DescriptionsTests.cs
rename to SynthEHRTests/DescriptionsTests.cs
index 4909eea..3a99dd6 100644
--- a/BadMedicineTests/DescriptionsTests.cs
+++ b/SynthEHRTests/DescriptionsTests.cs
@@ -1,9 +1,9 @@
-using BadMedicine;
-using BadMedicine.Datasets;
+using SynthEHR;
+using SynthEHR.Datasets;
using NUnit.Framework;
using System.Linq;
-namespace BadMedicineTests;
+namespace SynthEHRTests;
internal sealed class DescriptionsTests
{
diff --git a/BadMedicineTests/MaternityTests.cs b/SynthEHRTests/MaternityTests.cs
similarity index 96%
rename from BadMedicineTests/MaternityTests.cs
rename to SynthEHRTests/MaternityTests.cs
index 6401462..91d0004 100644
--- a/BadMedicineTests/MaternityTests.cs
+++ b/SynthEHRTests/MaternityTests.cs
@@ -1,11 +1,11 @@
-using BadMedicine;
-using BadMedicine.Datasets;
+using SynthEHR;
+using SynthEHR.Datasets;
using NUnit.Framework;
using System;
using System.Data;
using System.Linq;
-namespace BadMedicineTests;
+namespace SynthEHRTests;
internal sealed class MaternityTests
{
diff --git a/BadMedicineTests/PackageListIsCorrectTests.cs b/SynthEHRTests/PackageListIsCorrectTests.cs
similarity index 99%
rename from BadMedicineTests/PackageListIsCorrectTests.cs
rename to SynthEHRTests/PackageListIsCorrectTests.cs
index edecdec..8b4d428 100644
--- a/BadMedicineTests/PackageListIsCorrectTests.cs
+++ b/SynthEHRTests/PackageListIsCorrectTests.cs
@@ -6,7 +6,7 @@
using System.Text.RegularExpressions;
using NUnit.Framework;
-namespace BadMedicineTests;
+namespace SynthEHRTests;
///
/// Tests to confirm that the dependencies in csproj files (NuGet packages) match those in the .nuspec files and that packages.md
diff --git a/BadMedicineTests/PersonTests.cs b/SynthEHRTests/PersonTests.cs
similarity index 98%
rename from BadMedicineTests/PersonTests.cs
rename to SynthEHRTests/PersonTests.cs
index 9290146..7f89952 100644
--- a/BadMedicineTests/PersonTests.cs
+++ b/SynthEHRTests/PersonTests.cs
@@ -1,8 +1,8 @@
-using BadMedicine;
+using SynthEHR;
using NUnit.Framework;
using System;
-namespace BadMedicineTests;
+namespace SynthEHRTests;
internal sealed class PersonTests
{
diff --git a/BadMedicineTests/BadMedicineTests.csproj b/SynthEHRTests/SynthEHRTests.csproj
similarity index 93%
rename from BadMedicineTests/BadMedicineTests.csproj
rename to SynthEHRTests/SynthEHRTests.csproj
index 797a637..ee2a89a 100644
--- a/BadMedicineTests/BadMedicineTests.csproj
+++ b/SynthEHRTests/SynthEHRTests.csproj
@@ -26,6 +26,6 @@
-
+
diff --git a/BadMedicineTests/TestAdmissionTests.cs b/SynthEHRTests/TestAdmissionTests.cs
similarity index 94%
rename from BadMedicineTests/TestAdmissionTests.cs
rename to SynthEHRTests/TestAdmissionTests.cs
index d948254..3bab133 100644
--- a/BadMedicineTests/TestAdmissionTests.cs
+++ b/SynthEHRTests/TestAdmissionTests.cs
@@ -1,10 +1,10 @@
using System;
using System.Diagnostics;
-using BadMedicine;
-using BadMedicine.Datasets;
+using SynthEHR;
+using SynthEHR.Datasets;
using NUnit.Framework;
-namespace BadMedicineTests;
+namespace SynthEHRTests;
public sealed class TestAdmissionTests
{
diff --git a/BadMedicineTests/TestGetDataTable.cs b/SynthEHRTests/TestGetDataTable.cs
similarity index 91%
rename from BadMedicineTests/TestGetDataTable.cs
rename to SynthEHRTests/TestGetDataTable.cs
index 6b8dbc7..91baaff 100644
--- a/BadMedicineTests/TestGetDataTable.cs
+++ b/SynthEHRTests/TestGetDataTable.cs
@@ -1,10 +1,10 @@
using System;
using System.Linq;
-using BadMedicine;
-using BadMedicine.Datasets;
+using SynthEHR;
+using SynthEHR.Datasets;
using NUnit.Framework;
-namespace BadMedicineTests;
+namespace SynthEHRTests;
internal sealed class TestGetDataTable
{
diff --git a/BadMedicineTests/UltraWideTests.cs b/SynthEHRTests/UltraWideTests.cs
similarity index 88%
rename from BadMedicineTests/UltraWideTests.cs
rename to SynthEHRTests/UltraWideTests.cs
index 9ecc49e..96ae206 100644
--- a/BadMedicineTests/UltraWideTests.cs
+++ b/SynthEHRTests/UltraWideTests.cs
@@ -1,9 +1,9 @@
using System;
-using BadMedicine;
-using BadMedicine.Datasets;
+using SynthEHR;
+using SynthEHR.Datasets;
using NUnit.Framework;
-namespace BadMedicineTests;
+namespace SynthEHRTests;
internal sealed class UltraWideTests
{
diff --git a/BadMedicineTests/WideTests.cs b/SynthEHRTests/WideTests.cs
similarity index 87%
rename from BadMedicineTests/WideTests.cs
rename to SynthEHRTests/WideTests.cs
index 953e214..2e1e5f9 100644
--- a/BadMedicineTests/WideTests.cs
+++ b/SynthEHRTests/WideTests.cs
@@ -1,9 +1,9 @@
using System;
-using BadMedicine;
-using BadMedicine.Datasets;
+using SynthEHR;
+using SynthEHR.Datasets;
using NUnit.Framework;
-namespace BadMedicineTests;
+namespace SynthEHRTests;
internal sealed class WideTests
{