107 lines
5.5 KiB
C#
107 lines
5.5 KiB
C#
<Query Kind="Statements">
|
|
<Connection>
|
|
<ID>77b65bea-e766-4e3c-a1ed-c4c2534b6019</ID>
|
|
<Persist>true</Persist>
|
|
<Server>D0001-SQL-01.sdt.local</Server>
|
|
<Database>jazz dev master</Database>
|
|
<ShowServer>true</ShowServer>
|
|
</Connection>
|
|
<Reference><ProgramFilesX64>\Microsoft SDKs\Azure\.NET SDK\v2.9\bin\plugins\Diagnostics\Newtonsoft.Json.dll</Reference>
|
|
<NuGetReference>Amazon.Lambda.S3Events</NuGetReference>
|
|
<NuGetReference>AWSSDK.Core</NuGetReference>
|
|
<NuGetReference>AWSSDK.S3</NuGetReference>
|
|
<Namespace>Amazon</Namespace>
|
|
<Namespace>Amazon.Auth.AccessControlPolicy</Namespace>
|
|
<Namespace>Amazon.Auth.AccessControlPolicy.ActionIdentifiers</Namespace>
|
|
<Namespace>Amazon.Internal</Namespace>
|
|
<Namespace>Amazon.Lambda.S3Events</Namespace>
|
|
<Namespace>Amazon.MissingTypes</Namespace>
|
|
<Namespace>Amazon.Runtime</Namespace>
|
|
<Namespace>Amazon.Runtime.CredentialManagement</Namespace>
|
|
<Namespace>Amazon.Runtime.CredentialManagement.Internal</Namespace>
|
|
<Namespace>Amazon.Runtime.EventStreams</Namespace>
|
|
<Namespace>Amazon.Runtime.EventStreams.Internal</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Auth</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Settings</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Transform</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Util</Namespace>
|
|
<Namespace>Amazon.Runtime.SharedInterfaces</Namespace>
|
|
<Namespace>Amazon.Runtime.SharedInterfaces.Internal</Namespace>
|
|
<Namespace>Amazon.S3</Namespace>
|
|
<Namespace>Amazon.S3.Encryption</Namespace>
|
|
<Namespace>Amazon.S3.Encryption.Internal</Namespace>
|
|
<Namespace>Amazon.S3.Internal</Namespace>
|
|
<Namespace>Amazon.S3.IO</Namespace>
|
|
<Namespace>Amazon.S3.Model</Namespace>
|
|
<Namespace>Amazon.S3.Model.Internal.MarshallTransformations</Namespace>
|
|
<Namespace>Amazon.S3.Transfer</Namespace>
|
|
<Namespace>Amazon.S3.Util</Namespace>
|
|
<Namespace>Amazon.Util</Namespace>
|
|
<Namespace>Amazon.Util.Internal</Namespace>
|
|
<Namespace>Amazon.Util.Internal.PlatformServices</Namespace>
|
|
<Namespace>Newtonsoft.Json</Namespace>
|
|
<Namespace>Newtonsoft.Json.Converters</Namespace>
|
|
<Namespace>Newtonsoft.Json.Linq</Namespace>
|
|
<Namespace>Newtonsoft.Json.Schema</Namespace>
|
|
<Namespace>Newtonsoft.Json.Serialization</Namespace>
|
|
<Namespace>System</Namespace>
|
|
<Namespace>System.ComponentModel.Composition</Namespace>
|
|
<Namespace>System.ComponentModel.Composition.Hosting</Namespace>
|
|
<Namespace>System.ComponentModel.Composition.Primitives</Namespace>
|
|
<Namespace>System.ComponentModel.Composition.ReflectionModel</Namespace>
|
|
<Namespace>System.Diagnostics</Namespace>
|
|
<Namespace>System.Diagnostics.Tracing</Namespace>
|
|
<Namespace>System.IO.Compression</Namespace>
|
|
<Namespace>System.Net.Http</Namespace>
|
|
<Namespace>System.Net.Http.Headers</Namespace>
|
|
<Namespace>System.Numerics</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Asn1</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Asn1.Utilities</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Math</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.OpenSsl</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Utilities.IO.Pem</Namespace>
|
|
<Namespace>ThirdParty.Ionic.Zlib</Namespace>
|
|
<Namespace>ThirdParty.Json.LitJson</Namespace>
|
|
<Namespace>ThirdParty.MD5</Namespace>
|
|
</Query>
|
|
|
|
//var reports = from report in REReports select report;
|
|
//reports.Dump();
|
|
|
|
var parms = from report in REReports
|
|
join module in Folders on report.FolderGUID equals module.FolderGuid into reportModules
|
|
from rptModule in reportModules.DefaultIfEmpty()
|
|
join setup in REDSCubeReportSetups on report.ReportGUID equals setup.ReportGUID
|
|
join parameter in REDSCubeReportParameters on report.ReportGUID equals parameter.ReportGUID
|
|
where parameter.Name == "Patient Populations" && parameter.ParameterXML != null && parameter.ParameterXML != ""
|
|
select new
|
|
{
|
|
reportName = report.Name,
|
|
module = rptModule.Name,
|
|
//parameterName = parameter.Name,
|
|
//parameter.ColumnName,
|
|
parameterXML = XDocument.Parse(parameter.ParameterXML).Descendants("{http://schemas.datacontract.org/2004/07/Strata.CS.Jazz.Biz.Reporting.Parameters}DSCubeSearchCondition"),
|
|
Value = XDocument.Parse(parameter.ParameterXML).Descendants("{http://schemas.datacontract.org/2004/07/Strata.CS.Jazz.Biz.Reporting.Parameters}Value"),
|
|
ValueIds = XDocument.Parse(parameter.ParameterXML).Descendants("{http://schemas.datacontract.org/2004/07/Strata.CS.Jazz.Biz.Reporting.Parameters}ValueIDArray")
|
|
};
|
|
parms.ToList().Where(p => p.parameterXML.Any()).OrderBy(r => r.reportName)
|
|
.Select(p => new
|
|
{
|
|
p.reportName,
|
|
p.module,
|
|
values = p.Value.FirstOrDefault()?.Value.Split(new[] { ',' }).Select(v => v.Trim()),
|
|
valueIds = p.ValueIds.Descendants().Select(vi => vi.Value)
|
|
}).Dump();
|
|
|
|
var mappings = parms.ToList().Where(p => p.parameterXML.Any()).ToList()
|
|
.SelectMany(p => from ci in DimClinicalIndicators
|
|
join def in Definitions on ci.Name equals def.Name
|
|
where p.ValueIds.Descendants().Select(vi => Regex.Replace(vi.Value, @"[^\d]", "")).ToList().Contains(ci.ClinicalIndicatorID.ToString())
|
|
select new { id = ci.ClinicalIndicatorID, Guid = ci.MemberGUID, name = ci.Name, definitionGuid = def.Id }
|
|
).Distinct().OrderBy(p => p.name);
|
|
mappings.Dump();
|
|
|
|
var sql = "INSERT INTO dbo.StandardDefinitionMapping ( StandardDefinitionGUID, StandardDefinitionName, StandardDefinitionType, MappingMemberValue )\r\nValues " + string.Join(",\r\n ",
|
|
mappings.Select(y => $"('{y.definitionGuid}','[Patient Populations].[Patient Populations].&[{y.id}]','Patient Populations','{y.name}')"));
|
|
sql.Dump(); |