Skip to content

Commit 8446829

Browse files
author
Grahame Grieve
committed
Performance Improvements for non-heirarchical value set expansion
1 parent 590c953 commit 8446829

4 files changed

Lines changed: 16 additions & 6 deletions

File tree

library/ftx/fhir_codesystem_service.pas

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ TFhirCodeSystemProvider = class (TCodeSystemProvider)
197197
private
198198
FCs : TFhirCodeSystemEntry;
199199
FFactory : TFHIRFactory;
200+
FHasHeirarchy : boolean;
200201

201202
function LocateCode(code : String; altOpt : TAlternateCodeOptions) : TFhirCodeSystemConceptW;
202203
function doLocate(code : String; altOpt : TAlternateCodeOptions) : TFhirCodeSystemProviderContext; overload;
@@ -601,12 +602,20 @@ function TFHIRCodeSystemCodeEntry.hasParents: boolean;
601602
{ TFhirCodeSystemProvider }
602603

603604
constructor TFhirCodeSystemProvider.Create(languages: TIETFLanguageDefinitions; i18n : TI18nSupport; factory: TFHIRFactory; cs: TFhirCodeSystemEntry);
605+
var
606+
cc : TFhirCodeSystemConceptW;
604607
begin
605608
Create(languages, i18n);
606609
FCs := cs;
607610
FFactory := factory;
608611
if FCs.CodeSystem.language <> '' then
609612
setDefLang(FLanguages.parse(FCs.CodeSystem.language));
613+
for cc in FCs.CodeSystem.conceptList do
614+
if cc.hasConcepts then
615+
begin
616+
FHasHeirarchy := true;
617+
break;
618+
end;
610619
end;
611620

612621
procedure TFhirCodeSystemProvider.defineFeatures(opContext : TTxOperationContext; features: TFslList<TFHIRFeature>);
@@ -761,7 +770,7 @@ function TFhirCodeSystemProvider.listCodes(opContext : TTxOperationContext; ctxt
761770

762771
function TFhirCodeSystemProvider.canParent: boolean;
763772
begin
764-
Result := true;
773+
Result := FHasHeirarchy;
765774
end;
766775

767776
function TFhirCodeSystemProvider.hasAnyDisplays(langs: THTTPLanguageList): boolean;

release-notes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
## Change Notes for {ver}:
22

3-
*
3+
* Performance Improvements for non-heirarchical value set expansion
44

55
## Conformance Notes:
66

7-
*
7+
* tx.fhir.org passed 305 HL7 terminology service tests (mode 'tx.fhir.org', tests v1.7.7-SNAPSHOT, runner v6.5.14)

server/fhirserver.lpi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
12
<CONFIG>
23
<ProjectOptions>
34
<Version Value="12"/>
@@ -261,7 +262,7 @@
261262
<CompilerMessages>
262263
<IgnoredMessages idx5094="True" idx5093="True" idx5092="True" idx5091="True" idx5090="True" idx5089="True" idx5024="True"/>
263264
</CompilerMessages>
264-
<CustomOptions Value="-dODBC -WM11.0 -XR/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"/>
265+
<CustomOptions Value="-dODBC -WM10.15 -XR/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"/>
265266
</Other>
266267
</CompilerOptions>
267268
</Item6>
@@ -1017,7 +1018,7 @@
10171018
<Name Value="EPackageCrawlerException"/>
10181019
</Item50>
10191020
<Item51>
1020-
<Name Value="&lt;Unknown Class&gt;"/>
1021+
<Name Value="&lt;Unknown Class>"/>
10211022
</Item51>
10221023
<Item52>
10231024
<Name Value="EDateFormatError"/>

server/server_constants.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
interface
3434

3535
const
36-
TX_TESTS_VERSION = '1.7.6';
36+
TX_TESTS_VERSION = '1.7.7';
3737

3838
{$i version.inc}
3939
SERVER_FULL_VERSION = FHIR_CODE_FULL_VERSION;

0 commit comments

Comments
 (0)