more work doing terminology server testing

This commit is contained in:
Grahame Grieve 2023-04-08 15:06:51 +10:00
parent 730a199f7a
commit 03eb6e7bf0
125 changed files with 3326 additions and 11137 deletions

View File

@ -534,8 +534,9 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
private void setTerminologyOptions(ValidationOptions options, Parameters pIn) {
if (options != null) {
if (!Utilities.noString(options.getLanguage()))
pIn.addParameter("displayLanguage", options.getLanguage());
if (options.hasLanguages()) {
pIn.addParameter("displayLanguage", options.getLanguages().get(0));
}
}
}

View File

@ -2485,7 +2485,7 @@ public class FHIRPathEngine {
if (vs != null) {
for (Base l : left) {
if (Utilities.existsInList(l.fhirType(), "code", "string", "uri")) {
if (worker.validateCode(terminologyServiceOptions.guessSystem() , l.castToCoding(l), vs).isOk()) {
if (worker.validateCode(terminologyServiceOptions.withGuessSystem() , l.castToCoding(l), vs).isOk()) {
ans = true;
}
} else if (l.fhirType().equals("Coding")) {
@ -4270,7 +4270,7 @@ public class FHIRPathEngine {
}
Base l = focus.get(0);
if (Utilities.existsInList(l.fhirType(), "code", "string", "uri")) {
return makeBoolean(worker.validateCode(terminologyServiceOptions.guessSystem(), l.castToCoding(l), vs).isOk());
return makeBoolean(worker.validateCode(terminologyServiceOptions.withGuessSystem(), l.castToCoding(l), vs).isOk());
} else if (l.fhirType().equals("Coding")) {
return makeBoolean(worker.validateCode(terminologyServiceOptions, l.castToCoding(l), vs).isOk());
} else if (l.fhirType().equals("CodeableConcept")) {

View File

@ -425,8 +425,10 @@ public class FHIRToolingClient {
public ValueSet expandValueset(ValueSet source, Parameters expParams, Map<String, String> params) {
Parameters p = expParams == null ? new Parameters() : expParams.copy();
p.addParameter().setName("valueSet").setResource(source);
for (String n : params.keySet()) {
p.addParameter().setName(n).setValue(new StringType(params.get(n)));
if (params != null) {
for (String n : params.keySet()) {
p.addParameter().setName(n).setValue(new StringType(params.get(n)));
}
}
org.hl7.fhir.r4.utils.client.network.ResourceRequest<Resource> result = null;
try {
@ -434,7 +436,7 @@ public class FHIRToolingClient {
ByteUtils.resourceToByteArray(p, false, isJson(getPreferredResourceFormat())),
getPreferredResourceFormat(),
generateHeaders(),
"ValueSet/$expand?url=" + source.getUrl(),
source == null ? "ValueSet/$expand" : "ValueSet/$expand?url=" + source.getUrl(),
TIMEOUT_OPERATION_EXPAND);
if (result.isUnsuccessfulRequest()) {
throw new EFhirClientException("Server returned error code " + result.getHttpStatus(), (OperationOutcome) result.getPayload());

View File

@ -3,6 +3,6 @@ package org.hl7.fhir.r4.context;
import org.hl7.fhir.utilities.validation.ValidationOptions;
public class CacheTestUtils {
public static final ValidationOptions validationOptions = new ValidationOptions().guessSystem().setVersionFlexible(false);
public static final ValidationOptions validationOptions = new ValidationOptions().withGuessSystem().withVersionFlexible(false);
}

View File

@ -823,7 +823,7 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
public ValidationResult validateCode(ValidationOptions options, String code, ValueSet vs) {
assert options != null;
Coding c = new Coding(null, code, null);
return validateCode(options.guessSystem(), c, vs);
return validateCode(options.withGuessSystem(), c, vs);
}
@ -1007,13 +1007,13 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
}
private void setTerminologyOptions(ValidationOptions options, Parameters pIn) {
if (!Utilities.noString(options.getLanguage())) {
pIn.addParameter("displayLanguage", options.getLanguage());
if (options.hasLanguages()) {
pIn.addParameter("displayLanguage", options.getLanguages().get(0));
}
if (options.getValueSetMode() != ValueSetMode.ALL_CHECKS) {
pIn.addParameter("valueSetMode", options.getValueSetMode().toString());
}
if (options.versionFlexible()) {
if (options.isVersionFlexible()) {
pIn.addParameter("default-to-latest-version", true);
}
}

View File

@ -274,7 +274,7 @@ public class DataRenderer extends Renderer {
}
private String lookupCode(String system, String version, String code) {
ValidationResult t = getContext().getWorker().validateCode(getContext().getTerminologyServiceOptions().setVersionFlexible(true), system, version, code, null);
ValidationResult t = getContext().getWorker().validateCode(getContext().getTerminologyServiceOptions().withVersionFlexible(true), system, version, code, null);
if (t != null && t.getDisplay() != null)
return t.getDisplay();

View File

@ -213,10 +213,21 @@ public abstract class ResourceRenderer extends DataRenderer {
if ((tr == null || !tr.getReference().startsWith("#")) && name != null) {
x.addText(" \""+name+"\"");
}
if (r.hasExtension(ToolingExtensions.EXT_TARGET_ID)) {
x.addText("(#"+r.getExtensionString(ToolingExtensions.EXT_TARGET_ID)+")");
} else if (r.hasExtension(ToolingExtensions.EXT_TARGET_PATH)) {
x.addText("(#/"+r.getExtensionString(ToolingExtensions.EXT_TARGET_PATH)+")");
if (r.hasExtension(ToolingExtensions.EXT_TARGET_ID) || r.hasExtension(ToolingExtensions.EXT_TARGET_PATH)) {
x.addText("(");
for (org.hl7.fhir.r4b.model.Extension ex : r.getExtensionsByUrl(ToolingExtensions.EXT_TARGET_ID)) {
if (ex.hasValue()) {
x.sep(", ");
x.addText("#"+ex.getValue().primitiveValue());
}
}
for (org.hl7.fhir.r4b.model.Extension ex : r.getExtensionsByUrl(ToolingExtensions.EXT_TARGET_PATH)) {
if (ex.hasValue()) {
x.sep(", ");
x.addText("/#"+ex.getValue().primitiveValue());
}
}
x.addText(")");
}
} else {
if (display != null) {

View File

@ -312,7 +312,7 @@ public abstract class TerminologyRenderer extends ResourceRenderer {
protected String getDisplayForConcept(String system, String version, String value) {
if (value == null || system == null)
return null;
ValidationResult cl = getContext().getWorker().validateCode(getContext().getTerminologyServiceOptions().setVersionFlexible(true), system, version, value, null);
ValidationResult cl = getContext().getWorker().validateCode(getContext().getTerminologyServiceOptions().withVersionFlexible(true), system, version, value, null);
return cl == null ? null : cl.getDisplay();
}

View File

@ -131,7 +131,7 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
CodeSystem cs = resolveCodeSystem(c.getSystem());
ValidationResult res = null;
if (cs == null || cs.getContent() != CodeSystemContentMode.COMPLETE) {
res = context.validateCode(options.noClient(), c, null);
res = context.validateCode(options.withNoClient(), c, null);
} else {
res = validateCode(c, cs);
}
@ -668,7 +668,7 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
vs.setUrl(valueset.getUrl()+"--"+vsiIndex);
vs.setVersion(valueset.getVersion());
vs.getCompose().addInclude(vsi);
ValidationResult res = context.validateCode(options.noClient(), new Coding(system, code, null), vs);
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 (warnings != null && res.getErrorClass() == TerminologyServiceErrorClass.CODESYSTEM_UNSUPPORTED) {
warnings.add(context.formatMessage(I18nConstants.TERMINOLOGY_TX_SYSTEM_NOTKNOWN, system));

View File

@ -2481,7 +2481,7 @@ public class FHIRPathEngine {
if (vs != null) {
for (Base l : left) {
if (Utilities.existsInList(l.fhirType(), "code", "string", "uri")) {
if (worker.validateCode(terminologyServiceOptions.guessSystem() , TypeConvertor.castToCoding(l), vs).isOk()) {
if (worker.validateCode(terminologyServiceOptions.withGuessSystem() , TypeConvertor.castToCoding(l), vs).isOk()) {
ans = true;
}
} else if (l.fhirType().equals("Coding")) {
@ -4266,7 +4266,7 @@ public class FHIRPathEngine {
}
Base l = focus.get(0);
if (Utilities.existsInList(l.fhirType(), "code", "string", "uri")) {
return makeBoolean(worker.validateCode(terminologyServiceOptions.guessSystem(), TypeConvertor.castToCoding(l), vs).isOk());
return makeBoolean(worker.validateCode(terminologyServiceOptions.withGuessSystem(), TypeConvertor.castToCoding(l), vs).isOk());
} else if (l.fhirType().equals("Coding")) {
return makeBoolean(worker.validateCode(terminologyServiceOptions, TypeConvertor.castToCoding(l), vs).isOk());
} else if (l.fhirType().equals("CodeableConcept")) {

View File

@ -1881,7 +1881,7 @@ public class StructureMapUtilities {
} else {
system = uri;
}
ValidationResult vr = worker.validateCode(terminologyServiceOptions.setVersionFlexible(true), system, version, code, null);
ValidationResult vr = worker.validateCode(terminologyServiceOptions.withVersionFlexible(true), system, version, code, null);
if (vr != null && vr.getDisplay() != null)
display = vr.getDisplay();
return new Coding().setSystem(system).setCode(code).setDisplay(display);

View File

@ -3,6 +3,6 @@ package org.hl7.fhir.r4b.context;
import org.hl7.fhir.utilities.validation.ValidationOptions;
public class CacheTestUtils {
public static final ValidationOptions validationOptions = new ValidationOptions().guessSystem().setVersionFlexible(false);
public static final ValidationOptions validationOptions = new ValidationOptions().withGuessSystem().withVersionFlexible(false);
}

View File

@ -925,7 +925,7 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
public ValidationResult validateCode(ValidationOptions options, String code, ValueSet vs) {
assert options != null;
Coding c = new Coding(null, code, null);
return validateCode(options.guessSystem(), c, vs);
return validateCode(options.withGuessSystem(), c, vs);
}
@ -1074,8 +1074,11 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
}
}
if (localError != null && txClient == null) {
return new ValidationResult(IssueSeverity.ERROR,formatMessage(I18nConstants.UNABLE_TO_VALIDATE_LOCALLY, localError), TerminologyServiceErrorClass.BLOCKED_BY_OPTIONS);
}
if (!options.isUseServer()) {
return new ValidationResult(IssueSeverity.WARNING,formatMessage(I18nConstants.UNABLE_TO_VALIDATE_CODE_WITHOUT_USING_SERVER), TerminologyServiceErrorClass.BLOCKED_BY_OPTIONS);
return new ValidationResult(IssueSeverity.WARNING,formatMessage(I18nConstants.UNABLE_TO_VALIDATE_CODE_WITHOUT_USING_SERVER, localError), TerminologyServiceErrorClass.BLOCKED_BY_OPTIONS);
}
String codeKey = getCodeKey(code);
if (unsupportedCodeSystems.contains(codeKey)) {
@ -1099,7 +1102,7 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
res = new ValidationResult(IssueSeverity.ERROR, e.getMessage() == null ? e.getClass().getName() : e.getMessage()).setTxLink(txLog == null ? null : txLog.getLastId()).setErrorClass(TerminologyServiceErrorClass.SERVER_ERROR);
}
if (!res.isOk() && localError != null) {
res.setMessage("Local Error: "+localError+". Server Error: "+res.getMessage());
res.setDiagnostics("Local Error: "+localError.trim()+". Server Error: "+res.getMessage());
}
updateUnsupportedCodeSystems(res, code, codeKey);
if (txCache != null) { // we never cache unsupported code systems - we always keep trying (but only once per run)
@ -1169,13 +1172,13 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
}
private void setTerminologyOptions(ValidationOptions options, Parameters pIn) {
if (!Utilities.noString(options.getLanguage())) {
pIn.addParameter("displayLanguage", options.getLanguage());
for (String s : options.getLanguages()) {
pIn.addParameter("displayLanguage", s);
}
if (options.getValueSetMode() != ValueSetMode.ALL_CHECKS) {
pIn.addParameter("valueSetMode", options.getValueSetMode().toString());
}
if (options.versionFlexible()) {
if (options.isVersionFlexible()) {
pIn.addParameter("default-to-latest-version", true);
}
}
@ -1201,6 +1204,7 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
txCache.cacheValidation(cacheToken, res, TerminologyCache.TRANSIENT);
return res;
} catch (Exception e) {
e.printStackTrace();
if (e instanceof NoTerminologyServiceException) {
return new ValidationResult(IssueSeverity.ERROR, "No Terminology Service", TerminologyServiceErrorClass.NOSERVICE);
}
@ -1220,7 +1224,7 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
Parameters pIn = constructParameters(options, code);
res = validateOnServer(vs, pIn, options);
} catch (Exception e) {
res = new ValidationResult(IssueSeverity.ERROR, e.getMessage() == null ? e.getClass().getName() : e.getMessage()).setTxLink(txLog.getLastId());
res = new ValidationResult(IssueSeverity.ERROR, e.getMessage() == null ? e.getClass().getName() : e.getMessage()).setTxLink(txLog == null ? null : txLog.getLastId());
}
txCache.cacheValidation(cacheToken, res, TerminologyCache.PERMANENT);
return res;
@ -1352,11 +1356,11 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte
if (!ok) {
return new ValidationResult(IssueSeverity.ERROR, message+" (from "+txClient.getAddress()+")", err).setTxLink(txLog.getLastId());
} else if (message != null && !message.equals("No Message returned")) {
return new ValidationResult(IssueSeverity.WARNING, message+" (from "+txClient.getAddress()+")", system, new ConceptDefinitionComponent().setDisplay(display).setCode(code)).setTxLink(txLog.getLastId());
return new ValidationResult(IssueSeverity.WARNING, message+" (from "+txClient.getAddress()+")", system, new ConceptDefinitionComponent().setDisplay(display).setCode(code), display).setTxLink(txLog.getLastId());
} else if (display != null) {
return new ValidationResult(system, new ConceptDefinitionComponent().setDisplay(display).setCode(code)).setTxLink(txLog.getLastId());
return new ValidationResult(system, new ConceptDefinitionComponent().setDisplay(display).setCode(code), display).setTxLink(txLog.getLastId());
} else {
return new ValidationResult(system, new ConceptDefinitionComponent().setCode(code)).setTxLink(txLog.getLastId());
return new ValidationResult(system, new ConceptDefinitionComponent().setCode(code), null).setTxLink(txLog.getLastId());
}
}

View File

@ -111,11 +111,13 @@ public interface IWorkerContext {
class ValidationResult {
private ConceptDefinitionComponent definition;
private String preferredDisplay;
private String system;
private IssueSeverity severity;
private String message;
private TerminologyServiceErrorClass errorClass;
private String txLink;
private String diagnostics;
@Override
public String toString() {
@ -128,16 +130,18 @@ public interface IWorkerContext {
this.message = message;
}
public ValidationResult(String system, ConceptDefinitionComponent definition) {
public ValidationResult(String system, ConceptDefinitionComponent definition, String preferredDisplay) {
this.system = system;
this.definition = definition;
this.preferredDisplay = preferredDisplay;
}
public ValidationResult(IssueSeverity severity, String message, String system, ConceptDefinitionComponent definition) {
public ValidationResult(IssueSeverity severity, String message, String system, ConceptDefinitionComponent definition, String preferredDisplay) {
this.severity = severity;
this.message = message;
this.system = system;
this.definition = definition;
this.preferredDisplay = preferredDisplay;
}
public ValidationResult(IssueSeverity severity, String message, TerminologyServiceErrorClass errorClass) {
@ -155,7 +159,11 @@ public interface IWorkerContext {
}
public String getDisplay() {
return definition == null ? null : definition.getDisplay();
if (preferredDisplay != null) {
return preferredDisplay;
} else {
return definition == null ? null : definition.getDisplay();
}
}
public String getCode() {
@ -214,6 +222,14 @@ public interface IWorkerContext {
return message != null;
}
public String getDiagnostics() {
return diagnostics;
}
public void setDiagnostics(String diagnostics) {
this.diagnostics = diagnostics;
}
public Coding asCoding() {
if (isOk() && definition != null && definition.getCode() != null) {
return new Coding(system, definition.getCode(), definition.getDisplay());

View File

@ -605,7 +605,7 @@ public class TerminologyCache {
String definition = loadJS(o.get("definition"));
t = loadJS(o.get("class"));
TerminologyServiceErrorClass errorClass = t == null ? null : TerminologyServiceErrorClass.valueOf(t) ;
ce.v = new ValidationResult(severity, error, system, new ConceptDefinitionComponent().setDisplay(display).setDefinition(definition).setCode(code)).setErrorClass(errorClass);
ce.v = new ValidationResult(severity, error, system, new ConceptDefinitionComponent().setDisplay(display).setDefinition(definition).setCode(code), display).setErrorClass(errorClass);
}
return ce;
}

View File

@ -18,12 +18,12 @@ import org.hl7.fhir.utilities.i18n.LanguageFileProducer.TextUnit;
* generateTranslations = -langTransform export -src {src} -tgt {tgt} -dest {dest}
* importFromTranslations = -langTransform import -src {src} -tgt {tgt} -dest {dest}
*/
public class LangaugeUtils {
public class LanguageUtils {
IWorkerContext context;
public LangaugeUtils(IWorkerContext context) {
public LanguageUtils(IWorkerContext context) {
super();
this.context = context;
}

View File

@ -600,7 +600,12 @@ public class Property {
public boolean isTranslatable() {
return ToolingExtensions.readBoolExtension(definition, ToolingExtensions.EXT_TRANSLATABLE);
boolean ok = ToolingExtensions.readBoolExtension(definition, ToolingExtensions.EXT_TRANSLATABLE);
if (!ok && !Utilities.existsInList(definition.getBase().getPath(), "Reference.reference", "Coding.version", "Identifier.value", "SampledData.offsets", "SampledData.data", "ContactPoint.value")) {
String t = getType();
ok = Utilities.existsInList(t, "string", "markdown");
}
return ok;
}

View File

@ -311,7 +311,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
if (JurisdictionUtilities.isJurisdiction(system)) {
return JurisdictionUtilities.displayJurisdiction(system+"#"+code);
}
ValidationResult t = getContext().getWorker().validateCode(getContext().getTerminologyServiceOptions().setVersionFlexible(true), system, version, code, null);
ValidationResult t = getContext().getWorker().validateCode(getContext().getTerminologyServiceOptions().withVersionFlexible(true), system, version, code, null);
if (t != null && t.getDisplay() != null)
return t.getDisplay();

View File

@ -17,6 +17,7 @@ import org.hl7.fhir.r5.model.Coding;
import org.hl7.fhir.r5.model.DataType;
import org.hl7.fhir.r5.model.DomainResource;
import org.hl7.fhir.r5.model.Enumerations.PublicationStatus;
import org.hl7.fhir.r5.model.Extension;
import org.hl7.fhir.r5.model.Narrative;
import org.hl7.fhir.r5.model.Narrative.NarrativeStatus;
import org.hl7.fhir.r5.model.Reference;
@ -254,10 +255,21 @@ public abstract class ResourceRenderer extends DataRenderer {
if ((tr == null || (tr.getReference() != null && !tr.getReference().startsWith("#"))) && name != null) {
x.addText(" \""+name+"\"");
}
if (r.hasExtension(ToolingExtensions.EXT_TARGET_ID)) {
x.addText("(#"+r.getExtensionString(ToolingExtensions.EXT_TARGET_ID)+")");
} else if (r.hasExtension(ToolingExtensions.EXT_TARGET_PATH)) {
x.addText("(#/"+r.getExtensionString(ToolingExtensions.EXT_TARGET_PATH)+")");
if (r.hasExtension(ToolingExtensions.EXT_TARGET_ID) || r.hasExtension(ToolingExtensions.EXT_TARGET_PATH)) {
x.addText("(");
for (Extension ex : r.getExtensionsByUrl(ToolingExtensions.EXT_TARGET_ID)) {
if (ex.hasValue()) {
x.sep(", ");
x.addText("#"+ex.getValue().primitiveValue());
}
}
for (Extension ex : r.getExtensionsByUrl(ToolingExtensions.EXT_TARGET_PATH)) {
if (ex.hasValue()) {
x.sep(", ");
x.addText("/#"+ex.getValue().primitiveValue());
}
}
x.addText(")");
}
} else {
if (display != null) {

View File

@ -319,7 +319,7 @@ public abstract class TerminologyRenderer extends ResourceRenderer {
protected String getDisplayForConcept(String system, String version, String value) {
if (value == null || system == null)
return null;
ValidationResult cl = getContext().getWorker().validateCode(getContext().getTerminologyServiceOptions().setVersionFlexible(true), system, version, value, null);
ValidationResult cl = getContext().getWorker().validateCode(getContext().getTerminologyServiceOptions().withVersionFlexible(true), system, version, value, null);
return cl == null ? null : cl.getDisplay();
}

View File

@ -60,6 +60,21 @@ public class JurisdictionUtilities {
return displayJurisdiction(CodeSystemUtilities.readCoding(s));
}
public static String displayJurisdictionShort(String s) {
String d = displayJurisdiction(CodeSystemUtilities.readCoding(s));
if (d.contains("(")) {
d = d.substring(0, d.indexOf("(")).trim();
}
return d;
}
public static String displayJurisdictionShort(Coding c) {
String d = displayJurisdiction(c);
if (d.contains("(")) {
d = d.substring(0, d.indexOf("(")).trim();
}
return d;
}
public static String displayJurisdiction(Coding c) {
if (c == null) {
return "No Jurisdiction";

View File

@ -60,6 +60,7 @@ import org.hl7.fhir.r5.model.ValueSet.ConceptReferenceDesignationComponent;
import org.hl7.fhir.r5.model.ValueSet.ConceptSetComponent;
import org.hl7.fhir.r5.model.ValueSet.ConceptSetFilterComponent;
import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionContainsComponent;
import org.hl7.fhir.r5.terminologies.ValueSetCheckerSimple.ConceptReferencePair;
import org.hl7.fhir.r5.terminologies.ValueSetExpander.TerminologyServiceErrorClass;
import org.hl7.fhir.r5.terminologies.ValueSetExpander.ValueSetExpansionOutcome;
import org.hl7.fhir.r5.utils.ToolingExtensions;
@ -75,6 +76,27 @@ import org.hl7.fhir.utilities.validation.ValidationOptions.ValueSetMode;
public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChecker {
public class ConceptReferencePair {
private ValueSet valueset;
private ConceptReferenceComponent cc;
public ConceptReferencePair(ValueSet valueset, ConceptReferenceComponent cc) {
this.valueset = valueset;
this.cc = cc;
}
public ValueSet getValueset() {
return valueset;
}
public ConceptReferenceComponent getCc() {
return cc;
}
}
private ValueSet valueset;
private IWorkerContext context;
private Map<String, ValueSetCheckerSimple> inner = new HashMap<>();
@ -138,7 +160,11 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
CodeSystem cs = resolveCodeSystem(c.getSystem(), c.getVersion());
ValidationResult res = null;
if (cs == null || cs.getContent() != CodeSystemContentMode.COMPLETE) {
res = context.validateCode(options.noClient(), c, null);
if (context.isNoTerminologyServer()) {
res = new ValidationResult(IssueSeverity.ERROR, context.formatMessage(I18nConstants.UKNOWN_CODESYSTEM, c.getSystem(), c.getVersion()));
} else {
res = context.validateCode(options.withNoClient(), c, null);
}
} else {
res = validateCode(c, cs);
}
@ -174,7 +200,7 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
} else {
ConceptDefinitionComponent cd = new ConceptDefinitionComponent(foundCoding.getCode());
cd.setDisplay(foundCoding.getDisplay());
return new ValidationResult(foundCoding.getSystem(), cd);
return new ValidationResult(foundCoding.getSystem(), cd, getPreferredDisplay(cd, null));
}
}
@ -227,7 +253,11 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
inInclude = checkInclude(code);
CodeSystem cs = resolveCodeSystem(system, code.getVersion());
if (cs == null) {
warningMessage = "Unable to resolve system "+system;
if (code.getVersion() == null) {
warningMessage = context.formatMessage(I18nConstants.UKNOWN_CODESYSTEM, system);
} else {
warningMessage = context.formatMessage(I18nConstants.UKNOWN_CODESYSTEM_VERSION, system, code.getVersion());
}
if (!inExpansion) {
if (valueset != null && valueset.hasExpansion()) {
return new ValidationResult(IssueSeverity.ERROR, context.formatMessage(I18nConstants.CODESYSTEM_CS_UNK_EXPANSION, valueset.getUrl(), code.getCode().toString(), code.getSystem()));
@ -252,7 +282,8 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
ConceptReferenceComponent cc = findInInclude(code);
if (cc != null) {
// we'll take it on faith
res = new ValidationResult(system, new ConceptDefinitionComponent().setCode(cc.getCode()).setDisplay(cc.getDisplay()));
String disp = getPreferredDisplay(cc);
res = new ValidationResult(system, new ConceptDefinitionComponent().setCode(cc.getCode()).setDisplay(disp), disp);
res.setMessage("Resolved system "+system+", but the definition is not complete, so assuming value set include is correct");
return res;
}
@ -263,7 +294,7 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
res = validateCode(code, cs);
} else if (cs == null && valueset.hasExpansion() && inExpansion) {
// we just take the value set as face value then
res = new ValidationResult(system, new ConceptDefinitionComponent().setCode(code.getCode()).setDisplay(code.getDisplay()));
res = new ValidationResult(system, new ConceptDefinitionComponent().setCode(code.getCode()).setDisplay(code.getDisplay()), code.getDisplay());
} else {
// well, we didn't find a code system - try the expansion?
// disabled waiting for discussion
@ -372,7 +403,7 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
ConceptDefinitionComponent ccd = new ConceptDefinitionComponent();
ccd.setCode(containsComponent.getCode());
ccd.setDisplay(containsComponent.getDisplay());
ValidationResult res = new ValidationResult(code.getSystem(), ccd);
ValidationResult res = new ValidationResult(code.getSystem(), ccd, getPreferredDisplay(ccd, null));
return res;
}
if (containsComponent.hasContains()) {
@ -414,41 +445,60 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
}
}
if (code.getDisplay() == null) {
return new ValidationResult(code.getSystem(), cc);
return new ValidationResult(code.getSystem(), cc, getPreferredDisplay(cc, cs));
}
CommaSeparatedStringBuilder b = new CommaSeparatedStringBuilder();
if (cc.hasDisplay()) {
if (cc.hasDisplay() && isOkLanguage(cs.getLanguage())) {
b.append(cc.getDisplay());
if (code.getDisplay().equalsIgnoreCase(cc.getDisplay())) {
return new ValidationResult(code.getSystem(), cc);
return new ValidationResult(code.getSystem(), cc, getPreferredDisplay(cc, cs));
}
}
for (ConceptDefinitionDesignationComponent ds : cc.getDesignation()) {
b.append(ds.getValue());
if (code.getDisplay().equalsIgnoreCase(ds.getValue())) {
return new ValidationResult(code.getSystem(), cc);
if (isOkLanguage(ds.getLanguage())) {
b.append(ds.getValue());
if (code.getDisplay().equalsIgnoreCase(ds.getValue())) {
return new ValidationResult(code.getSystem(), cc, getPreferredDisplay(cc, cs));
}
}
}
// also check to see if the value set has another display
ConceptReferenceComponent vs = findValueSetRef(code.getSystem(), code.getCode());
if (vs != null && (vs.hasDisplay() ||vs.hasDesignation())) {
if (vs.hasDisplay()) {
b.append(vs.getDisplay());
if (code.getDisplay().equalsIgnoreCase(vs.getDisplay())) {
return new ValidationResult(code.getSystem(), cc);
if (options.isUseValueSetDisplays()) {
ConceptReferencePair vs = findValueSetRef(code.getSystem(), code.getCode());
if (vs != null && (vs.getCc().hasDisplay() ||vs.getCc().hasDesignation())) {
if (vs.getCc().hasDisplay() && isOkLanguage(vs.getValueset().getLanguage())) {
b.append(vs.getCc().getDisplay());
if (code.getDisplay().equalsIgnoreCase(vs.getCc().getDisplay())) {
return new ValidationResult(code.getSystem(), cc, getPreferredDisplay(cc, cs));
}
}
}
for (ConceptReferenceDesignationComponent ds : vs.getDesignation()) {
b.append(ds.getValue());
if (code.getDisplay().equalsIgnoreCase(ds.getValue())) {
return new ValidationResult(code.getSystem(), cc);
for (ConceptReferenceDesignationComponent ds : vs.getCc().getDesignation()) {
if (isOkLanguage(ds.getLanguage())) {
b.append(ds.getValue());
if (code.getDisplay().equalsIgnoreCase(ds.getValue())) {
return new ValidationResult(code.getSystem(), cc, getPreferredDisplay(cc, cs));
}
}
}
}
}
return new ValidationResult(IssueSeverity.WARNING, context.formatMessagePlural(b.count(), I18nConstants.DISPLAY_NAME_FOR__SHOULD_BE_ONE_OF__INSTEAD_OF, code.getSystem(), code.getCode(), b.toString(), code.getDisplay()), code.getSystem(), cc);
return new ValidationResult(IssueSeverity.WARNING, context.formatMessagePlural(b.count(), I18nConstants.DISPLAY_NAME_FOR__SHOULD_BE_ONE_OF__INSTEAD_OF, code.getSystem(), code.getCode(), b.toString(), code.getDisplay()), code.getSystem(), cc, getPreferredDisplay(cc, cs));
}
private boolean isOkLanguage(String language) {
if (!options.hasLanguages()) {
return true;
}
if (options.getLanguages().contains(language)) {
return true;
}
if (language == null && (options.getLanguages().contains("en") || options.getLanguages().contains("en-US"))) {
return true;
}
return false;
}
private ConceptReferenceComponent findValueSetRef(String system, String code) {
private ConceptReferencePair findValueSetRef(String system, String code) {
if (valueset == null)
return null;
// if it has an expansion
@ -457,19 +507,19 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
ConceptReferenceComponent cc = new ConceptReferenceComponent();
cc.setDisplay(exp.getDisplay());
cc.setDesignation(exp.getDesignation());
return cc;
return new ConceptReferencePair(valueset, cc);
}
}
for (ConceptSetComponent inc : valueset.getCompose().getInclude()) {
if (system.equals(inc.getSystem())) {
for (ConceptReferenceComponent cc : inc.getConcept()) {
if (cc.getCode().equals(code)) {
return cc;
return new ConceptReferencePair(valueset, cc);
}
}
}
for (CanonicalType url : inc.getValueSet()) {
ConceptReferenceComponent cc = getVs(url.asStringValue()).findValueSetRef(system, code);
ConceptReferencePair cc = getVs(url.asStringValue()).findValueSetRef(system, code);
if (cc != null) {
return cc;
}
@ -748,7 +798,7 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
}
}
if (!system.equals(vsi.getSystem()))
if (system == null || !system.equals(vsi.getSystem()))
return false;
// ok, we need the code system
CodeSystem cs = resolveCodeSystem(system, version);
@ -759,7 +809,7 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
vs.setUrl(valueset.getUrl()+"--"+vsiIndex);
vs.setVersion(valueset.getVersion());
vs.getCompose().addInclude(vsi);
ValidationResult res = context.validateCode(options.noClient(), new Coding(system, code, null), vs);
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) {
// server didn't know the code system either - we'll take it face value
@ -886,4 +936,54 @@ public class ValueSetCheckerSimple extends ValueSetWorker implements ValueSetChe
}
}
private String getPreferredDisplay(ConceptReferenceComponent cc) {
if (!options.hasLanguages()) {
return cc.getDisplay();
}
if (options.getLanguages().contains(valueset.getLanguage())) {
return cc.getDisplay();
}
// if there's no language, we default to accepting the displays as (US) English
if (valueset.getLanguage() == null && (options.getLanguages().contains("en") || options.getLanguages().contains("en-US"))) {
return cc.getDisplay();
}
for (ConceptReferenceDesignationComponent d : cc.getDesignation()) {
if (!d.hasUse() && options.getLanguages().contains(d.getLanguage())) {
return d.getValue();
}
}
for (ConceptReferenceDesignationComponent d : cc.getDesignation()) {
if (options.getLanguages().contains(d.getLanguage())) {
return d.getValue();
}
}
return cc.getDisplay();
}
private String getPreferredDisplay(ConceptDefinitionComponent cc, CodeSystem cs) {
if (!options.hasLanguages()) {
return cc.getDisplay();
}
if (cs != null && options.getLanguages().contains(cs.getLanguage())) {
return cc.getDisplay();
}
// if there's no language, we default to accepting the displays as (US) English
if ((cs == null || cs.getLanguage() == null) && (options.getLanguages().contains("en") || options.getLanguages().contains("en-US"))) {
return cc.getDisplay();
}
for (ConceptDefinitionDesignationComponent d : cc.getDesignation()) {
if (!d.hasUse() && options.getLanguages().contains(d.getLanguage())) {
return d.getValue();
}
}
for (ConceptDefinitionDesignationComponent d : cc.getDesignation()) {
if (options.getLanguages().contains(d.getLanguage())) {
return d.getValue();
}
}
return cc.getDisplay();
}
}

View File

@ -81,7 +81,7 @@ import org.hl7.fhir.exceptions.FHIRFormatError;
import org.hl7.fhir.exceptions.NoTerminologyServiceException;
import org.hl7.fhir.exceptions.TerminologyServiceException;
import org.hl7.fhir.r5.context.IWorkerContext;
import org.hl7.fhir.r5.elementmodel.LangaugeUtils;
import org.hl7.fhir.r5.elementmodel.LanguageUtils;
import org.hl7.fhir.r5.extensions.ExtensionConstants;
import org.hl7.fhir.r5.extensions.Extensions;
import org.hl7.fhir.r5.extensions.ExtensionsUtils;
@ -290,7 +290,7 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx
ConceptDefinitionDesignationComponent tu = expParams.hasParameter("displayLanguage") ? getMatchingLang(designations, expParams.getParameterString("displayLanguage")) : null;
if (tu != null) {
n.setDisplay(tu.getValue());
} else if (display != null && (srcLang == null || dstLang == null || LangaugeUtils.matches(dstLang, srcLang))) {
} else if (display != null && (srcLang == null || dstLang == null || LanguageUtils.matches(dstLang, srcLang))) {
n.setDisplay(display);
usedDisplay = true;
} else {

View File

@ -2549,7 +2549,7 @@ public class FHIRPathEngine {
if (vs != null) {
for (Base l : left) {
if (Utilities.existsInList(l.fhirType(), "code", "string", "uri")) {
if (worker.validateCode(terminologyServiceOptions.guessSystem() , TypeConvertor.castToCoding(l), vs).isOk()) {
if (worker.validateCode(terminologyServiceOptions.withGuessSystem() , TypeConvertor.castToCoding(l), vs).isOk()) {
ans = true;
}
} else if (l.fhirType().equals("Coding")) {
@ -4446,7 +4446,7 @@ public class FHIRPathEngine {
}
Base l = focus.get(0);
if (Utilities.existsInList(l.fhirType(), "code", "string", "uri")) {
return makeBoolean(worker.validateCode(terminologyServiceOptions.guessSystem(), TypeConvertor.castToCoding(l), vs).isOk());
return makeBoolean(worker.validateCode(terminologyServiceOptions.withGuessSystem(), TypeConvertor.castToCoding(l), vs).isOk());
} else if (l.fhirType().equals("Coding")) {
return makeBoolean(worker.validateCode(terminologyServiceOptions, TypeConvertor.castToCoding(l), vs).isOk());
} else if (l.fhirType().equals("CodeableConcept")) {

View File

@ -454,7 +454,12 @@ public class FHIRToolingClient {
public ValueSet expandValueset(ValueSet source, Parameters expParams, Map<String, String> params) {
Parameters p = expParams == null ? new Parameters() : expParams.copy();
p.addParameter().setName("valueSet").setResource(source);
if (source != null) {
p.addParameter().setName("valueSet").setResource(source);
}
if (params == null) {
params = new HashMap<>();
}
for (String n : params.keySet()) {
p.addParameter().setName(n).setValue(new StringType(params.get(n)));
}
@ -465,7 +470,7 @@ public class FHIRToolingClient {
ByteUtils.resourceToByteArray(p, false, isJson(getPreferredResourceFormat())),
getPreferredResourceFormat(),
generateHeaders(),
"ValueSet/$expand?url=" + source.getUrl(),
source == null ? "ValueSet/$expand" : "ValueSet/$expand?url=" + source.getUrl(),
TIMEOUT_OPERATION_EXPAND);
if (result.isUnsuccessfulRequest()) {
throw new EFhirClientException("Server returned error code " + result.getHttpStatus(), (OperationOutcome) result.getPayload());

View File

@ -1946,7 +1946,7 @@ public class StructureMapUtilities {
} else {
system = uri;
}
ValidationResult vr = worker.validateCode(terminologyServiceOptions.setVersionFlexible(true), system, version, code, null);
ValidationResult vr = worker.validateCode(terminologyServiceOptions.withVersionFlexible(true), system, version, code, null);
if (vr != null && vr.getDisplay() != null)
display = vr.getDisplay();
return new Coding().setSystem(system).setCode(code).setDisplay(display);

View File

@ -3,6 +3,6 @@ package org.hl7.fhir.r5.context;
import org.hl7.fhir.utilities.validation.ValidationOptions;
public class CacheTestUtils {
public static final ValidationOptions validationOptions = new ValidationOptions().guessSystem().setVersionFlexible(false);
public static final ValidationOptions validationOptions = new ValidationOptions().withGuessSystem().withVersionFlexible(false);
}

View File

@ -137,7 +137,7 @@ public class SimpleWorkerContextTests {
@Test
public void testValidateCodingWithCache() throws IOException {
ValidationOptions validationOptions = new ValidationOptions().guessSystem().setVersionFlexible(false);
ValidationOptions validationOptions = new ValidationOptions().withGuessSystem().withVersionFlexible(false);
ValueSet valueSet = new ValueSet();
Coding coding = new Coding();
@ -157,7 +157,7 @@ public class SimpleWorkerContextTests {
@Test
public void testValidateCodingWithValueSetChecker() throws IOException {
ValidationOptions validationOptions = new ValidationOptions().guessSystem().setVersionFlexible(false);
ValidationOptions validationOptions = new ValidationOptions().withGuessSystem().withVersionFlexible(false);
ValueSet valueSet = new ValueSet();
Coding coding = new Coding();
@ -180,7 +180,7 @@ public class SimpleWorkerContextTests {
@Test
public void testValidateCodingWithServer() throws IOException {
ValidationOptions validationOptions = new ValidationOptions().guessSystem().setVersionFlexible(false).noClient();
ValidationOptions validationOptions = new ValidationOptions().withGuessSystem().withVersionFlexible(false).withNoClient();
ValueSet valueSet = new ValueSet();
Coding coding = new Coding();
@ -240,7 +240,7 @@ public class SimpleWorkerContextTests {
CodeableConcept codeableConcept = new CodeableConcept();
ValueSet valueSet = new ValueSet();
ValidationOptions validationOptions = CacheTestUtils.validationOptions.noClient();
ValidationOptions validationOptions = CacheTestUtils.validationOptions.withNoClient();
Mockito.doReturn(pIn).when(context).constructParameters(validationOptions, codeableConcept);
Mockito.doReturn(expectedValidationResult).when(context).validateOnServer(valueSet, pIn, validationOptions);

View File

@ -85,9 +85,9 @@ public abstract class I18nBase {
String message = theMessage;
if (messageExistsForLocale(theMessage, (theMessageArguments != null && theMessageArguments.length > 0))) {
if (Objects.nonNull(theMessageArguments) && theMessageArguments.length > 0) {
message = MessageFormat.format(i18nMessages.getString(theMessage), theMessageArguments);
message = MessageFormat.format(i18nMessages.getString(theMessage).trim(), theMessageArguments);
} else {
message = i18nMessages.getString(theMessage);
message = i18nMessages.getString(theMessage).trim();
}
}
return message;

View File

@ -582,6 +582,7 @@ public class I18nConstants {
public static final String UNABLE_TO_RESOLVE_SYSTEM__VALUE_SET_HAS_NO_INCLUDES_OR_EXPANSION = "Unable_to_resolve_system__value_set_has_no_includes_or_expansion";
public static final String UNABLE_TO_RESOLVE_VALUE_SET_ = "Unable_to_resolve_value_Set_";
public static final String UNABLE_TO_VALIDATE_CODE_WITHOUT_USING_SERVER = "Unable_to_validate_code_without_using_server";
public static final String UNABLE_TO_VALIDATE_LOCALLY = "UNABLE_TO_VALIDATE_LOCALLY";
public static final String UNDEFINED_ATTRIBUTE__ON__FOR_TYPE__PROPERTIES__ = "Undefined_attribute__on__for_type__properties__";
public static final String UNDEFINED_ELEMENT_ = "Undefined_element_";
public static final String UNEXPECTED_CONDITION_IN_DIFFERENTIAL_TYPESLICETYPELISTSIZE__10_AND_IMPLICIT_SLICE_NAME_DOES_NOT_CONTAIN_A_VALID_TYPE__AT_ = "Unexpected_condition_in_differential_typeslicetypelistsize__10_and_implicit_slice_name_does_not_contain_a_valid_type__at_";
@ -854,6 +855,8 @@ public class I18nConstants {
public static final String CONCEPTMAP_GROUP_TARGET_INCOMPLETE = "CONCEPTMAP_GROUP_TARGET_INCOMPLETE";
public static final String UNABLE_TO_RESOLVE_SYSTEM_SYSTEM_IS_INDETERMINATE = "UNABLE_TO_RESOLVE_SYSTEM_SYSTEM_IS_INDETERMINATE";
public static final String SD_NO_TYPE_CODE_ON_CODE = "SD_NO_TYPE_CODE_ON_CODE";
public static final String UKNOWN_CODESYSTEM = "UKNOWN_CODESYSTEM";
public static final String UKNOWN_CODESYSTEM_VERSION = "UKNOWN_CODESYSTEM_VERSION";
}

View File

@ -105,5 +105,7 @@ public abstract class LanguageFileProducer {
public abstract LanguageProducerSession startSession(String id, String baseLang) throws IOException;
public abstract void finish();
public abstract List<TextUnit> loadTranslations(String baseLang, String targetLang);
public abstract List<TextUnit> loadTranslations(String id, String baseLang, String targetLang) throws IOException;
public abstract int fileCount();
}

View File

@ -1,7 +1,9 @@
package org.hl7.fhir.utilities.i18n;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.ArrayList;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.Utilities;
@ -13,6 +15,8 @@ import org.hl7.fhir.utilities.i18n.XLIFFProducer.XLiffLanguageProducerLanguageSe
public class PoGetTextProducer extends LanguageFileProducer {
private int filecount;
public PoGetTextProducer(String folder) {
super(folder);
}
@ -42,10 +46,8 @@ public class PoGetTextProducer extends LanguageFileProducer {
public void finish() throws IOException {
// nothing
}
}
public class POGetTextLanguageProducerLanguageSession extends LanguageProducerLanguageSession {
@ -54,10 +56,8 @@ public class PoGetTextProducer extends LanguageFileProducer {
public POGetTextLanguageProducerLanguageSession(String id, String baseLang, String targetLang) {
super(id, baseLang, targetLang);
po = new StringBuilder();
ln("<?xml version=\"1.0\" ?>\r\n");
ln("<xliff xmlns=\"urn:oasis:names:tc:xliff:document:2.0\" version=\"2.0\">");
ln(" <file source-language=\""+baseLang+"\" target-language=\""+targetLang+"\" id=\""+id+"\" original=\"Resource "+id+"\" datatype=\"KEYVALUEJSON\">");
ln(" <body>");
ln("# "+baseLang+" -> "+targetLang);
ln("");
}
protected void ln(String line) {
@ -66,8 +66,8 @@ public class PoGetTextProducer extends LanguageFileProducer {
@Override
public void finish() throws IOException {
ln("");
TextFile.stringToFile(po.toString(), Utilities.path(getFolder(), id+"-"+baseLang+"-"+targetLang+".po"));
TextFile.stringToFile(po.toString(), getFileName(id, baseLang, targetLang));
filecount++;
}
@Override
@ -77,7 +77,7 @@ public class PoGetTextProducer extends LanguageFileProducer {
// ln("#. "+context);
// }
ln("msgid \""+unit.getSrcText()+"\"");
ln("msgstr \""+unit.getTgtText()+"\"");
ln("msgstr \""+(unit.getTgtText() == null ? "" : unit.getTgtText())+"\"");
ln("");
}
@ -85,8 +85,22 @@ public class PoGetTextProducer extends LanguageFileProducer {
@Override
public List<TextUnit> loadTranslations(String baseLang, String tgtLang) {
return null;
public int fileCount() {
return filecount;
}
@Override
public List<TextUnit> loadTranslations(String id, String baseLang, String targetLang) throws IOException {
List<TextUnit> res = new ArrayList<>();
File f = new File(getFileName(id, baseLang, targetLang));
if (f.exists()) {
}
return res;
}
private String getFileName(String id, String baseLang, String targetLang) throws IOException {
return Utilities.path(getFolder(), id+"-"+baseLang+"-"+targetLang+".po");
}

View File

@ -33,6 +33,7 @@ public class XLIFFProducer extends LanguageFileProducer {
ln(" </file>");
ln("</xliff>");
TextFile.stringToFile(xml.toString(), Utilities.path(getFolder(), id+".xliff"));
filecount++;
}
@Override
@ -70,6 +71,8 @@ public class XLIFFProducer extends LanguageFileProducer {
}
private int filecount;
public XLIFFProducer(String folder) {
super(folder);
}
@ -85,8 +88,12 @@ public class XLIFFProducer extends LanguageFileProducer {
}
@Override
public List<TextUnit> loadTranslations(String baseLang, String tgtLang) {
public List<TextUnit> loadTranslations(String id, String baseLang, String tgtLang) {
return null;
}
@Override
public int fileCount() {
return filecount;
}
}

View File

@ -1,124 +1,255 @@
package org.hl7.fhir.utilities.validation;
import java.util.List;
import java.util.ArrayList;
public class ValidationOptions {
public enum ValueSetMode {
ALL_CHECKS, CHECK_MEMERSHIP_ONLY, NO_MEMBERSHIP_CHECK
}
private String language;
private List<String> languages = new ArrayList<>();
private boolean useServer = true;
private boolean useClient = true;
private boolean guessSystem = false;
private ValueSetMode valueSetMode = ValueSetMode.ALL_CHECKS;
private boolean vsAsUrl;
private boolean versionFlexible = true;
private boolean useValueSetDisplays;
private boolean englishOk = true;
public ValidationOptions() {
public ValidationOptions(String... languages) {
super();
for(String s : languages) {
this.languages.add(s);
}
}
public ValidationOptions(String language) {
super();
this.language = language;
public static ValidationOptions defaults() {
return new ValidationOptions("en", "en-US");
}
public String getLanguage() {
return language;
}
/**
* The language that the validation is in (for display name checking etc
*
* See also englishOK
*
* @return
*/
public List<String> getLanguages() {
return languages;
}
public boolean hasLanguages() {
return languages.size() > 0;
}
/**
* true (which is default) means that the validator will use the server if it needs to for this request
*
* (there's a few corner cases where you want to turn this off?)
* @return
*/
public boolean isUseServer() {
return useServer;
}
/**
* True means that the validator will try to resolve the terminology request locally with the resources at hand
*
* There have been a few corner case code systems where the local code system from THO is wrong
*
* @return
*/
public boolean isUseClient() {
return useClient;
}
/**
* True if this is called from a code context where there's no known code system (inferred from the value set)
*
* @return
*/
public boolean isGuessSystem() {
return guessSystem;
}
public ValidationOptions copy() {
ValidationOptions n = new ValidationOptions(language);
n.useServer = useServer;
n.useClient = useClient;
n.guessSystem = guessSystem;
n.vsAsUrl = vsAsUrl;
n.versionFlexible = versionFlexible;
return n;
/**
* See {link}
* @return
*/
public ValueSetMode getValueSetMode() {
return valueSetMode;
}
public ValidationOptions setLanguage(String language) {
/**
* Don't know what this does
*
* @return
*/
public boolean getVsAsUrl() {
return vsAsUrl;
}
/**
* Don't know exactly what this does
*
* @return
*/
public boolean isVersionFlexible() {
return versionFlexible;
}
/**
* see {link}
*
* @return
*/
public boolean isUseValueSetDisplays() {
return useValueSetDisplays;
}
/**
* if the language is other than english, should the validator accept english as well?
*
* @return
*/
public boolean isEnglishOk() {
return englishOk;
}
public ValidationOptions withLanguage(String language) {
ValidationOptions n = this.copy();
n.language = language;
n.languages.add(language);
return n;
}
public ValidationOptions noServer() {
public ValidationOptions withNoServer() {
ValidationOptions n = this.copy();
n.useServer = false;
return n;
}
public ValidationOptions noClient() {
public ValidationOptions withNoClient() {
ValidationOptions n = this.copy();
n.useClient = false;
return n;
}
public ValidationOptions guessSystem() {
public ValidationOptions withGuessSystem() {
ValidationOptions n = this.copy();
n.guessSystem = true;
return n;
}
public String toJson() {
return "\"lang\":\""+language+"\", \"useServer\":\""+Boolean.toString(useServer)+"\", \"useClient\":\""+Boolean.toString(useClient)+"\", "+
"\"guessSystem\":\""+Boolean.toString(guessSystem)+"\", \"valueSetMode\":\""+valueSetMode.toString()+"\", \"versionFlexible\":\""+Boolean.toString(versionFlexible)+"\"";
}
public static ValidationOptions defaults() {
return new ValidationOptions("en-US");
}
public ValidationOptions checkValueSetOnly() {
public ValidationOptions withCheckValueSetOnly() {
ValidationOptions n = this.copy();
n.valueSetMode = ValueSetMode.CHECK_MEMERSHIP_ONLY;
return n;
}
public ValidationOptions noCheckValueSetMembership() {
public ValidationOptions withNoCheckValueSetMembership() {
ValidationOptions n = this.copy();
n.valueSetMode = ValueSetMode.NO_MEMBERSHIP_CHECK;
return n;
}
public ValueSetMode getValueSetMode() {
return valueSetMode;
public ValidationOptions withVsAsUrl() {
ValidationOptions n = this.copy();
n.vsAsUrl = true;
return n;
}
public ValidationOptions setVsAsUrl() {
vsAsUrl = true;
return this;
}
public boolean getVsAsUrl() {
return vsAsUrl;
}
public boolean versionFlexible() {
return versionFlexible;
}
public ValidationOptions setVersionFlexible(boolean value) {
public ValidationOptions withVersionFlexible(boolean value) {
ValidationOptions n = this.copy();
n.versionFlexible = value;
return n;
}
public ValidationOptions withUseValueSetDisplays(boolean useValueSetDisplays) {
ValidationOptions n = this.copy();
n.useValueSetDisplays = useValueSetDisplays;
return n;
}
public ValidationOptions withEnglishOk(boolean englishOk) {
ValidationOptions n = this.copy();
n.englishOk = englishOk;
return n;
}
public ValidationOptions addLanguage(String language) {
this.languages.add(language);
return this;
}
public ValidationOptions setNoServer(boolean useServer) {
this.useServer = useServer;
return this;
}
public ValidationOptions setNoClient(boolean useClient) {
this.useClient = useClient;
return this;
}
public ValidationOptions setGuessSystem(boolean guessSystem) {
this.guessSystem = guessSystem;
return this;
}
public ValidationOptions setCheckValueSetOnly() {
this.valueSetMode = ValueSetMode.CHECK_MEMERSHIP_ONLY;
return this;
}
public ValidationOptions setNoCheckValueSetMembership() {
this.valueSetMode = ValueSetMode.NO_MEMBERSHIP_CHECK;
return this;
}
public ValidationOptions setVsAsUrl(boolean value) {
this.vsAsUrl = value;
return this;
}
public ValidationOptions setVersionFlexible(boolean value) {
this.versionFlexible = value;
return this;
}
public ValidationOptions setUseValueSetDisplays(boolean useValueSetDisplays) {
this.useValueSetDisplays = useValueSetDisplays;
return this;
}
public ValidationOptions setEnglishOk(boolean englishOk) {
this.englishOk = englishOk;
return this;
}
public ValidationOptions copy() {
ValidationOptions n = new ValidationOptions();
n.languages.addAll(languages);
n.useServer = useServer;
n.useClient = useClient;
n.guessSystem = guessSystem;
n.vsAsUrl = vsAsUrl;
n.versionFlexible = versionFlexible;
n.valueSetMode = valueSetMode;
n.useValueSetDisplays = useValueSetDisplays;
return n;
}
public String toJson() {
return "\"langs\":\""+languages.toString()+"\", \"useServer\":\""+Boolean.toString(useServer)+"\", \"useClient\":\""+Boolean.toString(useClient)+"\", "+
"\"guessSystem\":\""+Boolean.toString(guessSystem)+"\", \"valueSetMode\":\""+valueSetMode.toString()+"\", \"versionFlexible\":\""+Boolean.toString(versionFlexible)+"\"";
}
}

View File

@ -450,7 +450,8 @@ Duplicate_Resource_ = Duplicate Resource {0} of type {3} (existing version {2},
DUPLICATE_RESOURCE_VERSION = Duplicate Resource {0} Version {1} of type {2}
Error_expanding_ValueSet_running_without_terminology_services = Error expanding ValueSet: running without terminology services
Error_validating_code_running_without_terminology_services = Error validating code: running without terminology services
Unable_to_validate_code_without_using_server = Unable to validate code without using server
Unable_to_validate_code_without_using_server = Unable to validate code without using server because: {0}
UNABLE_TO_VALIDATE_LOCALLY = Unable to validate code locally: {0}
Profile___Error_generating_snapshot = Profile {0} ({1}). Error generating snapshot
Profile___element__Error_generating_snapshot_ = Profile {0} ({1}), element {2}. Error generating snapshot: {3}
Profile___base__could_not_be_resolved = Profile {0} ({1}) base {2} could not be resolved
@ -904,5 +905,6 @@ SM_DEPENDENT_PARAM_TYPE_MISMATCH_DUPLICATE = The group {0} has alr
CONCEPTMAP_GROUP_SOURCE_INCOMPLETE = Source Code System {0} doesn''t have all content (content = {1}), so the source codes cannot be checked
CONCEPTMAP_GROUP_TARGET_INCOMPLETE = Target Code System {0} doesn''t have all content (content = {1}), so the source codes cannot be checked
SD_NO_TYPE_CODE_ON_CODE = Snapshot for {1} element {0} has type.code without a value
UKNOWN_CODESYSTEM = The CodeSystem {0} is unknown
UKNOWN_CODESYSTEM_VERSION = The CodeSystem {0} version {1} is unknown

View File

@ -1,8 +1,25 @@
package org.hl7.fhir.validation;
import org.hl7.fhir.r5.elementmodel.Manager;
import org.hl7.fhir.r5.elementmodel.Manager.FhirFormat;
class Content {
byte[] focus = null;
Manager.FhirFormat cntType = null;
public class Content {
private byte[] focus = null;
private Manager.FhirFormat cntType = null;
public byte[] getFocus() {
return focus;
}
public Manager.FhirFormat getCntType() {
return cntType;
}
public void setFocus(byte[] focus) {
this.focus = focus;
}
public void setCntType(Manager.FhirFormat cntType) {
this.cntType = cntType;
}
}

View File

@ -178,19 +178,19 @@ public class IgLoader {
if (s.size() != 1)
throw new FHIRException("Unable to find resource " + source + " to " + opName);
for (Map.Entry<String, byte[]> t : s.entrySet()) {
res.focus = t.getValue();
res.setFocus(t.getValue());
if (t.getKey().endsWith(".json"))
res.cntType = Manager.FhirFormat.JSON;
res.setCntType(Manager.FhirFormat.JSON);
else if (t.getKey().endsWith(".xml"))
res.cntType = Manager.FhirFormat.XML;
res.setCntType(Manager.FhirFormat.XML);
else if (t.getKey().endsWith(".ttl"))
res.cntType = Manager.FhirFormat.TURTLE;
res.setCntType(Manager.FhirFormat.TURTLE);
else if (t.getKey().endsWith(".shc"))
res.cntType = Manager.FhirFormat.SHC;
res.setCntType(Manager.FhirFormat.SHC);
else if (t.getKey().endsWith(".txt"))
res.cntType = Manager.FhirFormat.TEXT;
res.setCntType(Manager.FhirFormat.TEXT);
else if (t.getKey().endsWith(".fml") || t.getKey().endsWith(".map"))
res.cntType = Manager.FhirFormat.FML;
res.setCntType(Manager.FhirFormat.FML);
else
throw new FHIRException("Todo: Determining resource type is not yet done");
}
@ -305,7 +305,7 @@ public class IgLoader {
ValidatorUtils.parseSources(sources, refs, context);
for (String ref : refs) {
Content cnt = loadContent(ref, "validate", false);
scanForFhirVersion(versions, ref, cnt.focus);
scanForFhirVersion(versions, ref, cnt.getFocus());
}
}

View File

@ -87,7 +87,7 @@ public class Scanner {
try {
System.out.println("Validate " + ref);
messages.clear();
e = getValidator().validate(null, messages, new ByteArrayInputStream(cnt.focus), cnt.cntType);
e = getValidator().validate(null, messages, new ByteArrayInputStream(cnt.getFocus()), cnt.getCntType());
res.add(new ScanOutputItem(ref, null, null, ValidatorUtils.messagesToOutcome(messages, getContext(), getFhirPathEngine())));
} catch (Exception ex) {
res.add(new ScanOutputItem(ref, null, null, exceptionToOutcome(ex)));
@ -103,7 +103,7 @@ public class Scanner {
try {
System.out.println("Validate " + ref + " against " + ig.getUrl());
messages.clear();
getValidator().validate(null, messages, new ByteArrayInputStream(cnt.focus), cnt.cntType, url);
getValidator().validate(null, messages, new ByteArrayInputStream(cnt.getFocus()), cnt.getCntType(), url);
res.add(new ScanOutputItem(ref, ig, null, ValidatorUtils.messagesToOutcome(messages, getContext(), getFhirPathEngine())));
} catch (Exception ex) {
res.add(new ScanOutputItem(ref, ig, null, exceptionToOutcome(ex)));
@ -117,7 +117,7 @@ public class Scanner {
try {
System.out.println("Validate " + ref + " against " + sd.getUrl());
messages.clear();
validator.validate(null, messages, new ByteArrayInputStream(cnt.focus), cnt.cntType, Collections.singletonList(sd));
validator.validate(null, messages, new ByteArrayInputStream(cnt.getFocus()), cnt.getCntType(), Collections.singletonList(sd));
res.add(new ScanOutputItem(ref, ig, sd, ValidatorUtils.messagesToOutcome(messages, getContext(), getFhirPathEngine())));
} catch (Exception ex) {
res.add(new ScanOutputItem(ref, ig, sd, exceptionToOutcome(ex)));

View File

@ -567,7 +567,7 @@ public class ValidationEngine implements IValidatorResourceFetcher, IValidationP
System.out.println(" Validate " + ref);
Content cnt = igLoader.loadContent(ref, "validate", false);
try {
OperationOutcome outcome = validate(ref, cnt.focus, cnt.cntType, profiles, record);
OperationOutcome outcome = validate(ref, cnt.getFocus(), cnt.getCntType(), profiles, record);
ToolingExtensions.addStringExtension(outcome, ToolingExtensions.EXT_OO_FILE, ref);
System.out.println(" " + context.clock().milestone());
results.addEntry().setResource(outcome);
@ -622,7 +622,7 @@ public class ValidationEngine implements IValidatorResourceFetcher, IValidationP
public org.hl7.fhir.r5.elementmodel.Element transform(String source, String map) throws FHIRException, IOException {
Content cnt = igLoader.loadContent(source, "validate", false);
return transform(cnt.focus, cnt.cntType, map);
return transform(cnt.getFocus(), cnt.getCntType(), map);
}
public StructureMap compile(String mapUri) throws FHIRException, IOException {
@ -706,7 +706,7 @@ public class ValidationEngine implements IValidatorResourceFetcher, IValidationP
public Resource generate(String source, String version) throws FHIRException, IOException, EOperationOutcome {
Content cnt = igLoader.loadContent(source, "validate", false);
Resource res = igLoader.loadResourceByVersion(version, cnt.focus, source);
Resource res = igLoader.loadResourceByVersion(version, cnt.getFocus(), source);
RenderingContext rc = new RenderingContext(context, null, null, "http://hl7.org/fhir", "", null, ResourceRendererMode.END_USER, GenerationRules.VALID_RESOURCE);
genResource(res, rc);
return (Resource) res;
@ -727,21 +727,21 @@ public class ValidationEngine implements IValidatorResourceFetcher, IValidationP
public void convert(String source, String output) throws FHIRException, IOException {
Content cnt = igLoader.loadContent(source, "validate", false);
Element e = Manager.parseSingle(context, new ByteArrayInputStream(cnt.focus), cnt.cntType);
Element e = Manager.parseSingle(context, new ByteArrayInputStream(cnt.getFocus()), cnt.getCntType());
Manager.compose(context, e, new FileOutputStream(output), (output.endsWith(".json") ? FhirFormat.JSON : FhirFormat.XML), OutputStyle.PRETTY, null);
}
public String evaluateFhirPath(String source, String expression) throws FHIRException, IOException {
Content cnt = igLoader.loadContent(source, "validate", false);
FHIRPathEngine fpe = this.getValidator(null).getFHIRPathEngine();
Element e = Manager.parseSingle(context, new ByteArrayInputStream(cnt.focus), cnt.cntType);
Element e = Manager.parseSingle(context, new ByteArrayInputStream(cnt.getFocus()), cnt.getCntType());
ExpressionNode exp = fpe.parse(expression);
return fpe.evaluateToString(new ValidatorHostContext(context, e), e, e, e, exp);
}
public StructureDefinition snapshot(String source, String version) throws FHIRException, IOException {
Content cnt = igLoader.loadContent(source, "validate", false);
Resource res = igLoader.loadResourceByVersion(version, cnt.focus, Utilities.getFileNameForName(source));
Resource res = igLoader.loadResourceByVersion(version, cnt.getFocus(), Utilities.getFileNameForName(source));
if (!(res instanceof StructureDefinition))
throw new FHIRException("Require a StructureDefinition for generating a snapshot");
@ -754,7 +754,7 @@ public class ValidationEngine implements IValidatorResourceFetcher, IValidationP
public CanonicalResource loadCanonicalResource(String source, String version) throws FHIRException, IOException {
Content cnt = igLoader.loadContent(source, "validate", false);
Resource res = igLoader.loadResourceByVersion(version, cnt.focus, Utilities.getFileNameForName(source));
Resource res = igLoader.loadResourceByVersion(version, cnt.getFocus(), Utilities.getFileNameForName(source));
if (!(res instanceof CanonicalResource))
throw new FHIRException("Require a CanonicalResource");
@ -898,7 +898,7 @@ public class ValidationEngine implements IValidatorResourceFetcher, IValidationP
public byte[] transformVersion(String source, String targetVer, FhirFormat format, Boolean canDoNative) throws FHIRException, IOException, Exception {
Content cnt = igLoader.loadContent(source, "validate", false);
org.hl7.fhir.r5.elementmodel.Element src = Manager.parseSingle(context, new ByteArrayInputStream(cnt.focus), cnt.cntType);
org.hl7.fhir.r5.elementmodel.Element src = Manager.parseSingle(context, new ByteArrayInputStream(cnt.getFocus()), cnt.getCntType());
// if the src has a url, we try to use the java code
if ((canDoNative == null && src.hasChild("url")) || (canDoNative != null && canDoNative)) {

View File

@ -289,6 +289,7 @@ public class ValidatorCli {
if (cliContext.getSv() == null) {
cliContext.setSv(validationService.determineVersion(cliContext));
}
System.out.println(" Locale: "+Locale.getDefault().getDisplayCountry()+"/"+Locale.getDefault().getCountry());
if (cliContext.getJurisdiction() == null) {
System.out.println(" Jurisdiction: None specified (locale = "+Locale.getDefault().getCountry()+")");
System.out.println(" Note that exceptions and validation failures may happen in the absense of a locale");
@ -327,6 +328,9 @@ public class ValidatorCli {
case VERSION:
validationService.transformVersion(cliContext, validator);
break;
case LANG_TRANSFORM:
validationService.transformLang(cliContext, validator);
break;
case VALIDATION:
case SCAN:
default:

View File

@ -17,15 +17,15 @@ public class VersionConvertor {
public static byte[] convertVersionNativeR2(String targetVer, Content cnt, Manager.FhirFormat format) throws IOException, Exception {
org.hl7.fhir.dstu2.model.Resource r2;
switch (cnt.cntType) {
switch (cnt.getCntType()) {
case JSON:
r2 = new org.hl7.fhir.dstu2.formats.JsonParser().parse(cnt.focus);
r2 = new org.hl7.fhir.dstu2.formats.JsonParser().parse(cnt.getFocus());
break;
case XML:
r2 = new org.hl7.fhir.dstu2.formats.XmlParser().parse(cnt.focus);
r2 = new org.hl7.fhir.dstu2.formats.XmlParser().parse(cnt.getFocus());
break;
default:
throw new FHIRException("Unsupported input format: " + cnt.cntType.toString());
throw new FHIRException("Unsupported input format: " + cnt.getCntType().toString());
}
if (VersionUtilities.isR2Ver(targetVer)) {
return getBytesDstu2(cnt, format, r2);
@ -44,15 +44,15 @@ public class VersionConvertor {
public static byte[] convertVersionNativeR2b(String targetVer, Content cnt, Manager.FhirFormat format) throws IOException, Exception {
org.hl7.fhir.dstu2016may.model.Resource r2b;
switch (cnt.cntType) {
switch (cnt.getCntType()) {
case JSON:
r2b = new org.hl7.fhir.dstu2016may.formats.JsonParser().parse(cnt.focus);
r2b = new org.hl7.fhir.dstu2016may.formats.JsonParser().parse(cnt.getFocus());
break;
case XML:
r2b = new org.hl7.fhir.dstu2016may.formats.XmlParser().parse(cnt.focus);
r2b = new org.hl7.fhir.dstu2016may.formats.XmlParser().parse(cnt.getFocus());
break;
default:
throw new FHIRException("Unsupported input format: " + cnt.cntType.toString());
throw new FHIRException("Unsupported input format: " + cnt.getCntType().toString());
}
if (VersionUtilities.isR2Ver(targetVer)) {
org.hl7.fhir.dstu3.model.Resource r3 = VersionConvertorFactory_14_30.convertResource(r2b);
@ -71,15 +71,15 @@ public class VersionConvertor {
public static byte[] convertVersionNativeR3(String targetVer, Content cnt, Manager.FhirFormat format) throws IOException, Exception {
org.hl7.fhir.dstu3.model.Resource r3;
switch (cnt.cntType) {
switch (cnt.getCntType()) {
case JSON:
r3 = new org.hl7.fhir.dstu3.formats.JsonParser().parse(cnt.focus);
r3 = new org.hl7.fhir.dstu3.formats.JsonParser().parse(cnt.getFocus());
break;
case XML:
r3 = new org.hl7.fhir.dstu3.formats.XmlParser().parse(cnt.focus);
r3 = new org.hl7.fhir.dstu3.formats.XmlParser().parse(cnt.getFocus());
break;
default:
throw new FHIRException("Unsupported input format: " + cnt.cntType.toString());
throw new FHIRException("Unsupported input format: " + cnt.getCntType().toString());
}
if (VersionUtilities.isR2Ver(targetVer)) {
return getBytesDstu2(cnt, format, VersionConvertorFactory_10_30.convertResource(r3));
@ -96,15 +96,15 @@ public class VersionConvertor {
public static byte[] convertVersionNativeR4(String targetVer, Content cnt, Manager.FhirFormat format) throws IOException, Exception {
org.hl7.fhir.r4.model.Resource r4;
switch (cnt.cntType) {
switch (cnt.getCntType()) {
case JSON:
r4 = new org.hl7.fhir.r4.formats.JsonParser().parse(cnt.focus);
r4 = new org.hl7.fhir.r4.formats.JsonParser().parse(cnt.getFocus());
break;
case XML:
r4 = new org.hl7.fhir.r4.formats.XmlParser().parse(cnt.focus);
r4 = new org.hl7.fhir.r4.formats.XmlParser().parse(cnt.getFocus());
break;
default:
throw new FHIRException("Unsupported input format: " + cnt.cntType.toString());
throw new FHIRException("Unsupported input format: " + cnt.getCntType().toString());
}
if (VersionUtilities.isR2Ver(targetVer)) {
return getBytesDstu2(cnt, format, VersionConvertorFactory_10_40.convertResource(r4));
@ -129,7 +129,7 @@ public class VersionConvertor {
new org.hl7.fhir.dstu2.formats.XmlParser().compose(bs, r2);
return bs.toByteArray();
default:
throw new FHIRException("Unsupported output format: " + cnt.cntType.toString());
throw new FHIRException("Unsupported output format: " + cnt.getCntType().toString());
}
}
@ -143,7 +143,7 @@ public class VersionConvertor {
new org.hl7.fhir.dstu2016may.formats.XmlParser().compose(bs, r2b);
return bs.toByteArray();
default:
throw new FHIRException("Unsupported output format: " + cnt.cntType.toString());
throw new FHIRException("Unsupported output format: " + cnt.getCntType().toString());
}
}
@ -157,7 +157,7 @@ public class VersionConvertor {
new org.hl7.fhir.dstu3.formats.XmlParser().compose(bs, r3);
return bs.toByteArray();
default:
throw new FHIRException("Unsupported output format: " + cnt.cntType.toString());
throw new FHIRException("Unsupported output format: " + cnt.getCntType().toString());
}
}
@ -171,7 +171,7 @@ public class VersionConvertor {
new org.hl7.fhir.r4.formats.XmlParser().compose(bs, r4);
return bs.toByteArray();
default:
throw new FHIRException("Unsupported output format: " + cnt.cntType.toString());
throw new FHIRException("Unsupported output format: " + cnt.getCntType().toString());
}
}
}

View File

@ -125,6 +125,10 @@ public class CliContext {
@JsonProperty("jurisdiction")
private String jurisdiction = JurisdictionUtilities.getJurisdictionFromLocale(Locale.getDefault().getCountry());
@JsonProperty("srcLang")
private String srcLang = null;
@JsonProperty("tgtLang")
private String tgtLang = null;
@JsonProperty("map")
@ -643,6 +647,23 @@ public class CliContext {
this.jurisdiction = jurisdiction;
}
public String getSrcLang() {
return srcLang;
}
public void setSrcLang(String srcLang) {
this.srcLang = srcLang;
}
public String getTgtLang() {
return tgtLang;
}
public void setTgtLang(String tgtLang) {
this.tgtLang = tgtLang;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
@ -670,6 +691,8 @@ public class CliContext {
Objects.equals(txCache, that.txCache) &&
Objects.equals(mapLog, that.mapLog) &&
Objects.equals(lang, that.lang) &&
Objects.equals(srcLang, that.srcLang) &&
Objects.equals(tgtLang, that.tgtLang) &&
Objects.equals(fhirpath, that.fhirpath) &&
Objects.equals(snomedCT, that.snomedCT) &&
Objects.equals(targetVer, that.targetVer) &&
@ -692,7 +715,7 @@ public class CliContext {
@Override
public int hashCode() {
return Objects.hash(doNative, extensions, hintAboutNonMustSupport, recursive, doDebug, assumeValidRestReferences, canDoNative, noInternalCaching,
noExtensibleBindingMessages, noInvariants, wantInvariantsInMessages, map, output, outputSuffix, htmlOutput, txServer, sv, txLog, txCache, mapLog, lang, fhirpath, snomedCT,
noExtensibleBindingMessages, noInvariants, wantInvariantsInMessages, map, output, outputSuffix, htmlOutput, txServer, sv, txLog, txCache, mapLog, lang, srcLang, tgtLang, fhirpath, snomedCT,
targetVer, igs, questionnaireMode, level, profiles, sources, mode, locale, locations, crumbTrails, forPublication, showTimes, allowExampleUrls, outputStyle, jurisdiction, noUnicodeBiDiControlChars);
}
@ -721,6 +744,8 @@ public class CliContext {
", txCache='" + txCache + '\'' +
", mapLog='" + mapLog + '\'' +
", lang='" + lang + '\'' +
", srcLang='" + srcLang + '\'' +
", tgtLang='" + tgtLang + '\'' +
", fhirpath='" + fhirpath + '\'' +
", snomedCT='" + snomedCT + '\'' +
", targetVer='" + targetVer + '\'' +

View File

@ -1,7 +1,9 @@
package org.hl7.fhir.validation.cli.services;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
@ -11,11 +13,14 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
import org.hl7.fhir.exceptions.FHIRException;
import org.hl7.fhir.r5.conformance.R5ExtensionsLoader;
import org.hl7.fhir.r5.context.ContextUtilities;
import org.hl7.fhir.r5.context.SimpleWorkerContext;
import org.hl7.fhir.r5.context.SystemOutLoggingService;
import org.hl7.fhir.r5.context.TerminologyCache;
import org.hl7.fhir.r5.elementmodel.Element;
import org.hl7.fhir.r5.elementmodel.LanguageUtils;
import org.hl7.fhir.r5.elementmodel.Manager;
import org.hl7.fhir.r5.elementmodel.Manager.FhirFormat;
import org.hl7.fhir.r5.formats.IParser;
@ -34,17 +39,24 @@ import org.hl7.fhir.r5.renderers.spreadsheets.ConceptMapSpreadsheetGenerator;
import org.hl7.fhir.r5.renderers.spreadsheets.StructureDefinitionSpreadsheetGenerator;
import org.hl7.fhir.r5.renderers.spreadsheets.ValueSetSpreadsheetGenerator;
import org.hl7.fhir.r5.terminologies.CodeSystemUtilities;
import org.hl7.fhir.r5.utils.ToolingExtensions;
import org.hl7.fhir.utilities.FhirPublication;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.TimeTracker;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.VersionUtilities;
import org.hl7.fhir.utilities.i18n.LanguageFileProducer.LanguageProducerLanguageSession;
import org.hl7.fhir.utilities.i18n.LanguageFileProducer.LanguageProducerSession;
import org.hl7.fhir.utilities.i18n.PoGetTextProducer;
import org.hl7.fhir.utilities.i18n.XLIFFProducer;
import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager;
import org.hl7.fhir.utilities.npm.ToolsVersion;
import org.hl7.fhir.utilities.validation.ValidationMessage;
import org.hl7.fhir.validation.Content;
import org.hl7.fhir.validation.IgLoader;
import org.hl7.fhir.validation.ValidationEngine;
import org.hl7.fhir.validation.ValidationRecord;
import org.hl7.fhir.validation.ValidatorUtils;
import org.hl7.fhir.validation.cli.model.CliContext;
import org.hl7.fhir.validation.cli.model.FileInfo;
import org.hl7.fhir.validation.cli.model.ValidationOutcome;
@ -494,4 +506,120 @@ public class ValidationService {
System.out.println(" ...generated spreadsheet successfully");
}
}
public void transformLang(CliContext cliContext, ValidationEngine validator) throws IOException {
switch (cliContext.getLangTransform()) {
case "extract":
transformLangExtract(cliContext, validator);
break;
default:
System.out.println(" ...Unknown lang transform mode "+cliContext.getLangTransform());
}
}
private void transformLangExtract(CliContext cliContext, ValidationEngine validator) throws IOException {
String dst = cliContext.getOutput();
Utilities.createDirectory(dst);
PoGetTextProducer po = new PoGetTextProducer(Utilities.path(dst));
XLIFFProducer xliff = new XLIFFProducer(Utilities.path(dst));
List<String> refs = new ArrayList<String>();
ValidatorUtils.parseSources(cliContext.getSources(), refs, validator.getContext());
for (String ref : refs) {
System.out.println(" Extract Translations from " + ref);
org.hl7.fhir.validation.Content cnt = validator.getIgLoader().loadContent(ref, "translate", false);
Element e = Manager.parseSingle(validator.getContext(), new ByteArrayInputStream(cnt.getFocus()), cnt.getCntType());
LanguageProducerSession ps = po.startSession(e.fhirType()+"-"+e.getIdBase(), cliContext.getSrcLang());
LanguageProducerLanguageSession psl = ps.forLang(cliContext.getTgtLang());
new LanguageUtils(validator.getContext()).generateTranslations(e, psl);
psl.finish();
ps.finish();
ps = xliff.startSession(e.fhirType()+"-"+e.getIdBase(), cliContext.getSrcLang());
psl = ps.forLang(cliContext.getTgtLang());
new LanguageUtils(validator.getContext()).generateTranslations(e, psl);
psl.finish();
ps.finish();
}
System.out.println("Done - produced "+(po.fileCount()+xliff.fileCount()) + " files in "+dst);
}
//
// try {
// OperationOutcome outcome = validate(ref, cnt.focus, cnt.cntType, profiles, record);
// ToolingExtensions.addStringExtension(outcome, ToolingExtensions.EXT_OO_FILE, ref);
// System.out.println(" " + context.clock().milestone());
// results.addEntry().setResource(outcome);
// tts.end();
// } catch (Exception e) {
// System.out.println("Validation Infrastructure fail validating " + ref + ": " + e.getMessage());
// tts.end();
// throw new FHIRException(e);
// }
// }
// if (asBundle)
// return results;
// else
// return results.getEntryFirstRep().getResource();
//
// List<ValidationRecord> records = new ArrayList<>();
// Resource r = validator.validate(cliContext.getSources(), cliContext.getProfiles(), records);
// MemoryMXBean mbean = ManagementFactory.getMemoryMXBean();
// System.out.println("Done. " + validator.getContext().clock().report()+". Memory = "+Utilities.describeSize(mbean.getHeapMemoryUsage().getUsed()+mbean.getNonHeapMemoryUsage().getUsed()));
// System.out.println();
//
// PrintStream dst = null;
// ValidationOutputRenderer renderer = makeValidationOutputRenderer(cliContext);
// renderer.setCrumbTrails(validator.isCrumbTrails());
// renderer.setRunDate(runDate);
// if (renderer.isSingleFile()) {
// if (cliContext.getOutput() == null) {
// dst = System.out;
// } else {
// dst = new PrintStream(new FileOutputStream(cliContext.getOutput()));
// }
// renderer.setOutput(dst);
// } else {
// File dir = new File(cliContext.getOutput());
// if (!dir.isDirectory()) {
// throw new Error("The output location "+dir.getAbsolutePath()+" must be an existing directory for the output style "+renderer.getStyleCode());
// }
// renderer.setFolder(dir);
// }
//
// int ec = 0;
//
// if (r instanceof Bundle) {
// if (renderer.handlesBundleDirectly()) {
// renderer.render((Bundle) r);
// } else {
// renderer.start(((Bundle) r).getEntry().size() > 1);
// for (Bundle.BundleEntryComponent e : ((Bundle) r).getEntry()) {
// OperationOutcome op = (OperationOutcome) e.getResource();
// ec = ec + countErrors(op);
// renderer.render(op);
// }
// renderer.finish();
// }
// } else if (r == null) {
// ec = ec + 1;
// System.out.println("No output from validation - nothing to validate");
// } else {
// renderer.start(false);
// OperationOutcome op = (OperationOutcome) r;
// ec = countErrors(op);
// renderer.render((OperationOutcome) r);
// renderer.finish();
// }
//
// if (cliContext.getOutput() != null && dst != null) {
// dst.close();
// }
//
// if (cliContext.getHtmlOutput() != null) {
// String html = new HTMLOutputGenerator(records).generate(System.currentTimeMillis() - start);
// TextFile.stringToFile(html, cliContext.getHtmlOutput());
// System.out.println("HTML Summary in " + cliContext.getHtmlOutput());
// }
// System.exit(ec > 0 ? 1 : 0);
//
// }
}

View File

@ -78,6 +78,9 @@ public class Params {
public static final String DO_IMPLICIT_FHIRPATH_STRING_CONVERSION = "-implicit-fhirpath-string-conversions";
public static final String JURISDICTION = "-jurisdiction";
public static final String HTML_IN_MARKDOWN = "-html-in-markdown";
public static final String SRC_LANG = "-src-lang";
public static final String TGT_LANG = "-tgt-lang";
public static final String RUN_TESTS = "-run-tests";
@ -291,8 +294,7 @@ public class Params {
throw new Error("Specified -txCache without indicating file");
else
cliContext.setTxCache(args[++i]);
}
else if (args[i].equals(LOG)) {
} else if (args[i].equals(LOG)) {
if (i + 1 == args.length)
throw new Error("Specified -log without indicating file");
else
@ -302,6 +304,16 @@ public class Params {
throw new Error("Specified -language without indicating language");
else
cliContext.setLang(args[++i]);
} else if (args[i].equals(SRC_LANG)) {
if (i + 1 == args.length)
throw new Error("Specified -src-lang without indicating file");
else
cliContext.setSrcLang(args[++i]);
} else if (args[i].equals(TGT_LANG)) {
if (i + 1 == args.length)
throw new Error("Specified -tgt-lang without indicating file");
else
cliContext.setTgtLang(args[++i]);
} else if (args[i].equals(JURISDICTION)) {
if (i + 1 == args.length)
throw new Error("Specified -jurisdiction without indicating jurisdiction");

View File

@ -1681,7 +1681,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
} else {
try {
long t = System.nanoTime();
ValidationResult vr = checkCodeOnServer(stack, valueset, value, baseOptions.setLanguage(stack.getWorkingLang()));
ValidationResult vr = checkCodeOnServer(stack, valueset, value, baseOptions.withLanguage(stack.getWorkingLang()));
timeTracker.tx(t, "vc "+value);
if (!vr.isOk()) {
if (vr.getErrorClass() != null && vr.getErrorClass().isInfrastructure())
@ -2991,9 +2991,9 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
long t = System.nanoTime();
ValidationResult vr = null;
if (binding.getStrength() != BindingStrength.EXAMPLE) {
ValidationOptions options = baseOptions.setLanguage(stack.getWorkingLang()).guessSystem();
ValidationOptions options = baseOptions.withLanguage(stack.getWorkingLang()).withGuessSystem();
if (validationPolicy == CodedContentValidationPolicy.CODE) {
options = options.noCheckValueSetMembership();
options = options.withNoCheckValueSetMembership();
}
vr = checkCodeOnServer(stack, vs, value, options);
}
@ -5024,9 +5024,9 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
} else if (element.getType().equals("CapabilityStatement")) {
return validateCapabilityStatement(errors, element, stack);
} else if (element.getType().equals("CodeSystem")) {
return new CodeSystemValidator(context, timeTracker, this, xverManager, jurisdiction).validateCodeSystem(errors, element, stack, baseOptions.setLanguage(stack.getWorkingLang()));
return new CodeSystemValidator(context, timeTracker, this, xverManager, jurisdiction).validateCodeSystem(errors, element, stack, baseOptions.withLanguage(stack.getWorkingLang()));
} else if (element.getType().equals("ConceptMap")) {
return new ConceptMapValidator(context, timeTracker, this, xverManager, jurisdiction).validateConceptMap(errors, element, stack, baseOptions.setLanguage(stack.getWorkingLang()));
return new ConceptMapValidator(context, timeTracker, this, xverManager, jurisdiction).validateConceptMap(errors, element, stack, baseOptions.withLanguage(stack.getWorkingLang()));
} else if (element.getType().equals("SearchParameter")) {
return new SearchParameterValidator(context, timeTracker, fpe, xverManager, jurisdiction).validateSearchParameter(errors, element, stack);
} else if (element.getType().equals("StructureDefinition")) {
@ -6383,22 +6383,22 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
// no delay on this one?
public ValidationResult checkCodeOnServer(NodeStack stack, String code, String system, String version, String display, boolean checkDisplay) {
return context.validateCode(baseOptions.setLanguage(stack.getWorkingLang()), system, version, code, checkDisplay ? display : null);
return context.validateCode(baseOptions.withLanguage(stack.getWorkingLang()), system, version, code, checkDisplay ? display : null);
}
public ValidationResult checkCodeOnServer(NodeStack stack, ValueSet valueset, Coding c, boolean checkMembership) {
if (checkMembership) {
return context.validateCode(baseOptions.setLanguage(stack.getWorkingLang()).checkValueSetOnly(), c, valueset);
return context.validateCode(baseOptions.withLanguage(stack.getWorkingLang()).withCheckValueSetOnly(), c, valueset);
} else {
return context.validateCode(baseOptions.setLanguage(stack.getWorkingLang()).noCheckValueSetMembership(), c, valueset);
return context.validateCode(baseOptions.withLanguage(stack.getWorkingLang()).withNoCheckValueSetMembership(), c, valueset);
}
}
public ValidationResult checkCodeOnServer(NodeStack stack, ValueSet valueset, CodeableConcept cc, boolean vsOnly) {
if (vsOnly) {
return context.validateCode(baseOptions.setLanguage(stack.getWorkingLang()).checkValueSetOnly(), cc, valueset);
return context.validateCode(baseOptions.withLanguage(stack.getWorkingLang()).withCheckValueSetOnly(), cc, valueset);
} else {
return context.validateCode(baseOptions.setLanguage(stack.getWorkingLang()), cc, valueset);
return context.validateCode(baseOptions.withLanguage(stack.getWorkingLang()), cc, valueset);
}
}

View File

@ -101,7 +101,7 @@ public class SearchParameterValidator extends BaseValidator {
pass.get(i).setOperation(Operation.Union);
pass.get(i).setOpNext(pass.get(i+1));
}
return pass.get(0).toString();
return pass.size() == 0 ? "" : pass.get(0).toString();
}
}

View File

@ -438,7 +438,7 @@ public class StructureDefinitionValidator extends BaseValidator {
}
private boolean serverSupportsValueSet(String ref) {
ValidationResult vr = context.validateCode(new ValidationOptions().checkValueSetOnly().setVsAsUrl().noClient(), new Coding("http://loinc.org", "5792-7", null), new ValueSet().setUrl(ref));
ValidationResult vr = context.validateCode(new ValidationOptions().withCheckValueSetOnly().withVsAsUrl().withNoClient(), new Coding("http://loinc.org", "5792-7", null), new ValueSet().setUrl(ref));
return vr.getErrorClass() == null;
}

View File

@ -0,0 +1,211 @@
package org.hl7.fhir.validation.special;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
import org.hl7.fhir.convertors.txClient.TerminologyClientFactory;
import org.hl7.fhir.exceptions.DefinitionException;
import org.hl7.fhir.exceptions.FHIRException;
import org.hl7.fhir.exceptions.FHIRFormatError;
import org.hl7.fhir.r5.formats.IParser.OutputStyle;
import org.hl7.fhir.r5.model.Parameters;
import org.hl7.fhir.r5.model.Resource;
import org.hl7.fhir.r5.model.ValueSet;
import org.hl7.fhir.r5.terminologies.TerminologyClient;
import org.hl7.fhir.r5.test.utils.CompareUtilities;
import org.hl7.fhir.utilities.FhirPublication;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.json.JsonException;
import org.hl7.fhir.utilities.json.model.JsonObject;
import org.hl7.fhir.utilities.json.parser.JsonParser;
import org.hl7.fhir.validation.special.TxTester.ITxTesterLoader;
import org.hl7.fhir.validation.special.TxTester.InternalLoader;
public class TxTester {
public interface ITxTesterLoader {
public String describe();
public Resource loadResource(String filename) throws IOException, FHIRFormatError, FileNotFoundException, FHIRException, DefinitionException;
public byte[] loadContent(String filename) throws FileNotFoundException, IOException;
}
private String server;
private ITxTesterLoader loader;
private String error;
public TxTester(ITxTesterLoader loader) {
super();
this.loader = loader;
}
public static void main(String[] args) throws Exception {
new TxTester(new InternalLoader(args[0])).execute(args[1], args[2]);
}
public void execute(String server, String filter) {
this.server = server;
System.out.println("Run terminology service Tests");
try {
JsonObject tests = loadTests();
TerminologyClient tx = connectToServer();
boolean ok = checkClient(tx);
for (JsonObject suite : tests.getJsonObjects("suites")) {
ok = runSuite(suite, tx, filter) && ok;
}
if (ok) {
System.out.println("Terminology Service Tests all passed");
} else {
System.out.println("Terminology Service Tests did not all pass");
}
} catch (Exception e) {
System.out.println("Exception running Terminology Service Tests: "+e.getMessage());
e.printStackTrace();
}
}
private boolean checkClient(TerminologyClient tx) {
tx.getCapabilitiesStatementQuick();
tx.getTerminologyCapabilities();
return true;
}
private JsonObject loadTests() throws JsonException, IOException {
System.out.println("Load Tests from "+loader.describe());
return JsonParser.parseObject(loader.loadContent("test-cases.json"));
}
private TerminologyClient connectToServer() throws URISyntaxException {
System.out.println("Connect to "+server);
return TerminologyClientFactory.makeClient(server, "Tools/Java", FhirPublication.R4);
}
public String executeTest(JsonObject suite, JsonObject test, String server) throws URISyntaxException, FHIRFormatError, FileNotFoundException, IOException {
this.server = server;
error = null;
TerminologyClient tx = connectToServer();
checkClient(tx);
List<Resource> setup = loadSetupResources(suite);
if (runTest(test, tx, setup, "*")) {
return null;
} else {
return error;
}
}
private boolean runSuite(JsonObject suite, TerminologyClient tx, String filter) throws FHIRFormatError, FileNotFoundException, IOException {
System.out.println("Group "+suite.asString("name"));
List<Resource> setup = loadSetupResources(suite);
boolean ok = true;
for (JsonObject test : suite.getJsonObjects("tests")) {
ok = runTest(test, tx, setup, filter) && ok;
}
return ok;
}
private boolean runTest(JsonObject test, TerminologyClient tx, List<Resource> setup, String filter) {
if (Utilities.noString(filter) || filter.equals("*") || test.asString("name").contains(filter)) {
System.out.print(" Test "+test.asString("name")+": ");
try {
Parameters req = (Parameters) loader.loadResource(test.asString("request"));
String fn = test.asString("response");
String resp = TextFile.bytesToString(loader.loadContent(fn));
String fp = Utilities.path("[tmp]", serverId(), fn);
File fo = new File(fp);
if (fo.exists()) {
fo.delete();
}
String msg = null;
if (test.asString("operation").equals("expand")) {
msg = expand(tx, setup, req, resp, fp);
} else if (test.asString("operation").equals("validate-code")) {
msg = validate(tx, setup, req, resp, fp);
} else {
throw new Exception("Unknown Operation "+test.asString("operation"));
}
System.out.println(msg == null ? "Pass" : "Fail");
if (msg != null) {
System.out.println(" "+msg);
error = msg;
}
return msg == null;
} catch (Exception e) {
System.out.println(" ... Exception: "+e.getMessage());
System.out.print(" ");
error = e.getMessage();
e.printStackTrace();
return false;
}
} else {
return true;
}
}
private String serverId() throws URISyntaxException {
return new URI(server).getHost();
}
private String expand(TerminologyClient tx, List<Resource> setup, Parameters p, String resp, String fp) throws IOException {
for (Resource r : setup) {
p.addParameter().setName("tx-resource").setResource(r);
}
ValueSet vs = tx.expandValueset(null, p, null);
String vsj = new org.hl7.fhir.r5.formats.JsonParser().setOutputStyle(OutputStyle.PRETTY).composeString(vs);
String diff = CompareUtilities.checkJsonSrcIsSame(resp, vsj);
if (diff != null) {
Utilities.createDirectory(Utilities.getDirectoryForFile(fp));
TextFile.stringToFile(vsj, fp);
}
return diff;
}
private String validate(TerminologyClient tx, List<Resource> setup, Resource req, String resp, String fp) {
// TODO Auto-generated method stub
return "not done yet";
}
private List<Resource> loadSetupResources(JsonObject suite) throws FHIRFormatError, FileNotFoundException, IOException {
List<Resource> res = new ArrayList<>();
for (String s : suite.getStrings("setup")) {
res.add(loader.loadResource(s));
}
return res;
}
public static class InternalLoader implements ITxTesterLoader {
private String folder;
public InternalLoader(String folder) {
this.folder = folder;
}
@Override
public String describe() {
return folder;
}
@Override
public Resource loadResource(String filename) throws IOException, FHIRFormatError, FileNotFoundException, FHIRException, DefinitionException {
return new org.hl7.fhir.r5.formats.JsonParser().parse(new FileInputStream(Utilities.path(folder, filename)));
}
@Override
public byte[] loadContent(String filename) throws FileNotFoundException, IOException {
return TextFile.fileToBytes(Utilities.path(folder, filename));
}
}
}

View File

@ -0,0 +1,162 @@
package org.hl7.fhir.terminology.tests;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.io.IOUtils;
import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_50;
import org.hl7.fhir.convertors.factory.VersionConvertorFactory_14_50;
import org.hl7.fhir.convertors.factory.VersionConvertorFactory_30_50;
import org.hl7.fhir.convertors.factory.VersionConvertorFactory_40_50;
import org.hl7.fhir.exceptions.DefinitionException;
import org.hl7.fhir.exceptions.FHIRException;
import org.hl7.fhir.exceptions.FHIRFormatError;
import org.hl7.fhir.r5.context.IWorkerContext.ValidationResult;
import org.hl7.fhir.r5.formats.IParser.OutputStyle;
import org.hl7.fhir.r5.formats.JsonParser;
import org.hl7.fhir.r5.formats.XmlParser;
import org.hl7.fhir.r5.model.Coding;
import org.hl7.fhir.r5.model.Constants;
import org.hl7.fhir.r5.model.OperationOutcome;
import org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity;
import org.hl7.fhir.r5.model.OperationOutcome.IssueType;
import org.hl7.fhir.r5.model.OperationOutcome.OperationOutcomeIssueComponent;
import org.hl7.fhir.r5.model.Resource;
import org.hl7.fhir.r5.model.ValueSet;
import org.hl7.fhir.r5.model.CodeSystem.ConceptDefinitionComponent;
import org.hl7.fhir.r5.model.CodeableConcept;
import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionParameterComponent;
import org.hl7.fhir.r5.terminologies.ValueSetExpander.TerminologyServiceErrorClass;
import org.hl7.fhir.r5.terminologies.ValueSetExpander.ValueSetExpansionOutcome;
import org.hl7.fhir.r5.test.utils.CompareUtilities;
import org.hl7.fhir.r5.test.utils.TestingUtilities;
import org.hl7.fhir.terminology.tests.ExternalTerminologyServiceTests.JsonObjectPair;
import org.hl7.fhir.utilities.FhirPublication;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.json.model.JsonObject;
import org.hl7.fhir.utilities.validation.ValidationOptions;
import org.hl7.fhir.validation.ValidationEngine;
import org.hl7.fhir.validation.special.TxTester;
import org.hl7.fhir.validation.special.TxTester.ITxTesterLoader;
import org.hl7.fhir.validation.tests.ValidationEngineTests;
import org.hl7.fhir.validation.tests.utilities.TestUtilities;
import org.junit.AfterClass;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import com.google.common.base.Charsets;
import com.google.gson.JsonSyntaxException;
@RunWith(Parameterized.class)
public class ExternalTerminologyServiceTests implements ITxTesterLoader {
public static class JsonObjectPair {
public JsonObjectPair(JsonObject suite, JsonObject test) {
this.suite = suite;
this.test = test;
}
private JsonObject suite;
private JsonObject test;
}
private static final String SERVER = "http://local.fhir.org";
@Parameters(name = "{index}: id {0}")
public static Iterable<Object[]> data() throws IOException {
String contents = TestingUtilities.loadTestResource("tx", "test-cases.json");
Map<String, JsonObjectPair> examples = new HashMap<String, JsonObjectPair>();
manifest = org.hl7.fhir.utilities.json.parser.JsonParser.parseObject(contents);
for (org.hl7.fhir.utilities.json.model.JsonObject suite : manifest.getJsonObjects("suites")) {
String sn = suite.asString("name");
for (org.hl7.fhir.utilities.json.model.JsonObject test : suite.getJsonObjects("tests")) {
String tn = test.asString("name");
examples.put(sn+"."+tn, new JsonObjectPair(suite, test));
}
}
List<String> names = new ArrayList<String>(examples.size());
names.addAll(examples.keySet());
Collections.sort(names);
List<Object[]> objects = new ArrayList<Object[]>(examples.size());
for (String id : names) {
objects.add(new Object[]{id, examples.get(id)});
}
return objects;
}
private static org.hl7.fhir.utilities.json.model.JsonObject manifest;
private JsonObjectPair setup;
private String version = "5.0.0";
public ExternalTerminologyServiceTests(String name, JsonObjectPair setup) {
this.setup = setup;
}
@SuppressWarnings("deprecation")
@Test
public void test() throws Exception {
if (SERVER != null) {
String err = new TxTester(this).executeTest(setup.suite, setup.test, SERVER);
Assertions.assertTrue(err == null, err);
} else {
Assertions.assertTrue(true);
}
}
public Resource loadResource(String filename) throws IOException, FHIRFormatError, FileNotFoundException, FHIRException, DefinitionException {
String contents = TestingUtilities.loadTestResource("tx", filename);
try (InputStream inputStream = IOUtils.toInputStream(contents, Charsets.UTF_8)) {
if (filename.contains(".json")) {
if (Constants.VERSION.equals(version) || "5.0".equals(version))
return new JsonParser().parse(inputStream);
else if (org.hl7.fhir.dstu3.model.Constants.VERSION.equals(version) || "3.0".equals(version))
return VersionConvertorFactory_30_50.convertResource(new org.hl7.fhir.dstu3.formats.JsonParser().parse(inputStream));
else if (org.hl7.fhir.dstu2016may.model.Constants.VERSION.equals(version) || "1.4".equals(version))
return VersionConvertorFactory_14_50.convertResource(new org.hl7.fhir.dstu2016may.formats.JsonParser().parse(inputStream));
else if (org.hl7.fhir.dstu2.model.Constants.VERSION.equals(version) || "1.0".equals(version))
return VersionConvertorFactory_10_50.convertResource(new org.hl7.fhir.dstu2.formats.JsonParser().parse(inputStream));
else if (org.hl7.fhir.r4.model.Constants.VERSION.equals(version) || "4.0".equals(version))
return VersionConvertorFactory_40_50.convertResource(new org.hl7.fhir.r4.formats.JsonParser().parse(inputStream));
else
throw new FHIRException("unknown version " + version);
} else {
if (Constants.VERSION.equals(version) || "5.0".equals(version))
return new XmlParser().parse(inputStream);
else if (org.hl7.fhir.dstu3.model.Constants.VERSION.equals(version) || "3.0".equals(version))
return VersionConvertorFactory_30_50.convertResource(new org.hl7.fhir.dstu3.formats.XmlParser().parse(inputStream));
else if (org.hl7.fhir.dstu2016may.model.Constants.VERSION.equals(version) || "1.4".equals(version))
return VersionConvertorFactory_14_50.convertResource(new org.hl7.fhir.dstu2016may.formats.XmlParser().parse(inputStream));
else if (org.hl7.fhir.dstu2.model.Constants.VERSION.equals(version) || "1.0".equals(version))
return VersionConvertorFactory_10_50.convertResource(new org.hl7.fhir.dstu2.formats.XmlParser().parse(inputStream));
else if (org.hl7.fhir.r4.model.Constants.VERSION.equals(version) || "4.0".equals(version))
return VersionConvertorFactory_40_50.convertResource(new org.hl7.fhir.r4.formats.XmlParser().parse(inputStream));
else
throw new FHIRException("unknown version " + version);
}
}
}
@Override
public String describe() {
return "Test cases";
}
@Override
public byte[] loadContent(String filename) throws FileNotFoundException, IOException {
return TestingUtilities.loadTestResourceBytes("tx", filename);
}
}

View File

@ -18,9 +18,11 @@ import org.hl7.fhir.convertors.factory.VersionConvertorFactory_40_50;
import org.hl7.fhir.exceptions.DefinitionException;
import org.hl7.fhir.exceptions.FHIRException;
import org.hl7.fhir.exceptions.FHIRFormatError;
import org.hl7.fhir.r5.context.IWorkerContext.ValidationResult;
import org.hl7.fhir.r5.formats.IParser.OutputStyle;
import org.hl7.fhir.r5.formats.JsonParser;
import org.hl7.fhir.r5.formats.XmlParser;
import org.hl7.fhir.r5.model.Coding;
import org.hl7.fhir.r5.model.Constants;
import org.hl7.fhir.r5.model.OperationOutcome;
import org.hl7.fhir.r5.model.OperationOutcome.IssueSeverity;
@ -28,7 +30,10 @@ import org.hl7.fhir.r5.model.OperationOutcome.IssueType;
import org.hl7.fhir.r5.model.OperationOutcome.OperationOutcomeIssueComponent;
import org.hl7.fhir.r5.model.Resource;
import org.hl7.fhir.r5.model.ValueSet;
import org.hl7.fhir.r5.model.CodeSystem.ConceptDefinitionComponent;
import org.hl7.fhir.r5.model.CodeableConcept;
import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionParameterComponent;
import org.hl7.fhir.r5.terminologies.ValueSetExpander.TerminologyServiceErrorClass;
import org.hl7.fhir.r5.terminologies.ValueSetExpander.ValueSetExpansionOutcome;
import org.hl7.fhir.r5.test.utils.CompareUtilities;
import org.hl7.fhir.r5.test.utils.TestingUtilities;
@ -37,6 +42,7 @@ import org.hl7.fhir.utilities.FhirPublication;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.Utilities;
import org.hl7.fhir.utilities.json.model.JsonObject;
import org.hl7.fhir.utilities.validation.ValidationOptions;
import org.hl7.fhir.validation.ValidationEngine;
import org.hl7.fhir.validation.tests.ValidationEngineTests;
import org.hl7.fhir.validation.tests.utilities.TestUtilities;
@ -48,6 +54,7 @@ import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import com.google.common.base.Charsets;
import com.google.gson.JsonSyntaxException;
@ -107,7 +114,8 @@ public class TerminologyServiceTests {
@Test
public void test() throws Exception {
if (baseEngine == null) {
baseEngine = TestUtilities.getValidationEngine("hl7.fhir.r5.core#5.0.0", null, null, FhirPublication.R5, true, "5.0.0");
baseEngine = TestUtilities.getValidationEngineNoTxServer("hl7.fhir.r5.core#5.0.0", FhirPublication.R5, "5.0.0");
}
ValidationEngine engine = new ValidationEngine(this.baseEngine);
for (String s : setup.suite.forceArray("setup").asStrings()) {
@ -115,23 +123,23 @@ public class TerminologyServiceTests {
engine.seeResource(res);
}
Resource req = loadResource(setup.test.asString("request"));
String resp = TestingUtilities.loadTestResource("tx", setup.test.asString("response"));
if (setup.test.asString("operation").equals("expand")) {
expand(engine, req, resp, setup.test.asString("response"));
} else if (setup.test.asString("operation").equals("validate-code")) {
validate(engine, req, resp);
} else {
Assertions.fail("Unknown Operation "+setup.test.asString("operation"));
}
}
private void expand(ValidationEngine engine, Resource req, String resp, String fn) throws IOException {
String fn = setup.test.asString("response");
String resp = TestingUtilities.loadTestResource("tx", fn);
String fp = Utilities.path("[tmp]", "tx", fn);
File fo = new File(fp);
if (fo.exists()) {
fo.delete();
}
if (setup.test.asString("operation").equals("expand")) {
expand(engine, req, resp, fp);
} else if (setup.test.asString("operation").equals("validate-code")) {
validate(engine, req, resp, fp);
} else {
Assertions.fail("Unknown Operation "+setup.test.asString("operation"));
}
}
private void expand(ValidationEngine engine, Resource req, String resp, String fp) throws IOException {
org.hl7.fhir.r5.model.Parameters p = ( org.hl7.fhir.r5.model.Parameters) req;
ValueSet vs = engine.getContext().fetchResource(ValueSet.class, p.getParameterValue("url").primitiveValue());
boolean hierarchical = p.hasParameter("excludeNested") ? p.getParameterBool("excludeNested") == false : true;
@ -204,8 +212,49 @@ public class TerminologyServiceTests {
}
}
private void validate(ValidationEngine engine2, Resource req, String resp) {
Assertions.fail("validate not done yet");
private void validate(ValidationEngine engine, Resource req, String resp, String fp) throws JsonSyntaxException, FileNotFoundException, IOException {
org.hl7.fhir.r5.model.Parameters p = (org.hl7.fhir.r5.model.Parameters) req;
ValueSet vs = engine.getContext().fetchResource(ValueSet.class, p.getParameterValue("url").primitiveValue());
ValidationOptions options = new ValidationOptions();
if (p.hasParameter("displayLanguage")) {
options = options.withLanguage(p.getParameterString("displayLanguage"));
}
ValidationResult vm;
if (p.hasParameter("code")) {
vm = engine.getContext().validateCode(options.withGuessSystem(), p.getParameterString("system"), p.getParameterString("version"), p.getParameterString("code"), p.getParameterString("display"), vs);
} else if (p.hasParameter("coding")) {
Coding coding = (Coding) p.getParameterValue("coding");
vm = engine.getContext().validateCode(options, coding, vs);
} else if (p.hasParameter("codeableConcept")) {
CodeableConcept cc = (CodeableConcept) p.getParameterValue("codeableConcept");
vm = engine.getContext().validateCode(options, cc, vs);
} else {
vm = null;
Assertions.fail("validate not done yet");
}
org.hl7.fhir.r5.model.Parameters res = new org.hl7.fhir.r5.model.Parameters();
if (vm.getSystem() != null) {
res.addParameter("system", vm.getSystem());
}
if (vm.getSeverity() == org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity.ERROR) {
res.addParameter("result", false);
} else {
res.addParameter("result", true);
}
if (vm.getMessage() != null) {
res.addParameter("message", vm.getMessage());
}
if (vm.getDisplay() != null) {
res.addParameter("display", vm.getDisplay());
}
String pj = new JsonParser().setOutputStyle(OutputStyle.PRETTY).composeString(res);
String diff = CompareUtilities.checkJsonSrcIsSame(resp, pj);
if (diff != null) {
Utilities.createDirectory(Utilities.getDirectoryForFile(fp));
TextFile.stringToFile(pj, fp);
}
Assertions.assertTrue(diff == null, diff);
}
public Resource loadResource(String filename) throws IOException, FHIRFormatError, FileNotFoundException, FHIRException, DefinitionException {

View File

@ -20,8 +20,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
public class ValidationEngineTests {
public static final String DEF_TX = "http://tx.fhir.org";
// public static final String DEF_TX = "http://local.fhir.org:8080";
// public static final String DEF_TX = "http://tx.fhir.org";
public static final String DEF_TX = "http://local.fhir.org";
public static boolean inbuild;

View File

@ -106,7 +106,7 @@ public class ValidationTests implements IEvaluationContext, IValidatorResourceFe
}
public final static boolean PRINT_OUTPUT_TO_CONSOLE = true;
private static final boolean BUILD_NEW = false;
private static final boolean BUILD_NEW = true;
private static final boolean CLONE = true;
@Parameters(name = "{index}: id {0}")
@ -206,6 +206,18 @@ public class ValidationTests implements IEvaluationContext, IValidatorResourceFe
val.setWantCheckSnapshotUnchanged(true);
val.getContext().setClientRetryCount(4);
val.setDebug(false);
if (!VersionUtilities.isR5Plus(val.getContext().getVersion())) {
val.getBaseOptions().setUseValueSetDisplays(true);
}
val.getBaseOptions().getLanguages().clear();
if (content.has("languages")) {
for (String s : content.get("languages").getAsString().split("\\,")) {
String l = s.trim();
val.getBaseOptions().getLanguages().add(l);
}
} else {
}
if (content.has("fetcher") && "standalone".equals(JsonUtilities.str(content, "fetcher"))) {
val.setFetcher(vCurr);
@ -226,9 +238,9 @@ public class ValidationTests implements IEvaluationContext, IValidatorResourceFe
else
val.setValidationLanguage(null);
if (content.has("default-version")) {
val.setBaseOptions(val.getBaseOptions().setVersionFlexible(content.get("default-version").getAsBoolean()));
val.setBaseOptions(val.getBaseOptions().withVersionFlexible(content.get("default-version").getAsBoolean()));
} else {
val.setBaseOptions(val.getBaseOptions().setVersionFlexible(false));
val.setBaseOptions(val.getBaseOptions().withVersionFlexible(false));
}
if (content.has("packages")) {
for (JsonElement e : content.getAsJsonArray("packages")) {
@ -303,6 +315,9 @@ public class ValidationTests implements IEvaluationContext, IValidatorResourceFe
if (content.has("profile")) {
System.out.print("** Profile: ");
JsonObject profile = content.getAsJsonObject("profile");
if (profile.has("valueset-displays")) {
val.getBaseOptions().setUseValueSetDisplays(true);
}
if (profile.has("packages")) {
for (JsonElement e : profile.getAsJsonArray("packages")) {
logOutput("load package "+e.getAsString());

View File

@ -32,6 +32,18 @@ public class TestUtilities {
return Paths.get(TestConfig.getInstance().getTxCacheDirectory("org.hl7.fhir.validation"), testSetPath).toString();
}
public static ValidationEngine getValidationEngineNoTxServer(java.lang.String src, FhirPublication version, java.lang.String vString) throws Exception {
TestingUtilities.injectCorePackageLoader();
final ValidationEngine validationEngine = new ValidationEngine.ValidationEngineBuilder()
.withCanRunWithoutTerminologyServer(true)
.withVersion(vString)
.withUserAgent(TestConstants.USER_AGENT)
.fromSource(src);
return validationEngine;
}
public static ValidationEngine getValidationEngine(java.lang.String src, java.lang.String txServer, FhirPublication version, java.lang.String vString) throws Exception {
TestingUtilities.injectCorePackageLoader();
final ValidationEngine validationEngine = new ValidationEngine.ValidationEngineBuilder()

View File

@ -1,24 +0,0 @@
-------------------------------------------------------------------------------------
{"hierarchical" : false, "valueSet" :{
"resourceType" : "ValueSet",
"compose" : {
"inactive" : true,
"include" : [{
"system" : "urn:iso:std:iso:4217"
}]
}
}}####
e: {
"error" : "java.lang.NullPointerException"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/currencies", "version": "5.0.0-ballot"}####
e: {
"error" : "java.lang.NullPointerException"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/currencies", "version": "5.0.0-snapshot3"}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------

View File

@ -1,39 +0,0 @@
-------------------------------------------------------------------------------------
{"code" : {
"system" : "urn:ietf:bcp:47",
"code" : "fr-CA"
}, "valueSet" :null, "lang":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"severity" : "error",
"error" : "Attempt to use Terminology server when no Terminology server is available",
"class" : "SERVER_ERROR"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "valueSet" :{
"resourceType" : "ValueSet",
"compose" : {
"inactive" : true,
"include" : [{
"system" : "urn:ietf:bcp:47"
}]
}
}}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/all-languages", "version": "5.0.0-snapshot3"}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/all-languages", "version": "5.0.0-draft-final"}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/all-languages", "version": "5.0.0"}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------

View File

@ -1,90 +0,0 @@
-------------------------------------------------------------------------------------
{"hierarchical" : false, "valueSet" :{
"resourceType" : "ValueSet",
"compose" : {
"inactive" : true,
"include" : [{
"system" : "http://loinc.org",
"concept" : [{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-label",
"valueString" : "A."
}],
"code" : "LA20752-4",
"display" : "Within 24 hours"
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-label",
"valueString" : "B."
}],
"code" : "LA20753-2",
"display" : "After 24 hours but before 3 days"
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-label",
"valueString" : "C."
}],
"code" : "LA20754-0",
"display" : "Three days or later"
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-label",
"valueString" : "D."
}],
"code" : "LA4489-6",
"display" : "Unknown"
}]
}]
}
}}####
e: {
"error" : "java.lang.NullPointerException"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "valueSet" :{
"resourceType" : "ValueSet",
"compose" : {
"include" : [{
"system" : "http://loinc.org",
"concept" : [{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-label",
"valueString" : "A."
}],
"code" : "LA20752-4",
"display" : "Within 24 hours"
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-label",
"valueString" : "B."
}],
"code" : "LA20753-2",
"display" : "After 24 hours but before 3 days"
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-label",
"valueString" : "C."
}],
"code" : "LA20754-0",
"display" : "Three days or later"
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-label",
"valueString" : "D."
}],
"code" : "LA4489-6",
"display" : "Unknown"
}]
}]
}
}}####
e: {
"error" : "java.lang.NullPointerException"
}
-------------------------------------------------------------------------------------

View File

@ -1,34 +0,0 @@
-------------------------------------------------------------------------------------
{"hierarchical" : false, "valueSet" :{
"resourceType" : "ValueSet",
"compose" : {
"inactive" : true,
"include" : [{
"system" : "urn:ietf:bcp:13"
}]
}
}}####
e: {
"error" : "java.lang.NullPointerException"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/mimetypes", "version": "5.0.0-ballot"}####
e: {
"error" : "java.lang.NullPointerException"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/mimetypes", "version": "5.0.0-snapshot3"}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/mimetypes", "version": "5.0.0-draft-final"}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/mimetypes", "version": "5.0.0"}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------

View File

@ -1,31 +0,0 @@
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://hl7.org/fhir/tools/CodeSystem/obligation",
"code" : "will-send"
}, "valueSet" :null, "lang":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"severity" : "error",
"error" : "Local Error: Unable to resolve system http://hl7.org/fhir/tools/CodeSystem/obligation. Server Error: Attempt to use Terminology server when no Terminology server is available",
"class" : "SERVER_ERROR"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://hl7.org/fhir/tools/CodeSystem/obligation",
"code" : "display"
}, "valueSet" :null, "lang":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"severity" : "error",
"error" : "Local Error: Unable to resolve system http://hl7.org/fhir/tools/CodeSystem/obligation. Server Error: Attempt to use Terminology server when no Terminology server is available",
"class" : "SERVER_ERROR"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://hl7.org/fhir/tools/CodeSystem/obligation",
"code" : "preserve"
}, "valueSet" :null, "lang":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"severity" : "error",
"error" : "Local Error: Unable to resolve system http://hl7.org/fhir/tools/CodeSystem/obligation. Server Error: Attempt to use Terminology server when no Terminology server is available",
"class" : "SERVER_ERROR"
}
-------------------------------------------------------------------------------------

View File

@ -1,141 +0,0 @@
-------------------------------------------------------------------------------------
{"hierarchical" : false, "valueSet" :{
"resourceType" : "ValueSet",
"compose" : {
"inactive" : true,
"include" : [{
"system" : "http://unitsofmeasure.org"
}]
}
}}####
e: {
"error" : "java.lang.NullPointerException"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/ucum-units", "version": "5.0.0-ballot"}####
e: {
"error" : "java.lang.NullPointerException"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "valueSet" :{
"resourceType" : "ValueSet",
"compose" : {
"inactive" : true,
"include" : [{
"system" : "http://unitsofmeasure.org",
"concept" : [{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition",
"valueString" : "second"
}],
"code" : "s",
"display" : "second",
"designation" : [{
"language" : "zh",
"value" : "秒"
}]
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition",
"valueString" : "minute"
}],
"code" : "min",
"display" : "minute",
"designation" : [{
"language" : "zh",
"value" : "分钟"
}]
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition",
"valueString" : "hour"
}],
"code" : "h",
"display" : "hour",
"designation" : [{
"language" : "zh",
"value" : "小时"
}]
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition",
"valueString" : "day"
}],
"code" : "d",
"display" : "day",
"designation" : [{
"language" : "zh",
"value" : "天"
}]
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition",
"valueString" : "week"
}],
"code" : "wk",
"display" : "week",
"designation" : [{
"language" : "zh",
"value" : "星期"
}]
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition",
"valueString" : "month - Normal practice is to use the 'mo' code as a calendar month when calculating the next occurrence."
}],
"code" : "mo",
"display" : "month",
"designation" : [{
"language" : "zh",
"value" : "月"
}]
},
{
"extension" : [{
"url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition",
"valueString" : "year"
}],
"code" : "a",
"display" : "year",
"designation" : [{
"language" : "zh",
"value" : "年"
}]
}]
}]
}
}}####
e: {
"error" : "java.lang.NullPointerException"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/units-of-time", "version": "5.0.0-ballot"}####
e: {
"error" : "java.lang.NullPointerException"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/units-of-time", "version": "5.0.0-snapshot3"}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/ucum-units", "version": "5.0.0-snapshot3"}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/units-of-time", "version": "5.0.0-draft-final"}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------
{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/units-of-time", "version": "5.0.0"}####
e: {
"error" : "Cannot invoke \"org.hl7.fhir.r5.terminologies.TerminologyClient.expandValueset(org.hl7.fhir.r5.model.ValueSet, org.hl7.fhir.r5.model.Parameters, java.util.Map)\" because \"this.txClient\" is null"
}
-------------------------------------------------------------------------------------

View File

@ -12,11 +12,11 @@
"url" : "http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown",
"valueCode" : "both"
}],
"url" : "http://tx.fhir.org/r2/metadata",
"url" : "http://localhost/r2/metadata",
"version" : "1.0.2-2.0.14",
"name" : "FHIR Reference Server Conformance Statement",
"status" : "active",
"date" : "2022-09-22T20:21:24.315Z",
"date" : "2023-04-05T12:21:29.955Z",
"contact" : [{
"telecom" : [{
"system" : "other",
@ -31,8 +31,8 @@
"releaseDate" : "2022-05-13T19:50:55.040Z"
},
"implementation" : {
"description" : "FHIR Server running at http://tx.fhir.org/r2",
"url" : "http://tx.fhir.org/r2"
"description" : "FHIR Server running at http://localhost/r2",
"url" : "http://localhost/r2"
},
"fhirVersion" : "1.0.2",
"format" : ["application/xml+fhir",

View File

@ -138,9 +138,6 @@
{
"uri" : "http://hl7.org/fhir/concept-map-equivalence"
},
{
"uri" : "http://hl7.org/fhir/conditional-delete-status"
},
{
"uri" : "http://hl7.org/fhir/condition-category"
},
@ -153,6 +150,9 @@
{
"uri" : "http://hl7.org/fhir/condition-ver-status"
},
{
"uri" : "http://hl7.org/fhir/conditional-delete-status"
},
{
"uri" : "http://hl7.org/fhir/conformance-expectation"
},
@ -165,15 +165,15 @@
{
"uri" : "http://hl7.org/fhir/constraint-severity"
},
{
"uri" : "http://hl7.org/fhir/contactentity-type"
},
{
"uri" : "http://hl7.org/fhir/contact-point-system"
},
{
"uri" : "http://hl7.org/fhir/contact-point-use"
},
{
"uri" : "http://hl7.org/fhir/contactentity-type"
},
{
"uri" : "http://hl7.org/fhir/content-type"
},
@ -196,10 +196,10 @@
"uri" : "http://hl7.org/fhir/data-absent-reason"
},
{
"uri" : "http://hl7.org/fhir/dataelement-stringency"
"uri" : "http://hl7.org/fhir/data-types"
},
{
"uri" : "http://hl7.org/fhir/data-types"
"uri" : "http://hl7.org/fhir/dataelement-stringency"
},
{
"uri" : "http://hl7.org/fhir/days-of-week"
@ -210,15 +210,15 @@
{
"uri" : "http://hl7.org/fhir/device-action"
},
{
"uri" : "http://hl7.org/fhir/devicestatus"
},
{
"uri" : "http://hl7.org/fhir/device-use-request-priority"
},
{
"uri" : "http://hl7.org/fhir/device-use-request-status"
},
{
"uri" : "http://hl7.org/fhir/devicestatus"
},
{
"uri" : "http://hl7.org/fhir/diagnostic-order-priority"
},
@ -270,9 +270,6 @@
{
"uri" : "http://hl7.org/fhir/episode-of-care-status"
},
{
"uri" : "http://hl7.org/fhir/exception"
},
{
"uri" : "http://hl7.org/fhir/ex-fdi"
},
@ -288,9 +285,6 @@
{
"uri" : "http://hl7.org/fhir/ex-surface"
},
{
"uri" : "http://hl7.org/fhir/extension-context"
},
{
"uri" : "http://hl7.org/fhir/ex-udi"
},
@ -300,15 +294,18 @@
{
"uri" : "http://hl7.org/fhir/ex-visionprescriptionproduct"
},
{
"uri" : "http://hl7.org/fhir/exception"
},
{
"uri" : "http://hl7.org/fhir/extension-context"
},
{
"uri" : "http://hl7.org/fhir/FDI-surface"
},
{
"uri" : "http://hl7.org/fhir/filter-operator"
},
{
"uri" : "http://hl7.org/fhir/flagCategory"
},
{
"uri" : "http://hl7.org/fhir/flag-category"
},
@ -318,6 +315,9 @@
{
"uri" : "http://hl7.org/fhir/flag-status"
},
{
"uri" : "http://hl7.org/fhir/flagCategory"
},
{
"uri" : "http://hl7.org/fhir/fm-conditions"
},
@ -504,6 +504,9 @@
{
"uri" : "http://hl7.org/fhir/object-type"
},
{
"uri" : "http://hl7.org/fhir/obs-kind"
},
{
"uri" : "http://hl7.org/fhir/observation-category"
},
@ -513,9 +516,6 @@
{
"uri" : "http://hl7.org/fhir/observation-status"
},
{
"uri" : "http://hl7.org/fhir/obs-kind"
},
{
"uri" : "http://hl7.org/fhir/operation-kind"
},
@ -531,15 +531,15 @@
{
"uri" : "http://hl7.org/fhir/organization-type"
},
{
"uri" : "http://hl7.org/fhir/participant-type"
},
{
"uri" : "http://hl7.org/fhir/participantrequired"
},
{
"uri" : "http://hl7.org/fhir/participantstatus"
},
{
"uri" : "http://hl7.org/fhir/participant-type"
},
{
"uri" : "http://hl7.org/fhir/participationstatus"
},
@ -553,10 +553,10 @@
"uri" : "http://hl7.org/fhir/payeetype"
},
{
"uri" : "http://hl7.org/fhir/paymentstatus"
"uri" : "http://hl7.org/fhir/payment-type"
},
{
"uri" : "http://hl7.org/fhir/payment-type"
"uri" : "http://hl7.org/fhir/paymentstatus"
},
{
"uri" : "http://hl7.org/fhir/practitioner-role"
@ -735,15 +735,15 @@
{
"uri" : "http://hl7.org/fhir/substance-category"
},
{
"uri" : "http://hl7.org/fhir/supplydelivery-status"
},
{
"uri" : "http://hl7.org/fhir/supply-item-type"
},
{
"uri" : "http://hl7.org/fhir/supply-kind"
},
{
"uri" : "http://hl7.org/fhir/supplydelivery-status"
},
{
"uri" : "http://hl7.org/fhir/supplyrequest-reason"
},

View File

@ -3,18 +3,7 @@
"system" : "http://loinc.org",
"code" : "3141-9",
"display" : "Weight Measured"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Body weight Measured",
"code" : "3141-9",
"system" : "http://loinc.org"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://loinc.org",
"code" : "3141-9",
"display" : "Weight Measured"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Body weight Measured",
"code" : "3141-9",

View File

@ -3,18 +3,7 @@
"system" : "http://snomed.info/sct",
"code" : "27113001",
"display" : "Body weight"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Body weight",
"code" : "27113001",
"system" : "http://snomed.info/sct"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "27113001",
"display" : "Body weight"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Body weight",
"code" : "27113001",

View File

@ -2,17 +2,7 @@
{"code" : {
"system" : "http://unitsofmeasure.org",
"code" : "[lb_av]"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "[lb_av]",
"code" : "[lb_av]",
"system" : "http://unitsofmeasure.org"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://unitsofmeasure.org",
"code" : "[lb_av]"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "[lb_av]",
"code" : "[lb_av]",

View File

@ -12,11 +12,11 @@
"url" : "http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown",
"valueCode" : "both"
}],
"url" : "http://tx.fhir.org/r3/metadata",
"url" : "http://localhost/r3/metadata",
"version" : "3.0.2-2.0.14",
"name" : "FHIR Reference Server Conformance Statement",
"status" : "active",
"date" : "2022-09-16T12:12:41.427Z",
"date" : "2023-04-05T12:21:48.467Z",
"contact" : [{
"telecom" : [{
"system" : "other",
@ -31,8 +31,8 @@
"releaseDate" : "2022-05-13T19:50:55.040Z"
},
"implementation" : {
"description" : "FHIR Server running at http://tx.fhir.org/r3",
"url" : "http://tx.fhir.org/r3"
"description" : "FHIR Server running at http://localhost/r3",
"url" : "http://localhost/r3"
},
"fhirVersion" : "3.0.2",
"format" : ["application/fhir+xml",
@ -64,7 +64,7 @@
},
{
"name" : "versions",
"definition" : "http://tx.fhir.org/r3/OperationDefinition/fso-versions"
"definition" : "http://localhost/r3/OperationDefinition/fso-versions"
}]
}]
}

View File

@ -12,11 +12,11 @@
"url" : "http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown",
"valueCode" : "both"
}],
"url" : "http://tx.fhir.org/r3/metadata",
"url" : "http://localhost/r3/metadata",
"version" : "3.0.2-2.0.14",
"name" : "FHIR Reference Server Conformance Statement",
"status" : "active",
"date" : "2022-09-16T12:12:41.427Z",
"date" : "2023-04-05T12:21:50.678Z",
"contact" : [{
"telecom" : [{
"system" : "other",
@ -31,8 +31,8 @@
"releaseDate" : "2022-05-13T19:50:55.040Z"
},
"implementation" : {
"description" : "FHIR Server running at http://tx.fhir.org/r3",
"url" : "http://tx.fhir.org/r3"
"description" : "FHIR Server running at http://localhost/r3",
"url" : "http://localhost/r3"
},
"fhirVersion" : "3.0.2",
"format" : ["application/fhir+xml",
@ -64,7 +64,7 @@
},
{
"name" : "versions",
"definition" : "http://tx.fhir.org/r3/OperationDefinition/fso-versions"
"definition" : "http://localhost/r3/OperationDefinition/fso-versions"
}]
}]
}

View File

@ -1,7 +1,7 @@
-------------------------------------------------------------------------------------
{"code" : {
"code" : "fi"
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "3.0.2", "lang":"fi", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "3.0.2", "langs":"[fi]", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Finnish",
"code" : "fi",
@ -10,7 +10,7 @@ v: {
-------------------------------------------------------------------------------------
{"code" : {
"code" : "d"
}, "url": "http://hl7.org/fhir/ValueSet/units-of-time", "version": "3.0.2", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/units-of-time", "version": "3.0.2", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "天",
"code" : "d",
@ -26,7 +26,7 @@ v: {
"system" : "urn:ietf:bcp:13"
}]
}
}, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "image/jpg",
"code" : "image/jpg",
@ -42,7 +42,7 @@ v: {
"system" : "urn:ietf:bcp:13"
}]
}
}, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "application/pdf",
"code" : "application/pdf",
@ -51,7 +51,7 @@ v: {
-------------------------------------------------------------------------------------
{"code" : {
"code" : "de-CH"
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "3.0.2", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "3.0.2", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "German (Switzerland)",
"code" : "de-CH",
@ -62,7 +62,7 @@ v: {
"system" : "urn:iso:std:iso:3166",
"code" : "US",
"display" : "United States of America"
}, "url": "http://hl7.org/fhir/ValueSet/jurisdiction", "version": "3.0.2", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/jurisdiction", "version": "3.0.2", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "United States of America",
"code" : "US",
@ -71,7 +71,7 @@ v: {
-------------------------------------------------------------------------------------
{"code" : {
"code" : "en"
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "3.0.2", "lang":"en", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "3.0.2", "langs":"[en]", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "English",
"code" : "en",

View File

@ -2,7 +2,7 @@
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "NL"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Netherlands",
"code" : "NL",
@ -13,7 +13,7 @@ v: {
"system" : "urn:iso:std:iso:3166",
"code" : "NL",
"display" : "Netherlands"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Netherlands",
"code" : "NL",
@ -24,7 +24,7 @@ v: {
"system" : "urn:iso:std:iso:3166",
"code" : "NL",
"display" : "Netherlands"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
}, "valueSet" :null, "langs":"[]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"display" : "Netherlands",
"code" : "NL",
@ -34,7 +34,7 @@ v: {
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "NL"
}, "url": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.20.5.2--20171231000000--0", "version": "2017-12-31T00:00:00", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
}, "url": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.20.5.2--20171231000000--0", "version": "2017-12-31T00:00:00", "langs":"[]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"display" : "Netherlands",
"code" : "NL",
@ -44,7 +44,7 @@ v: {
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "NL"
}, "url": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.20.5.2--20171231000000--0", "version": "2017-12-31T00:00:00", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.20.5.2--20171231000000--0", "version": "2017-12-31T00:00:00", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "Netherlands",
"code" : "NL",
@ -55,7 +55,7 @@ v: {
"system" : "urn:iso:std:iso:3166",
"code" : "NL",
"display" : "Netherlands"
}, "url": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.20.5.2--20171231000000", "version": "2017-12-31T00:00:00", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
}, "url": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.20.5.2--20171231000000", "version": "2017-12-31T00:00:00", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "Netherlands",
"code" : "NL",
@ -65,7 +65,7 @@ v: {
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "US"
}, "url": "http://hl7.org/fhir/ValueSet/jurisdiction--0", "version": "3.0.2", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/jurisdiction--0", "version": "3.0.2", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "United States of America",
"code" : "US",
@ -75,7 +75,7 @@ v: {
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "US"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "United States of America",
"code" : "US",

View File

@ -3,38 +3,7 @@
"system" : "http://loinc.org",
"code" : "19935-6",
"display" : "Maximum expiratory gas flow Respiratory system airway by Peak flow meter"
}, "valueSet" :null, "lang":"fi", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Maximum expiratory gas flow Respiratory system airway by Peak flow meter",
"code" : "19935-6",
"system" : "http://loinc.org"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://loinc.org",
"code" : "19935-6"
}, "url": "http://phr.kanta.fi/ValueSet/fiphr-vs-vitalsigns--0", "version": "0.03", "lang":"fi", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "ei käännetty",
"code" : "19935-6",
"system" : "http://loinc.org"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://loinc.org",
"code" : "19935-6",
"display" : "Maximum expiratory gas flow Respiratory system airway by Peak flow meter"
}, "url": "http://phr.kanta.fi/ValueSet/fiphr-vs-vitalsigns", "version": "0.03", "lang":"fi", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "Maximum expiratory gas flow Respiratory system airway by Peak flow meter",
"code" : "19935-6",
"system" : "http://loinc.org"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://loinc.org",
"code" : "19935-6"
}, "valueSet" :null, "lang":"fi", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[fi]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Maximum expiratory gas flow Respiratory system airway by Peak flow meter",
"code" : "19935-6",
@ -44,7 +13,7 @@ v: {
{"code" : {
"system" : "http://loinc.org",
"code" : "28655-9"
}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes--0", "version": "3.0.2", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes--0", "version": "3.0.2", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "Attending Discharge summary",
"code" : "28655-9",
@ -54,7 +23,7 @@ v: {
{"code" : {
"system" : "http://loinc.org",
"code" : "28655-9"
}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes", "version": "3.0.2", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes", "version": "3.0.2", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "Attending Discharge summary",
"code" : "28655-9",
@ -64,7 +33,7 @@ v: {
{"code" : {
"system" : "http://loinc.org",
"code" : "28655-9"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Attending Discharge summary",
"code" : "28655-9",
@ -75,7 +44,7 @@ v: {
"system" : "http://loinc.org",
"code" : "29299-5",
"display" : "Reason for visit Narrative"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Reason for visit Narrative",
"code" : "29299-5",
@ -86,7 +55,7 @@ v: {
"system" : "http://loinc.org",
"code" : "10183-2",
"display" : "Hospital discharge medications Narrative"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Hospital discharge medications Narrative",
"code" : "10183-2",
@ -97,7 +66,7 @@ v: {
"system" : "http://loinc.org",
"code" : "48765-2",
"display" : "Allergies and adverse reactions Document"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Allergies and adverse reactions Document",
"code" : "48765-2",
@ -107,7 +76,7 @@ v: {
{"code" : {
"system" : "http://loinc.org",
"code" : "46241-6"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Hospital admission diagnosis Narrative - Reported",
"code" : "46241-6",
@ -117,7 +86,7 @@ v: {
{"code" : {
"system" : "http://loinc.org",
"code" : "18842-5"
}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes--0", "version": "3.0.2", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes--0", "version": "3.0.2", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "Discharge summary",
"code" : "18842-5",
@ -128,7 +97,7 @@ v: {
"system" : "http://loinc.org",
"code" : "18842-5",
"display" : "Discharge Summary"
}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes", "version": "3.0.2", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes", "version": "3.0.2", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "Discharge summary",
"code" : "18842-5",
@ -138,7 +107,7 @@ v: {
{"code" : {
"system" : "http://loinc.org",
"code" : "18842-5"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Discharge summary",
"code" : "18842-5",
@ -149,20 +118,20 @@ v: {
"system" : "http://loinc.org",
"code" : "48765-2",
"display" : "Allergies"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Allergies and adverse reactions Document",
"code" : "48765-2",
"system" : "http://loinc.org",
"severity" : "warning",
"error" : "The display \"Allergies\" is not a valid display for the code {http://loinc.org}48765-2 - should be one of ['Allergies and adverse reactions Document', 'Allergies &or adverse reactions Doc', '', '临床文档型' (zh-CN), '临床文档' (zh-CN), '文档' (zh-CN), '文书' (zh-CN), '医疗文书' (zh-CN), '临床医疗文书 医疗服务对象' (zh-CN), '客户' (zh-CN), '病人' (zh-CN), '病患' (zh-CN), '病号' (zh-CN), '超系统 - 病人 发现是一个原子型临床观察指标,并不是作为印象的概括陈述。体格检查、病史、系统检查及其他此类观察指标的属性均为发现。它们的标尺对于编码型发现可能是名义型,而对于叙述型文本之中所报告的发现,则可能是叙述型。' (zh-CN), '发现物' (zh-CN), '所见' (zh-CN), '结果' (zh-CN), '结论 变态反应与不良反应 文档.其他' (zh-CN), '杂项类文档' (zh-CN), '其他文档 时刻' (zh-CN), '随机' (zh-CN), '随意' (zh-CN), '瞬间 杂项' (zh-CN), '杂项类' (zh-CN), '杂项试验 过敏反应' (zh-CN), '过敏' (zh-CN), 'Allergie e reazioni avverse Documentazione miscellanea Miscellanea Osservazione paziente Punto nel tempo (episodio)' (it-IT), 'Документ Точка во времени' (ru-RU), 'Момент' (ru-RU)] (from http://tx.fhir.org/r3)"
"error" : "The display \"Allergies\" is not a valid display for the code {http://loinc.org}48765-2 - should be one of ['Allergies and adverse reactions Document', 'Allergies &or adverse reactions Doc', '', '临床文档型' (zh-CN), '临床文档' (zh-CN), '文档' (zh-CN), '文书' (zh-CN), '医疗文书' (zh-CN), '临床医疗文书 医疗服务对象' (zh-CN), '客户' (zh-CN), '病人' (zh-CN), '病患' (zh-CN), '病号' (zh-CN), '超系统 - 病人 发现是一个原子型临床观察指标,并不是作为印象的概括陈述。体格检查、病史、系统检查及其他此类观察指标的属性均为发现。它们的标尺对于编码型发现可能是名义型,而对于叙述型文本之中所报告的发现,则可能是叙述型。' (zh-CN), '发现物' (zh-CN), '所见' (zh-CN), '结果' (zh-CN), '结论 变态反应与不良反应 文档.其他' (zh-CN), '杂项类文档' (zh-CN), '其他文档 时刻' (zh-CN), '随机' (zh-CN), '随意' (zh-CN), '瞬间 杂项' (zh-CN), '杂项类' (zh-CN), '杂项试验 过敏反应' (zh-CN), '过敏' (zh-CN), 'Allergie e reazioni avverse Documentazione miscellanea Miscellanea Osservazione paziente Punto nel tempo (episodio)' (it-IT), 'Документ Точка во времени' (ru-RU), 'Момент' (ru-RU)] (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://loinc.org",
"code" : "8648-8",
"display" : "Hospital course Narrative"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Hospital course Narrative",
"code" : "8648-8",
@ -173,7 +142,7 @@ v: {
"system" : "http://loinc.org",
"code" : "78375-3",
"display" : "Discharge diagnosis Narrative"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Discharge diagnosis Narrative",
"code" : "78375-3",
@ -184,7 +153,7 @@ v: {
"system" : "http://loinc.org",
"code" : "75311-1",
"display" : "Discharge medications Narrative"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Discharge medications Narrative",
"code" : "75311-1",
@ -195,7 +164,7 @@ v: {
"system" : "http://loinc.org",
"code" : "42347-5",
"display" : "Admission diagnosis (narrative)"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Admission diagnosis (narrative)",
"code" : "42347-5",
@ -206,7 +175,7 @@ v: {
"system" : "http://loinc.org",
"code" : "42346-7",
"display" : "Medications on admission (narrative)"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Medications on admission (narrative)",
"code" : "42346-7",
@ -217,7 +186,7 @@ v: {
"system" : "http://loinc.org",
"code" : "42344-2",
"display" : "Discharge diet (narrative)"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Discharge diet (narrative)",
"code" : "42344-2",
@ -228,7 +197,7 @@ v: {
"system" : "http://loinc.org",
"code" : "10164-2",
"display" : "History of Present illness Narrative"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "History of Present illness Narrative",
"code" : "10164-2",
@ -239,20 +208,20 @@ v: {
"system" : "http://loinc.org",
"code" : "18776-5",
"display" : "Plan of care"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Plan of care note",
"code" : "18776-5",
"system" : "http://loinc.org",
"severity" : "warning",
"error" : "The display \"Plan of care\" is not a valid display for the code {http://loinc.org}18776-5 - should be one of ['Plan of care note', 'Plan of care note', '', '临床文档型' (zh-CN), '临床文档' (zh-CN), '文档' (zh-CN), '文书' (zh-CN), '医疗文书' (zh-CN), '临床医疗文书 事件发生的地方' (zh-CN), '场景' (zh-CN), '环境' (zh-CN), '背景 医疗服务(照护服务、护理服务、护理、照护、医疗照护、诊疗、诊疗服务、照顾、看护)计划(方案)记录 发现是一个原子型临床观察指标,并不是作为印象的概括陈述。体格检查、病史、系统检查及其他此类观察指标的属性均为发现。它们的标尺对于编码型发现可能是名义型,而对于叙述型文本之中所报告的发现,则可能是叙述型。' (zh-CN), '发现物' (zh-CN), '所见' (zh-CN), '结果' (zh-CN), '结论 文档本体' (zh-CN), '临床文档本体' (zh-CN), '文档本体' (zh-CN), '文书本体' (zh-CN), '医疗文书本体' (zh-CN), '临床医疗文书本体 时刻' (zh-CN), '随机' (zh-CN), '随意' (zh-CN), '瞬间 未加明确说明的角色 笔记' (zh-CN), '按语' (zh-CN), '注释' (zh-CN), '说明' (zh-CN), '票据' (zh-CN), '单据' (zh-CN), '证明书' (zh-CN), 'Documentazione dell''ontologia Osservazione Piano di cura Punto nel tempo (episodio) Ruolo non specificato' (it-IT)] (from http://tx.fhir.org/r3)"
"error" : "The display \"Plan of care\" is not a valid display for the code {http://loinc.org}18776-5 - should be one of ['Plan of care note', 'Plan of care note', '', '临床文档型' (zh-CN), '临床文档' (zh-CN), '文档' (zh-CN), '文书' (zh-CN), '医疗文书' (zh-CN), '临床医疗文书 事件发生的地方' (zh-CN), '场景' (zh-CN), '环境' (zh-CN), '背景 医疗服务(照护服务、护理服务、护理、照护、医疗照护、诊疗、诊疗服务、照顾、看护)计划(方案)记录 发现是一个原子型临床观察指标,并不是作为印象的概括陈述。体格检查、病史、系统检查及其他此类观察指标的属性均为发现。它们的标尺对于编码型发现可能是名义型,而对于叙述型文本之中所报告的发现,则可能是叙述型。' (zh-CN), '发现物' (zh-CN), '所见' (zh-CN), '结果' (zh-CN), '结论 文档本体' (zh-CN), '临床文档本体' (zh-CN), '文档本体' (zh-CN), '文书本体' (zh-CN), '医疗文书本体' (zh-CN), '临床医疗文书本体 时刻' (zh-CN), '随机' (zh-CN), '随意' (zh-CN), '瞬间 未加明确说明的角色 笔记' (zh-CN), '按语' (zh-CN), '注释' (zh-CN), '说明' (zh-CN), '票据' (zh-CN), '单据' (zh-CN), '证明书' (zh-CN), 'Documentazione dell''ontologia Osservazione Piano di cura Punto nel tempo (episodio) Ruolo non specificato' (it-IT)] (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://loinc.org",
"code" : "47420-5",
"display" : "Functional status assessment note"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Functional status assessment note",
"code" : "47420-5",
@ -263,7 +232,7 @@ v: {
"system" : "http://loinc.org",
"code" : "47519-4",
"display" : "History of Procedures Document"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "History of Procedures Document",
"code" : "47519-4",
@ -274,58 +243,36 @@ v: {
"system" : "http://loinc.org",
"code" : "10187-3",
"display" : "Review of systems Narrative Reporte"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Review of systems Narrative - Reported",
"code" : "10187-3",
"system" : "http://loinc.org",
"severity" : "warning",
"error" : "The display \"Review of systems Narrative Reporte\" is not a valid display for the code {http://loinc.org}10187-3 - should be one of ['Review of systems Narrative - Reported', 'Review of systems', '', '医疗服务对象' (zh-CN), '客户' (zh-CN), '病人' (zh-CN), '病患' (zh-CN), '病号' (zh-CN), '超系统 - 病人 历史纪录与体格检查 历史纪录与体格检查.历史记录' (zh-CN), '历史纪录与体格检查.历史记录类' (zh-CN), '历史纪录与体格检查.历史记录类别' (zh-CN), '历史纪录与体格检查.病史' (zh-CN), '历史纪录与体格检查.病史类' (zh-CN), '历史纪录与体格检查.病史类别' (zh-CN), '历史纪录与体格检查.病史记录' (zh-CN), '历史纪录与体格检查.病史记录类' (zh-CN), '历史纪录与体格检查.病史记录类别' (zh-CN), '历史纪录与体格检查小节.历史记录' (zh-CN), '历史纪录与体格检查小节.历史记录类' (zh-CN), '历史纪录与体格检查小节.历史记录类别' (zh-CN), '历史纪录与体格检查小节.病史' (zh-CN), '历史纪录与体格检查小节.病史类' (zh-CN), '历史纪录与体格检查小节.病史类别 历史纪录与体格检查小节 发现是一个原子型临床观察指标,并不是作为印象的概括陈述。体格检查、病史、系统检查及其他此类观察指标的属性均为发现。它们的标尺对于编码型发现可能是名义型,而对于叙述型文本之中所报告的发现,则可能是叙述型。' (zh-CN), '发现物' (zh-CN), '所见' (zh-CN), '结果' (zh-CN), '结论 叙述' (zh-CN), '叙述性文字' (zh-CN), '报告' (zh-CN), '报告型' (zh-CN), '文字叙述' (zh-CN), '文本叙述型' (zh-CN), '文本描述' (zh-CN), '文本描述型 时刻' (zh-CN), '随机' (zh-CN), '随意' (zh-CN), '瞬间 病史与体格检查 系统回顾' (zh-CN), '系统审核' (zh-CN), 'Anamnesi Osservazione paziente Punto nel tempo (episodio)' (it-IT), 'Анамнестические сведения' (ru-RU), 'Сообщенная третьим лицом информация Описательный Точка во времени' (ru-RU), 'Момент' (ru-RU)] (from http://tx.fhir.org/r3)"
"error" : "The display \"Review of systems Narrative Reporte\" is not a valid display for the code {http://loinc.org}10187-3 - should be one of ['Review of systems Narrative - Reported', 'Review of systems', '', '医疗服务对象' (zh-CN), '客户' (zh-CN), '病人' (zh-CN), '病患' (zh-CN), '病号' (zh-CN), '超系统 - 病人 历史纪录与体格检查 历史纪录与体格检查.历史记录' (zh-CN), '历史纪录与体格检查.历史记录类' (zh-CN), '历史纪录与体格检查.历史记录类别' (zh-CN), '历史纪录与体格检查.病史' (zh-CN), '历史纪录与体格检查.病史类' (zh-CN), '历史纪录与体格检查.病史类别' (zh-CN), '历史纪录与体格检查.病史记录' (zh-CN), '历史纪录与体格检查.病史记录类' (zh-CN), '历史纪录与体格检查.病史记录类别' (zh-CN), '历史纪录与体格检查小节.历史记录' (zh-CN), '历史纪录与体格检查小节.历史记录类' (zh-CN), '历史纪录与体格检查小节.历史记录类别' (zh-CN), '历史纪录与体格检查小节.病史' (zh-CN), '历史纪录与体格检查小节.病史类' (zh-CN), '历史纪录与体格检查小节.病史类别 历史纪录与体格检查小节 发现是一个原子型临床观察指标,并不是作为印象的概括陈述。体格检查、病史、系统检查及其他此类观察指标的属性均为发现。它们的标尺对于编码型发现可能是名义型,而对于叙述型文本之中所报告的发现,则可能是叙述型。' (zh-CN), '发现物' (zh-CN), '所见' (zh-CN), '结果' (zh-CN), '结论 叙述' (zh-CN), '叙述性文字' (zh-CN), '报告' (zh-CN), '报告型' (zh-CN), '文字叙述' (zh-CN), '文本叙述型' (zh-CN), '文本描述' (zh-CN), '文本描述型 时刻' (zh-CN), '随机' (zh-CN), '随意' (zh-CN), '瞬间 病史与体格检查 系统回顾' (zh-CN), '系统审核' (zh-CN), 'Anamnesi Osservazione paziente Punto nel tempo (episodio)' (it-IT), 'Анамнестические сведения' (ru-RU), 'Сообщенная третьим лицом информация Описательный Точка во времени' (ru-RU), 'Момент' (ru-RU)] (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://loinc.org",
"code" : "87504-7",
"display" : "Administrative information"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "LCDS v4.00 - Administrative information - discharge [CMS Assessment]",
"code" : "87504-7",
"system" : "http://loinc.org",
"severity" : "warning",
"error" : "The display \"Administrative information\" is not a valid display for the code {http://loinc.org}87504-7 - should be one of ['LCDS v4.00 - Administrative information - discharge [CMS Assessment]', ''] (from http://tx.fhir.org/r3)"
"error" : "The display \"Administrative information\" is not a valid display for the code {http://loinc.org}87504-7 - should be one of ['LCDS v4.00 - Administrative information - discharge [CMS Assessment]', ''] (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://loinc.org",
"code" : "2069-3",
"display" : "Chloride [Moles/volume] in Blood"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Chloride [Moles/volume] in Blood",
"code" : "2069-3",
"system" : "http://loinc.org"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://loinc.org",
"code" : "29463-7",
"display" : "Body Weight"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"display" : "Body weight",
"code" : "29463-7",
"system" : "http://loinc.org"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://loinc.org",
"code" : "3141-9",
"display" : "Body weight Measured"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"display" : "Body weight Measured",
"code" : "3141-9",
"system" : "http://loinc.org"
}
-------------------------------------------------------------------------------------

View File

@ -2,7 +2,7 @@
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "66493003"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Product containing theophylline (medicinal product)",
"code" : "66493003",
@ -13,7 +13,7 @@ v: {
"system" : "http://snomed.info/sct",
"code" : "394899003",
"display" : "oral administration of treatment"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Oral administration of treatment",
"code" : "394899003",
@ -24,33 +24,33 @@ v: {
"system" : "http://snomed.info/sct",
"code" : "118246004",
"display" : "Laboratory test finding (finding)"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Laboratory test finding",
"code" : "118246004",
"system" : "http://snomed.info/sct",
"severity" : "warning",
"error" : "The display \"Laboratory test finding (finding)\" is not a valid display for the code {http://snomed.info/sct}118246004 - should be one of ['Laboratory test finding', 'Laboratory test observations', 'Laboratory test result', 'Laboratory test finding (navigational concept)'] (from http://tx.fhir.org/r3)"
"error" : "The display \"Laboratory test finding (finding)\" is not a valid display for the code {http://snomed.info/sct}118246004 - should be one of ['Laboratory test finding', 'Laboratory test observations', 'Laboratory test result', 'Laboratory test finding (navigational concept)'] (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "275711006",
"display" : "Chemistry"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Serum chemistry test",
"code" : "275711006",
"system" : "http://snomed.info/sct",
"severity" : "warning",
"error" : "The display \"Chemistry\" is not a valid display for the code {http://snomed.info/sct}275711006 - should be one of ['Serum chemistry test', 'Serum chemistry test (procedure)'] (from http://tx.fhir.org/r3)"
"error" : "The display \"Chemistry\" is not a valid display for the code {http://snomed.info/sct}275711006 - should be one of ['Serum chemistry test', 'Serum chemistry test (procedure)'] (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "281302008",
"display" : "Above reference range"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Above reference range",
"code" : "281302008",
@ -61,7 +61,7 @@ v: {
"system" : "http://snomed.info/sct",
"code" : "419891008",
"display" : "Record artifact (record artifact)"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Record artifact (record artifact)",
"code" : "419891008",
@ -72,7 +72,7 @@ v: {
"system" : "http://snomed.info/sct",
"code" : "371525003",
"display" : "Clinical procedure report (record artifact)"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Clinical procedure report",
"code" : "371525003",
@ -83,7 +83,7 @@ v: {
"system" : "http://snomed.info/sct",
"code" : "17621005",
"display" : "Normal (qualifier value)"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Normal",
"code" : "17621005",
@ -94,7 +94,7 @@ v: {
"system" : "http://snomed.info/sct",
"code" : "722172003",
"display" : "Military health institution (environment)"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Military health institution (environment)",
"code" : "722172003",
@ -105,7 +105,7 @@ v: {
"system" : "http://snomed.info/sct",
"code" : "394609007",
"display" : "General surgery (qualifier value)"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "General surgery (qualifier value)",
"code" : "394609007",
@ -116,7 +116,7 @@ v: {
"system" : "http://snomed.info/sct",
"code" : "71388002",
"display" : "Procedure (procedure)"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Procedure",
"code" : "71388002",
@ -127,157 +127,157 @@ v: {
"system" : "http://snomed.info/sct",
"code" : "823681000000100",
"display" : "Outpatient letter"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 823681000000100 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"823681000000100\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#823681000000100) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 823681000000100 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"823681000000100\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#823681000000100) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "886921000000105",
"display" : "Allergies and adverse reactions"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 886921000000105 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"886921000000105\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#886921000000105) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 886921000000105 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"886921000000105\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#886921000000105) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "1077881000000105",
"display" : "Attendance details"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 1077881000000105 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"1077881000000105\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#1077881000000105) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 1077881000000105 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"1077881000000105\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#1077881000000105) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "887181000000106",
"display" : "Clinical summary"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 887181000000106 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"887181000000106\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#887181000000106) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 887181000000106 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"887181000000106\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#887181000000106) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "887161000000102",
"display" : "Diagnoses"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 887161000000102 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"887161000000102\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#887161000000102) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 887161000000102 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"887161000000102\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#887161000000102) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "1052891000000108",
"display" : "Referrer details"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 1052891000000108 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"1052891000000108\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#1052891000000108) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 1052891000000108 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"1052891000000108\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#1052891000000108) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "715851000000102",
"display" : "Examination findings"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 715851000000102 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"715851000000102\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#715851000000102) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 715851000000102 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"715851000000102\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#715851000000102) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "717121000000105",
"display" : "History"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 717121000000105 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"717121000000105\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#717121000000105) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 717121000000105 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"717121000000105\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#717121000000105) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "933361000000108",
"display" : "Medications and medical devices"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 933361000000108 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"933361000000108\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#933361000000108) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 933361000000108 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"933361000000108\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#933361000000108) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "887171000000109",
"display" : "Procedures"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 887171000000109 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"887171000000109\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#887171000000109) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 887171000000109 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"887171000000109\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#887171000000109) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "887201000000105",
"display" : "Plan and requested actions"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 887201000000105 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"887201000000105\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#887201000000105) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 887201000000105 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"887201000000105\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#887201000000105) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "1052951000000105",
"display" : "Information and advice given"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 1052951000000105 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"1052951000000105\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#1052951000000105) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 1052951000000105 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"1052951000000105\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#1052951000000105) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "886731000000109",
"display" : "Patient demographics"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 886731000000109 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"886731000000109\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#886731000000109) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 886731000000109 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"886731000000109\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#886731000000109) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "887231000000104",
"display" : "Person completing record"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 887231000000104 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"887231000000104\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#887231000000104) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 887231000000104 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"887231000000104\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#887231000000104) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "9290701000001101",
"display" : "Optrex"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 9290701000001101 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"9290701000001101\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#9290701000001101) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Unable to find code 9290701000001101 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"9290701000001101\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#9290701000001101) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "443938003",
"display" : "Procedure carried out on subject"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Procedure carried out on subject (situation)",
"code" : "443938003",
@ -288,7 +288,7 @@ v: {
"system" : "http://snomed.info/sct",
"code" : "17621005",
"display" : "Normal"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Normal",
"code" : "17621005",
@ -298,7 +298,7 @@ v: {
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "27171005"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Urinalysis",
"code" : "27171005",
@ -308,7 +308,7 @@ v: {
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "55011004"
}, "valueSet" :null, "lang":"en", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[en]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Steady",
"code" : "55011004",
@ -326,7 +326,7 @@ v: {
"code" : "55011004"
}]
}
}, "lang":"en", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
}, "langs":"[en]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"code" : "55011004",
"system" : "http://snomed.info/sct"
@ -335,20 +335,9 @@ v: {
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "11181000146103"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Unable to find code 11181000146103 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"11181000146103\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#11181000146103) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://snomed.info/sct",
"code" : "27113001",
"display" : "Body weight"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"display" : "Body weight",
"code" : "27113001",
"system" : "http://snomed.info/sct"
"error" : "Unable to find code 11181000146103 in http://snomed.info/sct (version http://snomed.info/sct/900000000000207008/version/20220731); The code \"11181000146103\" is not valid in the system http://snomed.info/sct; The code provided (http://snomed.info/sct#11181000146103) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------

View File

@ -2,7 +2,7 @@
{"code" : {
"system" : "http://unitsofmeasure.org",
"code" : "L/min"
}, "valueSet" :null, "lang":"fi", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[fi]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "L/min",
"code" : "L/min",
@ -12,38 +12,28 @@ v: {
{"code" : {
"system" : "http://unitsofmeasure.org",
"code" : "21612-7"
}, "valueSet" :null, "lang":"fi", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[fi]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Error processing Unit: '21612-7': Expected \"/\" or \".\" at character 6; The code \"21612-7\" is not valid in the system http://unitsofmeasure.org; The code provided (http://unitsofmeasure.org#21612-7) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Error processing Unit: '21612-7': Expected \"/\" or \".\" at character 6; The code \"21612-7\" is not valid in the system http://unitsofmeasure.org; The code provided (http://unitsofmeasure.org#21612-7) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://unitsofmeasure.org",
"code" : "tbl"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Error processing Unit: 'tbl': The unit \"tbl\" is unknown at character 1; The code \"tbl\" is not valid in the system http://unitsofmeasure.org; The code provided (http://unitsofmeasure.org#tbl) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r3)"
"error" : "Error processing Unit: 'tbl': The unit \"tbl\" is unknown at character 1; The code \"tbl\" is not valid in the system http://unitsofmeasure.org; The code provided (http://unitsofmeasure.org#tbl) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r3)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://unitsofmeasure.org",
"code" : "mmol/L"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "mmol/L",
"code" : "mmol/L",
"system" : "http://unitsofmeasure.org"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://unitsofmeasure.org",
"code" : "[lb_av]"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"display" : "[lb_av]",
"code" : "[lb_av]",
"system" : "http://unitsofmeasure.org"
}
-------------------------------------------------------------------------------------

View File

@ -1,12 +0,0 @@
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code" : "IMP",
"display" : "inpatient encounter"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "inpatient encounter",
"code" : "IMP",
"system" : "http://terminology.hl7.org/CodeSystem/v3-ActCode"
}
-------------------------------------------------------------------------------------

View File

@ -1,12 +0,0 @@
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://terminology.hl7.org/CodeSystem/v3-ActReason",
"code" : "HTEST",
"display" : "test health data"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "test health data",
"code" : "HTEST",
"system" : "http://terminology.hl7.org/CodeSystem/v3-ActReason"
}
-------------------------------------------------------------------------------------

View File

@ -8,11 +8,11 @@
"display" : "Subsetted"
}]
},
"url" : "http://tx.fhir.org/r4/metadata",
"url" : "http://localhost/r4/metadata",
"version" : "4.0.1-2.0.14",
"name" : "FHIR Reference Server Conformance Statement",
"status" : "active",
"date" : "2022-09-15T13:27:05.487Z",
"date" : "2023-04-05T12:22:14.545Z",
"contact" : [{
"telecom" : [{
"system" : "other",
@ -27,8 +27,8 @@
"releaseDate" : "2022-05-13T19:50:55.040Z"
},
"implementation" : {
"description" : "FHIR Server running at http://tx.fhir.org/r4",
"url" : "http://tx.fhir.org/r4"
"description" : "FHIR Server running at http://localhost/r4",
"url" : "http://localhost/r4"
},
"fhirVersion" : "4.0.1",
"format" : ["application/fhir+xml",
@ -60,7 +60,7 @@
},
{
"name" : "versions",
"definition" : "http://tx.fhir.org/r4/OperationDefinition/fso-versions"
"definition" : "http://localhost/r4/OperationDefinition/fso-versions"
}]
}]
}

View File

@ -1,11 +1,11 @@
{
"resourceType" : "TerminologyCapabilities",
"id" : "FhirServer",
"url" : "http://tx.fhir.org/r4/metadata",
"url" : "http://localhost/r4/metadata",
"version" : "1.0.0",
"name" : "FHIR Reference Server Teminology Capability Statement",
"status" : "active",
"date" : "2022-09-12T07:14:02.176Z",
"date" : "2023-04-05T12:22:14.553Z",
"contact" : [{
"telecom" : [{
"system" : "other",
@ -109,9 +109,6 @@
{
"uri" : "http://hl7.org/fhir/audit-event-action"
},
{
"uri" : "http://hl7.org/fhir/audit-event-outcome"
},
{
"uri" : "http://hl7.org/fhir/binding-strength"
},
@ -136,21 +133,27 @@
{
"uri" : "http://hl7.org/fhir/code-search-support"
},
{
"uri" : "http://hl7.org/fhir/codesystem-content-mode"
},
{
"uri" : "http://hl7.org/fhir/codesystem-hierarchy-meaning"
},
{
"uri" : "http://hl7.org/fhir/CodeSystem/example"
},
{
"uri" : "http://hl7.org/fhir/CodeSystem/medicationrequest-intent"
},
{
"uri" : "http://hl7.org/fhir/CodeSystem/medicationrequest-status"
},
{
"uri" : "http://hl7.org/fhir/CodeSystem/medication-statement-status"
},
{
"uri" : "http://hl7.org/fhir/CodeSystem/medication-status"
},
{
"uri" : "http://hl7.org/fhir/CodeSystem/medicationrequest-intent"
},
{
"uri" : "http://hl7.org/fhir/CodeSystem/medicationrequest-status"
},
{
"uri" : "http://hl7.org/fhir/CodeSystem/status"
},
@ -160,12 +163,6 @@
{
"uri" : "http://hl7.org/fhir/CodeSystem/task-code"
},
{
"uri" : "http://hl7.org/fhir/codesystem-content-mode"
},
{
"uri" : "http://hl7.org/fhir/codesystem-hierarchy-meaning"
},
{
"uri" : "http://hl7.org/fhir/compartment-type"
},
@ -178,9 +175,6 @@
{
"uri" : "http://hl7.org/fhir/concept-map-equivalence"
},
{
"uri" : "http://hl7.org/fhir/conceptmap-unmapped-mode"
},
{
"uri" : "http://hl7.org/fhir/concept-properties"
},
@ -190,6 +184,9 @@
{
"uri" : "http://hl7.org/fhir/concept-subsumption-outcome"
},
{
"uri" : "http://hl7.org/fhir/conceptmap-unmapped-mode"
},
{
"uri" : "http://hl7.org/fhir/conditional-delete-status"
},
@ -199,15 +196,15 @@
{
"uri" : "http://hl7.org/fhir/consent-data-meaning"
},
{
"uri" : "http://hl7.org/fhir/consentperformer"
},
{
"uri" : "http://hl7.org/fhir/consent-provision-type"
},
{
"uri" : "http://hl7.org/fhir/consent-state-codes"
},
{
"uri" : "http://hl7.org/fhir/consentperformer"
},
{
"uri" : "http://hl7.org/fhir/constraint-severity"
},
@ -343,9 +340,6 @@
{
"uri" : "http://hl7.org/fhir/event-timing"
},
{
"uri" : "http://hl7.org/fhir/examplescenario-actor-type"
},
{
"uri" : "http://hl7.org/fhir/ex-claimitemtype"
},
@ -361,6 +355,18 @@
{
"uri" : "http://hl7.org/fhir/ex-pharmaservice"
},
{
"uri" : "http://hl7.org/fhir/ex-servicemodifier"
},
{
"uri" : "http://hl7.org/fhir/ex-serviceproduct"
},
{
"uri" : "http://hl7.org/fhir/ex-udi"
},
{
"uri" : "http://hl7.org/fhir/examplescenario-actor-type"
},
{
"uri" : "http://hl7.org/fhir/explanationofbenefit-status"
},
@ -370,21 +376,12 @@
{
"uri" : "http://hl7.org/fhir/expression-language"
},
{
"uri" : "http://hl7.org/fhir/ex-servicemodifier"
},
{
"uri" : "http://hl7.org/fhir/ex-serviceproduct"
},
{
"uri" : "http://hl7.org/fhir/extension-context-type"
},
{
"uri" : "http://hl7.org/fhir/extra-activity-type"
},
{
"uri" : "http://hl7.org/fhir/ex-udi"
},
{
"uri" : "http://hl7.org/fhir/feeding-device"
},
@ -433,9 +430,6 @@
{
"uri" : "http://hl7.org/fhir/guide-page-generation"
},
{
"uri" : "http://hl7.org/fhir/guide-parameter-code"
},
{
"uri" : "http://hl7.org/fhir/history-status"
},
@ -479,10 +473,10 @@
"uri" : "http://hl7.org/fhir/language-preference-type"
},
{
"uri" : "http://hl7.org/fhir/linkage-type"
"uri" : "http://hl7.org/fhir/link-type"
},
{
"uri" : "http://hl7.org/fhir/link-type"
"uri" : "http://hl7.org/fhir/linkage-type"
},
{
"uri" : "http://hl7.org/fhir/list-mode"
@ -527,10 +521,10 @@
"uri" : "http://hl7.org/fhir/message-events"
},
{
"uri" : "http://hl7.org/fhir/messageheader-response-request"
"uri" : "http://hl7.org/fhir/message-significance-category"
},
{
"uri" : "http://hl7.org/fhir/message-significance-category"
"uri" : "http://hl7.org/fhir/messageheader-response-request"
},
{
"uri" : "http://hl7.org/fhir/metric-calibration-state"
@ -656,10 +650,10 @@
"uri" : "http://hl7.org/fhir/related-artifact-type"
},
{
"uri" : "http://hl7.org/fhir/relationship"
"uri" : "http://hl7.org/fhir/relation-type"
},
{
"uri" : "http://hl7.org/fhir/relation-type"
"uri" : "http://hl7.org/fhir/relationship"
},
{
"uri" : "http://hl7.org/fhir/remittance-outcome"
@ -787,9 +781,6 @@
{
"uri" : "http://hl7.org/fhir/structure-definition-kind"
},
{
"uri" : "http://hl7.org/fhir/subscription-channel-type"
},
{
"uri" : "http://hl7.org/fhir/subscription-status"
},
@ -841,6 +832,30 @@
{
"uri" : "http://hl7.org/fhir/us/core/CodeSystem/us-core-tags"
},
{
"uri" : "http://hl7.org/fhir/uv/sdc/CodeSystem/assemble-expectation"
},
{
"uri" : "http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes"
},
{
"uri" : "http://hl7.org/fhir/uv/sdc/CodeSystem/collapsible"
},
{
"uri" : "http://hl7.org/fhir/uv/sdc/CodeSystem/CSPHQ9"
},
{
"uri" : "http://hl7.org/fhir/uv/sdc/CodeSystem/entryMode"
},
{
"uri" : "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext"
},
{
"uri" : "http://hl7.org/fhir/uv/sdc/CodeSystem/questionnaire-answer-constraint"
},
{
"uri" : "http://hl7.org/fhir/uv/sdc/CodeSystem/temp"
},
{
"uri" : "http://hl7.org/fhir/variable-type"
},
@ -979,17 +994,17 @@
{
"uri" : "http://terminology.hl7.org/CodeSystem/chromosome-human"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/claimcareteamrole"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/claim-exception"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/claiminformationcategory"
"uri" : "http://terminology.hl7.org/CodeSystem/claim-type"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/claim-type"
"uri" : "http://terminology.hl7.org/CodeSystem/claimcareteamrole"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/claiminformationcategory"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/codesystem-altcode-kind"
@ -1015,9 +1030,6 @@
{
"uri" : "http://terminology.hl7.org/CodeSystem/conceptdomains"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/condition-category"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/condition-clinical"
},
@ -1051,18 +1063,21 @@
{
"uri" : "http://terminology.hl7.org/CodeSystem/container-cap"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/contractaction"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/contractactorrole"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/contract-content-derivative"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/contract-data-meaning"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/contract-type"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/contractaction"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/contractactorrole"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/contractsignertypecodes"
},
@ -1075,9 +1090,6 @@
{
"uri" : "http://terminology.hl7.org/CodeSystem/contracttermtypecodes"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/contract-type"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/copy-number-event"
},
@ -1088,10 +1100,10 @@
"uri" : "http://terminology.hl7.org/CodeSystem/coverage-copay-type"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/coverageeligibilityresponse-ex-auth-support"
"uri" : "http://terminology.hl7.org/CodeSystem/coverage-selfpay"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/coverage-selfpay"
"uri" : "http://terminology.hl7.org/CodeSystem/coverageeligibilityresponse-ex-auth-support"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/data-absent-reason"
@ -1174,12 +1186,6 @@
{
"uri" : "http://terminology.hl7.org/CodeSystem/ex-diagnosistype"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/expansion-parameter-source"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/expansion-processing-rule"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/ex-payee-resource-type"
},
@ -1207,15 +1213,21 @@
{
"uri" : "http://terminology.hl7.org/CodeSystem/ex-tooth"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/extra-security-role-type"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/ex-USCLS"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/ex-visionprescriptionproduct"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/expansion-parameter-source"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/expansion-processing-rule"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/extra-security-role-type"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/failure-action"
},
@ -1264,14 +1276,11 @@
{
"uri" : "http://terminology.hl7.org/CodeSystem/hl7-document-format-codes"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/hl7TermMaintInfra"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/hl7-work-group"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/icd-o-3"
"uri" : "http://terminology.hl7.org/CodeSystem/hl7TermMaintInfra"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/immunization-evaluation-dose-status"
@ -1357,6 +1366,12 @@
{
"uri" : "http://terminology.hl7.org/CodeSystem/medication-admin-status"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/medication-statement-category"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/medication-usage-admin-location"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/medicationdispense-performer-function"
},
@ -1384,12 +1399,6 @@
{
"uri" : "http://terminology.hl7.org/CodeSystem/medicationrequest-status-reason"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/medication-statement-category"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/medication-usage-admin-location"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/message-reasons-encounter"
},
@ -1439,10 +1448,10 @@
"uri" : "http://terminology.hl7.org/CodeSystem/payment-adjustment-reason"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/paymentstatus"
"uri" : "http://terminology.hl7.org/CodeSystem/payment-type"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/payment-type"
"uri" : "http://terminology.hl7.org/CodeSystem/paymentstatus"
},
{
"uri" : "http://terminology.hl7.org/CodeSystem/plan-definition-type"
@ -3553,6 +3562,9 @@
{
"uri" : "urn:ietf:rfc:3986"
},
{
"uri" : "urn:iso-astm:E1762-95:2013"
},
{
"uri" : "urn:iso:std:iso:11073:10101"
},
@ -3565,9 +3577,6 @@
{
"uri" : "urn:iso:std:iso:4217"
},
{
"uri" : "urn:iso-astm:E1762-95:2013"
},
{
"uri" : "urn:oid:1.2.36.1.2001.1001.101.104.16592"
},

View File

@ -1,11 +0,0 @@
-------------------------------------------------------------------------------------
{"code" : {
"system" : "Location",
"code" : "Location"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"severity" : "error",
"error" : "The code system 'Location' is not known (encountered paired with code = 'Location'); The code provided (Location#Location) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------

View File

@ -2,7 +2,7 @@
{"code" : {
"system" : "http://terminology.hl7.org/CodeSystem/condition-clinical",
"code" : "active"
}, "url": "http://hl7.org/fhir/ValueSet/condition-clinical--0", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/condition-clinical--0", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "Active",
"code" : "active",
@ -14,7 +14,7 @@ v: {
"version" : "4.0.1",
"code" : "active",
"display" : "Active"
}, "url": "http://hl7.org/fhir/ValueSet/condition-clinical", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/condition-clinical", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "Active",
"code" : "active",
@ -25,32 +25,10 @@ v: {
"system" : "http://terminology.hl7.org/CodeSystem/condition-clinical",
"version" : "4.0.1",
"code" : "active"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Active",
"code" : "active",
"system" : "http://terminology.hl7.org/CodeSystem/condition-clinical"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://terminology.hl7.org/CodeSystem/condition-clinical",
"code" : "active"
}, "url": "http://hl7.org/fhir/ValueSet/condition-clinical--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Active",
"code" : "active",
"system" : "http://terminology.hl7.org/CodeSystem/condition-clinical"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://terminology.hl7.org/CodeSystem/condition-clinical",
"version" : "4.0.1",
"code" : "active",
"display" : "Active"
}, "url": "http://hl7.org/fhir/ValueSet/condition-clinical", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "Active",
"code" : "active",
"system" : "http://terminology.hl7.org/CodeSystem/condition-clinical"
"severity" : "error",
"error" : "Version '4.0.1' of the code system 'http://terminology.hl7.org/CodeSystem/condition-clinical' is not known (encountered paired with code = 'active'). ValidVersions = [0.5.0]; The code provided (http://terminology.hl7.org/CodeSystem/condition-clinical#active) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------

View File

@ -3,7 +3,7 @@
"system" : "http://hl7.org/fhir/sid/cvx",
"code" : "207",
"display" : "SARS-COV-2 (COVID-19) vaccine, mRNA, spike protein, LNP, preservative free, 100 mcg/0.5mL dose"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "SARS-COV-2 (COVID-19) vaccine, mRNA, spike protein, LNP, preservative free, 100 mcg/0.5mL dose",
"code" : "207",
@ -14,19 +14,19 @@ v: {
"system" : "http://hl7.org/fhir/sid/cvx",
"code" : "207",
"display" : "X SARS-COV-2 (COVID-19) vaccine, mRNA, spike protein, LNP, preservative free, 100 mcg/0.5mL dose"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "SARS-COV-2 (COVID-19) vaccine, mRNA, spike protein, LNP, preservative free, 100 mcg/0.5mL dose",
"code" : "207",
"system" : "http://hl7.org/fhir/sid/cvx",
"severity" : "warning",
"error" : "The display \"X SARS-COV-2 (COVID-19) vaccine, mRNA, spike protein, LNP, preservative free, 100 mcg/0.5mL dose\" is not a valid display for the code {http://hl7.org/fhir/sid/cvx}207 - should be one of ['SARS-COV-2 (COVID-19) vaccine, mRNA, spike protein, LNP, preservative free, 100 mcg/0.5mL dose', 'COVID-19, mRNA, LNP-S, PF, 100 mcg/0.5 mL dose' (en)] (from http://tx.fhir.org/r4)"
"error" : "The display \"X SARS-COV-2 (COVID-19) vaccine, mRNA, spike protein, LNP, preservative free, 100 mcg/0.5mL dose\" is not a valid display for the code {http://hl7.org/fhir/sid/cvx}207 - should be one of ['SARS-COV-2 (COVID-19) vaccine, mRNA, spike protein, LNP, preservative free, 100 mcg/0.5mL dose', 'COVID-19, mRNA, LNP-S, PF, 100 mcg/0.5 mL dose' (en)] (from http://local.fhir.org/r4)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://hl7.org/fhir/sid/cvx",
"code" : "208"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "SARS-COV-2 (COVID-19) vaccine, mRNA, spike protein, LNP, preservative free, 30 mcg/0.3mL dose",
"code" : "208",
@ -36,7 +36,7 @@ v: {
{"code" : {
"system" : "http://hl7.org/fhir/sid/cvx",
"code" : "208"
}, "url": "http://hl7.org/fhir/uv/shc-vaccination/ValueSet/vaccine-cvx", "version": "0.6.2", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/uv/shc-vaccination/ValueSet/vaccine-cvx", "version": "0.6.2", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "SARS-COV-2 (COVID-19) vaccine, mRNA, spike protein, LNP, preservative free, 30 mcg/0.3mL dose",
"code" : "208",
@ -46,9 +46,9 @@ v: {
{"code" : {
"system" : "http://hl7.org/fhir/sid/cvx",
"code" : "209"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "The code \"209\" is not valid in the system http://hl7.org/fhir/sid/cvx; The code provided (http://hl7.org/fhir/sid/cvx#209) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4)"
"error" : "The code \"209\" is not valid in the system http://hl7.org/fhir/sid/cvx; The code provided (http://hl7.org/fhir/sid/cvx#209) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r4)"
}
-------------------------------------------------------------------------------------

View File

@ -1,11 +0,0 @@
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://fkcfhir.org/fhir/CodeSystem/FMCOrderSchedule",
"code" : "Every 4 weeks"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"severity" : "error",
"error" : "The code system 'http://fkcfhir.org/fhir/CodeSystem/FMCOrderSchedule' is not known (encountered paired with code = 'Every 4 weeks'); The code provided (http://fkcfhir.org/fhir/CodeSystem/FMCOrderSchedule#Every 4 weeks) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------

View File

@ -3,7 +3,7 @@
"system" : "http://ihe.net/fhir/ihe.formatcode.fhir/CodeSystem/formatcode",
"code" : "urn:ihe:iti:xds:2017:mimeTypeSufficient",
"display" : "MimeType sufficient"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "mimeType Sufficient",
"code" : "urn:ihe:iti:xds:2017:mimeTypeSufficient",

View File

@ -3,52 +3,19 @@
"system" : "http://nucc.org/provider-taxonomy",
"code" : "208D00000X",
"display" : "General Practice"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "General Practice Physician",
"code" : "208D00000X",
"system" : "http://nucc.org/provider-taxonomy",
"severity" : "warning",
"error" : "The display \"General Practice\" is not a valid display for the code {http://nucc.org/provider-taxonomy}208D00000X - should be one of ['General Practice Physician'] (from http://tx.fhir.org/r4)"
"error" : "The display \"General Practice\" is not a valid display for the code {http://nucc.org/provider-taxonomy}208D00000X - should be one of ['General Practice Physician'] (from http://local.fhir.org/r4)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://nucc.org/provider-taxonomy",
"code" : "208D00000X"
}, "url": "http://hl7.org/fhir/us/core/ValueSet/us-core-provider-role--0", "version": "3.1.0", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "General Practice",
"code" : "208D00000X",
"system" : "http://nucc.org/provider-taxonomy"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://nucc.org/provider-taxonomy",
"code" : "208D00000X",
"display" : "General Practice"
}, "url": "http://hl7.org/fhir/us/core/ValueSet/us-core-provider-role", "version": "3.1.0", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "General Practice Physician",
"code" : "208D00000X",
"system" : "http://nucc.org/provider-taxonomy",
"severity" : "warning",
"error" : "The display \"General Practice\" is not a valid display for the code {http://nucc.org/provider-taxonomy}208D00000X - should be one of ['General Practice Physician'] (from http://tx.fhir.org/r4)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://nucc.org/provider-taxonomy",
"code" : "208D00000X"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "General Practice Physician",
"code" : "208D00000X",
"system" : "http://nucc.org/provider-taxonomy"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://nucc.org/provider-taxonomy",
"code" : "208D00000X"
}, "url": "http://hl7.org/fhir/us/core/ValueSet/us-core-provider-specialty--0", "version": "3.1.0", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/us/core/ValueSet/us-core-provider-role--0", "version": "4.0.0", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "General Practice Physician",
"code" : "208D00000X",
@ -59,35 +26,22 @@ v: {
"system" : "http://nucc.org/provider-taxonomy",
"code" : "208D00000X",
"display" : "General Practice"
}, "url": "http://hl7.org/fhir/us/core/ValueSet/us-core-provider-specialty", "version": "3.1.0", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/us/core/ValueSet/us-core-provider-role", "version": "4.0.0", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "General Practice Physician",
"code" : "208D00000X",
"system" : "http://nucc.org/provider-taxonomy",
"severity" : "warning",
"error" : "The display \"General Practice\" is not a valid display for the code {http://nucc.org/provider-taxonomy}208D00000X - should be one of ['General Practice Physician'] (from http://tx.fhir.org/r4)"
"error" : "The display \"General Practice\" is not a valid display for the code {http://nucc.org/provider-taxonomy}208D00000X - should be one of ['General Practice Physician'] (from http://local.fhir.org/r4)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://nucc.org/provider-taxonomy",
"code" : "208D00000X"
}, "url": "http://hl7.org/fhir/us/core/ValueSet/us-core-provider-role--0", "version": "4.0.0", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "General Practice Physician",
"code" : "208D00000X",
"system" : "http://nucc.org/provider-taxonomy"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://nucc.org/provider-taxonomy",
"code" : "208D00000X",
"display" : "General Practice"
}, "url": "http://hl7.org/fhir/us/core/ValueSet/us-core-provider-role", "version": "4.0.0", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "General Practice Physician",
"code" : "208D00000X",
"system" : "http://nucc.org/provider-taxonomy",
"severity" : "warning",
"error" : "The display \"General Practice\" is not a valid display for the code {http://nucc.org/provider-taxonomy}208D00000X - should be one of ['General Practice Physician'] (from http://tx.fhir.org/r4)"
}
-------------------------------------------------------------------------------------

View File

@ -2,10 +2,10 @@
{"code" : {
"system" : "http://something/something",
"code" : "something"
}, "valueSet" :null, "lang":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
}, "valueSet" :null, "langs":"[en, en-US]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"severity" : "error",
"error" : "The code system 'http://something/something' is not known (encountered paired with code = 'something'); The code provided (http://something/something#something) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4)",
"error" : "The code system 'http://something/something' is not known (encountered paired with code = 'something'); The code provided (http://something/something#something) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------

View File

@ -3,7 +3,7 @@
"system" : "http://standardterms.edqm.eu",
"code" : "20049000",
"display" : "Nasal use"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Nasal use",
"code" : "20049000",

View File

@ -2,67 +2,40 @@
{"code" : {
"system" : "http://varnomen.hgvs.org",
"code" : "NC_000019.8:g.1171707G>A"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "NC_000019.8:g.1171707G>A",
"code" : "NC_000019.8:g.1171707G>A",
"system" : "http://varnomen.hgvs.org"
"severity" : "error",
"error" : "Error from server: Error parsing JSON source: Unexpected char \"<\" in json stream at Line 0 (path=[])",
"class" : "SERVER_ERROR"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://varnomen.hgvs.org",
"code" : "NC_000019.8:g.1171707G>A"
}, "url": "http://hl7.org/fhir/us/mcode/ValueSet/mcode-hgvs-vs--0", "version": "1.0.0", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/us/mcode/ValueSet/mcode-hgvs-vs--0", "version": "1.0.0", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "NC_000019.8:g.1171707G>A",
"code" : "NC_000019.8:g.1171707G>A",
"system" : "http://varnomen.hgvs.org"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://varnomen.hgvs.org",
"code" : "NC_000019.8:g.1171707G>A"
}, "url": "http://hl7.org/fhir/us/mcode/ValueSet/mcode-hgvs-vs", "version": "1.0.0", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "NC_000019.8:g.1171707G>A",
"code" : "NC_000019.8:g.1171707G>A",
"system" : "http://varnomen.hgvs.org"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://varnomen.hgvs.org",
"code" : "NC_000019.8:g.1171707G>A"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"display" : "NC_000019.8:g.1171707G>A",
"code" : "NC_000019.8:g.1171707G>A",
"system" : "http://varnomen.hgvs.org"
"severity" : "error",
"error" : "Error from server: Error parsing JSON source: Unexpected char \"<\" in json stream at Line 0 (path=[])",
"class" : "SERVER_ERROR"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://varnomen.hgvs.org",
"code" : "NC_000019.8:g.1171707G>AXXX"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Expected end of text (at char 24), (line:1, col:25); The code \"NC_000019.8:g.1171707G>AXXX\" is not valid in the system http://varnomen.hgvs.org; The code provided (http://varnomen.hgvs.org#NC_000019.8:g.1171707G>AXXX) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4)"
"error" : "Error from server: Error parsing JSON source: Unexpected char \"<\" in json stream at Line 0 (path=[])",
"class" : "SERVER_ERROR"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://varnomen.hgvs.org",
"code" : "NC_000019.8:g.1171707G>AXXX"
}, "url": "http://hl7.org/fhir/us/mcode/ValueSet/mcode-hgvs-vs--0", "version": "1.0.0", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/us/mcode/ValueSet/mcode-hgvs-vs--0", "version": "1.0.0", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "Expected end of text (at char 24), (line:1, col:25); The code \"NC_000019.8:g.1171707G>AXXX\" is not valid in the system http://varnomen.hgvs.org; The code provided (http://varnomen.hgvs.org#NC_000019.8:g.1171707G>AXXX) is not valid (from http://tx.fhir.org/r4)"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://varnomen.hgvs.org",
"code" : "NC_000019.8:g.1171707G>AXXX"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"severity" : "error",
"error" : "Expected end of text (at char 24), (line:1, col:25); The code \"NC_000019.8:g.1171707G>AXXX\" is not valid in the system http://varnomen.hgvs.org; The code provided (http://varnomen.hgvs.org#NC_000019.8:g.1171707G>AXXX) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4)"
"error" : "Error from server: Error parsing JSON source: Unexpected char \"<\" in json stream at Line 0 (path=[])",
"class" : "SERVER_ERROR"
}
-------------------------------------------------------------------------------------

View File

@ -1,12 +0,0 @@
-------------------------------------------------------------------------------------
{"code" : {
"system" : "http://www.ada.org/snodent",
"code" : "210965D",
"display" : "Anterior part of lower alveolar ridge"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Anterior part of lower alveolar ridge",
"code" : "210965D",
"system" : "http://www.ada.org/snodent"
}
-------------------------------------------------------------------------------------

View File

@ -2,10 +2,10 @@
{"code" : {
"system" : "http://www.genenames.org/geneId",
"code" : "HGNC:11389"
}, "url": "http://hl7.org/fhir/us/mcode/ValueSet/mcode-hgnc-vs--0", "version": "1.0.0", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/us/mcode/ValueSet/mcode-hgnc-vs--0", "version": "1.0.0", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "The code system \"http://www.genenames.org/geneId\" in the include in \"http://hl7.org/fhir/us/mcode/ValueSet/mcode-hgnc-vs--0\" is not known; The code system 'http://www.genenames.org/geneId' is not known (encountered paired with code = 'HGNC:11389'); The code provided (http://www.genenames.org/geneId#HGNC:11389) is not valid (from http://tx.fhir.org/r4)",
"error" : "The code system \"http://www.genenames.org/geneId\" in the include in \"http://hl7.org/fhir/us/mcode/ValueSet/mcode-hgnc-vs--0\" is not known; The code system 'http://www.genenames.org/geneId' is not known (encountered paired with code = 'HGNC:11389'); The code provided (http://www.genenames.org/geneId#HGNC:11389) is not valid (from http://local.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------

View File

@ -2,10 +2,10 @@
{"code" : {
"system" : "http://www.ncbi.nlm.nih.gov/clinvar",
"code" : "619728"
}, "url": "http://hl7.org/fhir/us/mcode/ValueSet/mcode-clinvar-vs--0", "version": "1.0.0", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/us/mcode/ValueSet/mcode-clinvar-vs--0", "version": "1.0.0", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "The code system \"http://www.ncbi.nlm.nih.gov/clinvar\" in the include in \"http://hl7.org/fhir/us/mcode/ValueSet/mcode-clinvar-vs--0\" is not known; The code system 'http://www.ncbi.nlm.nih.gov/clinvar' is not known (encountered paired with code = '619728'); The code provided (http://www.ncbi.nlm.nih.gov/clinvar#619728) is not valid (from http://tx.fhir.org/r4)",
"error" : "The code system \"http://www.ncbi.nlm.nih.gov/clinvar\" in the include in \"http://hl7.org/fhir/us/mcode/ValueSet/mcode-clinvar-vs--0\" is not known; The code system 'http://www.ncbi.nlm.nih.gov/clinvar' is not known (encountered paired with code = '619728'); The code provided (http://www.ncbi.nlm.nih.gov/clinvar#619728) is not valid (from http://local.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------

View File

@ -2,7 +2,7 @@
{"code" : {
"system" : "https://www.humanservices.gov.au/organisations/health-professionals/enablers/air-vaccine-code-formats",
"code" : "COVAST"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "COVID-19 Vaccine AstraZeneca",
"code" : "COVAST",

View File

@ -2,9 +2,9 @@
{"code" : {
"system" : "http://hl7.org/fhir/sid/icd-10-cm",
"code" : "E10.3211+TT1.2"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"severity" : "error",
"error" : "The code \"E10.3211+TT1.2\" is not valid in the system http://hl7.org/fhir/sid/icd-10-cm; The code provided (http://hl7.org/fhir/sid/icd-10-cm#E10.3211+TT1.2) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4)"
"error" : "The code \"E10.3211+TT1.2\" is not valid in the system http://hl7.org/fhir/sid/icd-10-cm; The code provided (http://hl7.org/fhir/sid/icd-10-cm#E10.3211+TT1.2) is not valid in the value set 'All codes known to the system' (from http://local.fhir.org/r4)"
}
-------------------------------------------------------------------------------------

View File

@ -3,7 +3,7 @@
"system" : "http://hl7.org/fhir/sid/icd-10",
"code" : "C18.0",
"display" : "Malignant neoplasm: Caecum"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Caecum",
"code" : "C18.0",
@ -14,12 +14,12 @@ v: {
"system" : "http://hl7.org/fhir/sid/icd-10",
"code" : "C12",
"display" : "Malignant neoplasm of pyriform sinus"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Malignant neoplasm of piriform sinus",
"code" : "C12",
"system" : "http://hl7.org/fhir/sid/icd-10",
"severity" : "warning",
"error" : "The display \"Malignant neoplasm of pyriform sinus\" is not a valid display for the code {http://hl7.org/fhir/sid/icd-10}C12 - should be one of ['Malignant neoplasm of piriform sinus'] (from http://tx.fhir.org/r4)"
"error" : "The display \"Malignant neoplasm of pyriform sinus\" is not a valid display for the code {http://hl7.org/fhir/sid/icd-10}C12 - should be one of ['Malignant neoplasm of piriform sinus'] (from http://local.fhir.org/r4)"
}
-------------------------------------------------------------------------------------

View File

@ -2,7 +2,7 @@
{"code" : {
"system" : "http://hl7.org/fhir/sid/icd-9-cm",
"code" : "99.00"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Perioperative autologous transfusion of whole blood or blood components",
"code" : "99.00",

View File

@ -1,8 +1,19 @@
-------------------------------------------------------------------------------------
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "NO",
"display" : "Norway"
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Norway",
"code" : "NO",
"system" : "urn:iso:std:iso:3166"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "US"
}, "url": "http://hl7.org/fhir/ValueSet/jurisdiction--0", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/jurisdiction--0", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "United States of America",
"code" : "US",
@ -12,7 +23,7 @@ v: {
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "US"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "United States of America",
"code" : "US",
@ -22,38 +33,7 @@ v: {
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "NO"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Norway",
"code" : "NO",
"system" : "urn:iso:std:iso:3166"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "US"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}####
v: {
"display" : "United States of America",
"code" : "US",
"system" : "urn:iso:std:iso:3166"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "US"
}, "url": "http://hl7.org/fhir/ValueSet/jurisdiction--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "United States of America",
"code" : "US",
"system" : "urn:iso:std:iso:3166"
}
-------------------------------------------------------------------------------------
{"code" : {
"system" : "urn:iso:std:iso:3166",
"code" : "NO",
"display" : "Norway"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "Norway",
"code" : "NO",

View File

@ -2,7 +2,7 @@
{"code" : {
"system" : "urn:ietf:bcp:47",
"code" : "de-CH"
}, "url": "http://hl7.org/fhir/ValueSet/languages--0", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/languages--0", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "German (Switzerland)",
"code" : "de-CH",
@ -13,7 +13,7 @@ v: {
"system" : "urn:ietf:bcp:47",
"code" : "de-CH",
"display" : "German (Region=Switzerland)"
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "German (Region=Switzerland)",
"code" : "de-CH",
@ -23,7 +23,7 @@ v: {
{"code" : {
"system" : "urn:ietf:bcp:47",
"code" : "de-CH"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "German (Region=Switzerland)",
"code" : "de-CH",
@ -33,7 +33,7 @@ v: {
{"code" : {
"system" : "urn:ietf:bcp:47",
"code" : "fr"
}, "url": "http://hl7.org/fhir/ValueSet/languages--0", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/languages--0", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "French",
"code" : "fr",
@ -44,7 +44,7 @@ v: {
"system" : "urn:ietf:bcp:47",
"code" : "fr",
"display" : "French"
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "French",
"code" : "fr",
@ -54,7 +54,7 @@ v: {
{"code" : {
"system" : "urn:ietf:bcp:47",
"code" : "fr"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "French",
"code" : "fr",
@ -64,7 +64,7 @@ v: {
{"code" : {
"system" : "urn:ietf:bcp:47",
"code" : "en"
}, "url": "http://hl7.org/fhir/ValueSet/languages--0", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/languages--0", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"}####
v: {
"display" : "English",
"code" : "en",
@ -75,7 +75,7 @@ v: {
"system" : "urn:ietf:bcp:47",
"code" : "en",
"display" : "English"
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}####
v: {
"display" : "English",
"code" : "en",
@ -85,7 +85,7 @@ v: {
{"code" : {
"system" : "urn:ietf:bcp:47",
"code" : "en"
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
}, "valueSet" :null, "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}####
v: {
"display" : "English",
"code" : "en",

View File

@ -3,21 +3,10 @@
"coding" : [{
"code" : "model-definition"
}]
}, "url": "http://hl7.org/fhir/ValueSet/library-type", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
}, "url": "http://hl7.org/fhir/ValueSet/library-type", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'model-definition'); The code provided (#model-definition) is not valid in the value set 'LibraryType' (from http://tx.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------
{"code" : {
"coding" : [{
"code" : "model-definition"
}]
}, "url": "http://hl7.org/fhir/ValueSet/library-type", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'model-definition'); The code provided (#model-definition) is not valid in the value set 'LibraryType' (from http://tx.fhir.org/r4)",
"error" : "The code system '' is not known (encountered paired with code = 'model-definition'); The code provided (#model-definition) is not valid in the value set 'LibraryType' (from http://local.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------

View File

@ -4,10 +4,10 @@
"code" : "numerator",
"display" : "Numerator"
}]
}, "url": "http://hl7.org/fhir/ValueSet/measure-population", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
}, "url": "http://hl7.org/fhir/ValueSet/measure-population", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'numerator'); The code provided (#numerator) is not valid in the value set 'MeasurePopulationType' (from http://tx.fhir.org/r4)",
"error" : "The code system '' is not known (encountered paired with code = 'numerator'); The code provided (#numerator) is not valid in the value set 'MeasurePopulationType' (from http://local.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------
@ -16,10 +16,10 @@ v: {
"code" : "denominator",
"display" : "Denominator"
}]
}, "url": "http://hl7.org/fhir/ValueSet/measure-population", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
}, "url": "http://hl7.org/fhir/ValueSet/measure-population", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'denominator'); The code provided (#denominator) is not valid in the value set 'MeasurePopulationType' (from http://tx.fhir.org/r4)",
"error" : "The code system '' is not known (encountered paired with code = 'denominator'); The code provided (#denominator) is not valid in the value set 'MeasurePopulationType' (from http://local.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------
@ -27,45 +27,10 @@ v: {
"coding" : [{
"code" : "initial-population"
}]
}, "url": "http://hl7.org/fhir/ValueSet/measure-population", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
}, "url": "http://hl7.org/fhir/ValueSet/measure-population", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'initial-population'); The code provided (#initial-population) is not valid in the value set 'MeasurePopulationType' (from http://tx.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------
{"code" : {
"coding" : [{
"code" : "numerator",
"display" : "Numerator"
}]
}, "url": "http://hl7.org/fhir/ValueSet/measure-population", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'numerator'); The code provided (#numerator) is not valid in the value set 'MeasurePopulationType' (from http://tx.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------
{"code" : {
"coding" : [{
"code" : "denominator",
"display" : "Denominator"
}]
}, "url": "http://hl7.org/fhir/ValueSet/measure-population", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'denominator'); The code provided (#denominator) is not valid in the value set 'MeasurePopulationType' (from http://tx.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------
{"code" : {
"coding" : [{
"code" : "initial-population"
}]
}, "url": "http://hl7.org/fhir/ValueSet/measure-population", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'initial-population'); The code provided (#initial-population) is not valid in the value set 'MeasurePopulationType' (from http://tx.fhir.org/r4)",
"error" : "The code system '' is not known (encountered paired with code = 'initial-population'); The code provided (#initial-population) is not valid in the value set 'MeasurePopulationType' (from http://local.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------

View File

@ -4,10 +4,10 @@
"code" : "continuous-variable",
"display" : "Continuous Variable"
}]
}, "url": "http://hl7.org/fhir/ValueSet/measure-scoring", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
}, "url": "http://hl7.org/fhir/ValueSet/measure-scoring", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'continuous-variable'); The code provided (#continuous-variable) is not valid in the value set 'MeasureScoring' (from http://tx.fhir.org/r4)",
"error" : "The code system '' is not known (encountered paired with code = 'continuous-variable'); The code provided (#continuous-variable) is not valid in the value set 'MeasureScoring' (from http://local.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------
@ -16,34 +16,10 @@ v: {
"code" : "proportion",
"display" : "Proportion"
}]
}, "url": "http://hl7.org/fhir/ValueSet/measure-scoring", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
}, "url": "http://hl7.org/fhir/ValueSet/measure-scoring", "version": "4.0.1", "langs":"[null]", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'proportion'); The code provided (#proportion) is not valid in the value set 'MeasureScoring' (from http://tx.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------
{"code" : {
"coding" : [{
"code" : "continuous-variable",
"display" : "Continuous Variable"
}]
}, "url": "http://hl7.org/fhir/ValueSet/measure-scoring", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'continuous-variable'); The code provided (#continuous-variable) is not valid in the value set 'MeasureScoring' (from http://tx.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------
{"code" : {
"coding" : [{
"code" : "proportion",
"display" : "Proportion"
}]
}, "url": "http://hl7.org/fhir/ValueSet/measure-scoring", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}####
v: {
"severity" : "error",
"error" : "The code system '' is not known (encountered paired with code = 'proportion'); The code provided (#proportion) is not valid in the value set 'MeasureScoring' (from http://tx.fhir.org/r4)",
"error" : "The code system '' is not known (encountered paired with code = 'proportion'); The code provided (#proportion) is not valid in the value set 'MeasureScoring' (from http://local.fhir.org/r4)",
"class" : "CODESYSTEM_UNSUPPORTED"
}
-------------------------------------------------------------------------------------

Some files were not shown because too many files have changed in this diff Show More