diff --git a/common b/common index e66d8e6793..1da05fd0a0 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit e66d8e6793f3172f30897701d2979323ed753b65 +Subproject commit 1da05fd0a08fb5806565a0055da3772551f23495 diff --git a/src/Hl7.Fhir.Core.Tests/Rest/SearchParamsTests.cs b/src/Hl7.Fhir.Core.Tests/Rest/SearchParamsTests.cs index 6842599507..2b56d27793 100644 --- a/src/Hl7.Fhir.Core.Tests/Rest/SearchParamsTests.cs +++ b/src/Hl7.Fhir.Core.Tests/Rest/SearchParamsTests.cs @@ -430,59 +430,25 @@ private TException AssertThrows(Action action) where TException : Ex } [TestMethod] - [Ignore("SearchParameters are not available: they are not present in the package hl7.fhir.r5.core-4.6.0")] - public void CheckManualFixesOfTemplateModelInfo() + [DataRow("DiagnosticReport", "encounter", ResourceType.EpisodeOfCare, "05bfc4f1d0a4568ca405e248c055a8a16d857ffb")] + [DataRow("RiskAssessment", "encounter", ResourceType.EpisodeOfCare, "3b071d478ff3cb744cb6668ac8512dc7362e6737")] + [DataRow("List", "encounter", ResourceType.EpisodeOfCare, "3b071d478ff3cb744cb6668ac8512dc7362e6737")] + [DataRow("VisionPrescription", "encounter", ResourceType.EpisodeOfCare, "3b071d478ff3cb744cb6668ac8512dc7362e6737")] + [DataRow("ServiceRequest", "encounter", ResourceType.EpisodeOfCare, "3b071d478ff3cb744cb6668ac8512dc7362e6737")] + [DataRow("Flag", "encounter", ResourceType.EpisodeOfCare, "3b071d478ff3cb744cb6668ac8512dc7362e6737")] + [DataRow("Observation", "encounter", ResourceType.EpisodeOfCare, "3b071d478ff3cb744cb6668ac8512dc7362e6737")] + [DataRow("NutritionOrder", "encounter", ResourceType.EpisodeOfCare, "3b071d478ff3cb744cb6668ac8512dc7362e6737")] + [DataRow("Composition", "encounter", ResourceType.EpisodeOfCare, "3b071d478ff3cb744cb6668ac8512dc7362e6737")] + [DataRow("DeviceRequest", "encounter", ResourceType.EpisodeOfCare, "3b071d478ff3cb744cb6668ac8512dc7362e6737")] + [DataRow("Procedure", "encounter", ResourceType.EpisodeOfCare, "3b071d478ff3cb744cb6668ac8512dc7362e6737")] + public void CheckManualFixesOfTemplateModelInfo(string resource, string spName, ResourceType targetResource, string commit) { - //Manualy removed target of EpisodeOfCare from searchparameter DiagnosticReport.encounter - //Commit: 05bfc4f1d0a4568ca405e248c055a8a16d857ffb - var sp = ModelInfo.SearchParameters.Where(s => s.Resource == "DiagnosticReport" && s.Name == "encounter").FirstOrDefault(); - Assert.IsNotNull(sp); - Assert.IsTrue(sp.Path.Contains("DiagnosticReport.encounter")); - Assert.IsFalse(sp.Target.Contains(ResourceType.EpisodeOfCare)); - - //Manualy removed this target from more occurances of the same searchparameter - //Commit: 3b071d478ff3cb744cb6668ac8512dc7362e6737 - - - var sp3 = ModelInfo.SearchParameters.Where(s => s.Resource == "RiskAssessment" && s.Name == "encounter").FirstOrDefault(); - Assert.IsNotNull(sp3); - Assert.IsFalse(sp3.Target.Contains(ResourceType.EpisodeOfCare)); - - var sp4 = ModelInfo.SearchParameters.Where(s => s.Resource == "List" && s.Name == "encounter").FirstOrDefault(); - Assert.IsNotNull(sp4); - Assert.IsFalse(sp4.Target.Contains(ResourceType.EpisodeOfCare)); - - var sp5 = ModelInfo.SearchParameters.Where(s => s.Resource == "VisionPrescription" && s.Name == "encounter").FirstOrDefault(); - Assert.IsNotNull(sp5); - Assert.IsFalse(sp5.Target.Contains(ResourceType.EpisodeOfCare)); - - var sp6 = ModelInfo.SearchParameters.Where(s => s.Resource == "ServiceRequest" && s.Name == "encounter").FirstOrDefault(); - Assert.IsNotNull(sp6); - Assert.IsFalse(sp6.Target.Contains(ResourceType.EpisodeOfCare)); - - var sp7 = ModelInfo.SearchParameters.Where(s => s.Resource == "Flag" && s.Name == "encounter").FirstOrDefault(); - Assert.IsNotNull(sp7); - Assert.IsFalse(sp7.Target.Contains(ResourceType.EpisodeOfCare)); - - var sp8 = ModelInfo.SearchParameters.Where(s => s.Resource == "Observation" && s.Name == "encounter").FirstOrDefault(); - Assert.IsNotNull(sp8); - Assert.IsFalse(sp8.Target.Contains(ResourceType.EpisodeOfCare)); - - var sp9 = ModelInfo.SearchParameters.Where(s => s.Resource == "NutritionOrder" && s.Name == "encounter").FirstOrDefault(); - Assert.IsNotNull(sp9); - Assert.IsFalse(sp9.Target.Contains(ResourceType.EpisodeOfCare)); - - var sp10 = ModelInfo.SearchParameters.Where(s => s.Resource == "Composition" && s.Name == "encounter").FirstOrDefault(); - Assert.IsNotNull(sp10); - Assert.IsFalse(sp10.Target.Contains(ResourceType.EpisodeOfCare)); - - var sp11 = ModelInfo.SearchParameters.Where(s => s.Resource == "DeviceRequest" && s.Name == "encounter").FirstOrDefault(); - Assert.IsNotNull(sp11); - Assert.IsFalse(sp11.Target.Contains(ResourceType.EpisodeOfCare)); - - var sp12 = ModelInfo.SearchParameters.Where(s => s.Resource == "Procedure" && s.Name == "encounter").FirstOrDefault(); - Assert.IsNotNull(sp12); - Assert.IsFalse(sp12.Target.Contains(ResourceType.EpisodeOfCare)); + var sp = ModelInfo.SearchParameters.Where(s => s.Resource == resource && s.Name == spName).FirstOrDefault(); + if (sp is not null) + { + Assert.IsFalse(sp.Target.Contains(targetResource), + $"Manualy removed target {targetResource} from searchparameter {resource}.{spName}. Commit: {commit}"); + } } } } \ No newline at end of file