chore: deploy initial linqpad queries
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
<Query Kind="Program">
|
||||
<Connection>
|
||||
<ID>bd4e97c5-84e7-4c61-80ca-8d53d7876af2</ID>
|
||||
<Persist>true</Persist>
|
||||
<Server>D0001-SQL-11.sdt.local</Server>
|
||||
<Database>jazz dev master Prod</Database>
|
||||
<ShowServer>true</ShowServer>
|
||||
</Connection>
|
||||
<Namespace>System.Globalization</Namespace>
|
||||
</Query>
|
||||
|
||||
void Main()
|
||||
{
|
||||
var ti = CultureInfo.CurrentCulture.TextInfo;
|
||||
var _2020MSDRGs = (from x in DimMSDRGs where x.DRGSchema == "2020MSDRG" select x.MSDRGCode).Distinct();
|
||||
var _caseTypeFamilyMappingICD10 = (from x in CaseTypeFamilyMappingICD10s select x.MSDRGCode).Distinct();
|
||||
var _ctfGlobalID = (from x in CaseTypeFamilies where x.CaseTypeFamilyGlobalID.StartsWith("M-") select x.CaseTypeFamilyGlobalID)
|
||||
.ToList()
|
||||
.Where(x => Regex.IsMatch(x, @"M-\d+"))
|
||||
.Select(x => int.Parse(Regex.Replace(x, @"M-(\d+)", "$1")))
|
||||
.OrderByDescending(x => x)
|
||||
//.Select(x => $"M-{x}")
|
||||
.First();
|
||||
//_ctfGlobalID.Dump();
|
||||
var part1 = (from msdrg in DimMSDRGs
|
||||
where msdrg.DRGSchema == "2021MSDRG"
|
||||
&& !_2020MSDRGs.Contains(msdrg.MSDRGCode)
|
||||
select new
|
||||
{
|
||||
msdrg.MSDRGCode,
|
||||
CaseTypeFamilyName = ti.ToTitleCase(msdrg.Description.ToLower())
|
||||
})
|
||||
.ToList();
|
||||
var part2 = (from msdrg in DimMSDRGs
|
||||
where msdrg.DRGSchema == "2021MSDRG"
|
||||
&& !_caseTypeFamilyMappingICD10.Contains(msdrg.MSDRGCode)
|
||||
select new
|
||||
{
|
||||
msdrg.MSDRGCode,
|
||||
CaseTypeFamilyName = ti.ToTitleCase(msdrg.Description.ToLower())
|
||||
})
|
||||
.ToList();
|
||||
var results = part1.Union(part2).ToList()
|
||||
.ConvertAll(x =>
|
||||
{
|
||||
_ctfGlobalID++;
|
||||
return new
|
||||
{
|
||||
CaseTypeFamilyGlobalID = $"M-{_ctfGlobalID}",
|
||||
x.MSDRGCode,
|
||||
x.CaseTypeFamilyName
|
||||
};
|
||||
});
|
||||
//results.Dump("results");
|
||||
var deleteCaseTypeFamily = results
|
||||
.Aggregate("", (x, y) => $"{x}\r\nDELETE FROM dss.CaseTypeFamily WHERE Name = '{y.CaseTypeFamilyName}' AND CaseTypeFamilyGlobalID = '{y.CaseTypeFamilyGlobalID}'");
|
||||
var insertCaseTypeFamily = results
|
||||
.Aggregate($"INSERT INTO dss.CaseTypeFamily ( CaseTypeFamilyGUID, Name, CaseTypeFamilyGlobalID )\r\nVALUES",
|
||||
(x, y) => $"{x}\r\n('{Guid.NewGuid()}', '{y.CaseTypeFamilyName}', '{y.CaseTypeFamilyGlobalID}'),").TrimEnd(",".ToCharArray());
|
||||
var deleteICD10 = results
|
||||
.Aggregate("", (x, y) => $@"{x}
|
||||
DELETE FROM dss.CaseTypeFamilyMappingICD10
|
||||
WHERE EXISTS(SELECT 1 FROM dss.CaseTypeFamily ctf
|
||||
WHERE ctf.CaseTypeFamilyGlobalID = '{y.CaseTypeFamilyGlobalID}' AND SkipICD = 1 AND ctf.CaseTypeFamilyID = CaseTypeFamilyMappingICD10.CaseTypeFamilyID)
|
||||
AND CaseTypeFamilyMappingICD10.MSDRGCode = '{y.MSDRGCode}' AND CaseTypeFamilyVersionID = 2");
|
||||
var insertICD10 = results
|
||||
.Aggregate($"INSERT INTO dss.CaseTypeFamilyMappingICD10 ( CaseTypeFamilyID, SkipICD, ICD10Code, MSDRGCode, CaseTypeFamilyVersionID )\r\nVALUES",
|
||||
(x, y) => $"{x}\r\n((SELECT ctf.CaseTypeFamilyID from dss.CaseTypeFamily ctf where ctf.CaseTypeFamilyGlobalID = '{y.CaseTypeFamilyGlobalID}'), 1, '0', '{y.MSDRGCode}', 2),").TrimEnd(new[] { ',' });
|
||||
|
||||
var migration =
|
||||
deleteCaseTypeFamily + "\r\nGO\r\n" +
|
||||
insertCaseTypeFamily + "\r\nGO\r\n" +
|
||||
deleteICD10 + "\r\nGO\r\n" +
|
||||
insertICD10 + "\r\nGO\r\n";
|
||||
|
||||
migration.Dump();
|
||||
}
|
||||
|
||||
// Define other methods and classes here
|
||||
Reference in New Issue
Block a user