From 843642099baf2e5af1d71e3b0beef61cd98e1b35 Mon Sep 17 00:00:00 2001 From: Michael Lawley Date: Tue, 20 May 2025 14:15:33 +1000 Subject: [PATCH 1/2] Bugfix terminology.service.ts The syntax for language references dialects is incorrect (and syntactically illegal by BCP47) This patch uses the correct syntax --- src/app/services/terminology.service.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/app/services/terminology.service.ts b/src/app/services/terminology.service.ts index 4bb44d0..5ab7ea0 100644 --- a/src/app/services/terminology.service.ts +++ b/src/app/services/terminology.service.ts @@ -130,10 +130,20 @@ export class TerminologyService { if (this.context) { return this.context.languageDialects; } else if (this.languageRefsetConcept) { - return this.lang + '-X-' + this.languageRefsetConcept.code + return toLanguageCode(this.lang, + this.languageRefsetConcept.code); } else return this.lang; } + toLanguageCode(lang: string, langRefset: string) { + if (langRefset.length > 16) { + return `${lang}-x-sctlang-${langRefset.substring(0, 8)}-${langRefset.substring(8, 16)}-${langRefset.substring(16)}`; + } else if (langRefset.length > 8) { + return `${lang}-x-sctlang-${langRefset.substring(0, 8)}-${langRefset.substring(8)}`; + } else { + return `${lang}-x-sctlang-${langRefset}`; + } + } + getCodeSystems() { let requestUrl = `${this.snowstormFhirBase}/CodeSystem`; if (this.snowstormFhirBase.includes('ontoserver')) { From 0769de989b5eae537bc74676a4bb2b28dab11a0b Mon Sep 17 00:00:00 2001 From: Michael Lawley Date: Mon, 26 May 2025 15:12:34 +1000 Subject: [PATCH 2/2] Update src/app/services/terminology.service.ts Co-authored-by: Steve Swinsburg --- src/app/services/terminology.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/services/terminology.service.ts b/src/app/services/terminology.service.ts index 5ab7ea0..b4b89f5 100644 --- a/src/app/services/terminology.service.ts +++ b/src/app/services/terminology.service.ts @@ -130,7 +130,7 @@ export class TerminologyService { if (this.context) { return this.context.languageDialects; } else if (this.languageRefsetConcept) { - return toLanguageCode(this.lang, + this.languageRefsetConcept.code); + return this.toLanguageCode(this.lang, this.languageRefsetConcept.code); } else return this.lang; }