Compare commits
21 Commits
4401aeff3e
...
4aac0712ea
Author | SHA1 | Date |
---|---|---|
Alexander Henket | 4aac0712ea | |
dotasek | eeb92b069a | |
Grahame Grieve | ba671e7e4c | |
Grahame Grieve | 46f5673d34 | |
Grahame Grieve | 1c235dbddf | |
Grahame Grieve | fc5c54bcc2 | |
Grahame Grieve | 213d8f25f8 | |
Grahame Grieve | 8595178336 | |
Grahame Grieve | e38f40b0de | |
Grahame Grieve | 7b0cf668ae | |
Grahame Grieve | 6289638833 | |
Grahame Grieve | 54353f8fce | |
Grahame Grieve | 004d367340 | |
Grahame Grieve | 57ae1f285d | |
Grahame Grieve | ea04d9a96b | |
Grahame Grieve | f4096319a3 | |
Grahame Grieve | 176b0caf63 | |
Grahame Grieve | cdaf85bf0b | |
Grahame Grieve | b05d4b35ea | |
Grahame Grieve | 7479862a30 | |
Grahame Grieve | a1f014730e |
|
@ -1,7 +1,18 @@
|
|||
## Validator Changes
|
||||
|
||||
* no changes
|
||||
* Validator supports R6 from now on (using last stable release)
|
||||
* Set default language to tag not display
|
||||
* Handle tx server issues better
|
||||
* Do not use server piecemeal when validating complex value sets
|
||||
* Add support for -txCache parameter
|
||||
|
||||
## Other code changes
|
||||
|
||||
* no changes
|
||||
* Add support for R6 to R4 version enumeration
|
||||
* Fix SCT link to include version and point to the right place
|
||||
* Add response time to tx log
|
||||
* Allow for code to turn off use of cache-id on tx interface (for debugging)
|
||||
* Support n/a for tx cache folder
|
||||
* Update tx cache for tests
|
||||
* Add more logging for too costly validation
|
||||
* Fix xml annotation suppression
|
||||
|
|
|
@ -683,7 +683,7 @@ public class ClientUtils {
|
|||
for (Header h : response.getAllHeaders()) {
|
||||
headers.add(h.toString());
|
||||
}
|
||||
logger.logResponse(response.getStatusLine().toString(), headers, cnt);
|
||||
logger.logResponse(response.getStatusLine().toString(), headers, cnt, 0);
|
||||
}
|
||||
return cnt;
|
||||
}
|
||||
|
|
|
@ -625,7 +625,7 @@ public class ClientUtils {
|
|||
for (Header h : response.getAllHeaders()) {
|
||||
headers.add(h.toString());
|
||||
}
|
||||
logger.logResponse(response.getStatusLine().toString(), headers, cnt);
|
||||
logger.logResponse(response.getStatusLine().toString(), headers, cnt, 0);
|
||||
}
|
||||
return cnt;
|
||||
}
|
||||
|
|
|
@ -371,7 +371,7 @@ public class FhirRequestBuilder {
|
|||
|
||||
try {
|
||||
if (logger != null) {
|
||||
logger.logResponse(Integer.toString(responseCode), headerList, responseBody);
|
||||
logger.logResponse(Integer.toString(responseCode), headerList, responseBody, 0);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println("Error parsing response body passed in to logger ->\n" + e.getLocalizedMessage());
|
||||
|
|
|
@ -95,13 +95,13 @@ public class FhirRequestBuilderTests {
|
|||
Mockito.doReturn(parser).when(fhirRequestBuilder).getParser(ArgumentMatchers.eq("json"));
|
||||
|
||||
fhirRequestBuilder.unmarshalReference(response, "json");
|
||||
Mockito.verify(logger).logResponse(ArgumentMatchers.eq("200"), ArgumentMatchers.anyList(), AdditionalMatchers.aryEq(RESPONSE_BODY_STRING.getBytes()));
|
||||
Mockito.verify(logger).logResponse(ArgumentMatchers.eq("200"), ArgumentMatchers.anyList(), AdditionalMatchers.aryEq(RESPONSE_BODY_STRING.getBytes()), ArgumentMatchers.anyLong());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnmarshallFeedLogging() {
|
||||
fhirRequestBuilder.unmarshalFeed(response, "application/json");
|
||||
Mockito.verify(logger).logResponse(ArgumentMatchers.eq("200"), ArgumentMatchers.anyList(), AdditionalMatchers.aryEq(RESPONSE_BODY_STRING.getBytes()));
|
||||
Mockito.verify(logger).logResponse(ArgumentMatchers.eq("200"), ArgumentMatchers.anyList(), AdditionalMatchers.aryEq(RESPONSE_BODY_STRING.getBytes()), ArgumentMatchers.anyLong());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ public class HTMLClientLogger implements ToolingClientLogger {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body) {
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body, long start) {
|
||||
if (file == null)
|
||||
return;
|
||||
file.println("<pre>");
|
||||
|
|
|
@ -64,7 +64,7 @@ public class FhirLoggingInterceptor implements Interceptor {
|
|||
headerMap.keySet().forEach(key -> headerMap.get(key).forEach(value -> headerList.add(key + ":" + value)));
|
||||
|
||||
if (logger != null) {
|
||||
logger.logResponse(Integer.toString(response.code()), headerList, bodyBytes);
|
||||
logger.logResponse(Integer.toString(response.code()), headerList, bodyBytes, 0);
|
||||
}
|
||||
|
||||
// Reading byte[] clears body. Need to recreate.
|
||||
|
|
|
@ -85,7 +85,7 @@ public class HTMLClientLogger extends BaseLogger implements ToolingClientLogger
|
|||
}
|
||||
|
||||
@Override
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body) {
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body, long start) {
|
||||
if (DEBUG) {
|
||||
System.out.println(" txlog resp: " + outcome + " " + present(body));
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ public class TextClientLogger extends BaseLogger implements ToolingClientLogger
|
|||
}
|
||||
|
||||
@Override
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body) {
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body, long start) {
|
||||
if (file == null)
|
||||
return;
|
||||
file.println("\r\n\r\nResponse: \r\n");
|
||||
|
|
|
@ -59,7 +59,7 @@ public class FhirLoggingInterceptor implements Interceptor {
|
|||
headerMap.keySet().forEach(key -> headerMap.get(key).forEach(value -> headerList.add(key + ":" + value)));
|
||||
|
||||
if (logger != null) {
|
||||
logger.logResponse(Integer.toString(response.code()), headerList, bodyBytes);
|
||||
logger.logResponse(Integer.toString(response.code()), headerList, bodyBytes, 0);
|
||||
}
|
||||
|
||||
// Reading byte[] clears body. Need to recreate.
|
||||
|
|
|
@ -134,6 +134,6 @@ class ClientTest {
|
|||
server.takeRequest();
|
||||
Mockito.verify(mockLogger, Mockito.times(1)).logRequest(Mockito.anyString(), Mockito.anyString(), Mockito.anyList(),
|
||||
Mockito.any());
|
||||
Mockito.verify(mockLogger, Mockito.times(1)).logResponse(Mockito.anyString(), Mockito.anyList(), Mockito.any());
|
||||
Mockito.verify(mockLogger, Mockito.times(1)).logResponse(Mockito.anyString(), Mockito.anyList(), Mockito.any(), Mockito.anyLong());
|
||||
}
|
||||
}
|
|
@ -1303,6 +1303,9 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
|
|||
// ok, first we try to validate locally
|
||||
try {
|
||||
ValueSetValidator vsc = constructValueSetCheckerSimple(options, vs, ctxt);
|
||||
if (vsc.getOpContext() != null) {
|
||||
vsc.getOpContext().note("Validate "+code.toString()+" @ "+path+" against "+(vs == null ? "null" : vs.getVersionedUrl()));
|
||||
}
|
||||
vsc.setUnknownSystems(unknownSystems);
|
||||
vsc.setThrowToServer(options.isUseServer() && terminologyClientManager.hasClient());
|
||||
if (!ValueSetUtilities.isServerSide(code.getSystem())) {
|
||||
|
@ -1328,7 +1331,7 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
|
|||
issues.add(iss);
|
||||
return new ValidationResult(IssueSeverity.FATAL, e.getMessage(), e.getError(), issues);
|
||||
} catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
e.printStackTrace();
|
||||
localError = e.getMessage();
|
||||
}
|
||||
}
|
||||
|
@ -1643,7 +1646,11 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
|
|||
Parameters pIn = constructParameters(options, code);
|
||||
res = validateOnServer(tc, vs, pIn, options);
|
||||
} catch (Exception e) {
|
||||
res = new ValidationResult(IssueSeverity.ERROR, e.getMessage() == null ? e.getClass().getName() : e.getMessage(), null).setTxLink(txLog == null ? null : txLog.getLastId());
|
||||
issues.clear();
|
||||
OperationOutcomeIssueComponent iss = new OperationOutcomeIssueComponent(org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity.ERROR, org.hl7.fhir.r5.model.OperationOutcome.IssueType.EXCEPTION);
|
||||
iss.getDetails().setText(e.getMessage());
|
||||
issues.add(iss);
|
||||
res = new ValidationResult(IssueSeverity.ERROR, e.getMessage() == null ? e.getClass().getName() : e.getMessage(), issues).setTxLink(txLog == null ? null : txLog.getLastId()).setErrorClass(TerminologyServiceErrorClass.SERVER_ERROR);
|
||||
}
|
||||
if (cachingAllowed) {
|
||||
txCache.cacheValidation(cacheToken, res, TerminologyCache.PERMANENT);
|
||||
|
@ -1779,6 +1786,7 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
|
|||
if (options.isDisplayWarningMode()) {
|
||||
pin.addParameter("mode","lenient-display-validation");
|
||||
}
|
||||
pin.addParameter("diagnostics", true);
|
||||
}
|
||||
|
||||
private boolean addDependentResources(TerminologyClientContext tc, Parameters pin, ValueSet vs) {
|
||||
|
|
|
@ -87,7 +87,7 @@ public class HTMLClientLogger extends BaseLogger implements ToolingClientLogger
|
|||
}
|
||||
|
||||
@Override
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body) {
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body, long start) {
|
||||
if (DEBUG) {
|
||||
System.out.println(" txlog resp: " +outcome+" "+present(body));
|
||||
}
|
||||
|
|
|
@ -76,10 +76,10 @@ public class TextClientLogger extends BaseLogger implements ToolingClientLogger
|
|||
}
|
||||
|
||||
@Override
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body) {
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body, long length) {
|
||||
if (file == null)
|
||||
return;
|
||||
file.println("\r\n\r\nResponse: \r\n");
|
||||
file.println("\r\n\r\nResponse ("+Utilities.describeDuration(length)+"): \r\n");
|
||||
file.println(outcome);
|
||||
for (String s : headers)
|
||||
file.println(s);
|
||||
|
|
|
@ -51,6 +51,8 @@ public class TerminologyClientContext {
|
|||
|
||||
}
|
||||
|
||||
private static boolean canUseCacheId;
|
||||
|
||||
private ITerminologyClient client;
|
||||
private boolean initialised = false;
|
||||
private CapabilityStatement capabilitiesStatementQuick;
|
||||
|
@ -180,7 +182,7 @@ public class TerminologyClientContext {
|
|||
txCache.cacheTerminologyCapabilities(getAddress(), txcaps);
|
||||
}
|
||||
}
|
||||
if (txcaps != null) {
|
||||
if (txcaps != null && TerminologyClientContext.canUseCacheId) {
|
||||
for (TerminologyCapabilitiesExpansionParameterComponent t : txcaps.getExpansion().getParameter()) {
|
||||
if ("cache-id".equals(t.getName())) {
|
||||
setTxCaching(true);
|
||||
|
@ -207,5 +209,12 @@ public class TerminologyClientContext {
|
|||
return client.getAddress();
|
||||
}
|
||||
|
||||
public static boolean isCanUseCacheId() {
|
||||
return canUseCacheId;
|
||||
}
|
||||
|
||||
public static void setCanUseCacheId(boolean canUseCacheId) {
|
||||
TerminologyClientContext.canUseCacheId = canUseCacheId;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -188,7 +188,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
private ValueSetExpansionContainsComponent addCode(WorkingContext wc, String system, String code, String display, String dispLang, ValueSetExpansionContainsComponent parent, List<ConceptDefinitionDesignationComponent> designations, Parameters expParams,
|
||||
boolean isAbstract, boolean inactive, List<ValueSet> filters, boolean noInactive, boolean deprecated, List<ValueSetExpansionPropertyComponent> vsProp,
|
||||
List<ConceptPropertyComponent> csProps, CodeSystem cs, List<org.hl7.fhir.r5.model.ValueSet.ConceptPropertyComponent> expProps, List<Extension> csExtList, List<Extension> vsExtList, ValueSetExpansionComponent exp) throws ETooCostly {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("addCode"+code);
|
||||
|
||||
if (filters != null && !filters.isEmpty() && !filterContainsCode(filters, system, code, exp))
|
||||
return null;
|
||||
|
@ -447,7 +447,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
private void addCodeAndDescendents(WorkingContext wc, ValueSetExpansionContainsComponent focus, ValueSetExpansionContainsComponent parent, Parameters expParams, List<ValueSet> filters, boolean noInactive, List<ValueSetExpansionPropertyComponent> vsProps, ValueSet vsSrc, ValueSetExpansionComponent exp) throws FHIRException, ETooCostly {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("addCodeAndDescendents");
|
||||
focus.checkNoModifiers("Expansion.contains", "expanding");
|
||||
ValueSetExpansionContainsComponent np = null;
|
||||
for (String code : getCodesForConcept(focus, expParams)) {
|
||||
|
@ -497,7 +497,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
|
||||
private void addCodeAndDescendents(WorkingContext wc, CodeSystem cs, String system, ConceptDefinitionComponent def, ValueSetExpansionContainsComponent parent, Parameters expParams, List<ValueSet> filters,
|
||||
ConceptDefinitionComponent exclusion, ConceptFilter filterFunc, boolean noInactive, List<ValueSetExpansionPropertyComponent> vsProps, List<WorkingContext> otherFilters, ValueSetExpansionComponent exp) throws FHIRException, ETooCostly {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("addCodeAndDescendents");
|
||||
def.checkNoModifiers("Code in Code System", "expanding");
|
||||
if (exclusion != null) {
|
||||
if (exclusion.getCode().equals(def.getCode()))
|
||||
|
@ -528,7 +528,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
|
||||
private void excludeCodeAndDescendents(WorkingContext wc, CodeSystem cs, String system, ConceptDefinitionComponent def, Parameters expParams, List<ValueSet> filters,
|
||||
ConceptDefinitionComponent exclusion, ConceptFilter filterFunc, List<WorkingContext> otherFilters, ValueSetExpansionComponent exp) throws FHIRException, ETooCostly {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("excludeCodeAndDescendents");
|
||||
def.checkNoModifiers("Code in Code System", "expanding");
|
||||
if (exclusion != null) {
|
||||
if (exclusion.getCode().equals(def.getCode()))
|
||||
|
@ -596,7 +596,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
private void excludeCodes(WorkingContext wc, ConceptSetComponent exc, Parameters expParams, ValueSetExpansionComponent exp, ValueSet vs) throws FHIRException, FileNotFoundException, ETooCostly, IOException {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("excludeCodes");
|
||||
exc.checkNoModifiers("Compose.exclude", "expanding");
|
||||
if (exc.hasSystem() && exc.getConcept().size() == 0 && exc.getFilter().size() == 0) {
|
||||
wc.getExcludeSystems().add(exc.getSystem());
|
||||
|
@ -639,7 +639,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
private void excludeCodes(WorkingContext wc, ValueSetExpansionComponent expand) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("excludeCodes");
|
||||
for (ValueSetExpansionContainsComponent c : expand.getContains()) {
|
||||
excludeCode(wc, c.getSystem(), c.getCode());
|
||||
}
|
||||
|
@ -959,7 +959,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
public void copyExpansion(WorkingContext wc,List<ValueSetExpansionContainsComponent> list) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("copyExpansion");
|
||||
for (ValueSetExpansionContainsComponent cc : list) {
|
||||
ValueSetExpansionContainsComponent n = new ValueSet.ValueSetExpansionContainsComponent();
|
||||
n.setSystem(cc.getSystem());
|
||||
|
@ -988,7 +988,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
|
||||
private int copyImportContains(List<ValueSetExpansionContainsComponent> list, ValueSetExpansionContainsComponent parent, Parameters expParams, List<ValueSet> filter, boolean noInactive, List<ValueSetExpansionPropertyComponent> vsProps, ValueSet vsSrc, ValueSetExpansionComponent exp) throws FHIRException, ETooCostly {
|
||||
int count = 0;
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("copyImportContains");
|
||||
for (ValueSetExpansionContainsComponent c : list) {
|
||||
c.checkNoModifiers("Imported Expansion in Code System", "expanding");
|
||||
ValueSetExpansionContainsComponent np = addCode(dwc, c.getSystem(), c.getCode(), c.getDisplay(), vsSrc.getLanguage(), parent, null, expParams, c.getAbstract(), c.getInactive(),
|
||||
|
@ -1002,7 +1002,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
private void includeCodes(ConceptSetComponent inc, ValueSetExpansionComponent exp, Parameters expParams, boolean heirarchical, boolean noInactive, List<Extension> extensions, ValueSet valueSet) throws ETooCostly, FileNotFoundException, IOException, FHIRException, CodeSystemProviderExtension {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("includeCodes");
|
||||
inc.checkNoModifiers("Compose.include", "expanding");
|
||||
List<ValueSet> imports = new ArrayList<ValueSet>();
|
||||
for (CanonicalType imp : inc.getValueSet()) {
|
||||
|
@ -1033,7 +1033,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
private void doServerIncludeCodes(ConceptSetComponent inc, boolean heirarchical, ValueSetExpansionComponent exp, List<ValueSet> imports, Parameters expParams, List<Extension> extensions, boolean noInactive, List<ValueSetExpansionPropertyComponent> vsProps) throws FHIRException, CodeSystemProviderExtension, ETooCostly {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("doServerIncludeCodes");
|
||||
CodeSystemProvider csp = CodeSystemProvider.factory(inc.getSystem());
|
||||
if (csp != null) {
|
||||
csp.includeCodes(inc, heirarchical, exp, imports, expParams, extensions, noInactive, vsProps);
|
||||
|
@ -1075,7 +1075,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
|
||||
|
||||
public void doInternalIncludeCodes(ConceptSetComponent inc, ValueSetExpansionComponent exp, Parameters expParams, List<ValueSet> imports, CodeSystem cs, boolean noInactive, Resource vsSrc) throws NoTerminologyServiceException, TerminologyServiceException, FHIRException, ETooCostly {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("doInternalIncludeCodes");
|
||||
if (cs == null) {
|
||||
if (context.isNoTerminologyServer())
|
||||
throw failTSE("Unable to find code system " + inc.getSystem().toString());
|
||||
|
@ -1160,7 +1160,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
private void processFilter(ConceptSetComponent inc, ValueSetExpansionComponent exp, Parameters expParams, List<ValueSet> imports, CodeSystem cs, boolean noInactive,
|
||||
ConceptSetFilterComponent fc, WorkingContext wc, List<WorkingContext> filters, boolean exclude)
|
||||
throws ETooCostly {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("processFilter");
|
||||
if ("concept".equals(fc.getProperty()) && fc.getOp() == FilterOperator.ISA) {
|
||||
// special: all codes in the target code system under the value
|
||||
ConceptDefinitionComponent def = getConceptForCode(cs.getConcept(), fc.getValue());
|
||||
|
@ -1213,7 +1213,7 @@ public class ValueSetExpander extends ValueSetProcessBase {
|
|||
if (isNotBlank(def.getDisplay()) && isNotBlank(fc.getValue())) {
|
||||
if (def.getDisplay().contains(fc.getValue()) && passesOtherFilters(filters, cs, def.getCode())) {
|
||||
for (String code : getCodesForConcept(def, expParams)) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("processFilter2");
|
||||
if (exclude) {
|
||||
excludeCode(wc, inc.getSystem(), code);
|
||||
} else {
|
||||
|
|
|
@ -302,13 +302,16 @@ public class TerminologyCache {
|
|||
this.lock = lock;
|
||||
if (folder == null) {
|
||||
folder = Utilities.path("[tmp]", "default-tx-cache");
|
||||
} else if ("n/a".equals(folder)) {
|
||||
// this is a weird way to do things but it maintains the legacy interface
|
||||
folder = null;
|
||||
}
|
||||
this.folder = folder;
|
||||
requestCount = 0;
|
||||
hitCount = 0;
|
||||
networkCount = 0;
|
||||
|
||||
|
||||
if (folder != null) {
|
||||
File f = ManagedFileAccess.file(folder);
|
||||
if (!f.exists()) {
|
||||
Utilities.createDirectory(folder);
|
||||
|
@ -319,6 +322,7 @@ public class TerminologyCache {
|
|||
checkVersion();
|
||||
load();
|
||||
}
|
||||
}
|
||||
|
||||
private void checkVersion() throws IOException {
|
||||
File verFile = ManagedFileAccess.file(Utilities.path(folder, "version.ctl"));
|
||||
|
@ -361,7 +365,9 @@ public class TerminologyCache {
|
|||
}
|
||||
|
||||
private void clear() throws IOException {
|
||||
if (folder != null) {
|
||||
Utilities.clearDirectory(folder);
|
||||
}
|
||||
caches.clear();
|
||||
vsCache.clear();
|
||||
csCache.clear();
|
||||
|
@ -1039,7 +1045,7 @@ public class TerminologyCache {
|
|||
|
||||
public SourcedValueSet getValueSet(String canonical) {
|
||||
SourcedValueSetEntry sp = vsCache.get(canonical);
|
||||
if (sp == null) {
|
||||
if (sp == null || folder == null) {
|
||||
return null;
|
||||
} else {
|
||||
try {
|
||||
|
@ -1052,7 +1058,7 @@ public class TerminologyCache {
|
|||
|
||||
public SourcedCodeSystem getCodeSystem(String canonical) {
|
||||
SourcedCodeSystemEntry sp = csCache.get(canonical);
|
||||
if (sp == null) {
|
||||
if (sp == null || folder == null) {
|
||||
return null;
|
||||
} else {
|
||||
try {
|
||||
|
@ -1073,7 +1079,9 @@ public class TerminologyCache {
|
|||
} else {
|
||||
String uuid = Utilities.makeUuidLC();
|
||||
String fn = "vs-"+uuid+".json";
|
||||
if (folder != null) {
|
||||
new JsonParser().compose(ManagedFileAccess.outStream(Utilities.path(folder, fn)), svs.getVs());
|
||||
}
|
||||
vsCache.put(canonical, new SourcedValueSetEntry(svs.getServer(), fn));
|
||||
}
|
||||
org.hl7.fhir.utilities.json.model.JsonObject j = new org.hl7.fhir.utilities.json.model.JsonObject();
|
||||
|
@ -1090,7 +1098,9 @@ public class TerminologyCache {
|
|||
j.add(k, e);
|
||||
}
|
||||
}
|
||||
if (folder != null) {
|
||||
org.hl7.fhir.utilities.json.parser.JsonParser.compose(j, ManagedFileAccess.file(Utilities.path(folder, "vs-externals.json")), true);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -1106,7 +1116,9 @@ public class TerminologyCache {
|
|||
} else {
|
||||
String uuid = Utilities.makeUuidLC();
|
||||
String fn = "cs-"+uuid+".json";
|
||||
if (folder != null) {
|
||||
new JsonParser().compose(ManagedFileAccess.outStream(Utilities.path(folder, fn)), scs.getCs());
|
||||
}
|
||||
csCache.put(canonical, new SourcedCodeSystemEntry(scs.getServer(), fn));
|
||||
}
|
||||
org.hl7.fhir.utilities.json.model.JsonObject j = new org.hl7.fhir.utilities.json.model.JsonObject();
|
||||
|
@ -1123,7 +1135,9 @@ public class TerminologyCache {
|
|||
j.add(k, e);
|
||||
}
|
||||
}
|
||||
if (folder != null) {
|
||||
org.hl7.fhir.utilities.json.parser.JsonParser.compose(j, ManagedFileAccess.file(Utilities.path(folder, "cs-externals.json")), true);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import org.hl7.fhir.exceptions.TerminologyServiceException;
|
|||
import org.hl7.fhir.r5.context.IWorkerContext;
|
||||
import org.hl7.fhir.r5.model.OperationOutcome.IssueType;
|
||||
import org.hl7.fhir.r5.terminologies.utilities.TerminologyOperationContext.TerminologyServiceProtectionException;
|
||||
import org.hl7.fhir.utilities.Utilities;
|
||||
import org.hl7.fhir.utilities.i18n.I18nConstants;
|
||||
import org.hl7.fhir.utilities.validation.ValidationOptions;
|
||||
|
||||
|
@ -38,11 +39,14 @@ public class TerminologyOperationContext {
|
|||
public static boolean debugging = java.lang.management.ManagementFactory.getRuntimeMXBean().getInputArguments().toString().indexOf("-agentlib:jdwp") > 0;
|
||||
private static final int EXPANSION_DEAD_TIME_SECS = 60;
|
||||
private long deadTime;
|
||||
private int nestCount = 0;
|
||||
private long startTime;
|
||||
private List<String> contexts = new ArrayList<>();
|
||||
private IWorkerContext worker;
|
||||
private boolean original;
|
||||
private ValidationOptions options;
|
||||
private String name;
|
||||
private List<String> notes = new ArrayList<>();
|
||||
|
||||
public TerminologyOperationContext(IWorkerContext worker, ValidationOptions options, String name) {
|
||||
super();
|
||||
|
@ -50,6 +54,7 @@ public class TerminologyOperationContext {
|
|||
this.original = true;
|
||||
this.options = options;
|
||||
this.name = name;
|
||||
this.startTime = System.currentTimeMillis();
|
||||
|
||||
if (EXPANSION_DEAD_TIME_SECS == 0 || debugging) {
|
||||
deadTime = 0;
|
||||
|
@ -62,6 +67,7 @@ public class TerminologyOperationContext {
|
|||
super();
|
||||
this.options = options;
|
||||
this.name = name;
|
||||
this.startTime = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public TerminologyOperationContext copy() {
|
||||
|
@ -69,12 +75,21 @@ public class TerminologyOperationContext {
|
|||
ret.worker = worker;
|
||||
ret.contexts.addAll(contexts);
|
||||
ret.deadTime = deadTime;
|
||||
ret.notes = notes;
|
||||
ret.startTime = startTime;
|
||||
ret.nestCount = nestCount + 1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
public void deadCheck() {
|
||||
public void deadCheck(String note) {
|
||||
note(note);
|
||||
if (deadTime != 0 && System.currentTimeMillis() > deadTime) {
|
||||
throw new TerminologyServiceProtectionException(worker.formatMessage(I18nConstants.VALUESET_TOO_COSTLY_TIME, contexts.get(0), EXPANSION_DEAD_TIME_SECS, name), TerminologyServiceErrorClass.TOO_COSTLY, IssueType.TOOCOSTLY);
|
||||
System.out.println();
|
||||
System.out.println("Operation took too long - longer than "+(deadTime - startTime)+"ms");
|
||||
for (String s : notes) {
|
||||
System.out.println(s);
|
||||
}
|
||||
throw new TerminologyServiceProtectionException(worker.formatMessage(I18nConstants.VALUESET_TOO_COSTLY_TIME, contexts.get(0), EXPANSION_DEAD_TIME_SECS, name+" (local)"), TerminologyServiceErrorClass.TOO_COSTLY, IssueType.TOOCOSTLY);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,5 +108,8 @@ public class TerminologyOperationContext {
|
|||
return options;
|
||||
}
|
||||
|
||||
|
||||
public void note(String s) {
|
||||
s = Utilities.padLeft("", ' ', nestCount)+" "+(System.currentTimeMillis() - startTime)+" "+s;
|
||||
notes.add(s);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -230,6 +230,10 @@ public class ValueSetProcessBase {
|
|||
}
|
||||
}
|
||||
|
||||
public TerminologyOperationContext getOpContext() {
|
||||
return opContext;
|
||||
}
|
||||
|
||||
|
||||
protected AlternateCodesProcessingRules altCodeParams = new AlternateCodesProcessingRules(false);
|
||||
protected AlternateCodesProcessingRules allAltCodes = new AlternateCodesProcessingRules(true);
|
||||
|
|
|
@ -175,11 +175,15 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
private void analyseValueSet() {
|
||||
opContext.note("analyse");
|
||||
if (valueset != null) {
|
||||
opContext.note("vs = "+valueset.getVersionedUrl());
|
||||
opContext.seeContext(valueset.getVersionedUrl());
|
||||
for (Extension s : valueset.getExtensionsByUrl(ExtensionConstants.EXT_VSSUPPLEMENT)) {
|
||||
requiredSupplements.add(s.getValue().primitiveValue());
|
||||
}
|
||||
} else {
|
||||
opContext.note("vs = null");
|
||||
}
|
||||
|
||||
altCodeParams.seeParameters(expansionProfile);
|
||||
|
@ -187,17 +191,18 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
if (localContext != null) {
|
||||
if (valueset != null) {
|
||||
for (ConceptSetComponent i : valueset.getCompose().getInclude()) {
|
||||
analyseComponent(i);
|
||||
analyseComponent(i, "inc"+i);
|
||||
}
|
||||
for (ConceptSetComponent i : valueset.getCompose().getExclude()) {
|
||||
analyseComponent(i);
|
||||
analyseComponent(i, "exc"+i);
|
||||
}
|
||||
}
|
||||
}
|
||||
opContext.note("analysed");
|
||||
}
|
||||
|
||||
private void analyseComponent(ConceptSetComponent i) {
|
||||
opContext.deadCheck();
|
||||
private void analyseComponent(ConceptSetComponent i, String name) {
|
||||
opContext.deadCheck("analyse Component "+name);
|
||||
if (i.getSystemElement().hasExtension(ToolingExtensions.EXT_VALUESET_SYSTEM)) {
|
||||
String ref = i.getSystemElement().getExtensionString(ToolingExtensions.EXT_VALUESET_SYSTEM);
|
||||
if (ref.startsWith("#")) {
|
||||
|
@ -219,12 +224,16 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
public ValidationResult validateCode(String path, CodeableConcept code) throws FHIRException {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("validate "+code.toString());
|
||||
checkValueSetOptions();
|
||||
|
||||
// first, we validate the codings themselves
|
||||
ValidationProcessInfo info = new ValidationProcessInfo();
|
||||
|
||||
if (throwToServer) {
|
||||
checkValueSetLoad(info);
|
||||
}
|
||||
|
||||
CodeableConcept vcc = new CodeableConcept();
|
||||
List<ValidationResult> resList = new ArrayList<>();
|
||||
|
||||
|
@ -395,6 +404,45 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
}
|
||||
}
|
||||
|
||||
private void checkValueSetLoad(ValidationProcessInfo info) {
|
||||
int serverCount = getServerLoad(info);
|
||||
// There's a trade off here: if we're going to hit the server inside the components, then
|
||||
// the amount of value set collateral we send is limited, but we pay the price of hitting
|
||||
// the server multiple times. If, on the other hand, we give up on that, and hit the server
|
||||
// directly, we have to send value set collateral (though we cache at the higher level)
|
||||
//
|
||||
// the cutoff value is chosen experimentally
|
||||
if (serverCount > 2) {
|
||||
throw new VSCheckerException("This value set is better processed on the server for performance reasons", null, true);
|
||||
}
|
||||
}
|
||||
|
||||
private int getServerLoad(ValidationProcessInfo info) {
|
||||
int serverCount = 0;
|
||||
if (valueset != null) {
|
||||
for (ConceptSetComponent inc : valueset.getCompose().getInclude()) {
|
||||
serverCount = serverCount + checkValueSetLoad(inc, info);
|
||||
}
|
||||
for (ConceptSetComponent inc : valueset.getCompose().getExclude()) {
|
||||
serverCount = serverCount + checkValueSetLoad(inc, info);
|
||||
}
|
||||
}
|
||||
return serverCount;
|
||||
}
|
||||
|
||||
private int checkValueSetLoad(ConceptSetComponent inc, ValidationProcessInfo info) {
|
||||
int serverCount = 0;
|
||||
for (UriType uri : inc.getValueSet()) {
|
||||
ValueSetValidator vsv = getVs(uri.getValue(), info);
|
||||
serverCount += vsv.getServerLoad(info);
|
||||
}
|
||||
CodeSystem cs = resolveCodeSystem(inc.getSystem(), inc.getVersion());
|
||||
if (cs == null || (cs.getContent() != CodeSystemContentMode.COMPLETE && cs.getContent() != CodeSystemContentMode.FRAGMENT)) {
|
||||
serverCount++;
|
||||
}
|
||||
return serverCount;
|
||||
}
|
||||
|
||||
private boolean checkRequiredSupplements(ValidationProcessInfo info) {
|
||||
if (!requiredSupplements.isEmpty()) {
|
||||
String msg= context.formatMessagePlural(requiredSupplements.size(), I18nConstants.VALUESET_SUPPLEMENT_MISSING, CommaSeparatedStringBuilder.build(requiredSupplements));
|
||||
|
@ -466,7 +514,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
public ValidationResult validateCode(String path, Coding code) throws FHIRException {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("validate "+code.toString());
|
||||
checkValueSetOptions();
|
||||
|
||||
String warningMessage = null;
|
||||
|
@ -798,7 +846,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
|
||||
private ValidationResult findCodeInExpansion(Coding code, List<ValueSetExpansionContainsComponent> contains) {
|
||||
for (ValueSetExpansionContainsComponent containsComponent: contains) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("findCodeInExpansion");
|
||||
if (containsComponent.getSystem().equals(code.getSystem()) && containsComponent.getCode().equals(code.getCode())) {
|
||||
ConceptDefinitionComponent ccd = new ConceptDefinitionComponent();
|
||||
ccd.setCode(containsComponent.getCode());
|
||||
|
@ -825,7 +873,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
|
||||
private boolean checkExpansion(Coding code, List<ValueSetExpansionContainsComponent> contains, VersionInfo vi) {
|
||||
for (ValueSetExpansionContainsComponent containsComponent: contains) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("checkExpansion: "+code.toString());
|
||||
if (containsComponent.hasSystem() && containsComponent.hasCode() && containsComponent.getSystem().equals(code.getSystem()) && containsComponent.getCode().equals(code.getCode())) {
|
||||
vi.setExpansionVersion(containsComponent.getVersion());
|
||||
return true;
|
||||
|
@ -882,7 +930,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
for (ConceptDefinitionDesignationComponent ds : cc.getDesignation()) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("validateCode1 "+ds.toString());
|
||||
if (isOkLanguage(ds.getLanguage())) {
|
||||
b.append("'"+ds.getValue()+"' ("+ds.getLanguage()+")");
|
||||
if (code.getDisplay().equalsIgnoreCase(ds.getValue())) {
|
||||
|
@ -904,7 +952,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
}
|
||||
}
|
||||
for (ConceptReferenceDesignationComponent ds : vs.getCc().getDesignation()) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("validateCode2 "+ds.toString());
|
||||
if (isOkLanguage(ds.getLanguage())) {
|
||||
b.append("'"+ds.getValue()+"'");
|
||||
if (code.getDisplay().equalsIgnoreCase(ds.getValue())) {
|
||||
|
@ -1009,7 +1057,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
return null;
|
||||
// if it has an expansion
|
||||
for (ValueSetExpansionContainsComponent exp : valueset.getExpansion().getContains()) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("findValueSetRef "+exp.toString());
|
||||
if (system.equals(exp.getSystem()) && code.equals(exp.getCode())) {
|
||||
ConceptReferenceComponent cc = new ConceptReferenceComponent();
|
||||
cc.setDisplay(exp.getDisplay());
|
||||
|
@ -1048,7 +1096,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
private ConceptDefinitionComponent findCodeInConcept(ConceptDefinitionComponent concept, String code, boolean caseSensitive, AlternateCodesProcessingRules altCodeRules) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("findCodeInConcept: "+code.toString()+", "+concept.toString());
|
||||
if (code.equals(concept.getCode())) {
|
||||
return concept;
|
||||
}
|
||||
|
@ -1121,7 +1169,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
|
||||
int i = 0;
|
||||
for (ConceptSetComponent vsi : valueset.getCompose().getInclude()) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("scanForCodeInValueSet: "+code.toString());
|
||||
if (scanForCodeInValueSetInclude(code, sys, problems, i, vsi)) {
|
||||
return true;
|
||||
}
|
||||
|
@ -1241,7 +1289,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
*/
|
||||
private boolean checkSystems(List<ValueSetExpansionContainsComponent> contains, String code, Set<String> systems, List<StringWithCode> problems) {
|
||||
for (ValueSetExpansionContainsComponent c: contains) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("checkSystems "+code.toString());
|
||||
if (c.getCode().equals(code)) {
|
||||
systems.add(c.getSystem());
|
||||
}
|
||||
|
@ -1255,7 +1303,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
if (valueset == null) {
|
||||
return null;
|
||||
}
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("codeInValueSet: "+system+"#"+code);
|
||||
checkCanonical(info.getIssues(), path, valueset, valueset);
|
||||
Boolean result = false;
|
||||
VersionInfo vi = new VersionInfo(this);
|
||||
|
@ -1290,7 +1338,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
private Boolean inComponent(String path, ConceptSetComponent vsi, int vsiIndex, String system, String version, String code, boolean only, ValidationProcessInfo info) throws FHIRException {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("inComponent "+vsiIndex);
|
||||
boolean ok = true;
|
||||
|
||||
if (vsi.hasValueSet()) {
|
||||
|
@ -1339,6 +1387,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
vs.setUrl(valueset.getUrl()+"--"+vsiIndex);
|
||||
vs.setVersion(valueset.getVersion());
|
||||
vs.getCompose().addInclude(vsi);
|
||||
opContext.deadCheck("hit server "+vs.getVersionedUrl());
|
||||
ValidationResult res = context.validateCode(options.withNoClient(), new Coding(system, code, null), vs);
|
||||
if (res.getErrorClass() == TerminologyServiceErrorClass.UNKNOWN || res.getErrorClass() == TerminologyServiceErrorClass.CODESYSTEM_UNSUPPORTED || res.getErrorClass() == TerminologyServiceErrorClass.VALUESET_UNSUPPORTED) {
|
||||
if (info != null && res.getErrorClass() == TerminologyServiceErrorClass.CODESYSTEM_UNSUPPORTED) {
|
||||
|
@ -1348,16 +1397,20 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
info.addIssue(makeIssue(IssueSeverity.WARNING, IssueType.UNKNOWN, path, msg, OpIssueCode.NotFound, null));
|
||||
for (ConceptReferenceComponent cc : vsi.getConcept()) {
|
||||
if (cc.getCode().equals(code)) {
|
||||
opContext.deadCheck("server true");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
info.setErr(TerminologyServiceErrorClass.CODESYSTEM_UNSUPPORTED);
|
||||
opContext.deadCheck("server codesystem unsupported");
|
||||
return null;
|
||||
}
|
||||
opContext.deadCheck("server not found");
|
||||
return false;
|
||||
}
|
||||
if (res.getErrorClass() == TerminologyServiceErrorClass.NOSERVICE) {
|
||||
opContext.deadCheck("server no server");
|
||||
throw new NoTerminologyServiceException();
|
||||
}
|
||||
return res.isOk();
|
||||
|
@ -1538,7 +1591,7 @@ public class ValueSetValidator extends ValueSetProcessBase {
|
|||
}
|
||||
|
||||
public boolean validateCodeInConceptList(String code, CodeSystem def, List<ConceptDefinitionComponent> list, AlternateCodesProcessingRules altCodeRules) {
|
||||
opContext.deadCheck();
|
||||
opContext.deadCheck("validateCodeInConceptList");
|
||||
if (def.hasUserData("tx.cs.special")) {
|
||||
return ((SpecialCodeSystem) def.getUserData("tx.cs.special")).findConcept(new Coding().setCode(code)) != null;
|
||||
} else if (def.getCaseSensitive()) {
|
||||
|
|
|
@ -59,7 +59,8 @@ public class FhirLoggingInterceptor implements Interceptor {
|
|||
headerMap.keySet().forEach(key -> headerMap.get(key).forEach(value -> headerList.add(key + ":" + value)));
|
||||
|
||||
if (logger != null) {
|
||||
logger.logResponse(Integer.toString(response.code()), headerList, bodyBytes);
|
||||
long responseTimeInMillis = response.receivedResponseAtMillis() - response.sentRequestAtMillis();
|
||||
logger.logResponse(Integer.toString(response.code()), headerList, bodyBytes, responseTimeInMillis);
|
||||
}
|
||||
|
||||
// Reading byte[] clears body. Need to recreate.
|
||||
|
|
|
@ -75,14 +75,14 @@ public class XmlLocationAnnotator extends XMLFilterImpl {
|
|||
|
||||
@Override
|
||||
public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException {
|
||||
if (!name.equals("http://javax.xml.xmlconstants/property/accessExternalDTD")) {
|
||||
if (!name.equals("http://javax.xml.XMLConstants/property/accessExternalDTD")) {
|
||||
super.setProperty(name, value);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException {
|
||||
if (!name.equals("http://javax.xml.xmlconstants/property/accessExternalDTD")) {
|
||||
if (!name.equals("http://javax.xml.XMLConstants/property/accessExternalDTD")) {
|
||||
return null;
|
||||
} else {
|
||||
return super.getProperty(name);
|
||||
|
|
|
@ -13,6 +13,7 @@ import org.hl7.fhir.r5.utils.validation.IResourceValidator;
|
|||
import org.hl7.fhir.r5.utils.validation.ValidationContextCarrier;
|
||||
import org.hl7.fhir.utilities.FhirPublication;
|
||||
import org.hl7.fhir.utilities.ToolingClientLogger;
|
||||
import org.hl7.fhir.utilities.Utilities;
|
||||
import org.hl7.fhir.utilities.npm.BasePackageCacheManager;
|
||||
import org.hl7.fhir.utilities.npm.NpmPackage;
|
||||
import org.hl7.fhir.utilities.validation.ValidationMessage;
|
||||
|
@ -341,6 +342,7 @@ public class BaseWorkerContextTests {
|
|||
public void testValidateCodingWithValueSetChecker() throws IOException {
|
||||
ValidationOptions validationOptions = new ValidationOptions(FhirPublication.R5).withGuessSystem().withVersionFlexible(false);
|
||||
ValueSet valueSet = new ValueSet();
|
||||
valueSet.setUrl(Utilities.makeUuidUrn());
|
||||
Coding coding = new Coding();
|
||||
|
||||
Mockito.doReturn(cacheToken).when(terminologyCache).generateValidationToken(validationOptions, coding, valueSet, expParameters);
|
||||
|
|
|
@ -172,6 +172,6 @@ class ClientTest {
|
|||
Mockito.verify(mockLogger, Mockito.times(1))
|
||||
.logRequest(Mockito.anyString(), Mockito.anyString(), Mockito.anyList(), Mockito.any());
|
||||
Mockito.verify(mockLogger, Mockito.times(1))
|
||||
.logResponse(Mockito.anyString(), Mockito.anyList(), Mockito.any());
|
||||
.logResponse(Mockito.anyString(), Mockito.anyList(), Mockito.any(), Mockito.anyLong());
|
||||
}
|
||||
}
|
|
@ -36,7 +36,7 @@ import java.util.List;
|
|||
public interface ToolingClientLogger {
|
||||
|
||||
void logRequest(String method, String url, List<String> headers, byte[] body);
|
||||
void logResponse(String outcome, List<String> headers, byte[] body);
|
||||
void logResponse(String outcome, List<String> headers, byte[] body, long length);
|
||||
String getLastId();
|
||||
void clearLastId();
|
||||
|
||||
|
|
|
@ -64,9 +64,9 @@ public class ManagedWebAccess {
|
|||
}
|
||||
|
||||
public enum WebAccessPolicy {
|
||||
DIRECT, // open access to the local file system, though access can be restricted only to files under the paths in AllowedPaths
|
||||
MANAGED, // no access except by the FileSystemProxyProvider
|
||||
PROHIBITED, // no access at all to File() services
|
||||
DIRECT, // open access to the web, though access can be restricted only to domains in AllowedDomains
|
||||
MANAGED, // no access except by the IWebAccessor
|
||||
PROHIBITED, // no access at all to the web
|
||||
}
|
||||
|
||||
private static WebAccessPolicy accessPolicy = WebAccessPolicy.DIRECT; // for legacy reasons
|
||||
|
|
|
@ -33,7 +33,7 @@ public class CacheVerificationLogger implements ToolingClientLogger {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body) {
|
||||
public void logResponse(String outcome, List<String> headers, byte[] body, long start) {
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -529,14 +529,18 @@ public class ValidationService {
|
|||
}
|
||||
|
||||
@Nonnull
|
||||
protected ValidationEngine buildValidationEngine( CliContext cliContext, String definitions, TimeTracker timeTracker) throws IOException, URISyntaxException {
|
||||
protected ValidationEngine buildValidationEngine(CliContext cliContext, String definitions, TimeTracker timeTracker) throws IOException, URISyntaxException {
|
||||
System.out.print(" Load FHIR v" + cliContext.getSv() + " from " + definitions);
|
||||
ValidationEngine validationEngine = getValidationEngineBuilder().withTHO(false).withVersion(cliContext.getSv()).withTimeTracker(timeTracker).withUserAgent(Common.getValidatorUserAgent()).fromSource(definitions);
|
||||
|
||||
System.out.println(" - " + validationEngine.getContext().countAllCaches() + " resources (" + timeTracker.milestone() + ")");
|
||||
|
||||
loadIgsAndExtensions(validationEngine, cliContext, timeTracker);
|
||||
if (validationEngine.getContext().getTxCache() == null) {
|
||||
if (cliContext.getTxCache() != null) {
|
||||
TerminologyCache cache = new TerminologyCache(new Object(), cliContext.getTxCache());
|
||||
validationEngine.getContext().initTxCache(cache);
|
||||
}
|
||||
if (validationEngine.getContext().getTxCache() == null || validationEngine.getContext().getTxCache().getFolder() == null) {
|
||||
System.out.println(" No Terminology Cache");
|
||||
} else {
|
||||
System.out.println(" Terminology Cache at "+validationEngine.getContext().getTxCache().getFolder());
|
||||
|
|
|
@ -1654,7 +1654,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
|
|||
}
|
||||
} else if (vr.getErrorClass() != null && vr.getErrorClass() == TerminologyServiceErrorClass.CODESYSTEM_UNSUPPORTED) {
|
||||
// we've already handled the warnings / errors about this, and set the status correctly. We don't need to do anything more?
|
||||
} else {
|
||||
} else if (vr.getErrorClass() != TerminologyServiceErrorClass.SERVER_ERROR) { // (should have?) already handled server error
|
||||
if (strength == BindingStrength.REQUIRED) {
|
||||
bh.see(txRule(errors, NO_RULE_DATE, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOVALID_1_CC, describeReference(vsRef, valueset, bc, usageNote), ccSummary(cc)));
|
||||
} else if (strength == BindingStrength.EXTENSIBLE) {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,4 @@
|
|||
[servers]
|
||||
tx-dev.fhir.org.r2 = http://tx-dev.fhir.org/r2
|
||||
local.fhir.org.r2 = http://local.fhir.org/r2
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,4 @@
|
|||
[servers]
|
||||
tx-dev.fhir.org.r3 = http://tx-dev.fhir.org/r3
|
||||
local.fhir.org.r3 = http://local.fhir.org/r3
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -521,7 +521,6 @@ v: {
|
|||
"system" : "http://unitsofmeasure.org",
|
||||
"version" : "2.0.1",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -549,7 +548,6 @@ v: {
|
|||
"code" : "image/jpg",
|
||||
"system" : "urn:ietf:bcp:13",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -577,7 +575,6 @@ v: {
|
|||
"code" : "image/jpg",
|
||||
"system" : "urn:ietf:bcp:13",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -605,7 +602,6 @@ v: {
|
|||
"code" : "application/pdf",
|
||||
"system" : "urn:ietf:bcp:13",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -633,7 +629,6 @@ v: {
|
|||
"code" : "application/pdf",
|
||||
"system" : "urn:ietf:bcp:13",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -654,7 +649,6 @@ v: {
|
|||
"code" : "de-CH",
|
||||
"system" : "urn:ietf:bcp:47",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -720,3 +714,29 @@ v: {
|
|||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "urn:iso:std:iso:3166",
|
||||
"code" : "US",
|
||||
"display" : "United States of America"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/ValueSet/jurisdiction", "version": "3.0.2", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "United States of America",
|
||||
"code" : "US",
|
||||
"system" : "urn:iso:std:iso:3166",
|
||||
"version" : "2018",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
[servers]
|
||||
tx-dev.fhir.org.r3 = http://tx-dev.fhir.org/r3
|
||||
local.fhir.org.r3 = http://local.fhir.org/r3
|
||||
|
||||
|
|
|
@ -1108,7 +1108,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1132,7 +1131,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1159,7 +1157,6 @@ v: {
|
|||
"error" : "Wrong Display Name 'Laboratory test finding (finding)' for http://snomed.info/sct#118246004. Valid display is one of 4 choices: 'Laboratory test finding', 'Laboratory test observations', 'Laboratory test result' or 'Laboratory test finding (navigational concept)' (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1203,7 +1200,6 @@ v: {
|
|||
"error" : "Wrong Display Name 'Chemistry' for http://snomed.info/sct#275711006. Valid display is one of 2 choices: 'Serum chemistry test' or 'Serum chemistry test (procedure)' (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1244,7 +1240,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1268,7 +1263,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1292,7 +1286,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1316,7 +1309,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1340,7 +1332,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1364,7 +1355,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1388,7 +1378,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1413,7 +1402,6 @@ v: {
|
|||
"error" : "Unknown code '823681000000100' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1455,7 +1443,6 @@ v: {
|
|||
"error" : "Unknown code '886921000000105' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1497,7 +1484,6 @@ v: {
|
|||
"error" : "Unknown code '1077881000000105' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1539,7 +1525,6 @@ v: {
|
|||
"error" : "Unknown code '887181000000106' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1581,7 +1566,6 @@ v: {
|
|||
"error" : "Unknown code '887161000000102' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1623,7 +1607,6 @@ v: {
|
|||
"error" : "Unknown code '1052891000000108' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1665,7 +1648,6 @@ v: {
|
|||
"error" : "Unknown code '715851000000102' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1707,7 +1689,6 @@ v: {
|
|||
"error" : "Unknown code '717121000000105' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1749,7 +1730,6 @@ v: {
|
|||
"error" : "Unknown code '933361000000108' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1791,7 +1771,6 @@ v: {
|
|||
"error" : "Unknown code '887171000000109' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1833,7 +1812,6 @@ v: {
|
|||
"error" : "Unknown code '887201000000105' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1875,7 +1853,6 @@ v: {
|
|||
"error" : "Unknown code '1052951000000105' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1917,7 +1894,6 @@ v: {
|
|||
"error" : "Unknown code '886731000000109' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -1959,7 +1935,6 @@ v: {
|
|||
"error" : "Unknown code '887231000000104' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -2001,7 +1976,6 @@ v: {
|
|||
"error" : "Unknown code '9290701000001101' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -2042,7 +2016,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -2066,7 +2039,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -2089,7 +2061,6 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -2113,7 +2084,6 @@ v: {
|
|||
"error" : "Unknown code '11181000146103' in the CodeSystem 'http://snomed.info/sct' version 'http://snomed.info/sct/900000000000207008/version/20240201'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -2137,3 +2107,61 @@ v: {
|
|||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "17621005",
|
||||
"display" : "Normal (qualifier value)"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/ValueSet/security-labels", "version": "3.0.2", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"severity" : "error",
|
||||
"error" : "No valid coding was found for the value set 'http://hl7.org/fhir/ValueSet/security-labels|3.0.2'; The provided code 'http://snomed.info/sct#17621005 ('Normal (qualifier value)')' was not found in the value set 'http://hl7.org/fhir/ValueSet/security-labels|3.0.2'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r3",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r3"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "code-invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "this-code-not-in-vs"
|
||||
}],
|
||||
"text" : "The provided code 'http://snomed.info/sct#17621005 ('Normal (qualifier value)')' was not found in the value set 'http://hl7.org/fhir/ValueSet/security-labels|3.0.2'"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r3"
|
||||
}],
|
||||
"severity" : "error",
|
||||
"code" : "code-invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "not-in-vs"
|
||||
}],
|
||||
"text" : "No valid coding was found for the value set 'http://hl7.org/fhir/ValueSet/security-labels|3.0.2'"
|
||||
}
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -39,10 +39,68 @@ v: {
|
|||
"system" : "http://www.ada.org/snodent",
|
||||
"version" : "2.1.0",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://www.ada.org/snodent",
|
||||
"code" : "210965D",
|
||||
"display" : "Anterior part of lower alveolar ridge"
|
||||
}],
|
||||
"text" : "Anterior part of lower alveolar ridge"
|
||||
}, "url": "http://hl7.org/fhir/us/dental-data-exchange/ValueSet/dental-anatomy", "version": "1.0.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"version" : "2.1.0",
|
||||
"severity" : "error",
|
||||
"error" : "No valid coding was found for the value set 'http://hl7.org/fhir/us/dental-data-exchange/ValueSet/dental-anatomy|1.0.0'; The provided code 'http://www.ada.org/snodent#210965D ('Anterior part of lower alveolar ridge')' was not found in the value set 'http://hl7.org/fhir/us/dental-data-exchange/ValueSet/dental-anatomy|1.0.0'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://local.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://local.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "code-invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "this-code-not-in-vs"
|
||||
}],
|
||||
"text" : "The provided code 'http://www.ada.org/snodent#210965D ('Anterior part of lower alveolar ridge')' was not found in the value set 'http://hl7.org/fhir/us/dental-data-exchange/ValueSet/dental-anatomy|1.0.0'"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://local.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "error",
|
||||
"code" : "code-invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "not-in-vs"
|
||||
}],
|
||||
"text" : "No valid coding was found for the value set 'http://hl7.org/fhir/us/dental-data-exchange/ValueSet/dental-anatomy|1.0.0'"
|
||||
}
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
|
|
|
@ -8422,7 +8422,6 @@ v: {
|
|||
"error" : "Wrong Display Name 'O2 % BldC Oximetry' for http://loinc.org#59408-5. Valid display is 'Oxygen saturation in Arterial blood by Pulse oximetry' (en-US) (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -8463,7 +8462,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -8489,7 +8487,6 @@ v: {
|
|||
"error" : "The provided code 'http://loinc.org#59408-5' was not found in the value set 'http://hl7.org/fhir/ValueSet/observation-vitalsignresult--0|4.0.1'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -8529,7 +8526,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -8553,7 +8549,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -8579,7 +8574,6 @@ v: {
|
|||
"error" : "The provided code 'http://loinc.org#3150-0' was not found in the value set 'http://hl7.org/fhir/ValueSet/observation-vitalsignresult--0|4.0.1'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -8623,7 +8617,6 @@ v: {
|
|||
"error" : "Wrong Display Name 'Flow Rate' for http://loinc.org#3151-8. Valid display is 'Inhaled oxygen flow rate' (en-US) (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -8666,7 +8659,6 @@ v: {
|
|||
"error" : "The provided code 'http://loinc.org#3151-8' was not found in the value set 'http://hl7.org/fhir/ValueSet/observation-vitalsignresult--0|4.0.1'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -8706,7 +8698,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -8732,7 +8723,6 @@ v: {
|
|||
"error" : "The provided code 'http://loinc.org#2708-6' was not found in the value set 'http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs--0|4.0.0'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -8772,7 +8762,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -8795,7 +8784,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -8818,7 +8806,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -8844,7 +8831,6 @@ v: {
|
|||
"error" : "The provided code 'http://loinc.org#100066-0' was not found in the value set 'http://hl7.org/fhir/test/StructureDefinition/additional-bindings-vs1--0|1.0.0'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -8884,7 +8870,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -8907,7 +8892,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -8930,7 +8914,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -8954,7 +8937,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -8978,7 +8960,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9002,7 +8983,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9026,7 +9006,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9049,7 +9028,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9073,7 +9051,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9096,7 +9073,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9120,7 +9096,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9143,7 +9118,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9167,7 +9141,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9190,7 +9163,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9214,7 +9186,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9237,7 +9208,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9261,7 +9231,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9284,7 +9253,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9308,7 +9276,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9332,7 +9299,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9359,7 +9325,6 @@ v: {
|
|||
"error" : "Wrong Display Name 'Patient Authorization Signature' for http://loinc.org#59284-0. Valid display is 'Consent Document' (en-US) (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -9399,7 +9364,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9423,7 +9387,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9446,7 +9409,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9470,7 +9432,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9494,7 +9455,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9518,7 +9478,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9545,7 +9504,6 @@ v: {
|
|||
"error" : "Wrong Display Name 'NDC labeler code request' for http://loinc.org#51726-8. Valid display is 'FDA product label NDC labeler code request' (en-US) (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -9586,7 +9544,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9611,7 +9568,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9634,7 +9590,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9662,7 +9617,6 @@ v: {
|
|||
"error" : "Wrong Display Name 'Allergies and adverse reactions' for http://loinc.org#48765-2. Valid display is 'Allergies and adverse reactions Document' (en-US) (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -9703,7 +9657,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9726,7 +9679,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9749,7 +9701,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9773,7 +9724,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9796,7 +9746,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9821,7 +9770,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9845,7 +9793,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9868,7 +9815,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9892,7 +9838,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9915,7 +9860,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9939,7 +9883,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9962,7 +9905,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -9986,7 +9928,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10010,7 +9951,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10033,7 +9973,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10057,7 +9996,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10080,7 +10018,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10103,7 +10040,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10128,7 +10064,6 @@ v: {
|
|||
"error" : "Unknown code '<27>g<EFBFBD><67>' in the CodeSystem 'http://loinc.org' version '2.77'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -10169,7 +10104,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10196,7 +10130,6 @@ v: {
|
|||
"error" : "Wrong Display Name '<27><><EFBFBD><EFBFBD>' for http://loinc.org#18684-1. Valid display is 'First Blood pressure Set' (en-US) (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -10240,7 +10173,6 @@ v: {
|
|||
"error" : "Wrong Display Name '<27><><EFBFBD>k<EFBFBD><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' for http://loinc.org#8480-6. Valid display is 'Systolic blood pressure' (en-US) (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -10284,7 +10216,6 @@ v: {
|
|||
"error" : "Wrong Display Name '<27>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' for http://loinc.org#8462-4. Valid display is 'Diastolic blood pressure' (en-US) (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -10325,7 +10256,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10349,7 +10279,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10373,7 +10302,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10397,7 +10325,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10422,7 +10349,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10447,7 +10373,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10471,7 +10396,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10495,7 +10419,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10518,7 +10441,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10541,7 +10463,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10564,7 +10485,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10587,7 +10507,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10610,7 +10529,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10633,7 +10551,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10656,7 +10573,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10679,7 +10595,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10702,7 +10617,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10737,7 +10651,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10772,7 +10685,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10807,7 +10719,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10831,7 +10742,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10854,7 +10764,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10877,7 +10786,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10901,7 +10809,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10927,7 +10834,6 @@ v: {
|
|||
"error" : "The provided code 'http://loinc.org#76534-7' was not found in the value set 'http://hl7.org/fhir/ValueSet/observation-vitalsignresult--0|4.0.1'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
|
@ -10967,7 +10873,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -10991,7 +10896,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -11015,7 +10919,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -11039,7 +10942,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -11063,7 +10965,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -11087,7 +10988,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -11111,7 +11011,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -11135,7 +11034,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -11158,7 +11056,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -11181,7 +11078,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -11205,7 +11101,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -11229,7 +11124,6 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -11252,6 +11146,82 @@ v: {
|
|||
"system" : "http://loinc.org",
|
||||
"version" : "2.77",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://loinc.org",
|
||||
"code" : "59408-5",
|
||||
"display" : "O2 % BldC Oximetry"
|
||||
},
|
||||
{
|
||||
"system" : "http://loinc.org",
|
||||
"code" : "2708-6",
|
||||
"display" : "Oxygen saturation in Arterial blood"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs", "version": "4.0.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Oxygen saturation in Arterial blood",
|
||||
"code" : "2708-6",
|
||||
"system" : "http://loinc.org",
|
||||
"version" : "2.78",
|
||||
"severity" : "error",
|
||||
"error" : "Wrong Display Name 'O2 % BldC Oximetry' for http://loinc.org#59408-5. Valid display is one of 3 choices: 'Oxygen saturation in Arterial blood by Pulse oximetry' (en-US), 'Oxygen saturation in Arterial blood by Pulse oximetry' (en-US) or 'SaO2 % BldA PulseOx' (en-US) (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "error",
|
||||
"code" : "invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "invalid-display"
|
||||
}],
|
||||
"text" : "Wrong Display Name 'O2 % BldC Oximetry' for http://loinc.org#59408-5. Valid display is one of 3 choices: 'Oxygen saturation in Arterial blood by Pulse oximetry' (en-US), 'Oxygen saturation in Arterial blood by Pulse oximetry' (en-US) or 'SaO2 % BldA PulseOx' (en-US) (for the language(s) 'en-US')"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].display"],
|
||||
"expression" : ["CodeableConcept.coding[0].display"]
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://loinc.org",
|
||||
"code" : "3150-0",
|
||||
"display" : "Inhaled Oxygen Concentration"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs", "version": "4.0.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Inhaled oxygen concentration",
|
||||
"code" : "3150-0",
|
||||
"system" : "http://loinc.org",
|
||||
"version" : "2.78",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
|
@ -11259,3 +11229,49 @@ v: {
|
|||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://loinc.org",
|
||||
"code" : "3151-8",
|
||||
"display" : "Flow Rate"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs", "version": "4.0.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Inhaled oxygen flow rate",
|
||||
"code" : "3151-8",
|
||||
"system" : "http://loinc.org",
|
||||
"version" : "2.78",
|
||||
"severity" : "error",
|
||||
"error" : "Wrong Display Name 'Flow Rate' for http://loinc.org#3151-8. Valid display is one of 4 choices: 'Inhaled oxygen flow rate' (en-US), 'Inhaled oxygen flow rate' (en-US), 'Inhaled O2 flow rate' (en-US) or 'Inhaled oxygen' (en-US) (for the language(s) 'en-US')",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "error",
|
||||
"code" : "invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "invalid-display"
|
||||
}],
|
||||
"text" : "Wrong Display Name 'Flow Rate' for http://loinc.org#3151-8. Valid display is one of 4 choices: 'Inhaled oxygen flow rate' (en-US), 'Inhaled oxygen flow rate' (en-US), 'Inhaled O2 flow rate' (en-US) or 'Inhaled oxygen' (en-US) (for the language(s) 'en-US')"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].display"],
|
||||
"expression" : ["CodeableConcept.coding[0].display"]
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
[servers]
|
||||
tx-dev.fhir.org.r4 = http://tx-dev.fhir.org/r4
|
||||
local.fhir.org.r4 = http://local.fhir.org/r4
|
||||
|
||||
|
|
|
@ -14292,6 +14292,533 @@ v: {
|
|||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "17621005",
|
||||
"display" : "Normal (qualifier value)"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/ValueSet/security-labels", "version": "4.0.1", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"severity" : "error",
|
||||
"error" : "No valid coding was found for the value set 'http://hl7.org/fhir/ValueSet/security-labels|4.0.1'; The provided code 'http://snomed.info/sct#17621005 ('Normal (qualifier value)')' was not found in the value set 'http://hl7.org/fhir/ValueSet/security-labels|4.0.1'",
|
||||
"class" : "UNKNOWN",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-message-id",
|
||||
"valueString" : "MSG_RETIRED"
|
||||
},
|
||||
{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "business-rule",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "status-check"
|
||||
}],
|
||||
"text" : "Reference to retired ValueSet http://terminology.hl7.org/ValueSet/v3-ActUSPrivacyLaw|2.0.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "code-invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "this-code-not-in-vs"
|
||||
}],
|
||||
"text" : "The provided code 'http://snomed.info/sct#17621005 ('Normal (qualifier value)')' was not found in the value set 'http://hl7.org/fhir/ValueSet/security-labels|4.0.1'"
|
||||
},
|
||||
"location" : ["CodeableConcept.coding[0].code"],
|
||||
"expression" : ["CodeableConcept.coding[0].code"]
|
||||
},
|
||||
{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "error",
|
||||
"code" : "code-invalid",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "not-in-vs"
|
||||
}],
|
||||
"text" : "No valid coding was found for the value set 'http://hl7.org/fhir/ValueSet/security-labels|4.0.1'"
|
||||
}
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "96067005",
|
||||
"display" : "Flucloxacillin-containing product"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/allergy-intolerance-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Product containing flucloxacillin (medicinal product)",
|
||||
"code" : "96067005",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "48546005",
|
||||
"display" : "Diazepam-containing product"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/allergy-intolerance-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Product containing diazepam (medicinal product)",
|
||||
"code" : "48546005",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "40425004",
|
||||
"display" : "Postconcussion syndrome"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/problems-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Postconcussion syndrome",
|
||||
"code" : "40425004",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "237599002",
|
||||
"display" : "Diabetes type 2 on insulin"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/problems-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Insulin treated Type II diabetes mellitus",
|
||||
"code" : "237599002",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "90560007",
|
||||
"display" : "Gout"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/problems-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Gout",
|
||||
"code" : "90560007",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "1201005",
|
||||
"display" : "Benign essential hypertension"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/problems-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Benign essential hypertension",
|
||||
"code" : "1201005",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "52910006",
|
||||
"display" : "Anxiety disorder due to a general medical condition"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/problems-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Anxiety disorder due to a general medical condition",
|
||||
"code" : "52910006",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "5913000",
|
||||
"display" : "Fracture of neck of femur"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/problems-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Fracture of neck of femur",
|
||||
"code" : "5913000",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "126212009",
|
||||
"display" : "Product containing insulin glargine (medicinal product)"
|
||||
}],
|
||||
"text" : "insulin glargine 100 international units/mL injection, 10 mL vial"
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Product containing insulin glargine (medicinal product)",
|
||||
"code" : "126212009",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "714081009",
|
||||
"display" : "Product containing dulaglutide (medicinal product)"
|
||||
}],
|
||||
"text" : "dulaglutide 1.5 mg/0.5 mL injection, prefilled injection device"
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Product containing dulaglutide (medicinal product)",
|
||||
"code" : "714081009",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "109081006",
|
||||
"display" : "Product containing metformin (medicinal product)"
|
||||
}],
|
||||
"text" : "metformin hydrochloride 1000 mg tablet"
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Product containing metformin (medicinal product)",
|
||||
"code" : "109081006",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "108537001",
|
||||
"display" : "Product containing amlodipine (medicinal product)"
|
||||
}],
|
||||
"text" : "amlodipine 5 mg tablet"
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Product containing amlodipine (medicinal product)",
|
||||
"code" : "108537001",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "96309000",
|
||||
"display" : "Product containing losartan (medicinal product)"
|
||||
}],
|
||||
"text" : "losartan potassium 50 mg tablet"
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Product containing losartan (medicinal product)",
|
||||
"code" : "96309000",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "7947003",
|
||||
"display" : "Product containing aspirin (medicinal product)"
|
||||
}],
|
||||
"text" : "aspirin 75 mg tablet: enteric-coated"
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Product containing aspirin (medicinal product)",
|
||||
"code" : "7947003",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "25246002",
|
||||
"display" : "Product containing allopurinol (medicinal product)"
|
||||
}],
|
||||
"text" : "allopurinol 300 mg tablet"
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/medication-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Product containing allopurinol (medicinal product)",
|
||||
"code" : "25246002",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "265132005",
|
||||
"display" : "Primary open reduction and internal fixation of proximal femoral fracture with screw/nail and plate device"
|
||||
}],
|
||||
"text" : "Operative procedure on hip"
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/procedures-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Primary open reduction and internal fixation of proximal femoral fracture with screw/nail and plate device",
|
||||
"code" : "265132005",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://snomed.info/sct",
|
||||
"code" : "287903004",
|
||||
"display" : "Suturing of hand"
|
||||
}],
|
||||
"text" : "Hand closure"
|
||||
}, "url": "http://hl7.org/fhir/uv/ips/ValueSet/procedures-snomed-absent-unknown-uv-ips", "version": "1.1.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "Suturing of hand",
|
||||
"code" : "287903004",
|
||||
"system" : "http://snomed.info/sct",
|
||||
"version" : "http://snomed.info/sct/900000000000207008/version/20240201",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
|
|
|
@ -1038,7 +1038,6 @@ v: {
|
|||
"system" : "http://unitsofmeasure.org",
|
||||
"version" : "2.0.1",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1059,7 +1058,6 @@ v: {
|
|||
"code" : "fr-CA",
|
||||
"system" : "urn:ietf:bcp:47",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
@ -1081,10 +1079,96 @@ v: {
|
|||
"system" : "http://unitsofmeasure.org",
|
||||
"version" : "2.0.1",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome"
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
|
||||
"code" : "001"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/ValueSet/jurisdiction", "version": "5.0.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "World",
|
||||
"code" : "001",
|
||||
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-message-id",
|
||||
"valueString" : "MSG_DEPRECATED"
|
||||
},
|
||||
{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "business-rule",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "status-check"
|
||||
}],
|
||||
"text" : "Reference to deprecated ValueSet http://hl7.org/fhir/ValueSet/jurisdiction|5.0.0"
|
||||
}
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"coding" : [{
|
||||
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
|
||||
"code" : "001",
|
||||
"display" : "World"
|
||||
}]
|
||||
}, "url": "http://hl7.org/fhir/ValueSet/jurisdiction", "version": "5.0.0", "langs":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "activeOnly":"false", "membershipOnly":"false", "displayWarningMode":"false", "versionFlexible":"false", "profile": {
|
||||
"resourceType" : "Parameters",
|
||||
"parameter" : [{
|
||||
"name" : "profile-url",
|
||||
"valueString" : "http://hl7.org/fhir/ExpansionProfile/dc8fd4bc-091a-424a-8a3b-6198ef146891"
|
||||
}]
|
||||
}}####
|
||||
v: {
|
||||
"display" : "World",
|
||||
"code" : "001",
|
||||
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
|
||||
"server" : "http://tx-dev.fhir.org/r4",
|
||||
"unknown-systems" : "",
|
||||
"issues" : {
|
||||
"resourceType" : "OperationOutcome",
|
||||
"issue" : [{
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-message-id",
|
||||
"valueString" : "MSG_DEPRECATED"
|
||||
},
|
||||
{
|
||||
"url" : "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-server",
|
||||
"valueUrl" : "http://tx-dev.fhir.org/r4"
|
||||
}],
|
||||
"severity" : "information",
|
||||
"code" : "business-rule",
|
||||
"details" : {
|
||||
"coding" : [{
|
||||
"system" : "http://hl7.org/fhir/tools/CodeSystem/tx-issue-type",
|
||||
"code" : "status-check"
|
||||
}],
|
||||
"text" : "Reference to deprecated ValueSet http://hl7.org/fhir/ValueSet/jurisdiction|5.0.0"
|
||||
}
|
||||
}]
|
||||
}
|
||||
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -21,7 +21,7 @@
|
|||
<commons_compress_version>1.26.0</commons_compress_version>
|
||||
<guava_version>32.0.1-jre</guava_version>
|
||||
<hapi_fhir_version>6.4.1</hapi_fhir_version>
|
||||
<validator_test_case_version>1.5.24-SNAPSHOT</validator_test_case_version>
|
||||
<validator_test_case_version>1.5.24</validator_test_case_version>
|
||||
<jackson_version>2.17.0</jackson_version>
|
||||
<junit_jupiter_version>5.9.2</junit_jupiter_version>
|
||||
<junit_platform_launcher_version>1.8.2</junit_platform_launcher_version>
|
||||
|
|
Loading…
Reference in New Issue