From 9534c2ba41adf31e4e6dd78156b945bef16d2b81 Mon Sep 17 00:00:00 2001 From: Darryn McGaw Date: Mon, 21 Nov 2022 12:27:54 +0000 Subject: [PATCH 1/6] Change logs for 7.12.0 --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40874c9fe..8a7bd5de5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 7.12.0 Release (November 2022) +Maintenance release with bug fixes and improvements. +### Improvements +- General + - MAINT-1974 Add optional configuration to allow new ReferenceSet types to be configured on branch other than MAIN. + +### Fixes +- MAINT-2071 Remove communication with Authoring Acceptance Gateway when completing classifications. +- MAINT-1940 Stop inactive historical associations switching module when rebasing. +- FRI-565 Correct Extension's traceability log when performing rebase after upgrading dependency. + ## 7.11.0 Release (October 2022) Maintenance release with bug fixes and improvements. ### Improvements From e2cf2e4132e08d349ee188a0b4c687a0a13b4f9d Mon Sep 17 00:00:00 2001 From: Darryn McGaw Date: Mon, 21 Nov 2022 12:33:47 +0000 Subject: [PATCH 2/6] Start 7.13.0-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 553937452..4bd50fd2e 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ org.snomed snowstorm - 7.12.0 + 7.13.0-SNAPSHOT org.springframework.boot spring-boot-starter-parent From c1c57bd4165d10892ae5ae01072557019906c7ee Mon Sep 17 00:00:00 2001 From: Peter Groves Williams Date: Wed, 1 Jun 2022 15:48:04 +0100 Subject: [PATCH 3/6] MAINT-1947 FHIR add support for ValueSets which include references to other ValueSets --- docs/fhir-resources/valueset-expansion.md | 221 ++++++++++-------- .../fhir/services/FHIRValueSetProvider.java | 64 +++-- 2 files changed, 165 insertions(+), 120 deletions(-) diff --git a/docs/fhir-resources/valueset-expansion.md b/docs/fhir-resources/valueset-expansion.md index e4c84bbf9..eaa1eeab6 100644 --- a/docs/fhir-resources/valueset-expansion.md +++ b/docs/fhir-resources/valueset-expansion.md @@ -1,98 +1,123 @@ -## ValueSet Expansion - -### Implicit ValueSets (ie intensionally defined). -See [https://www.hl7.org/fhir/snomedct.html#implicit] - -## GET Method Request Example(s) - -#### Expansion of an intentionally defined value set using ECL -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/<<27624003 - -#### Expansion of an intentionally defined value set using ECL against a specific edition/version -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/<<27624003&system-version=http://snomed.info/sct/900000000000207008/version/20190731 - -##### alternatively, the url parameter can also take a version URI. This is an equivalent request: -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct/900000000000207008/version/20190731?fhir_vs=ecl/<<27624003 - -#### Expansion of an intentionally defined value set using ECL against unpublished content (eg concepts newly created on the MAIN branch) -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/xsct?fhir_vs=ecl/<<27624003 - -#### Expansion of an intentionally defined value set using ISA -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=isa/27624003 - -#### Expansion including as-yet-unpublished changes to concepts -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=isa/410607006&system-version=http://snomed.info/xsct&count=5 - -#### Expansion of an intentionally defined value set using refset (ICD-10 complex map) -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=refset/447562003 - -#### Expansion of an intentionally defined value set using nothing! Returns all concepts. -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs - -#### Expansion of an intentional value set against the Swedish Edition, including synonyms -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct/45991000052106?fhir_vs=ecl/%3C%3C27624003&includeDesignations=true&count=10&designation=sv&designation=en - -#### Expansion of an intentional value set against the Swedish Edition, specifying Swedish Language for the display field (normally the server returns the FSN, which is in English in the Swedish Edition). -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct/45991000052106?fhir_vs=ecl/%3C%3C27624003&count=10&displayLanguage=sv - -#### Expansion specifying a language reference set for the designation. However, since includeDesigntations is set to false, this results in a very minimal return with just the display returning as "Acetaminophen" due to being the US preferred term. Note that setting includeDesignations=true will return both preferred and acceptable terms -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/322280009&designation=http://snomed.info/sct|900000000000509007&includeDesignations=false - -#### Paging through 10 at a time, request the 2nd page. Note that the offset is a number of elements, rather than a page offset, and must be a multiple of the page size ie count. -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/<<27624003&count=10&offset=10 - -#### Term filtering - ValueSet of all <<763158003 |Medicinal product (product)| containing the word aspirin. This is not case sensitive. -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/<<763158003&filter=Aspirin - -#### Refset - list all SNOMED concepts mapped to ICD-O (ECL here is ^446608001 |ICD-O simple map reference set (foundation metadata concept)|) -http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/%5E446608001&count=20 - -## POST Method Request Example(s) - -#### Expansion with filter operation using ECL - -``` -curl --request POST 'http://localhost:8080/fhir/ValueSet/$expand' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "resourceType": "Parameters", - "parameter": [ - { - "name": "valueSet", - "resource": { - "resourceType": "ValueSet", - "compose": { - "include": [ - { - "filter": [ - { - "property": "concept", - "op": "is-a", - "value": "21351003" - } - ] - } - ] - } - } - }, - { - "name": "system-version", - "valueString": "http://snomed.info/sct/900000000000207008/version/20200731" - }, - { - "name": "displayLanguage", - "valueString": "en-GB" - }, - { - "name": "offset", - "valueString": "1" - }, - { - "name": "count", - "valueString": "5" - } - ] -}' -``` -Note that the curl --location flag will cause a POST body to be removed if a 302 redirect is encountered, such as happens when an http call is redirected to https. +## ValueSet Expansion + +### Implicit ValueSets (ie intensionally defined). +See [https://www.hl7.org/fhir/snomedct.html#implicit] + +## GET Method Request Example(s) + +#### Expansion of an intentionally defined value set using ECL +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/<<27624003 + +#### Expansion of an intentionally defined value set using ECL against a specific edition/version +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/<<27624003&system-version=http://snomed.info/sct/900000000000207008/version/20190731 + +##### alternatively, the url parameter can also take a version URI. This is an equivalent request: +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct/900000000000207008/version/20190731?fhir_vs=ecl/<<27624003 + +#### Expansion of an intentionally defined value set using ECL against unpublished content (eg concepts newly created on the MAIN branch) +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/xsct?fhir_vs=ecl/<<27624003 + +#### Expansion of an intentionally defined value set using ISA +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=isa/27624003 + +#### Expansion including as-yet-unpublished changes to concepts +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=isa/410607006&system-version=http://snomed.info/xsct&count=5 + +#### Expansion of an intentionally defined value set using refset (ICD-10 complex map) +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=refset/447562003 + +#### Expansion of an intentionally defined value set using nothing! Returns all concepts. +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs + +#### Expansion of an intentional value set against the Swedish Edition, including synonyms +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct/45991000052106?fhir_vs=ecl/%3C%3C27624003&includeDesignations=true&count=10&designation=sv&designation=en + +#### Expansion of an intentional value set against the Swedish Edition, specifying Swedish Language for the display field (normally the server returns the FSN, which is in English in the Swedish Edition). +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct/45991000052106?fhir_vs=ecl/%3C%3C27624003&count=10&displayLanguage=sv + +#### Expansion specifying a language reference set for the designation. However, since includeDesigntations is set to false, this results in a very minimal return with just the display returning as "Acetaminophen" due to being the US preferred term. Note that setting includeDesignations=true will return both preferred and acceptable terms +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/322280009&designation=http://snomed.info/sct|900000000000509007&includeDesignations=false + +#### Paging through 10 at a time, request the 2nd page. Note that the offset is a number of elements, rather than a page offset, and must be a multiple of the page size ie count. +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/<<27624003&count=10&offset=10 + +#### Term filtering - ValueSet of all <<763158003 |Medicinal product (product)| containing the word aspirin. This is not case sensitive. +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/<<763158003&filter=Aspirin + +#### Refset - list all SNOMED concepts mapped to ICD-O (ECL here is ^446608001 |ICD-O simple map reference set (foundation metadata concept)|) +http://localhost:8080/fhir/ValueSet/$expand?url=http://snomed.info/sct?fhir_vs=ecl/%5E446608001&count=20 + +## POST Method Request Example(s) + +#### Expansion with filter operation using ECL + +``` +curl --request POST 'http://localhost:8080/fhir/ValueSet/$expand' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "resourceType": "Parameters", + "parameter": [ + { + "name": "valueSet", + "resource": { + "resourceType": "ValueSet", + "compose": { + "include": [ + { + "filter": [ + { + "property": "concept", + "op": "is-a", + "value": "21351003" + } + ] + } + ] + } + } + }, + { + "name": "system-version", + "valueString": "http://snomed.info/sct/900000000000207008/version/20200731" + }, + { + "name": "displayLanguage", + "valueString": "en-GB" + }, + { + "name": "offset", + "valueString": "1" + }, + { + "name": "count", + "valueString": "5" + } + ] +}' +``` + +#### Expansion with compose which includes one or more other ValueSets + +``` +curl --request POST 'http://localhost:8080/fhir/ValueSet/$expand' \ +--header 'Content-Type: application/json' \ +--data-raw '{ + "resourceType": "Parameters", + "parameter": [ + { + "name": "valueSet", + "resource": { + "resourceType": "ValueSet", + "compose": { + "include": [ + { + "valueSet": "http://snomed.info/sct?fhir_vs=ecl/<410607006" + } + ] + } + } + } + ] +}' +``` +Note that the curl --location flag will cause a POST body to be removed if a 302 redirect is encountered, such as happens when an http call is redirected to https. diff --git a/src/main/java/org/snomed/snowstorm/fhir/services/FHIRValueSetProvider.java b/src/main/java/org/snomed/snowstorm/fhir/services/FHIRValueSetProvider.java index 575eaefc6..23820bacf 100644 --- a/src/main/java/org/snomed/snowstorm/fhir/services/FHIRValueSetProvider.java +++ b/src/main/java/org/snomed/snowstorm/fhir/services/FHIRValueSetProvider.java @@ -7,6 +7,8 @@ import ca.uhn.fhir.rest.param.StringParam; import ca.uhn.fhir.rest.param.TokenParam; import ca.uhn.fhir.rest.server.IResourceProvider; + +import org.drools.core.util.StringUtils; import org.hl7.fhir.instance.model.api.IBaseResource; import org.hl7.fhir.r4.model.*; import org.hl7.fhir.r4.model.OperationOutcome.IssueType; @@ -35,6 +37,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestMethod; @@ -460,7 +463,7 @@ private ValueSet expand(final @IdParam IdType id, final HttpServletRequest reque branchPath.set(fhirHelper.getBranchPathFromURI(codeSystemVersionUri)); } } - conceptMiniPage = doImplcitExpansion(cutPoint, url, active, filter, branchPath, designations, pageRequest, branchPathForced); + conceptMiniPage = doImplcitExpansion(url, active, filter, branchPath, designations, pageRequest, branchPathForced); } //We will always need the PT, so recover further details @@ -478,7 +481,7 @@ private ValueSet expand(final @IdParam IdType id, final HttpServletRequest reque * defined at expansion time by use of a URL containing a definition of the content * @param branchPathForced */ - private Page doImplcitExpansion(int cutPoint, String url, Boolean active, String filter, + private Page doImplcitExpansion(String url, Boolean active, String filter, BranchPath branchPath, List designations, PageRequest pageRequest, boolean branchPathForced) throws FHIROperationException { //Are we looking for all known refsets? Special case. if (url.endsWith("?fhir_vs=refset")) { @@ -499,6 +502,7 @@ private Page doImplcitExpansion(int cutPoint, String url, Boolean a private Page doExplicitExpansion(ValueSet vs, Boolean active, String filter, BranchPath branchPath, List designations, PageRequest pageRequest, boolean branchPathForced) throws FHIROperationException { Page conceptMiniPage = new PageImpl<>(new ArrayList<>()); + List conceptMinis = new ArrayList<>(); if (vs != null && vs.getCompose() != null && !vs.getCompose().isEmpty()) { if (!branchPathForced) { branchPath.set(obtainConsistentCodeSystemVersionFromCompose(vs.getCompose(), branchPath)); @@ -507,6 +511,7 @@ private Page doExplicitExpansion(ValueSet vs, Boolean active, Strin Set conceptIds = new HashSet<>(); StringBuilder filterECL = new StringBuilder(); boolean firstItem = true; + long vsIncludedCount = 0; for (ConceptSetComponent include : compose.getInclude()) { conceptIds.addAll( include @@ -515,6 +520,20 @@ private Page doExplicitExpansion(ValueSet vs, Boolean active, Strin .map(ValueSet.ConceptReferenceComponent::getCode) .collect(Collectors.toSet()) ); + //If we have valueset elements defined, then we can recover those as complete VS expansions to add + //This causes all sorts of problems for paging. So really we need to keep a running count of each valueset's total elements + //and then work out which page is going to be requested. Eg if we have 100 elements in 10 pages of 10 for the first ValueSet + //and we request page 11, then we're actually asking for page 1 of the 2nd ValueSet! + //Lots TODO there. + if (include.getValueSet() != null) { + for (CanonicalType vsIncluded : include.getValueSet()) { + String url = vsIncluded.asStringValue(); + Page vsIncludedPage = doImplcitExpansion(url, active, filter, + branchPath, designations, pageRequest, branchPathForced); + conceptMinis.addAll(vsIncludedPage.toList()); + vsIncludedCount += vsIncludedPage.getTotalElements(); + } + } filterECL.append(fhirHelper.convertFilterToECL(include, firstItem)); if (firstItem) { firstItem = false; @@ -536,22 +555,28 @@ private Page doExplicitExpansion(ValueSet vs, Boolean active, Strin firstItem = false; } } - String branch = branchPath.toString(); - + logger.info("Recovered {} Concepts from branch {} with VS inclusion.", conceptMinis.size(), branch); Collection fromService = conceptService.findConceptMinis(branch, conceptIds, designations).getResultsMap().values(); logger.info("Recovered {} Concepts from branch {} with Compose.", fromService.size(), branch); - - String ecl = filterECL.toString(); - Page page = fhirHelper.eclSearch(ecl, active, filter, designations, branchPath, pageRequest); - Collection fromECL = page.getContent(); - logger.info("Recovered {} Concepts from branch {} with ECL {}.", page.getTotalElements(), branch, filterECL); - - List conceptMinis = new ArrayList<>(); conceptMinis.addAll(fromService); - conceptMinis.addAll(fromECL); - long totalCount = fromService.size() + page.getTotalElements(); - conceptMiniPage = new PageImpl(conceptMinis, page.getPageable(), totalCount); + + String ecl = filterECL.toString(); + long recoveredFromECL = 0; + Page page; + if (!StringUtils.isEmpty(ecl)) { + page = fhirHelper.eclSearch(ecl, active, filter, designations, branchPath, pageRequest); + Collection fromECL = page.getContent(); + logger.info("Recovered {} Concepts from branch {} with ECL {}.", page.getTotalElements(), branch, filterECL); + conceptMinis.addAll(fromECL); + recoveredFromECL = page.getTotalElements(); + } else { + logger.debug("No ECL directly recovered from Compose Element"); + } + + long totalCount = fromService.size() + recoveredFromECL + vsIncludedCount; + Pageable pageable = PageRequest.of(pageRequest.getPageNumber(), pageRequest.getPageSize()); + conceptMiniPage = new PageImpl(conceptMinis, pageable, totalCount); logger.info("Collectively recovered {} Concepts from branch {}.", conceptMiniPage.getTotalElements(), branch); } else { String msg = "Compose element(s) or 'url' parameter is expected to be present for an expansion, containing eg http://snomed.info/sct?fhir_vs=ecl/ or http://snomed.info/sct/45991000052106?fhir_vs=ecl/ "; @@ -565,11 +590,6 @@ private Page doExplicitExpansion(ValueSet vs, Boolean active, Strin return conceptMiniPage; } - private boolean contains(List languageDialects, String displayLanguage) { - return languageDialects.stream() - .anyMatch(ld -> ld.getLanguageCode().equals(displayLanguage)); - } - private BranchPath obtainConsistentCodeSystemVersionFromCompose(ValueSetComposeComponent compose, BranchPath branchPath) throws FHIROperationException { String system = null; String version = null; @@ -597,11 +617,11 @@ private BranchPath obtainConsistentCodeSystemVersionFromCompose(ValueSetComposeC } } - StringType codeSystemVersionUri; + StringType codeSystemVersionUri = new StringType("http://snomed.info/sct"); if (version == null) { - if (system == null) { + if (system == null && !branchPath.isEmpty()) { return branchPath; - } else { + } else if (system != null){ codeSystemVersionUri = new StringType(system); } } else { From d0f6e4525c0252580112356a1405c0ef2226759a Mon Sep 17 00:00:00 2001 From: pgwilliams Date: Mon, 17 Oct 2022 15:38:25 +0100 Subject: [PATCH 4/6] MAINT-1947 Unit test for nested FHIR ValueSet --- .../fhir/services/ValueSetProviderEclTest.java | 18 ++++++++++++++++++ .../exampleVS_incude_implicit_VS.json | 16 ++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 src/test/resources/dummy-fhir-content/exampleVS_incude_implicit_VS.json diff --git a/src/test/java/org/snomed/snowstorm/fhir/services/ValueSetProviderEclTest.java b/src/test/java/org/snomed/snowstorm/fhir/services/ValueSetProviderEclTest.java index 1ec1510fe..7f0d41373 100644 --- a/src/test/java/org/snomed/snowstorm/fhir/services/ValueSetProviderEclTest.java +++ b/src/test/java/org/snomed/snowstorm/fhir/services/ValueSetProviderEclTest.java @@ -159,6 +159,24 @@ void testExplicitValueSetExpansion() { restTemplate.delete(baseUrl + "/reason-for-encounter"); } + @Test + void testExplicitNestedValueSetExpansion() { + ClassLoader classloader = Thread.currentThread().getContextClassLoader(); + InputStream is = classloader.getResourceAsStream("dummy-fhir-content/exampleVS_incude_implicit_VS.json"); + assertNotNull(is); + ValueSet exampleVS = fhirJsonParser.parseResource(ValueSet.class, is); + String vsJson = fhirJsonParser.encodeResourceToString(exampleVS); + storeVs("test-nested-vs", vsJson); + + //Now expand that ValueSet we just saved + String url = baseUrl + "/test-nested-vs/$expand"; + ResponseEntity response = restTemplate.getForEntity(url, String.class); + ValueSet savedVS = fhirJsonParser.parseResource(ValueSet.class, response.getBody()); + + //10 Concepts on MAIN + assertEquals(10, savedVS.getExpansion().getTotal()); + restTemplate.delete(baseUrl + "/test-nested-vs"); + } @Test void testECLWithUnpublishedVersion() throws FHIROperationException { //Asking for 5 at a time, expect 13 Total - 10 on MAIN + 3 in the sample module + 1 Root concept diff --git a/src/test/resources/dummy-fhir-content/exampleVS_incude_implicit_VS.json b/src/test/resources/dummy-fhir-content/exampleVS_incude_implicit_VS.json new file mode 100644 index 000000000..0411e5518 --- /dev/null +++ b/src/test/resources/dummy-fhir-content/exampleVS_incude_implicit_VS.json @@ -0,0 +1,16 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "Test nested VS", + "id": "test-nested-vs", + "title": "Test Nested VS", + "version": "0.0.1", + "url": "http://snomed.test/fhir/ValueSet/test-nested-vs", + "compose": { + "include": [ + { + "valueSet": "http://snomed.info/sct?fhir_vs=ecl/<138875005" + } + ] + } +} \ No newline at end of file From c6d88797c412a4e709fecea51cad5c05b12f756d Mon Sep 17 00:00:00 2001 From: Jon Zammit Date: Wed, 23 Nov 2022 16:47:04 -0500 Subject: [PATCH 5/6] Updates to editions and direct aliases. --- src/main/resources/application.properties | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 0e0bd6d20..848817c2e 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -212,6 +212,7 @@ codesystem.config.SNOMEDCT-AU=Australian Edition|32506021000036107|au|Australian codesystem.config.SNOMEDCT-BE=Belgium|11000172109|be|Belgian Federal Public Service Health, Food Chain Safety and Environment codesystem.config.SNOMEDCT-CA=Canadian English Edition|20621000087109|ca|Canada Health Infoway codesystem.config.SNOMEDCT-CAF=Canadian French Edition|20611000087101|ca|Canada Health Infoway +codesystem.config.SNOMEDCT-CH=Swiss Edition|2011000195101|ch|Federal Department of Health (FOPH/BAG) codesystem.config.SNOMEDCT-DK=Danish Edition|554471000005108|dk|Danish Health Data Authority codesystem.config.SNOMEDCT-EE=Estonian Edition|11000181102|ee|Estonia Health and Welfare Information Systems Centre codesystem.config.SNOMEDCT-ES=Spanish Edition|449081005|es|SNOMED International @@ -241,21 +242,25 @@ search.dialect.config.en-ca=19491000087109 search.dialect.config.en-gb=900000000000508004 search.dialect.config.en-ie=21000220103 search.dialect.config.en-nz=271000210107 +search.dialect.config.en-nz-x-pat=281000210109 search.dialect.config.en-us=900000000000509007 -search.dialect.config.en-int-gmdn=608771002 -search.dialect.config.en-nhs-clinical=999001261000000100 -search.dialect.config.en-nhs-dmd=999000671000001103 -search.dialect.config.en-nhs-pharmacy=999000691000001104 -search.dialect.config.en-uk-drug=999000681000001101 -search.dialect.config.en-uk-ext=999001251000000103 +search.dialect.config.en-x-gmdn=608771002 +search.dialect.config.en-x-nhs-clinical=999001261000000100 +search.dialect.config.en-x-nhs-dmd=999000671000001103 +search.dialect.config.en-x-nhs-pharmacy=999000691000001104 +search.dialect.config.en-gb-x-drug=999000681000001101 +search.dialect.config.en-gb-x-ext=999001251000000103 search.dialect.config.es=450828004 search.dialect.config.es-ar=450828004 search.dialect.config.es-uy=5641000179103 search.dialect.config.et-ee=71000181105 search.dialect.config.de=722130004 +search.dialect.config.de-ch=2041000195100 search.dialect.config.fr=722131000 search.dialect.config.fr-be=21000172104 search.dialect.config.fr-ca=20581000087109 +search.dialect.config.fr-ch=2021000195106 +search.dialect.config.it-ch=2031000195108 search.dialect.config.ja=722129009 search.dialect.config.nl-be=31000172101 search.dialect.config.nl-nl=31000146106 From dfeadd3ad8f2595408ebad62242e1a309408c9f5 Mon Sep 17 00:00:00 2001 From: Kai Kewley Date: Thu, 24 Nov 2022 09:46:13 +0000 Subject: [PATCH 6/6] Add breaking change in changelog: ECL aliases --- CHANGELOG.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a7bd5de5..f3802b6f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 8.x.x Release (FUTURE RELEASE) + +### Breaking +- ECL Dialect aliases have been updated to match the new agreed format, see [ECL spec Appendix C](https://confluence.ihtsdotools.org/display/DOCECL/Appendix+C+-+Dialect+Aliases). + (Affected aliases are en-int-gmdn, en-nhs-X, en-uk-X). + ## 7.12.0 Release (November 2022) Maintenance release with bug fixes and improvements. ### Improvements @@ -14,6 +20,7 @@ Maintenance release with bug fixes and improvements. - MAINT-1940 Stop inactive historical associations switching module when rebasing. - FRI-565 Correct Extension's traceability log when performing rebase after upgrading dependency. + ## 7.11.0 Release (October 2022) Maintenance release with bug fixes and improvements. ### Improvements @@ -34,6 +41,7 @@ Maintenance release with bug fixes and improvements. - MAINT-1862 Fix `searchAfter` request parameter to work with ECL dot notation - MAINT-2051 Fix the changing of a Concept's inactivation reason from resulting in duplicate ReferenceSetMembers + ## 7.10.0 Release (September 2022) Maintenance release with integration support for [Consul](https://www.consul.io/) and [Vault](https://www.vaultproject.io/) ### Features @@ -61,7 +69,6 @@ Maintenance release with integration support for [Consul](https://www.consul.io/ - MAINT-2003 Correct default language refset configuration for `es` - ## 7.9.3 Release (June 2022) ### Breaking - ISTO-16 Add support for ECL 2.0. Snowstorm now requires all ECL queries to be valid according to ECL 2.0 specification.