Skip to content

Commit e445e54

Browse files
author
Grahame Grieve
committed
Auto stash before merge of "master" and "origin/master"
1 parent e17c0ec commit e445e54

3 files changed

Lines changed: 49 additions & 18 deletions

File tree

library/ftx/fhir_valuesets.pas

Lines changed: 46 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -830,7 +830,7 @@ function TValueSetChecker.check(path, system, version, code: String; abstractOk,
830830
ccc : TFhirValueSetExpansionContainsW;
831831
ts : TStringList;
832832
vss : TFHIRValueSetW;
833-
vl : String;
833+
vl, vn : String;
834834
begin
835835
defLang := FLanguages.parse('en');
836836
FOpContext.addNote(FValueSet, 'Check "'+TTerminologyOperationContext.renderCoded(system, version, code)+'"');
@@ -890,15 +890,21 @@ function TValueSetChecker.check(path, system, version, code: String; abstractOk,
890890
begin
891891
vl := listVersions(system);
892892
if (vl = '') then
893-
mid := 'UNKNOWN_CODESYSTEM_VERSION_NONE'
893+
begin
894+
mid := 'UNKNOWN_CODESYSTEM_VERSION_NONE';
895+
vn := system;
896+
end
894897
else
898+
begin
895899
mid := 'UNKNOWN_CODESYSTEM_VERSION';
900+
vn := system+'|'+version;
901+
end;
896902
msg := FI18n.translate(mid, FParams.HTTPLanguages, [system, version, vl]);
897903
messages.add(msg);
898-
if (unknownSystems.IndexOf(system+'|'+version) = -1) then
904+
if (unknownSystems.IndexOf(vn) = -1) then
899905
begin
900906
op.addIssue(isError, itNotFound, addToPath(path, 'system'), mid, msg, oicNotFound);
901-
unknownSystems.add(system+'|'+version);
907+
unknownSystems.add(vn);
902908
end;
903909
end
904910
else
@@ -1015,15 +1021,21 @@ function TValueSetChecker.check(path, system, version, code: String; abstractOk,
10151021
begin
10161022
vl := listVersions(system);
10171023
if vl = '' then
1018-
mid := 'UNKNOWN_CODESYSTEM_VERSION_NONE'
1024+
begin
1025+
mid := 'UNKNOWN_CODESYSTEM_VERSION_NONE';
1026+
vn := system+'|'+version;
1027+
end
10191028
else
1029+
begin
10201030
mid := 'UNKNOWN_CODESYSTEM_VERSION';
1031+
vn := system+'|'+version;
1032+
end;
10211033
msg := FI18n.translate(mid, FParams.HTTPLanguages, [system, version, vl]);
10221034
messages.add(msg);
1023-
if (unknownSystems.IndexOf(system+'|'+version) = -1) then
1035+
if (unknownSystems.IndexOf(vn) = -1) then
10241036
begin
10251037
op.addIssue(isError, itNotFound, addToPath(path, 'system'), mid, msg, oicNotFound);
1026-
unknownSystems.add(system+'|'+version);
1038+
unknownSystems.add(vn);
10271039
end;
10281040
end
10291041
else
@@ -1171,13 +1183,19 @@ function TValueSetChecker.check(path, system, version, code: String; abstractOk,
11711183
begin
11721184
vl := listVersions(system);
11731185
if (vl = '') then
1174-
mid := 'UNKNOWN_CODESYSTEM_VERSION_NONE'
1186+
begin
1187+
mid := 'UNKNOWN_CODESYSTEM_VERSION_NONE';
1188+
vn := system;
1189+
end
11751190
else
1191+
begin
11761192
mid := 'UNKNOWN_CODESYSTEM_VERSION';
1193+
vn := system+'|'+v;
1194+
end;
11771195
message := FI18n.translate(mid, FParams.HTTPLanguages, [system, v, vl]);
1178-
badd := unknownSystems.IndexOf(system+'|'+version) = -1;
1196+
badd := unknownSystems.IndexOf(vn) = -1;
11791197
if (bAdd) then
1180-
unknownSystems.add(system+'|'+v);
1198+
unknownSystems.add(vn);
11811199
end;
11821200
messages.add(message);
11831201
if (bAdd) then
@@ -1305,11 +1323,17 @@ function TValueSetChecker.check(path, system, version, code: String; abstractOk,
13051323
begin
13061324
vl := listVersions(system);
13071325
if vl = '' then
1308-
mid := 'UNKNOWN_CODESYSTEM_VERSION_NONE'
1326+
begin
1327+
mid := 'UNKNOWN_CODESYSTEM_VERSION_NONE';
1328+
vn := system;
1329+
end
13091330
else
1331+
begin
13101332
mid := 'UNKNOWN_CODESYSTEM_VERSION';
1333+
vn := system+'|'+v;
1334+
end;
13111335
message := FI18n.translate(mid, FParams.HTTPLanguages, [system, v, vl]);
1312-
unknownSystems.add(system+'|'+v);
1336+
unknownSystems.add(vn);
13131337
end;
13141338
end;
13151339
messages.add(message);
@@ -1537,7 +1561,7 @@ function TValueSetChecker.check(issuePath : String; code: TFhirCodeableConceptW;
15371561
op : TFhirOperationOutcomeW;
15381562
log : String;
15391563
tl : TIETFLang;
1540-
psys, pver, pdisp, pcode, us, baseMsg, p, normalForm, mid, vl : String;
1564+
psys, pver, pdisp, pcode, us, baseMsg, p, normalForm, mid, vl, vn : String;
15411565
dc, i : integer;
15421566
a : TStringArray;
15431567
unknownSystems : TStringList;
@@ -1783,13 +1807,19 @@ function TValueSetChecker.check(issuePath : String; code: TFhirCodeableConceptW;
17831807
begin
17841808
vl := listVersions(c.systemUri);
17851809
if (vl = '') then
1786-
mid := 'UNKNOWN_CODESYSTEM_VERSION_NONE'
1810+
begin
1811+
mid := 'UNKNOWN_CODESYSTEM_VERSION_NONE';
1812+
vn := ws;
1813+
end
17871814
else
1815+
begin
17881816
mid := 'UNKNOWN_CODESYSTEM_VERSION';
1817+
vn := ws+'|'+c.version;
1818+
end;
17891819
m := FI18n.translate(mid, FParams.HTTPLanguages, [ws, c.version, vl]);
1790-
badd := unknownSystems.IndexOf(ws+'|'+c.version) = -1;
1820+
badd := unknownSystems.IndexOf(vn) = -1;
17911821
if (bAdd) then
1792-
unknownSystems.add(ws+'|'+c.version);
1822+
unknownSystems.add(vn);
17931823
end;
17941824
if (bAdd) then
17951825
op.addIssue(isError, itNotFound, addToPath(path, 'system'), mid, m, oicNotFound);

release-notes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Change Notes for {ver}:
22

3-
*
3+
* Clean up error reporting for unknown code systems
44

55
## Conformance Notes:
66

server/fhirserver.lpi

Lines changed: 2 additions & 1 deletion
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"/>
@@ -1001,7 +1002,7 @@
10011002
<Name Value="EPackageCrawlerException"/>
10021003
</Item50>
10031004
<Item51>
1004-
<Name Value="&lt;Unknown Class&gt;"/>
1005+
<Name Value="&lt;Unknown Class>"/>
10051006
</Item51>
10061007
<Item52>
10071008
<Name Value="EDateFormatError"/>

0 commit comments

Comments
 (0)