@@ -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;
834834begin
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);
0 commit comments