Merge pull request #143 from hapifhir/i18n

I18n
This commit is contained in:
Grahame Grieve 2020-03-02 09:27:02 +11:00 committed by GitHub
commit 65f65b461a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 789 additions and 672 deletions

View File

@ -52,10 +52,8 @@ POSSIBILITY OF SUCH DAMAGE.
import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.List; import java.util.List;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.hl7.fhir.dstu3.model.Resource;
import org.hl7.fhir.r5.context.IWorkerContext; import org.hl7.fhir.r5.context.IWorkerContext;
import org.hl7.fhir.utilities.validation.ValidationMessage; import org.hl7.fhir.utilities.validation.ValidationMessage;
import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity;
@ -145,12 +143,16 @@ public class BaseValidator {
return thePass; return thePass;
} }
protected String formatMessage(String theMessage, Object... theMessageArguments) { protected String formatMessage(String theMessage, Object... theMessageArguments) {
String message; String message = "";
if (theMessageArguments != null && theMessageArguments.length > 0) { if (messages.containsKey(theMessage)) {
message = MessageFormat.format(messages.getString(theMessage), theMessageArguments); if (theMessageArguments != null && theMessageArguments.length > 0) {
} else { message = MessageFormat.format(messages.getString(theMessage), theMessageArguments);
} else if (messages.containsKey(theMessage)) {
message = messages.getString(theMessage);
}
} else {
message = theMessage; message = theMessage;
} }
return message; return message;

View File

@ -197,17 +197,17 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
@Override @Override
public FunctionDetails resolveFunction(String functionName) { public FunctionDetails resolveFunction(String functionName) {
throw new Error("Not done yet (ValidatorHostServices.resolveFunction): " + functionName); throw new Error(formatMessage(I18nConstants.NOT_DONE_YET_VALIDATORHOSTSERVICESRESOLVEFUNCTION_, functionName));
} }
@Override @Override
public TypeDetails checkFunction(Object appContext, String functionName, List<TypeDetails> parameters) throws PathEngineException { public TypeDetails checkFunction(Object appContext, String functionName, List<TypeDetails> parameters) throws PathEngineException {
throw new Error("Not done yet (ValidatorHostServices.checkFunction)"); throw new Error(formatMessage(I18nConstants.NOT_DONE_YET_VALIDATORHOSTSERVICESCHECKFUNCTION));
} }
@Override @Override
public List<Base> executeFunction(Object appContext, String functionName, List<List<Base>> parameters) { public List<Base> executeFunction(Object appContext, String functionName, List<List<Base>> parameters) {
throw new Error("Not done yet (ValidatorHostServices.executeFunction)"); throw new Error(formatMessage(I18nConstants.NOT_DONE_YET_VALIDATORHOSTSERVICESEXECUTEFUNCTION));
} }
@Override @Override
@ -240,7 +240,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
throw new FHIRException(e); throw new FHIRException(e);
} }
else else
throw new Error("Not done yet - resolve " + url + " locally (2)"); throw new Error(formatMessage(I18nConstants.NOT_DONE_YET__RESOLVE__LOCALLY_2, url));
} }
@ -269,7 +269,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
ValidatorHostContext ctxt = (ValidatorHostContext) appContext; ValidatorHostContext ctxt = (ValidatorHostContext) appContext;
StructureDefinition sd = context.fetchResource(StructureDefinition.class, url); StructureDefinition sd = context.fetchResource(StructureDefinition.class, url);
if (sd == null) { if (sd == null) {
throw new FHIRException("Unable to resolve " + url); throw new FHIRException(formatMessage(I18nConstants.UNABLE_TO_RESOLVE_, url));
} }
InstanceValidator self = InstanceValidator.this; InstanceValidator self = InstanceValidator.this;
List<ValidationMessage> valerrors = new ArrayList<ValidationMessage>(); List<ValidationMessage> valerrors = new ArrayList<ValidationMessage>();
@ -285,10 +285,10 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
if (e.isResource()) { if (e.isResource()) {
self.validateResource(new ValidatorHostContext(ctxt.getAppContext(), e), valerrors, e, e, sd, IdStatus.OPTIONAL, new NodeStack(e)); self.validateResource(new ValidatorHostContext(ctxt.getAppContext(), e), valerrors, e, e, sd, IdStatus.OPTIONAL, new NodeStack(e));
} else { } else {
throw new FHIRException("Not supported yet"); throw new FHIRException(formatMessage(I18nConstants.NOT_SUPPORTED_YET));
} }
} else } else
throw new NotImplementedException("Not done yet (ValidatorHostServices.conformsToProfile), when item is not an element"); throw new NotImplementedException(formatMessage(I18nConstants.NOT_DONE_YET_VALIDATORHOSTSERVICESCONFORMSTOPROFILE_WHEN_ITEM_IS_NOT_AN_ELEMENT));
boolean ok = true; boolean ok = true;
List<ValidationMessage> record = new ArrayList<>(); List<ValidationMessage> record = new ArrayList<>();
for (ValidationMessage v : valerrors) { for (ValidationMessage v : valerrors) {
@ -312,7 +312,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
if (r instanceof ValueSet) if (r instanceof ValueSet)
return (ValueSet) r; return (ValueSet) r;
else else
throw new FHIRException("Reference " + url + " refers to a " + r.fhirType() + " not a ValueSet"); throw new FHIRException(formatMessage(I18nConstants.REFERENCE__REFERS_TO_A__NOT_A_VALUESET, url, r.fhirType()));
} }
} }
return null; return null;
@ -513,7 +513,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
private StructureDefinition getSpecifiedProfile(String profile) { private StructureDefinition getSpecifiedProfile(String profile) {
StructureDefinition sd = context.fetchResource(StructureDefinition.class, profile); StructureDefinition sd = context.fetchResource(StructureDefinition.class, profile);
if (sd == null) { if (sd == null) {
throw new FHIRException("Unable to locate the profile '" + profile + "' in order to validate against it"); throw new FHIRException(formatMessage(I18nConstants.UNABLE_TO_LOCATE_THE_PROFILE__IN_ORDER_TO_VALIDATE_AGAINST_IT, profile));
} }
return sd; return sd;
} }
@ -1566,7 +1566,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
ok = true; ok = true;
} }
} else { } else {
throw new Error("Unrecognised extension context " + ctxt.getTypeElement().asStringValue()); throw new Error(formatMessage(I18nConstants.UNRECOGNISED_EXTENSION_CONTEXT_, ctxt.getTypeElement().asStringValue()));
} }
} }
if (!ok) { if (!ok) {
@ -1818,7 +1818,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
warning(errors, IssueType.INVALID, e.line(), e.col(), path, yearIsValid(e.primitiveValue()), I18nConstants.TYPE_SPECIFIC_CHECKS_DT_DATETIME_REASONABLE, e.primitiveValue()); warning(errors, IssueType.INVALID, e.line(), e.col(), path, yearIsValid(e.primitiveValue()), I18nConstants.TYPE_SPECIFIC_CHECKS_DT_DATETIME_REASONABLE, e.primitiveValue());
rule(errors, IssueType.INVALID, e.line(), e.col(), path, rule(errors, IssueType.INVALID, e.line(), e.col(), path,
e.primitiveValue() e.primitiveValue()
.matches("([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?)?)?)?"), I18nConstants.TYPE_SPECIFIC_CHECKS_DT_DATETIME_VALID); .matches("([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1])(T([01][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)(\\.[0-9]+)?(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?)?)?)?"), I18nConstants.TYPE_SPECIFIC_CHECKS_DT_DATETIME_VALID, e.primitiveValue());
rule(errors, IssueType.INVALID, e.line(), e.col(), path, !hasTime(e.primitiveValue()) || hasTimeZone(e.primitiveValue()), I18nConstants.TYPE_SPECIFIC_CHECKS_DT_DATETIME_TZ); rule(errors, IssueType.INVALID, e.line(), e.col(), path, !hasTime(e.primitiveValue()) || hasTimeZone(e.primitiveValue()), I18nConstants.TYPE_SPECIFIC_CHECKS_DT_DATETIME_TZ);
rule(errors, IssueType.INVALID, e.line(), e.col(), path, !context.hasMaxLength() || context.getMaxLength() == 0 || e.primitiveValue().length() <= context.getMaxLength(), I18nConstants.TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_LENGTH, context.getMaxLength()); rule(errors, IssueType.INVALID, e.line(), e.col(), path, !context.hasMaxLength() || context.getMaxLength() == 0 || e.primitiveValue().length() <= context.getMaxLength(), I18nConstants.TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_LENGTH, context.getMaxLength());
try { try {
@ -2092,7 +2092,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
if (we == null) { if (we == null) {
if (fetcher == null) { if (fetcher == null) {
if (!refType.equals("contained")) if (!refType.equals("contained"))
throw new FHIRException("Resource resolution services not provided"); throw new FHIRException(formatMessage(I18nConstants.RESOURCE_RESOLUTION_SERVICES_NOT_PROVIDED));
} else { } else {
Element ext = null; Element ext = null;
if (fetchCache.containsKey(ref)) { if (fetchCache.containsKey(ref)) {
@ -2477,7 +2477,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
String id = p.hasExtension(ToolingExtensions.EXT_PROFILE_ELEMENT) ? p.getExtensionString(ToolingExtensions.EXT_PROFILE_ELEMENT) : null; String id = p.hasExtension(ToolingExtensions.EXT_PROFILE_ELEMENT) ? p.getExtensionString(ToolingExtensions.EXT_PROFILE_ELEMENT) : null;
StructureDefinition sd = context.fetchResource(StructureDefinition.class, p.getValue()); StructureDefinition sd = context.fetchResource(StructureDefinition.class, p.getValue());
if (sd == null) if (sd == null)
throw new DefinitionException("Unable to resolve profile " + p); throw new DefinitionException(formatMessage(I18nConstants.UNABLE_TO_RESOLVE_PROFILE_, p));
profile = sd; profile = sd;
if (id == null) if (id == null)
element = sd.getSnapshot().getElementFirstRep(); element = sd.getSnapshot().getElementFirstRep();
@ -2488,7 +2488,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
element = t; element = t;
} }
if (element == null) if (element == null)
throw new DefinitionException("Unable to resolve element " + id + " in profile " + p); throw new DefinitionException(formatMessage(I18nConstants.UNABLE_TO_RESOLVE_ELEMENT__IN_PROFILE_, id, p));
} }
expr = fpe.parse(fixExpr(discriminator)); expr = fpe.parse(fixExpr(discriminator));
t2 = System.nanoTime(); t2 = System.nanoTime();
@ -2639,20 +2639,20 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
if (focus.fhirType().equals("Reference") && d.equals("reference")) { if (focus.fhirType().equals("Reference") && d.equals("reference")) {
String url = focus.getChildValue("reference"); String url = focus.getChildValue("reference");
if (Utilities.noString(url)) if (Utilities.noString(url))
throw new FHIRException("No reference resolving discriminator " + discriminator + " from " + element.getProperty().getName()); throw new FHIRException(formatMessage(I18nConstants.NO_REFERENCE_RESOLVING_DISCRIMINATOR__FROM_, discriminator, element.getProperty().getName()));
// Note that we use the passed in stack here. This might be a problem if the discriminator is deep enough? // Note that we use the passed in stack here. This might be a problem if the discriminator is deep enough?
Element target = resolve(appContext, url, stack, errors, p); Element target = resolve(appContext, url, stack, errors, p);
if (target == null) if (target == null)
throw new FHIRException("Unable to find resource " + url + " at " + d + " resolving discriminator " + discriminator + " from " + element.getProperty().getName()); throw new FHIRException(formatMessage(I18nConstants.UNABLE_TO_FIND_RESOURCE__AT__RESOLVING_DISCRIMINATOR__FROM_, url, d, discriminator, element.getProperty().getName()));
focus = target; focus = target;
} else if (d.equals("value") && focus.isPrimitive()) { } else if (d.equals("value") && focus.isPrimitive()) {
return focus; return focus;
} else { } else {
List<Element> children = focus.getChildren(d); List<Element> children = focus.getChildren(d);
if (children.isEmpty()) if (children.isEmpty())
throw new FHIRException("Unable to find " + d + " resolving discriminator " + discriminator + " from " + element.getProperty().getName()); throw new FHIRException(formatMessage(I18nConstants.UNABLE_TO_FIND__RESOLVING_DISCRIMINATOR__FROM_, d, discriminator, element.getProperty().getName()));
if (children.size() > 1) if (children.size() > 1)
throw new FHIRException("Found " + Integer.toString(children.size()) + " items for " + d + " resolving discriminator " + discriminator + " from " + element.getProperty().getName()); throw new FHIRException(formatMessage(I18nConstants.FOUND__ITEMS_FOR__RESOLVING_DISCRIMINATOR__FROM_, Integer.toString(children.size()), d, discriminator, element.getProperty().getName()));
focus = children.get(0); focus = children.get(0);
p = p + "." + d; p = p + "." + d;
} }
@ -3077,23 +3077,23 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
discriminator = discriminator.substring(0, discriminator.indexOf('[')); discriminator = discriminator.substring(0, discriminator.indexOf('['));
type = criteriaElement.getType().get(0).getWorkingCode(); type = criteriaElement.getType().get(0).getWorkingCode();
} else if (criteriaElement.getType().size() > 1) { } else if (criteriaElement.getType().size() > 1) {
throw new DefinitionException("Discriminator (" + discriminator + ") is based on type, but slice " + ed.getId() + " in " + profile.getUrl() + " has multiple types: " + criteriaElement.typeSummary()); throw new DefinitionException(formatMessage(I18nConstants.DISCRIMINATOR__IS_BASED_ON_TYPE_BUT_SLICE__IN__HAS_MULTIPLE_TYPES_, discriminator, ed.getId(), profile.getUrl(), criteriaElement.typeSummary()));
} else } else
throw new DefinitionException("Discriminator (" + discriminator + ") is based on type, but slice " + ed.getId() + " in " + profile.getUrl() + " has no types"); throw new DefinitionException(formatMessage(I18nConstants.DISCRIMINATOR__IS_BASED_ON_TYPE_BUT_SLICE__IN__HAS_NO_TYPES, discriminator, ed.getId(), profile.getUrl()));
if (discriminator.isEmpty()) if (discriminator.isEmpty())
expression.append(" and $this is " + type); expression.append(" and $this is " + type);
else else
expression.append(" and " + discriminator + " is " + type); expression.append(" and " + discriminator + " is " + type);
} else if (s.getType() == DiscriminatorType.PROFILE) { } else if (s.getType() == DiscriminatorType.PROFILE) {
if (criteriaElement.getType().size() == 0) { if (criteriaElement.getType().size() == 0) {
throw new DefinitionException("Profile based discriminators must have a type (" + criteriaElement.getId() + " in profile " + profile.getUrl() + ")"); throw new DefinitionException(formatMessage(I18nConstants.PROFILE_BASED_DISCRIMINATORS_MUST_HAVE_A_TYPE__IN_PROFILE_, criteriaElement.getId(), profile.getUrl()));
} }
if (criteriaElement.getType().size() != 1) { if (criteriaElement.getType().size() != 1) {
throw new DefinitionException("Profile based discriminators must have only one type (" + criteriaElement.getId() + " in profile " + profile.getUrl() + ")"); throw new DefinitionException(formatMessage(I18nConstants.PROFILE_BASED_DISCRIMINATORS_MUST_HAVE_ONLY_ONE_TYPE__IN_PROFILE_, criteriaElement.getId(), profile.getUrl()));
} }
List<CanonicalType> list = discriminator.endsWith(".resolve()") || discriminator.equals("resolve()") ? criteriaElement.getType().get(0).getTargetProfile() : criteriaElement.getType().get(0).getProfile(); List<CanonicalType> list = discriminator.endsWith(".resolve()") || discriminator.equals("resolve()") ? criteriaElement.getType().get(0).getTargetProfile() : criteriaElement.getType().get(0).getProfile();
if (list.size() == 0) { if (list.size() == 0) {
throw new DefinitionException("Profile based discriminators must have a type with a profile (" + criteriaElement.getId() + " in profile " + profile.getUrl() + ")"); throw new DefinitionException(formatMessage(I18nConstants.PROFILE_BASED_DISCRIMINATORS_MUST_HAVE_A_TYPE_WITH_A_PROFILE__IN_PROFILE_, criteriaElement.getId(), profile.getUrl()));
} else if (list.size() > 1) { } else if (list.size() > 1) {
CommaSeparatedStringBuilder b = new CommaSeparatedStringBuilder(" or "); CommaSeparatedStringBuilder b = new CommaSeparatedStringBuilder(" or ");
for (CanonicalType c : list) { for (CanonicalType c : list) {
@ -3109,7 +3109,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
else if (criteriaElement.hasMax() && criteriaElement.getMax().equals("0")) else if (criteriaElement.hasMax() && criteriaElement.getMax().equals("0"))
expression.append(" and (" + discriminator + ".exists().not())"); expression.append(" and (" + discriminator + ".exists().not())");
else else
throw new FHIRException("Discriminator (" + discriminator + ") is based on element existence, but slice " + ed.getId() + " neither sets min>=1 or max=0"); throw new FHIRException(formatMessage(I18nConstants.DISCRIMINATOR__IS_BASED_ON_ELEMENT_EXISTENCE_BUT_SLICE__NEITHER_SETS_MIN1_OR_MAX0, discriminator, ed.getId()));
} else if (criteriaElement.hasFixed()) { } else if (criteriaElement.hasFixed()) {
buildFixedExpression(ed, expression, discriminator, criteriaElement); buildFixedExpression(ed, expression, discriminator, criteriaElement);
} else if (criteriaElement.hasPattern()) { } else if (criteriaElement.hasPattern()) {
@ -3127,15 +3127,15 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
} }
if (!anyFound) { if (!anyFound) {
if (slicer.getSlicing().getDiscriminator().size() > 1) if (slicer.getSlicing().getDiscriminator().size() > 1)
throw new DefinitionException("Could not match any discriminators (" + discriminators + ") for slice " + ed.getId() + " in profile " + profile.getUrl() + " - None of the discriminator " + discriminators + " have fixed value, binding or existence assertions"); throw new DefinitionException(formatMessage(I18nConstants.COULD_NOT_MATCH_ANY_DISCRIMINATORS__FOR_SLICE__IN_PROFILE___NONE_OF_THE_DISCRIMINATOR__HAVE_FIXED_VALUE_BINDING_OR_EXISTENCE_ASSERTIONS, discriminators, ed.getId(), profile.getUrl(), discriminators));
else else
throw new DefinitionException("Could not match discriminator (" + discriminators + ") for slice " + ed.getId() + " in profile " + profile.getUrl() + " - the discriminator " + discriminators + " does not have fixed value, binding or existence assertions"); throw new DefinitionException(formatMessage(I18nConstants.COULD_NOT_MATCH_DISCRIMINATOR__FOR_SLICE__IN_PROFILE___THE_DISCRIMINATOR__DOES_NOT_HAVE_FIXED_VALUE_BINDING_OR_EXISTENCE_ASSERTIONS, discriminators, ed.getId(), profile.getUrl(), discriminators));
} }
try { try {
n = fpe.parse(fixExpr(expression.toString())); n = fpe.parse(fixExpr(expression.toString()));
} catch (FHIRLexerException e) { } catch (FHIRLexerException e) {
throw new FHIRException("Problem processing expression " + expression + " in profile " + profile.getUrl() + " path " + path + ": " + e.getMessage()); throw new FHIRException(formatMessage(I18nConstants.PROBLEM_PROCESSING_EXPRESSION__IN_PROFILE__PATH__, expression, profile.getUrl(), path, e.getMessage()));
} }
fpeTime = fpeTime + (System.nanoTime() - t); fpeTime = fpeTime + (System.nanoTime() - t);
ed.setUserData("slice.expression.cache", n); ed.setUserData("slice.expression.cache", n);
@ -3163,7 +3163,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
msg = fpe.forLog(); msg = fpe.forLog();
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
throw new FHIRException("Problem evaluating slicing expression for element in profile " + profile.getUrl() + " path " + path + " (fhirPath = " + n + "): " + ex.getMessage()); throw new FHIRException(formatMessage(I18nConstants.PROBLEM_EVALUATING_SLICING_EXPRESSION_FOR_ELEMENT_IN_PROFILE__PATH__FHIRPATH___, profile.getUrl(), path, n, ex.getMessage()));
} }
return ok; return ok;
} }
@ -3183,13 +3183,13 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
expression.append(" and "); expression.append(" and ");
buildIdentifierExpression(ed, expression, discriminator, ii); buildIdentifierExpression(ed, expression, discriminator, ii);
} else } else
throw new DefinitionException("Unsupported fixed pattern type for discriminator(" + discriminator + ") for slice " + ed.getId() + ": " + pattern.getClass().getName()); throw new DefinitionException(formatMessage(I18nConstants.UNSUPPORTED_FIXED_PATTERN_TYPE_FOR_DISCRIMINATOR_FOR_SLICE__, discriminator, ed.getId(), pattern.getClass().getName()));
} }
private void buildIdentifierExpression(ElementDefinition ed, StringBuilder expression, String discriminator, Identifier ii) private void buildIdentifierExpression(ElementDefinition ed, StringBuilder expression, String discriminator, Identifier ii)
throws DefinitionException { throws DefinitionException {
if (ii.hasExtension()) if (ii.hasExtension())
throw new DefinitionException("Unsupported Identifier pattern - extensions are not allowed - for discriminator(" + discriminator + ") for slice " + ed.getId()); throw new DefinitionException(formatMessage(I18nConstants.UNSUPPORTED_IDENTIFIER_PATTERN__EXTENSIONS_ARE_NOT_ALLOWED__FOR_DISCRIMINATOR_FOR_SLICE_, discriminator, ed.getId()));
boolean first = true; boolean first = true;
expression.append(discriminator + ".where("); expression.append(discriminator + ".where(");
if (ii.hasSystem()) { if (ii.hasSystem()) {
@ -3223,15 +3223,15 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
private void buildCodeableConceptExpression(ElementDefinition ed, StringBuilder expression, String discriminator, CodeableConcept cc) private void buildCodeableConceptExpression(ElementDefinition ed, StringBuilder expression, String discriminator, CodeableConcept cc)
throws DefinitionException { throws DefinitionException {
if (cc.hasText()) if (cc.hasText())
throw new DefinitionException("Unsupported CodeableConcept pattern - using text - for discriminator(" + discriminator + ") for slice " + ed.getId()); throw new DefinitionException(formatMessage(I18nConstants.UNSUPPORTED_CODEABLECONCEPT_PATTERN__USING_TEXT__FOR_DISCRIMINATOR_FOR_SLICE_, discriminator, ed.getId()));
if (!cc.hasCoding()) if (!cc.hasCoding())
throw new DefinitionException("Unsupported CodeableConcept pattern - must have at least one coding - for discriminator(" + discriminator + ") for slice " + ed.getId()); throw new DefinitionException(formatMessage(I18nConstants.UNSUPPORTED_CODEABLECONCEPT_PATTERN__MUST_HAVE_AT_LEAST_ONE_CODING__FOR_DISCRIMINATOR_FOR_SLICE_, discriminator, ed.getId()));
if (cc.hasExtension()) if (cc.hasExtension())
throw new DefinitionException("Unsupported CodeableConcept pattern - extensions are not allowed - for discriminator(" + discriminator + ") for slice " + ed.getId()); throw new DefinitionException(formatMessage(I18nConstants.UNSUPPORTED_CODEABLECONCEPT_PATTERN__EXTENSIONS_ARE_NOT_ALLOWED__FOR_DISCRIMINATOR_FOR_SLICE_, discriminator, ed.getId()));
boolean firstCoding = true; boolean firstCoding = true;
for (Coding c : cc.getCoding()) { for (Coding c : cc.getCoding()) {
if (c.hasExtension()) if (c.hasExtension())
throw new DefinitionException("Unsupported CodeableConcept pattern - extensions are not allowed - for discriminator(" + discriminator + ") for slice " + ed.getId()); throw new DefinitionException(formatMessage(I18nConstants.UNSUPPORTED_CODEABLECONCEPT_PATTERN__EXTENSIONS_ARE_NOT_ALLOWED__FOR_DISCRIMINATOR_FOR_SLICE_, discriminator, ed.getId()));
if (firstCoding) firstCoding = false; if (firstCoding) firstCoding = false;
else expression.append(" and "); else expression.append(" and ");
expression.append(discriminator + ".coding.where("); expression.append(discriminator + ".coding.where(");
@ -3262,7 +3262,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
private void buildCodingExpression(ElementDefinition ed, StringBuilder expression, String discriminator, Coding c) private void buildCodingExpression(ElementDefinition ed, StringBuilder expression, String discriminator, Coding c)
throws DefinitionException { throws DefinitionException {
if (c.hasExtension()) if (c.hasExtension())
throw new DefinitionException("Unsupported CodeableConcept pattern - extensions are not allowed - for discriminator(" + discriminator + ") for slice " + ed.getId()); throw new DefinitionException(formatMessage(I18nConstants.UNSUPPORTED_CODEABLECONCEPT_PATTERN__EXTENSIONS_ARE_NOT_ALLOWED__FOR_DISCRIMINATOR_FOR_SLICE_, discriminator, ed.getId()));
expression.append(discriminator + ".where("); expression.append(discriminator + ".where(");
boolean first = true; boolean first = true;
if (c.hasSystem()) { if (c.hasSystem()) {
@ -3318,7 +3318,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
} else if (fixed instanceof BooleanType) { } else if (fixed instanceof BooleanType) {
expression.append(((BooleanType) fixed).asStringValue()); expression.append(((BooleanType) fixed).asStringValue());
} else } else
throw new DefinitionException("Unsupported fixed value type for discriminator(" + discriminator + ") for slice " + ed.getId() + ": " + fixed.getClass().getName()); throw new DefinitionException(formatMessage(I18nConstants.UNSUPPORTED_FIXED_VALUE_TYPE_FOR_DISCRIMINATOR_FOR_SLICE__, discriminator, ed.getId(), fixed.getClass().getName()));
expression.append(" in " + discriminator + ")"); expression.append(" in " + discriminator + ")");
} }
} }
@ -3680,7 +3680,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
byte[] json = bs.toByteArray(); byte[] json = bs.toByteArray();
switch (v) { switch (v) {
case DSTU1: case DSTU1:
throw new FHIRException("Unsupported version R1"); throw new FHIRException(formatMessage(I18nConstants.UNSUPPORTED_VERSION_R1));
case DSTU2: case DSTU2:
org.hl7.fhir.dstu2.model.Resource r2 = new org.hl7.fhir.dstu2.formats.JsonParser().parse(json); org.hl7.fhir.dstu2.model.Resource r2 = new org.hl7.fhir.dstu2.formats.JsonParser().parse(json);
Resource r5 = VersionConvertor_10_50.convertResource(r2); Resource r5 = VersionConvertor_10_50.convertResource(r2);
@ -4622,7 +4622,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
else else
dt = this.context.fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/" + actualType); dt = this.context.fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/" + actualType);
if (dt == null) if (dt == null)
throw new DefinitionException("Unable to resolve actual type " + actualType); throw new DefinitionException(formatMessage(I18nConstants.UNABLE_TO_RESOLVE_ACTUAL_TYPE_, actualType));
trackUsage(dt, hostContext, element); trackUsage(dt, hostContext, element);
childDefinitions = ProfileUtilities.getChildMap(dt, dt.getSnapshot().getElement().get(0)); childDefinitions = ProfileUtilities.getChildMap(dt, dt.getSnapshot().getElement().get(0));
@ -4980,7 +4980,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
String errorContext = "profile " + profile.getUrl(); String errorContext = "profile " + profile.getUrl();
if (!resource.getChildValue("id").isEmpty()) if (!resource.getChildValue("id").isEmpty())
errorContext += "; instance " + resource.getChildValue("id"); errorContext += "; instance " + resource.getChildValue("id");
throw new DefinitionException("Slice encountered midway through set (path = " + slicer.getPath() + ", id = " + slicer.getId() + "); " + errorContext); throw new DefinitionException(formatMessage(I18nConstants.SLICE_ENCOUNTERED_MIDWAY_THROUGH_SET_PATH___ID___, slicer.getPath(), slicer.getId(), errorContext));
} }
slicer = ed; slicer = ed;
process = false; process = false;
@ -5104,7 +5104,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
if (tail.equals(t.getId())) if (tail.equals(t.getId()))
return t; return t;
} }
throw new DefinitionException("Unable to find element with id '" + tail + "'"); throw new DefinitionException(formatMessage(I18nConstants.UNABLE_TO_FIND_ELEMENT_WITH_ID_, tail));
} }
private IdStatus idStatusForEntry(Element ep, ElementInfo ei) { private IdStatus idStatusForEntry(Element ep, ElementInfo ei) {
@ -5176,7 +5176,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
try { try {
n = fpe.parse(fixExpr(inv.getExpression())); n = fpe.parse(fixExpr(inv.getExpression()));
} catch (FHIRLexerException e) { } catch (FHIRLexerException e) {
throw new FHIRException("Problem processing expression " + inv.getExpression() + " in profile " + profile.getUrl() + " path " + path + ": " + e.getMessage()); throw new FHIRException(formatMessage(I18nConstants.PROBLEM_PROCESSING_EXPRESSION__IN_PROFILE__PATH__, inv.getExpression(), profile.getUrl(), path, e.getMessage()));
} }
fpeTime = fpeTime + (System.nanoTime() - t); fpeTime = fpeTime + (System.nanoTime() - t);
inv.setUserData("validator.expression.cache", n); inv.setUserData("validator.expression.cache", n);
@ -5315,9 +5315,9 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat
checkFixedValue(msgs, "{virtual}", value, criteria.getFixed(), profile.getUrl(), "value", null); checkFixedValue(msgs, "{virtual}", value, criteria.getFixed(), profile.getUrl(), "value", null);
return msgs.size() == 0; return msgs.size() == 0;
} else if (criteria.hasBinding() && criteria.getBinding().getStrength() == BindingStrength.REQUIRED && criteria.getBinding().hasValueSet()) { } else if (criteria.hasBinding() && criteria.getBinding().getStrength() == BindingStrength.REQUIRED && criteria.getBinding().hasValueSet()) {
throw new FHIRException("Unable to resolve slice matching - slice matching by value set not done"); throw new FHIRException(formatMessage(I18nConstants.UNABLE_TO_RESOLVE_SLICE_MATCHING__SLICE_MATCHING_BY_VALUE_SET_NOT_DONE));
} else { } else {
throw new FHIRException("Unable to resolve slice matching - no fixed value or required value set"); throw new FHIRException(formatMessage(I18nConstants.UNABLE_TO_RESOLVE_SLICE_MATCHING__NO_FIXED_VALUE_OR_REQUIRED_VALUE_SET));
} }
} }

View File

@ -2,232 +2,271 @@ package org.hl7.fhir.validation.utils;
public class I18nConstants { public class I18nConstants {
public final static String RESOURCE_RES_ID_PROHIBITED = "Resource_RES_ID_Prohibited"; public final static String BUNDLE_BUNDLE_ENTRY_CANONICAL = "Bundle_BUNDLE_Entry_Canonical";
public final static String RESOURCE_RES_ID_MISSING = "Resource_RES_ID_Missing";
public final static String VALIDATION_VAL_PROFILE_WRONGTYPE = "Validation_VAL_Profile_WrongType";
public final static String VALIDATION_VAL_PROFILE_NODEFINITION = "Validation_VAL_Profile_NoDefinition";
public final static String VALIDATION_BUNDLE_MESSAGE = "Validation_BUNDLE_Message";
public final static String VALIDATION_VAL_PROFILE_MATCHMULTIPLE = "Validation_VAL_Profile_MatchMultiple";
public final static String VALIDATION_VAL_PROFILE_SLICEORDER = "Validation_VAL_Profile_SliceOrder";
public final static String VALIDATION_VAL_PROFILE_OUTOFORDER = "Validation_VAL_Profile_OutOfOrder";
public final static String VALIDATION_VAL_PROFILE_NOTALLOWED = "Validation_VAL_Profile_NotAllowed";
public final static String VALIDATION_VAL_PROFILE_NOTSLICE = "Validation_VAL_Profile_NotSlice";
public final static String VALIDATION_VAL_PROFILE_MAXIMUM = "Validation_VAL_Profile_Maximum";
public final static String VALIDATION_VAL_PROFILE_NOCHECKMAX = "Validation_VAL_Profile_NoCheckMax";
public final static String VALIDATION_VAL_PROFILE_MINIMUM = "Validation_VAL_Profile_Minimum";
public final static String VALIDATION_VAL_PROFILE_NOCHECKMIN = "Validation_VAL_Profile_NoCheckMin";
public final static String VALIDATION_VAL_PROFILE_MULTIPLEMATCHES = "Validation_VAL_Profile_MultipleMatches";
public final static String VALIDATION_VAL_PROFILE_NOMATCH = "Validation_VAL_Profile_NoMatch";
public final static String VALIDATION_VAL_UNKNOWN_PROFILE = "Validation_VAL_Unknown_Profile";
public final static String VALIDATION_VAL_NOTYPE = "Validation_VAL_NoType";
public final static String VALIDATION_VAL_CONTENT_UNKNOWN = "Validation_VAL_Content_Unknown";
public final static String EXTENSION_EXT_URL_ABSOLUTE = "Extension_EXT_URL_Absolute";
public final static String EXTENSION_EXT_URL_NOTFOUND = "Extension_EXT_Url_NotFound";
public final static String VALIDATION_VAL_PROFILE_NOTYPE = "Validation_VAL_Profile_NoType";
public final static String BUNDLE_BUNDLE_ENTRY_DOCUMENT = "Bundle_BUNDLE_Entry_Document"; public final static String BUNDLE_BUNDLE_ENTRY_DOCUMENT = "Bundle_BUNDLE_Entry_Document";
public final static String BUNDLE_BUNDLE_ENTRY_TYPE3 = "Bundle_BUNDLE_Entry_Type3"; public final static String BUNDLE_BUNDLE_ENTRY_IDURLMISMATCH = "Bundle_BUNDLE_Entry_IdUrlMismatch";
public final static String BUNDLE_BUNDLE_ENTRY_TYPE2 = "Bundle_BUNDLE_Entry_Type2"; public final static String BUNDLE_BUNDLE_ENTRY_MISMATCHIDURL = "Bundle_BUNDLE_Entry_MismatchIdUrl";
public final static String BUNDLE_BUNDLE_ENTRY_NOFIRST = "Bundle_BUNDLE_Entry_NoFirst";
public final static String BUNDLE_BUNDLE_ENTRY_NOFIRSTRESOURCE = "Bundle_BUNDLE_Entry_NoFirstResource";
public final static String BUNDLE_BUNDLE_ENTRY_NOFULLURL = "Bundle_BUNDLE_Entry_NoFullUrl";
public final static String BUNDLE_BUNDLE_ENTRY_NOPROFILE = "Bundle_BUNDLE_Entry_NoProfile"; public final static String BUNDLE_BUNDLE_ENTRY_NOPROFILE = "Bundle_BUNDLE_Entry_NoProfile";
public final static String BUNDLE_BUNDLE_ENTRY_TYPE = "Bundle_BUNDLE_Entry_Type";
public final static String BUNDLE_BUNDLE_ENTRY_NOTFOUND = "Bundle_BUNDLE_Entry_NotFound"; public final static String BUNDLE_BUNDLE_ENTRY_NOTFOUND = "Bundle_BUNDLE_Entry_NotFound";
public final static String BUNDLE_BUNDLE_ENTRY_ORPHAN = "Bundle_BUNDLE_Entry_Orphan"; public final static String BUNDLE_BUNDLE_ENTRY_ORPHAN = "Bundle_BUNDLE_Entry_Orphan";
public final static String BUNDLE_BUNDLE_ENTRY_IDURLMISMATCH = "Bundle_BUNDLE_Entry_IdUrlMismatch"; public final static String BUNDLE_BUNDLE_ENTRY_TYPE = "Bundle_BUNDLE_Entry_Type";
public final static String BUNDLE_BUNDLE_ENTRY_CANONICAL = "Bundle_BUNDLE_Entry_Canonical"; public final static String BUNDLE_BUNDLE_ENTRY_TYPE2 = "Bundle_BUNDLE_Entry_Type2";
public final static String BUNDLE_BUNDLE_ENTRY_MISMATCHIDURL = "Bundle_BUNDLE_Entry_MismatchIdUrl"; public final static String BUNDLE_BUNDLE_ENTRY_TYPE3 = "Bundle_BUNDLE_Entry_Type3";
public final static String BUNDLE_BUNDLE_ENTRY_NOFIRSTRESOURCE = "Bundle_BUNDLE_Entry_NoFirstResource"; public final static String BUNDLE_BUNDLE_FULLURL_MISSING = "Bundle_BUNDLE_FullUrl_Missing";
public final static String BUNDLE_BUNDLE_ENTRY_NOFIRST = "Bundle_BUNDLE_Entry_NoFirst";
public final static String QUESTIONNAIRE_QR_ITEM_CODINGNOOPTIONS = "Questionnaire_QR_Item_CodingNoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_NOCODING = "Questionnaire_QR_Item_NoCoding";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONSCODING = "Questionnaire_QR_Item_NoOptionsCoding";
public final static String QUESTIONNAIRE_QR_ITEM_STRINGNOOPTIONS = "Questionnaire_QR_Item_StringNoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_NOSTRING = "Questionnaire_QR_Item_NoString";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONSSTRING = "Questionnaire_QR_Item_NoOptionsString";
public final static String QUESTIONNAIRE_QR_ITEM_TIMENOOPTIONS = "Questionnaire_QR_Item_TimeNoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_NOTIME = "Questionnaire_QR_Item_NoTime";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONSTIME = "Questionnaire_QR_Item_NoOptionsTime";
public final static String QUESTIONNAIRE_QR_ITEM_DATENOOPTIONS = "Questionnaire_QR_Item_DateNoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_NODATE = "Questionnaire_QR_Item_NoDate";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONSDATE = "Questionnaire_QR_Item_NoOptionsDate";
public final static String QUESTIONNAIRE_QR_ITEM_INTNOOPTIONS = "Questionnaire_QR_Item_IntNoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_NOINTEGER = "Questionnaire_QR_Item_NoInteger";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONSINTEGER = "Questionnaire_QR_Item_NoOptionsInteger";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONS = "Questionnaire_QR_Item_NoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_CODING = "Questionnaire_QR_Item_Coding";
public final static String QUESTIONNAIRE_QR_ITEM_BADOPTION = "Questionnaire_QR_Item_BadOption";
public final static String TERMINOLOGY_TX_VALUESET_NOTFOUND = "Terminology_TX_ValueSet_NotFound";
public final static String QUESTIONNAIRE_QR_ITEM_WRONGTYPE2 = "Questionnaire_QR_Item_WrongType2";
public final static String QUESTIONNAIRE_QR_ITEM_WRONGTYPE = "Questionnaire_QR_Item_WrongType";
public final static String QUESTIONNAIRE_QR_ITEM_NOTENABLED2 = "Questionnaire_QR_Item_NotEnabled2";
public final static String QUESTIONNAIRE_QR_ITEM_ORDER = "Questionnaire_QR_Item_Order";
public final static String QUESTIONNAIRE_QR_ITEM_NOTFOUND = "Questionnaire_QR_Item_NotFound";
public final static String QUESTIONNAIRE_QR_ITEM_NOLINKID = "Questionnaire_QR_Item_NoLinkId";
public final static String QUESTIONNAIRE_QR_ITEM_ONLYONEI = "Questionnaire_QR_Item_OnlyOneI";
public final static String QUESTIONNAIRE_QR_ITEM_DISPLAY = "Questionnaire_QR_Item_Display";
public final static String QUESTIONNAIRE_QR_ITEM_NOTYPE = "Questionnaire_QR_Item_NoType";
public final static String QUESTIONNAIRE_QR_ITEM_GROUP = "Questionnaire_QR_Item_Group";
public final static String QUESTIONNAIRE_QR_ITEM_ONLYONEA = "Questionnaire_QR_Item_OnlyOneA";
public final static String QUESTIONNAIRE_QR_ITEM_NOTENABLED = "Questionnaire_QR_Item_NotEnabled";
public final static String QUESTIONNAIRE_QR_ITEM_MISSING = "Questionnaire_QR_Item_Missing";
public final static String QUESTIONNAIRE_QR_ITEM_TEXT = "Questionnaire_QR_Item_Text";
public final static String QUESTIONNAIRE_QR_Q_NOTFOUND = "Questionnaire_QR_Q_NotFound";
public final static String QUESTIONNAIRE_QR_Q_NONE = "Questionnaire_QR_Q_None";
public final static String CODESYSTEM_CS_VS_INCLUDEDETAILS = "CodeSystem_CS_VS_IncludeDetails";
public final static String CODESYSTEM_CS_VS_WRONGSYSTEM = "CodeSystem_CS_VS_WrongSystem";
public final static String CODESYSTEM_CS_VS_INVALID = "CodeSystem_CS_VS_Invalid";
public final static String CODESYSTEM_CS_VS_MISMATCH = "CodeSystem_CS_VS_MisMatch";
public final static String CAPABALITYSTATEMENT_CS_SP_WRONGTYPE = "CapabalityStatement_CS_SP_WrongType";
public final static String META_RES_SECURITY_DUPLICATE = "Meta_RES_Security_Duplicate";
public final static String LANGUAGE_XHTML_LANG_DIFFERENT2 = "Language_XHTML_Lang_Different2";
public final static String LANGUAGE_XHTML_LANG_MISSING3 = "Language_XHTML_Lang_Missing3";
public final static String LANGUAGE_XHTML_LANG_DIFFERENT1 = "Language_XHTML_Lang_Different1";
public final static String LANGUAGE_XHTML_LANG_MISSING2 = "Language_XHTML_Lang_Missing2";
public final static String LANGUAGE_XHTML_LANG_MISSING1 = "Language_XHTML_Lang_Missing1";
public final static String QUESTIONNAIRE_Q_ENABLEWHEN_AFTER = "Questionnaire_Q_EnableWhen_After";
public final static String QUESTIONNAIRE_Q_ENABLEWHEN_SELF = "Questionnaire_Q_EnableWhen_Self";
public final static String QUESTIONNAIRE_Q_ENABLEWHEN_NOTARGET = "Questionnaire_Q_EnableWhen_NoTarget";
public final static String QUESTIONNAIRE_Q_ENABLEWHEN_ISINNER = "Questionnaire_Q_EnableWhen_IsInner";
public final static String QUESTIONNAIRE_Q_ENABLEWHEN_NOLINK = "Questionnaire_Q_EnableWhen_NoLink";
public final static String VALIDATION_VAL_PROFILE_NOSNAPSHOT = "Validation_VAL_Profile_NoSnapshot";
public final static String VALIDATION_VAL_PROFILE_UNKNOWN = "Validation_VAL_Profile_Unknown";
public final static String BUNDLE_BUNDLE_ENTRY_NOFULLURL = "Bundle_BUNDLE_Entry_NoFullUrl";
public final static String BUNDLE_BUNDLE_NOT_LOCAL = "Bundle_BUNDLE_Not_Local";
public final static String REFERENCE_REF_RESOURCETYPE = "Reference_REF_ResourceType";
public final static String BUNDLE_BUNDLE_FULLURL_NEEDVERSION = "Bundle_BUNDLE_FullUrl_NeedVersion"; public final static String BUNDLE_BUNDLE_FULLURL_NEEDVERSION = "Bundle_BUNDLE_FullUrl_NeedVersion";
public final static String BUNDLE_BUNDLE_MULTIPLEMATCHES = "Bundle_BUNDLE_MultipleMatches"; public final static String BUNDLE_BUNDLE_MULTIPLEMATCHES = "Bundle_BUNDLE_MultipleMatches";
public final static String REFERENCE_REF_FORMAT2 = "Reference_REF_Format2"; public final static String BUNDLE_BUNDLE_NOT_LOCAL = "Bundle_BUNDLE_Not_Local";
public final static String REFERENCE_REF_FORMAT1 = "Reference_REF_Format1";
public final static String BUNDLE_BUNDLE_FULLURL_MISSING = "Bundle_BUNDLE_FullUrl_Missing";
public final static String BUNDLE_MSG_EVENT_COUNT = "Bundle_MSG_Event_Count"; public final static String BUNDLE_MSG_EVENT_COUNT = "Bundle_MSG_Event_Count";
public final static String REFERENCE_REF_BADTARGETTYPE2 = "Reference_REF_BadTargetType2"; public final static String CAPABALITYSTATEMENT_CS_SP_WRONGTYPE = "CapabalityStatement_CS_SP_WrongType";
public final static String REFERENCE_REF_NOTFOUND_BUNDLE = "Reference_REF_NotFound_Bundle"; public final static String CODESYSTEM_CS_VS_INCLUDEDETAILS = "CodeSystem_CS_VS_IncludeDetails";
public final static String CODESYSTEM_CS_VS_INVALID = "CodeSystem_CS_VS_Invalid";
public final static String CODESYSTEM_CS_VS_MISMATCH = "CodeSystem_CS_VS_MisMatch";
public final static String CODESYSTEM_CS_VS_WRONGSYSTEM = "CodeSystem_CS_VS_WrongSystem";
public final static String EXTENSION_EXT_CONTEXT_WRONG = "Extension_EXT_Context_Wrong";
public final static String EXTENSION_EXT_COUNT_MISMATCH = "Extension_EXT_Count_Mismatch";
public final static String EXTENSION_EXT_COUNT_NOTFOUND = "Extension_EXT_Count_NotFound";
public final static String EXTENSION_EXT_FIXED_BANNED = "Extension_EXT_Fixed_Banned";
public final static String EXTENSION_EXT_MODIFIER_MISMATCHN = "Extension_EXT_Modifier_MismatchN";
public final static String EXTENSION_EXT_MODIFIER_MISMATCHY = "Extension_EXT_Modifier_MismatchY";
public final static String EXTENSION_EXT_MODIFIER_N = "Extension_EXT_Modifier_N";
public final static String EXTENSION_EXT_MODIFIER_Y = "Extension_EXT_Modifier_Y";
public final static String EXTENSION_EXT_SIMPLE = "Extension_EXT_Simple";
public final static String EXTENSION_EXT_SUBEXTENSION_INVALID = "Extension_EXT_SubExtension_Invalid";
public final static String EXTENSION_EXT_TYPE = "Extension_EXT_Type";
public final static String EXTENSION_EXT_UNKNOWN = "Extension_EXT_Unknown";
public final static String EXTENSION_EXT_UNKNOWN_NOTHERE = "Extension_EXT_Unknown_NotHere";
public final static String EXTENSION_EXT_URL_ABSOLUTE = "Extension_EXT_URL_Absolute";
public final static String EXTENSION_EXT_URL_NOTFOUND = "Extension_EXT_Url_NotFound";
public final static String EXTENSION_EXT_VERSION_INTERNAL = "Extension_EXT_Version_Internal";
public final static String EXTENSION_EXT_VERSION_INVALID = "Extension_EXT_Version_Invalid";
public final static String EXTENSION_EXT_VERSION_INVALIDID = "Extension_EXT_Version_InvalidId";
public final static String EXTENSION_EXT_VERSION_NOCHANGE = "Extension_EXT_Version_NoChange";
public final static String FIXED_TYPE_CHECKS_DT_ADDRESS_LINE = "Fixed_Type_Checks_DT_Address_Line";
public final static String FIXED_TYPE_CHECKS_DT_NAME_FAMILY = "Fixed_Type_Checks_DT_Name_Family";
public final static String FIXED_TYPE_CHECKS_DT_NAME_GIVEN = "Fixed_Type_Checks_DT_Name_Given";
public final static String FIXED_TYPE_CHECKS_DT_NAME_PREFIX = "Fixed_Type_Checks_DT_Name_Prefix";
public final static String FIXED_TYPE_CHECKS_DT_NAME_SUFFIX = "Fixed_Type_Checks_DT_Name_Suffix";
public final static String INTERNAL_INT_BAD_TYPE = "Internal_INT_Bad_Type";
public final static String LANGUAGE_XHTML_LANG_DIFFERENT1 = "Language_XHTML_Lang_Different1";
public final static String LANGUAGE_XHTML_LANG_DIFFERENT2 = "Language_XHTML_Lang_Different2";
public final static String LANGUAGE_XHTML_LANG_MISSING1 = "Language_XHTML_Lang_Missing1";
public final static String LANGUAGE_XHTML_LANG_MISSING2 = "Language_XHTML_Lang_Missing2";
public final static String LANGUAGE_XHTML_LANG_MISSING3 = "Language_XHTML_Lang_Missing3";
public final static String META_RES_SECURITY_DUPLICATE = "Meta_RES_Security_Duplicate";
public final static String MUSTSUPPORT_VAL_MUSTSUPPORT = "MustSupport_VAL_MustSupport";
public final static String PROFILE_EXT_NOT_HERE = "Profile_EXT_Not_Here";
public final static String PROFILE_VAL_MISSINGELEMENT = "Profile_VAL_MissingElement";
public final static String PROFILE_VAL_NOTALLOWED = "Profile_VAL_NotAllowed";
public final static String QUESTIONNAIRE_QR_ITEM_BADOPTION = "Questionnaire_QR_Item_BadOption";
public final static String QUESTIONNAIRE_QR_ITEM_CODING = "Questionnaire_QR_Item_Coding";
public final static String QUESTIONNAIRE_QR_ITEM_CODINGNOOPTIONS = "Questionnaire_QR_Item_CodingNoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_DATENOOPTIONS = "Questionnaire_QR_Item_DateNoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_DISPLAY = "Questionnaire_QR_Item_Display";
public final static String QUESTIONNAIRE_QR_ITEM_GROUP = "Questionnaire_QR_Item_Group";
public final static String QUESTIONNAIRE_QR_ITEM_INTNOOPTIONS = "Questionnaire_QR_Item_IntNoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_MISSING = "Questionnaire_QR_Item_Missing";
public final static String QUESTIONNAIRE_QR_ITEM_NOCODING = "Questionnaire_QR_Item_NoCoding";
public final static String QUESTIONNAIRE_QR_ITEM_NODATE = "Questionnaire_QR_Item_NoDate";
public final static String QUESTIONNAIRE_QR_ITEM_NOINTEGER = "Questionnaire_QR_Item_NoInteger";
public final static String QUESTIONNAIRE_QR_ITEM_NOLINKID = "Questionnaire_QR_Item_NoLinkId";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONS = "Questionnaire_QR_Item_NoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONSCODING = "Questionnaire_QR_Item_NoOptionsCoding";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONSDATE = "Questionnaire_QR_Item_NoOptionsDate";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONSINTEGER = "Questionnaire_QR_Item_NoOptionsInteger";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONSSTRING = "Questionnaire_QR_Item_NoOptionsString";
public final static String QUESTIONNAIRE_QR_ITEM_NOOPTIONSTIME = "Questionnaire_QR_Item_NoOptionsTime";
public final static String QUESTIONNAIRE_QR_ITEM_NOSTRING = "Questionnaire_QR_Item_NoString";
public final static String QUESTIONNAIRE_QR_ITEM_NOTENABLED = "Questionnaire_QR_Item_NotEnabled";
public final static String QUESTIONNAIRE_QR_ITEM_NOTENABLED2 = "Questionnaire_QR_Item_NotEnabled2";
public final static String QUESTIONNAIRE_QR_ITEM_NOTFOUND = "Questionnaire_QR_Item_NotFound";
public final static String QUESTIONNAIRE_QR_ITEM_NOTIME = "Questionnaire_QR_Item_NoTime";
public final static String QUESTIONNAIRE_QR_ITEM_NOTYPE = "Questionnaire_QR_Item_NoType";
public final static String QUESTIONNAIRE_QR_ITEM_ONLYONEA = "Questionnaire_QR_Item_OnlyOneA";
public final static String QUESTIONNAIRE_QR_ITEM_ONLYONEI = "Questionnaire_QR_Item_OnlyOneI";
public final static String QUESTIONNAIRE_QR_ITEM_ORDER = "Questionnaire_QR_Item_Order";
public final static String QUESTIONNAIRE_QR_ITEM_STRINGNOOPTIONS = "Questionnaire_QR_Item_StringNoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_TEXT = "Questionnaire_QR_Item_Text";
public final static String QUESTIONNAIRE_QR_ITEM_TIMENOOPTIONS = "Questionnaire_QR_Item_TimeNoOptions";
public final static String QUESTIONNAIRE_QR_ITEM_WRONGTYPE = "Questionnaire_QR_Item_WrongType";
public final static String QUESTIONNAIRE_QR_ITEM_WRONGTYPE2 = "Questionnaire_QR_Item_WrongType2";
public final static String QUESTIONNAIRE_QR_Q_NONE = "Questionnaire_QR_Q_None";
public final static String QUESTIONNAIRE_QR_Q_NOTFOUND = "Questionnaire_QR_Q_NotFound";
public final static String QUESTIONNAIRE_Q_ENABLEWHEN_AFTER = "Questionnaire_Q_EnableWhen_After";
public final static String QUESTIONNAIRE_Q_ENABLEWHEN_ISINNER = "Questionnaire_Q_EnableWhen_IsInner";
public final static String QUESTIONNAIRE_Q_ENABLEWHEN_NOLINK = "Questionnaire_Q_EnableWhen_NoLink";
public final static String QUESTIONNAIRE_Q_ENABLEWHEN_NOTARGET = "Questionnaire_Q_EnableWhen_NoTarget";
public final static String QUESTIONNAIRE_Q_ENABLEWHEN_SELF = "Questionnaire_Q_EnableWhen_Self";
public final static String REFERENCE_REF_AGGREGATION = "Reference_REF_Aggregation"; public final static String REFERENCE_REF_AGGREGATION = "Reference_REF_Aggregation";
public final static String REFERENCE_REF_BADTARGETTYPE = "Reference_REF_BadTargetType"; public final static String REFERENCE_REF_BADTARGETTYPE = "Reference_REF_BadTargetType";
public final static String REFERENCE_REF_MULTIPLEMATCHES = "Reference_REF_MultipleMatches"; public final static String REFERENCE_REF_BADTARGETTYPE2 = "Reference_REF_BadTargetType2";
public final static String REFERENCE_REF_CANTMATCHCHOICE = "Reference_REF_CantMatchChoice"; public final static String REFERENCE_REF_CANTMATCHCHOICE = "Reference_REF_CantMatchChoice";
public final static String REFERENCE_REF_CANTMATCHTYPE = "Reference_REF_CantMatchType"; public final static String REFERENCE_REF_CANTMATCHTYPE = "Reference_REF_CantMatchType";
public final static String REFERENCE_REF_CANTRESOLVEPROFILE = "Reference_REF_CantResolveProfile";
public final static String REFERENCE_REF_NOTYPE = "Reference_REF_NoType";
public final static String REFERENCE_REF_WRONGTARGET = "Reference_REF_WrongTarget";
public final static String REFERENCE_REF_CANTRESOLVE = "Reference_REF_CantResolve"; public final static String REFERENCE_REF_CANTRESOLVE = "Reference_REF_CantResolve";
public final static String REFERENCE_REF_CANTRESOLVEPROFILE = "Reference_REF_CantResolveProfile";
public final static String REFERENCE_REF_FORMAT1 = "Reference_REF_Format1";
public final static String REFERENCE_REF_FORMAT2 = "Reference_REF_Format2";
public final static String REFERENCE_REF_MULTIPLEMATCHES = "Reference_REF_MultipleMatches";
public final static String REFERENCE_REF_NODISPLAY = "Reference_REF_NoDisplay"; public final static String REFERENCE_REF_NODISPLAY = "Reference_REF_NoDisplay";
public final static String REFERENCE_REF_NOTFOUND_BUNDLE = "Reference_REF_NotFound_Bundle";
public final static String REFERENCE_REF_NOTYPE = "Reference_REF_NoType";
public final static String REFERENCE_REF_RESOURCETYPE = "Reference_REF_ResourceType";
public final static String REFERENCE_REF_WRONGTARGET = "Reference_REF_WrongTarget";
public final static String RESOURCE_RES_ID_MISSING = "Resource_RES_ID_Missing";
public final static String RESOURCE_RES_ID_PROHIBITED = "Resource_RES_ID_Prohibited";
public final static String TERMINOLOGY_PASSTHROUGH_TX_MESSAGE = "Terminology_PassThrough_TX_Message";
public final static String TERMINOLOGY_TX_BINDING_CANTCHECK = "Terminology_TX_Binding_CantCheck";
public final static String TERMINOLOGY_TX_BINDING_MISSING = "Terminology_TX_Binding_Missing";
public final static String TERMINOLOGY_TX_BINDING_MISSING2 = "Terminology_TX_Binding_Missing2";
public final static String TERMINOLOGY_TX_BINDING_NOSERVER = "Terminology_TX_Binding_NoServer";
public final static String TERMINOLOGY_TX_BINDING_NOSOURCE = "Terminology_TX_Binding_NoSource";
public final static String TERMINOLOGY_TX_BINDING_NOSOURCE2 = "Terminology_TX_Binding_NoSource2"; public final static String TERMINOLOGY_TX_BINDING_NOSOURCE2 = "Terminology_TX_Binding_NoSource2";
public final static String TERMINOLOGY_TX_NOVALID_18 = "Terminology_TX_NoValid_18"; public final static String TERMINOLOGY_TX_CODE_NOTVALID = "Terminology_TX_Code_NotValid";
public final static String TERMINOLOGY_TX_NOVALID_17 = "Terminology_TX_NoValid_17"; public final static String TERMINOLOGY_TX_CODE_UNKNOWN = "Terminology_TX_Code_Unknown";
public final static String TERMINOLOGY_TX_NOVALID_16 = "Terminology_TX_NoValid_16"; public final static String TERMINOLOGY_TX_CODE_VALUESET = "Terminology_TX_Code_ValueSet";
public final static String TERMINOLOGY_TX_CODE_VALUESETMAX = "Terminology_TX_Code_ValueSetMax";
public final static String TERMINOLOGY_TX_CODE_VALUESET_EXT = "Terminology_TX_Code_ValueSet_Ext";
public final static String TERMINOLOGY_TX_CODING_COUNT = "Terminology_TX_Coding_Count";
public final static String TERMINOLOGY_TX_CONFIRM_1 = "Terminology_TX_Confirm_1";
public final static String TERMINOLOGY_TX_CONFIRM_2 = "Terminology_TX_Confirm_2";
public final static String TERMINOLOGY_TX_CONFIRM_3 = "Terminology_TX_Confirm_3";
public final static String TERMINOLOGY_TX_CONFIRM_4 = "Terminology_TX_Confirm_4";
public final static String TERMINOLOGY_TX_CONFIRM_5 = "Terminology_TX_Confirm_5";
public final static String TERMINOLOGY_TX_CONFIRM_6 = "Terminology_TX_Confirm_6";
public final static String TERMINOLOGY_TX_DISPLAY_WRONG = "Terminology_TX_Display_Wrong";
public final static String TERMINOLOGY_TX_ERROR_CODEABLECONCEPT = "Terminology_TX_Error_CodeableConcept";
public final static String TERMINOLOGY_TX_ERROR_CODEABLECONCEPT_MAX = "Terminology_TX_Error_CodeableConcept_Max";
public final static String TERMINOLOGY_TX_ERROR_CODING1 = "Terminology_TX_Error_Coding1";
public final static String TERMINOLOGY_TX_ERROR_CODING2 = "Terminology_TX_Error_Coding2";
public final static String TERMINOLOGY_TX_NOVALID_1 = "Terminology_TX_NoValid_1";
public final static String TERMINOLOGY_TX_NOVALID_10 = "Terminology_TX_NoValid_10";
public final static String TERMINOLOGY_TX_NOVALID_11 = "Terminology_TX_NoValid_11";
public final static String TERMINOLOGY_TX_NOVALID_12 = "Terminology_TX_NoValid_12";
public final static String TERMINOLOGY_TX_NOVALID_13 = "Terminology_TX_NoValid_13";
public final static String TERMINOLOGY_TX_NOVALID_14 = "Terminology_TX_NoValid_14";
public final static String TERMINOLOGY_TX_NOVALID_15 = "Terminology_TX_NoValid_15"; public final static String TERMINOLOGY_TX_NOVALID_15 = "Terminology_TX_NoValid_15";
public final static String TERMINOLOGY_TX_NOVALID_16 = "Terminology_TX_NoValid_16";
public final static String TERMINOLOGY_TX_NOVALID_17 = "Terminology_TX_NoValid_17";
public final static String TERMINOLOGY_TX_NOVALID_18 = "Terminology_TX_NoValid_18";
public final static String TERMINOLOGY_TX_NOVALID_2 = "Terminology_TX_NoValid_2";
public final static String TERMINOLOGY_TX_NOVALID_3 = "Terminology_TX_NoValid_3";
public final static String TERMINOLOGY_TX_NOVALID_4 = "Terminology_TX_NoValid_4";
public final static String TERMINOLOGY_TX_NOVALID_5 = "Terminology_TX_NoValid_5";
public final static String TERMINOLOGY_TX_NOVALID_6 = "Terminology_TX_NoValid_6";
public final static String TERMINOLOGY_TX_NOVALID_7 = "Terminology_TX_NoValid_7";
public final static String TERMINOLOGY_TX_NOVALID_8 = "Terminology_TX_NoValid_8";
public final static String TERMINOLOGY_TX_NOVALID_9 = "Terminology_TX_NoValid_9";
public final static String TERMINOLOGY_TX_SYSTEM_INVALID = "Terminology_TX_System_Invalid";
public final static String TERMINOLOGY_TX_SYSTEM_NOTKNOWN = "Terminology_TX_System_NotKnown";
public final static String TERMINOLOGY_TX_SYSTEM_RELATIVE = "Terminology_TX_System_Relative";
public final static String TERMINOLOGY_TX_SYSTEM_UNKNOWN = "Terminology_TX_System_Unknown";
public final static String TERMINOLOGY_TX_SYSTEM_VALUESET = "Terminology_TX_System_ValueSet";
public final static String TERMINOLOGY_TX_SYSTEM_VALUESET2 = "Terminology_TX_System_ValueSet2";
public final static String TERMINOLOGY_TX_VALUESET_NOTFOUND = "Terminology_TX_ValueSet_NotFound";
public final static String TERMINOLOGY_TX_VALUESET_NOTFOUND2 = "Terminology_TX_ValueSet_NotFound2"; public final static String TERMINOLOGY_TX_VALUESET_NOTFOUND2 = "Terminology_TX_ValueSet_NotFound2";
public final static String XHTML_XHTML_NS_INVALID = "XHTML_XHTML_NS_InValid"; public final static String TYPE_SPECIFIC_CHECKS_DT_BASE64_VALID = "Type_Specific_Checks_DT_Base64_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_BOOLEAN_VALUE = "Type_Specific_Checks_DT_Boolean_Value";
public final static String TYPE_SPECIFIC_CHECKS_DT_CODE_WS = "Type_Specific_Checks_DT_Code_WS";
public final static String TYPE_SPECIFIC_CHECKS_DT_DATETIME_REASONABLE = "Type_Specific_Checks_DT_DateTime_Reasonable";
public final static String TYPE_SPECIFIC_CHECKS_DT_DATETIME_REGEX = "Type_Specific_Checks_DT_DateTime_Regex";
public final static String TYPE_SPECIFIC_CHECKS_DT_DATETIME_TZ = "Type_Specific_Checks_DT_DateTime_TZ";
public final static String TYPE_SPECIFIC_CHECKS_DT_DATETIME_VALID = "Type_Specific_Checks_DT_DateTime_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_DATE_VALID = "Type_Specific_Checks_DT_Date_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_DECIMAL_RANGE = "Type_Specific_Checks_DT_Decimal_Range";
public final static String TYPE_SPECIFIC_CHECKS_DT_DECIMAL_VALID = "Type_Specific_Checks_DT_Decimal_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_IDENTIFIER_SYSTEM = "Type_Specific_Checks_DT_Identifier_System";
public final static String TYPE_SPECIFIC_CHECKS_DT_ID_VALID = "Type_Specific_Checks_DT_ID_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_INSTANT_VALID = "Type_Specific_Checks_DT_Instant_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER64_VALID = "Type_Specific_Checks_DT_Integer64_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER_GT = "Type_Specific_Checks_DT_Integer_GT";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER_LT = "Type_Specific_Checks_DT_Integer_LT";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER_LT0 = "Type_Specific_Checks_DT_Integer_LT0";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER_LT1 = "Type_Specific_Checks_DT_Integer_LT1";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER_VALID = "Type_Specific_Checks_DT_Integer_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_OID_START = "Type_Specific_Checks_DT_OID_Start";
public final static String TYPE_SPECIFIC_CHECKS_DT_OID_VALID = "Type_Specific_Checks_DT_OID_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_LENGTH = "Type_Specific_Checks_DT_Primitive_Length";
public final static String TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_NOTEMPTY = "Type_Specific_Checks_DT_Primitive_NotEmpty";
public final static String TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_REGEX = "Type_Specific_Checks_DT_Primitive_Regex";
public final static String TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_VALUEEXT = "Type_Specific_Checks_DT_Primitive_ValueExt";
public final static String TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_WS = "Type_Specific_Checks_DT_Primitive_WS";
public final static String TYPE_SPECIFIC_CHECKS_DT_STRING_LENGTH = "Type_Specific_Checks_DT_String_Length";
public final static String TYPE_SPECIFIC_CHECKS_DT_STRING_WS = "Type_Specific_Checks_DT_String_WS";
public final static String TYPE_SPECIFIC_CHECKS_DT_TIME_VALID = "Type_Specific_Checks_DT_Time_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_URI_OID = "Type_Specific_Checks_DT_URI_OID";
public final static String TYPE_SPECIFIC_CHECKS_DT_URI_UUID = "Type_Specific_Checks_DT_URI_UUID";
public final static String TYPE_SPECIFIC_CHECKS_DT_URI_WS = "Type_Specific_Checks_DT_URI_WS";
public final static String TYPE_SPECIFIC_CHECKS_DT_URL_RESOLVE = "Type_Specific_Checks_DT_URL_Resolve";
public final static String TYPE_SPECIFIC_CHECKS_DT_UUID_STRAT = "Type_Specific_Checks_DT_UUID_Strat";
public final static String TYPE_SPECIFIC_CHECKS_DT_UUID_VAID = "Type_Specific_Checks_DT_UUID_Vaid";
public final static String VALIDATION_BUNDLE_MESSAGE = "Validation_BUNDLE_Message";
public final static String VALIDATION_VAL_CONTENT_UNKNOWN = "Validation_VAL_Content_Unknown";
public final static String VALIDATION_VAL_NOTYPE = "Validation_VAL_NoType";
public final static String VALIDATION_VAL_PROFILE_MATCHMULTIPLE = "Validation_VAL_Profile_MatchMultiple";
public final static String VALIDATION_VAL_PROFILE_MAXIMUM = "Validation_VAL_Profile_Maximum";
public final static String VALIDATION_VAL_PROFILE_MINIMUM = "Validation_VAL_Profile_Minimum";
public final static String VALIDATION_VAL_PROFILE_MULTIPLEMATCHES = "Validation_VAL_Profile_MultipleMatches";
public final static String VALIDATION_VAL_PROFILE_NOCHECKMAX = "Validation_VAL_Profile_NoCheckMax";
public final static String VALIDATION_VAL_PROFILE_NOCHECKMIN = "Validation_VAL_Profile_NoCheckMin";
public final static String VALIDATION_VAL_PROFILE_NODEFINITION = "Validation_VAL_Profile_NoDefinition";
public final static String VALIDATION_VAL_PROFILE_NOMATCH = "Validation_VAL_Profile_NoMatch";
public final static String VALIDATION_VAL_PROFILE_NOSNAPSHOT = "Validation_VAL_Profile_NoSnapshot";
public final static String VALIDATION_VAL_PROFILE_NOTALLOWED = "Validation_VAL_Profile_NotAllowed";
public final static String VALIDATION_VAL_PROFILE_NOTSLICE = "Validation_VAL_Profile_NotSlice";
public final static String VALIDATION_VAL_PROFILE_NOTYPE = "Validation_VAL_Profile_NoType";
public final static String VALIDATION_VAL_PROFILE_OUTOFORDER = "Validation_VAL_Profile_OutOfOrder";
public final static String VALIDATION_VAL_PROFILE_SLICEORDER = "Validation_VAL_Profile_SliceOrder";
public final static String VALIDATION_VAL_PROFILE_UNKNOWN = "Validation_VAL_Profile_Unknown";
public final static String VALIDATION_VAL_PROFILE_WRONGTYPE = "Validation_VAL_Profile_WrongType";
public final static String VALIDATION_VAL_UNKNOWN_PROFILE = "Validation_VAL_Unknown_Profile";
public final static String XHTML_XHTML_ATTRIBUTE_ILLEGAL = "XHTML_XHTML_Attribute_Illegal"; public final static String XHTML_XHTML_ATTRIBUTE_ILLEGAL = "XHTML_XHTML_Attribute_Illegal";
public final static String XHTML_XHTML_ELEMENT_ILLEGAL = "XHTML_XHTML_Element_Illegal"; public final static String XHTML_XHTML_ELEMENT_ILLEGAL = "XHTML_XHTML_Element_Illegal";
public final static String XHTML_XHTML_NAME_INVALID = "XHTML_XHTML_Name_Invalid"; public final static String XHTML_XHTML_NAME_INVALID = "XHTML_XHTML_Name_Invalid";
public final static String TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_LENGTH = "Type_Specific_Checks_DT_Primitive_Length"; public final static String XHTML_XHTML_NS_INVALID = "XHTML_XHTML_NS_InValid";
public final static String TYPE_SPECIFIC_CHECKS_DT_CODE_WS = "Type_Specific_Checks_DT_Code_WS";
public final static String TYPE_SPECIFIC_CHECKS_DT_INSTANT_VALID = "Type_Specific_Checks_DT_Instant_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_DATETIME_REASONABLE = "Type_Specific_Checks_DT_DateTime_Reasonable";
public final static String TYPE_SPECIFIC_CHECKS_DT_DATETIME_REGEX = "Type_Specific_Checks_DT_DateTime_Regex";
public final static String TYPE_SPECIFIC_CHECKS_DT_DECIMAL_RANGE = "Type_Specific_Checks_DT_Decimal_Range";
public final static String TYPE_SPECIFIC_CHECKS_DT_DECIMAL_VALID = "Type_Specific_Checks_DT_Decimal_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER_LT1 = "Type_Specific_Checks_DT_Integer_LT1";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER_LT0 = "Type_Specific_Checks_DT_Integer_LT0";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER_LT = "Type_Specific_Checks_DT_Integer_LT";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER_GT = "Type_Specific_Checks_DT_Integer_GT";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER64_VALID = "Type_Specific_Checks_DT_Integer64_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_INTEGER_VALID = "Type_Specific_Checks_DT_Integer_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_BASE64_VALID = "Type_Specific_Checks_DT_Base64_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_DATE_VALID = "Type_Specific_Checks_DT_Date_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_TIME_VALID = "Type_Specific_Checks_DT_Time_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_DATETIME_VALID = "Type_Specific_Checks_DT_DateTime_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_DATETIME_TZ = "Type_Specific_Checks_DT_DateTime_TZ";
public final static String TYPE_SPECIFIC_CHECKS_DT_STRING_LENGTH = "Type_Specific_Checks_DT_String_Length";
public final static String TYPE_SPECIFIC_CHECKS_DT_STRING_WS = "Type_Specific_Checks_DT_String_WS";
public final static String TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_NOTEMPTY = "Type_Specific_Checks_DT_Primitive_NotEmpty";
public final static String TYPE_SPECIFIC_CHECKS_DT_ID_VALID = "Type_Specific_Checks_DT_ID_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_URL_RESOLVE = "Type_Specific_Checks_DT_URL_Resolve";
public final static String TYPE_SPECIFIC_CHECKS_DT_UUID_VAID = "Type_Specific_Checks_DT_UUID_Vaid";
public final static String TYPE_SPECIFIC_CHECKS_DT_UUID_STRAT = "Type_Specific_Checks_DT_UUID_Strat";
public final static String TYPE_SPECIFIC_CHECKS_DT_OID_VALID = "Type_Specific_Checks_DT_OID_Valid";
public final static String TYPE_SPECIFIC_CHECKS_DT_OID_START = "Type_Specific_Checks_DT_OID_Start";
public final static String TYPE_SPECIFIC_CHECKS_DT_URI_WS = "Type_Specific_Checks_DT_URI_WS";
public final static String TYPE_SPECIFIC_CHECKS_DT_URI_UUID = "Type_Specific_Checks_DT_URI_UUID";
public final static String TYPE_SPECIFIC_CHECKS_DT_URI_OID = "Type_Specific_Checks_DT_URI_OID";
public final static String TYPE_SPECIFIC_CHECKS_DT_BOOLEAN_VALUE = "Type_Specific_Checks_DT_Boolean_Value";
public final static String TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_REGEX = "Type_Specific_Checks_DT_Primitive_Regex";
public final static String TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_WS = "Type_Specific_Checks_DT_Primitive_WS";
public final static String TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_VALUEEXT = "Type_Specific_Checks_DT_Primitive_ValueExt";
public final static String TYPE_SPECIFIC_CHECKS_DT_IDENTIFIER_SYSTEM = "Type_Specific_Checks_DT_Identifier_System";
public final static String FIXED_TYPE_CHECKS_DT_NAME_SUFFIX = "Fixed_Type_Checks_DT_Name_Suffix";
public final static String FIXED_TYPE_CHECKS_DT_NAME_PREFIX = "Fixed_Type_Checks_DT_Name_Prefix";
public final static String FIXED_TYPE_CHECKS_DT_NAME_GIVEN = "Fixed_Type_Checks_DT_Name_Given";
public final static String FIXED_TYPE_CHECKS_DT_NAME_FAMILY = "Fixed_Type_Checks_DT_Name_Family";
public final static String EXTENSION_EXT_COUNT_NOTFOUND = "Extension_EXT_Count_NotFound";
public final static String EXTENSION_EXT_COUNT_MISMATCH = "Extension_EXT_Count_Mismatch";
public final static String EXTENSION_EXT_FIXED_BANNED = "Extension_EXT_Fixed_Banned";
public final static String INTERNAL_INT_BAD_TYPE = "Internal_INT_Bad_Type";
public final static String _DT_FIXED_WRONG = "_DT_Fixed_Wrong"; public final static String _DT_FIXED_WRONG = "_DT_Fixed_Wrong";
public final static String PROFILE_VAL_MISSINGELEMENT = "Profile_VAL_MissingElement";
public final static String PROFILE_VAL_NOTALLOWED = "Profile_VAL_NotAllowed";
public final static String PROFILE_EXT_NOT_HERE = "Profile_EXT_Not_Here";
public final static String EXTENSION_EXT_CONTEXT_WRONG = "Extension_EXT_Context_Wrong";
public final static String EXTENSION_EXT_TYPE = "Extension_EXT_Type";
public final static String EXTENSION_EXT_SIMPLE = "Extension_EXT_Simple";
public final static String EXTENSION_EXT_MODIFIER_N = "Extension_EXT_Modifier_N";
public final static String EXTENSION_EXT_MODIFIER_Y = "Extension_EXT_Modifier_Y";
public final static String EXTENSION_EXT_MODIFIER_MISMATCHN = "Extension_EXT_Modifier_MismatchN";
public final static String EXTENSION_EXT_MODIFIER_MISMATCHY = "Extension_EXT_Modifier_MismatchY";
public final static String EXTENSION_EXT_UNKNOWN = "Extension_EXT_Unknown";
public final static String EXTENSION_EXT_UNKNOWN_NOTHERE = "Extension_EXT_Unknown_NotHere";
public final static String EXTENSION_EXT_SUBEXTENSION_INVALID = "Extension_EXT_SubExtension_Invalid";
public final static String EXTENSION_EXT_VERSION_INTERNAL = "Extension_EXT_Version_Internal";
public final static String EXTENSION_EXT_VERSION_NOCHANGE = "Extension_EXT_Version_NoChange";
public final static String EXTENSION_EXT_VERSION_INVALIDID = "Extension_EXT_Version_InvalidId";
public final static String EXTENSION_EXT_VERSION_INVALID = "Extension_EXT_Version_Invalid";
public final static String TERMINOLOGY_TX_ERROR_CODING2 = "Terminology_TX_Error_Coding2";
public final static String TERMINOLOGY_TX_BINDING_NOSOURCE = "Terminology_TX_Binding_NoSource";
public final static String TERMINOLOGY_TX_BINDING_CANTCHECK = "Terminology_TX_Binding_CantCheck";
public final static String TERMINOLOGY_TX_ERROR_CODING1 = "Terminology_TX_Error_Coding1";
public final static String TERMINOLOGY_TX_NOVALID_14 = "Terminology_TX_NoValid_14";
public final static String TERMINOLOGY_TX_NOVALID_13 = "Terminology_TX_NoValid_13";
public final static String TERMINOLOGY_TX_NOVALID_12 = "Terminology_TX_NoValid_12";
public final static String TERMINOLOGY_TX_CONFIRM_6 = "Terminology_TX_Confirm_6";
public final static String TERMINOLOGY_TX_CONFIRM_5 = "Terminology_TX_Confirm_5";
public final static String TERMINOLOGY_TX_CONFIRM_4 = "Terminology_TX_Confirm_4";
public final static String TERMINOLOGY_TX_BINDING_NOSERVER = "Terminology_TX_Binding_NoServer";
public final static String TERMINOLOGY_TX_BINDING_MISSING2 = "Terminology_TX_Binding_Missing2";
public final static String TERMINOLOGY_TX_SYSTEM_VALUESET2 = "Terminology_TX_System_ValueSet2";
public final static String TERMINOLOGY_TX_SYSTEM_RELATIVE = "Terminology_TX_System_Relative";
public final static String TERMINOLOGY_TX_ERROR_CODEABLECONCEPT_MAX = "Terminology_TX_Error_CodeableConcept_Max";
public final static String TERMINOLOGY_TX_NOVALID_11 = "Terminology_TX_NoValid_11";
public final static String TERMINOLOGY_TX_NOVALID_9 = "Terminology_TX_NoValid_9";
public final static String TERMINOLOGY_TX_NOVALID_10 = "Terminology_TX_NoValid_10";
public final static String TERMINOLOGY_TX_NOVALID_8 = "Terminology_TX_NoValid_8";
public final static String TERMINOLOGY_TX_NOVALID_7 = "Terminology_TX_NoValid_7";
public final static String TERMINOLOGY_TX_NOVALID_6 = "Terminology_TX_NoValid_6";
public final static String TERMINOLOGY_TX_NOVALID_5 = "Terminology_TX_NoValid_5";
public final static String TERMINOLOGY_TX_NOVALID_4 = "Terminology_TX_NoValid_4";
public final static String TERMINOLOGY_TX_ERROR_CODEABLECONCEPT = "Terminology_TX_Error_CodeableConcept";
public final static String TERMINOLOGY_TX_CODE_NOTVALID = "Terminology_TX_Code_NotValid";
public final static String TERMINOLOGY_TX_NOVALID_3 = "Terminology_TX_NoValid_3";
public final static String TERMINOLOGY_TX_NOVALID_2 = "Terminology_TX_NoValid_2";
public final static String TERMINOLOGY_TX_NOVALID_1 = "Terminology_TX_NoValid_1";
public final static String TERMINOLOGY_TX_CONFIRM_3 = "Terminology_TX_Confirm_3";
public final static String TERMINOLOGY_TX_CONFIRM_2 = "Terminology_TX_Confirm_2";
public final static String TERMINOLOGY_TX_CONFIRM_1 = "Terminology_TX_Confirm_1";
public final static String TERMINOLOGY_TX_CODE_VALUESET_EXT = "Terminology_TX_Code_ValueSet_Ext";
public final static String TERMINOLOGY_TX_CODE_VALUESETMAX = "Terminology_TX_Code_ValueSetMax";
public final static String TERMINOLOGY_TX_BINDING_MISSING = "Terminology_TX_Binding_Missing";
public final static String TERMINOLOGY_TX_CODE_VALUESET = "Terminology_TX_Code_ValueSet";
public final static String TERMINOLOGY_TX_CODING_COUNT = "Terminology_TX_Coding_Count";
public final static String TERMINOLOGY_TX_SYSTEM_NOTKNOWN = "Terminology_TX_System_NotKnown";
public final static String TERMINOLOGY_TX_SYSTEM_VALUESET = "Terminology_TX_System_ValueSet";
public final static String TERMINOLOGY_TX_SYSTEM_INVALID = "Terminology_TX_System_Invalid";
public final static String TERMINOLOGY_TX_DISPLAY_WRONG = "Terminology_TX_Display_Wrong";
public final static String TERMINOLOGY_TX_CODE_UNKNOWN = "Terminology_TX_Code_Unknown";
public final static String TERMINOLOGY_TX_SYSTEM_UNKNOWN = "Terminology_TX_System_Unknown";
public final static String TERMINOLOGY_PASSTHROUGH_TX_MESSAGE = "Terminology_PassThrough_TX_Message";
public final static String FIXED_TYPE_CHECKS_DT_ADDRESS_LINE = "Fixed_Type_Checks_DT_Address_Line";
public final static String MUSTSUPPORT_VAL_MUSTSUPPORT = "MustSupport_VAL_MustSupport";
public final static String ALL_OBSERVATIONS_SHOULD_HAVE_AN_EFFECTIVEDATETIME_OR_AN_EFFECTIVEPERIOD = "All_observations_should_have_an_effectiveDateTime_or_an_effectivePeriod"; public final static String ALL_OBSERVATIONS_SHOULD_HAVE_AN_EFFECTIVEDATETIME_OR_AN_EFFECTIVEPERIOD = "All_observations_should_have_an_effectiveDateTime_or_an_effectivePeriod";
public final static String ALL_OBSERVATIONS_SHOULD_HAVE_A_PERFORMER = "All_observations_should_have_a_performer"; public final static String ALL_OBSERVATIONS_SHOULD_HAVE_A_PERFORMER = "All_observations_should_have_a_performer";
public final static String ALL_OBSERVATIONS_SHOULD_HAVE_A_SUBJECT = "All_observations_should_have_a_subject"; public final static String ALL_OBSERVATIONS_SHOULD_HAVE_A_SUBJECT = "All_observations_should_have_a_subject";
public final static String UNABLE_TO_RESOLVE_SLICE_MATCHING__NO_FIXED_VALUE_OR_REQUIRED_VALUE_SET = "Unable_to_resolve_slice_matching__no_fixed_value_or_required_value_set";
public final static String UNABLE_TO_RESOLVE_SLICE_MATCHING__SLICE_MATCHING_BY_VALUE_SET_NOT_DONE = "Unable_to_resolve_slice_matching__slice_matching_by_value_set_not_done";
public final static String PROBLEM_PROCESSING_EXPRESSION__IN_PROFILE__PATH__ = "Problem_processing_expression__in_profile__path__";
public final static String UNABLE_TO_FIND_ELEMENT_WITH_ID_ = "Unable_to_find_element_with_id_";
public final static String SLICE_ENCOUNTERED_MIDWAY_THROUGH_SET_PATH___ID___ = "Slice_encountered_midway_through_set_path___id___";
public final static String UNABLE_TO_RESOLVE_ACTUAL_TYPE_ = "Unable_to_resolve_actual_type_";
public final static String UNSUPPORTED_VERSION_R1 = "Unsupported_version_R1";
public final static String UNSUPPORTED_FIXED_VALUE_TYPE_FOR_DISCRIMINATOR_FOR_SLICE__ = "Unsupported_fixed_value_type_for_discriminator_for_slice__";
public final static String UNSUPPORTED_CODEABLECONCEPT_PATTERN__EXTENSIONS_ARE_NOT_ALLOWED__FOR_DISCRIMINATOR_FOR_SLICE_ = "Unsupported_CodeableConcept_pattern__extensions_are_not_allowed__for_discriminator_for_slice_";
public final static String UNSUPPORTED_CODEABLECONCEPT_PATTERN__MUST_HAVE_AT_LEAST_ONE_CODING__FOR_DISCRIMINATOR_FOR_SLICE_ = "Unsupported_CodeableConcept_pattern__must_have_at_least_one_coding__for_discriminator_for_slice_";
public final static String UNSUPPORTED_CODEABLECONCEPT_PATTERN__USING_TEXT__FOR_DISCRIMINATOR_FOR_SLICE_ = "Unsupported_CodeableConcept_pattern__using_text__for_discriminator_for_slice_";
public final static String UNSUPPORTED_IDENTIFIER_PATTERN__EXTENSIONS_ARE_NOT_ALLOWED__FOR_DISCRIMINATOR_FOR_SLICE_ = "Unsupported_Identifier_pattern__extensions_are_not_allowed__for_discriminator_for_slice_";
public final static String UNSUPPORTED_FIXED_PATTERN_TYPE_FOR_DISCRIMINATOR_FOR_SLICE__ = "Unsupported_fixed_pattern_type_for_discriminator_for_slice__";
public final static String PROBLEM_EVALUATING_SLICING_EXPRESSION_FOR_ELEMENT_IN_PROFILE__PATH__FHIRPATH___ = "Problem_evaluating_slicing_expression_for_element_in_profile__path__fhirPath___";
public final static String COULD_NOT_MATCH_DISCRIMINATOR__FOR_SLICE__IN_PROFILE___THE_DISCRIMINATOR__DOES_NOT_HAVE_FIXED_VALUE_BINDING_OR_EXISTENCE_ASSERTIONS = "Could_not_match_discriminator__for_slice__in_profile___the_discriminator__does_not_have_fixed_value_binding_or_existence_assertions";
public final static String COULD_NOT_MATCH_ANY_DISCRIMINATORS__FOR_SLICE__IN_PROFILE___NONE_OF_THE_DISCRIMINATOR__HAVE_FIXED_VALUE_BINDING_OR_EXISTENCE_ASSERTIONS = "Could_not_match_any_discriminators__for_slice__in_profile___None_of_the_discriminator__have_fixed_value_binding_or_existence_assertions";
public final static String DISCRIMINATOR__IS_BASED_ON_ELEMENT_EXISTENCE_BUT_SLICE__NEITHER_SETS_MIN1_OR_MAX0 = "Discriminator__is_based_on_element_existence_but_slice__neither_sets_min1_or_max0";
public final static String PROFILE_BASED_DISCRIMINATORS_MUST_HAVE_A_TYPE_WITH_A_PROFILE__IN_PROFILE_ = "Profile_based_discriminators_must_have_a_type_with_a_profile__in_profile_";
public final static String PROFILE_BASED_DISCRIMINATORS_MUST_HAVE_ONLY_ONE_TYPE__IN_PROFILE_ = "Profile_based_discriminators_must_have_only_one_type__in_profile_";
public final static String PROFILE_BASED_DISCRIMINATORS_MUST_HAVE_A_TYPE__IN_PROFILE_ = "Profile_based_discriminators_must_have_a_type__in_profile_";
public final static String DISCRIMINATOR__IS_BASED_ON_TYPE_BUT_SLICE__IN__HAS_NO_TYPES = "Discriminator__is_based_on_type_but_slice__in__has_no_types";
public final static String DISCRIMINATOR__IS_BASED_ON_TYPE_BUT_SLICE__IN__HAS_MULTIPLE_TYPES_ = "Discriminator__is_based_on_type_but_slice__in__has_multiple_types_";
public final static String FOUND__ITEMS_FOR__RESOLVING_DISCRIMINATOR__FROM_ = "Found__items_for__resolving_discriminator__from_";
public final static String UNABLE_TO_FIND__RESOLVING_DISCRIMINATOR__FROM_ = "Unable_to_find__resolving_discriminator__from_";
public final static String UNABLE_TO_FIND_RESOURCE__AT__RESOLVING_DISCRIMINATOR__FROM_ = "Unable_to_find_resource__at__resolving_discriminator__from_";
public final static String NO_REFERENCE_RESOLVING_DISCRIMINATOR__FROM_ = "No_reference_resolving_discriminator__from_";
public final static String UNABLE_TO_RESOLVE_ELEMENT__IN_PROFILE_ = "Unable_to_resolve_element__in_profile_";
public final static String UNABLE_TO_RESOLVE_PROFILE_ = "Unable_to_resolve_profile_";
public final static String RESOURCE_RESOLUTION_SERVICES_NOT_PROVIDED = "Resource_resolution_services_not_provided";
public final static String UNRECOGNISED_EXTENSION_CONTEXT_ = "Unrecognised_extension_context_";
public final static String UNABLE_TO_LOCATE_THE_PROFILE__IN_ORDER_TO_VALIDATE_AGAINST_IT = "Unable_to_locate_the_profile__in_order_to_validate_against_it";
public final static String REFERENCE__REFERS_TO_A__NOT_A_VALUESET = "Reference__refers_to_a__not_a_ValueSet";
public final static String NOT_DONE_YET_VALIDATORHOSTSERVICESCONFORMSTOPROFILE_WHEN_ITEM_IS_NOT_AN_ELEMENT = "Not_done_yet_ValidatorHostServicesconformsToProfile_when_item_is_not_an_element";
public final static String NOT_SUPPORTED_YET = "Not_supported_yet";
public final static String UNABLE_TO_RESOLVE_ = "Unable_to_resolve_";
public final static String NOT_DONE_YET__RESOLVE__LOCALLY_2 = "Not_done_yet__resolve__locally_2";
public final static String NOT_DONE_YET_VALIDATORHOSTSERVICESEXECUTEFUNCTION = "Not_done_yet_ValidatorHostServicesexecuteFunction";
public final static String NOT_DONE_YET_VALIDATORHOSTSERVICESCHECKFUNCTION = "Not_done_yet_ValidatorHostServicescheckFunction";
public final static String NOT_DONE_YET_VALIDATORHOSTSERVICESRESOLVEFUNCTION_ = "Not_done_yet_ValidatorHostServicesresolveFunction_";
} }

View File

@ -1,229 +1,267 @@
#InstanceValidator #InstanceValidator
Resource_RES_ID_Prohibited = Resource has an id, but none is allowed Bundle_BUNDLE_Entry_Canonical = The canonical URL ({0}) cannot match the fullUrl ({1}) unless on the canonical server itself
Resource_RES_ID_Missing = Resource requires an id, but none is present
Validation_VAL_Profile_WrongType = Specified profile type was '{0}', but found type '{1}'
Validation_VAL_Profile_NoDefinition = No definition found for resource type '{0}'
Validation_BUNDLE_Message = The first entry in a message must be a MessageHeader
Validation_VAL_Profile_MatchMultiple = Profile {0}, Element matches more than one slice - {1}, {2}
Validation_VAL_Profile_SliceOrder = As specified by profile {0}, Element '{1}' is out of order in ordered slice
Validation_VAL_Profile_OutOfOrder = As specified by profile {0}, Element '{1}' is out of order
Validation_VAL_Profile_NotAllowed = This element is not allowed by the profile {0}
Validation_VAL_Profile_NotSlice = This element does not match any known slice {0}
Validation_VAL_Profile_Maximum = {0}: max allowed = {1}, but found {2}
Validation_VAL_Profile_NoCheckMax = {0}: Unable to check max allowed ({1}) due to lack of slicing validation
Validation_VAL_Profile_Minimum = {0}: minimum required = {1}, but only found {2}
Validation_VAL_Profile_NoCheckMin = {0}': Unable to check minimum required ({1}) due to lack of slicing validation
Validation_VAL_Profile_MultipleMatches = Found multiple matching profiles among choices: {0}
Validation_VAL_Profile_NoMatch = Unable to find matching profile among choices: {0}
Validation_VAL_Unknown_Profile = Unknown profile {0}
Validation_VAL_NoType = Unknown type {0}
Validation_VAL_Content_Unknown = Unrecognised Content {0}
Extension_EXT_URL_Absolute = Extension.url must be an absolute URL
Extension_EXT_Url_NotFound = Extension.url is required
Validation_VAL_Profile_NoType = The type of element {0} is not known, which is illegal. Valid types at this point are {1}
Bundle_BUNDLE_Entry_Document = The first entry in a document must be a composition Bundle_BUNDLE_Entry_Document = The first entry in a document must be a composition
Bundle_BUNDLE_Entry_Type3 = The type '{0}' is not valid - must be one of {1} Bundle_BUNDLE_Entry_IdUrlMismatch = Resource ID does not match the ID in the entry full URL ('{0}' vs '{1}')
Bundle_BUNDLE_Entry_Type2 = The type '{0}' is not valid - must be {1} Bundle_BUNDLE_Entry_MismatchIdUrl = The canonical URL ({0}) cannot match the fullUrl ({1}) unless the resource id ({2}) also matches
Bundle_BUNDLE_Entry_NoFirst = Documents or Messages must contain at least one entry
Bundle_BUNDLE_Entry_NoFirstResource = No resource on first entry
Bundle_BUNDLE_Entry_NoFullUrl = Bundle entry missing fullUrl
Bundle_BUNDLE_Entry_NoProfile = No profile found for contained resource of type '{0}' Bundle_BUNDLE_Entry_NoProfile = No profile found for contained resource of type '{0}'
Bundle_BUNDLE_Entry_Type = The type '{0} is not valid - no resources allowed here
Bundle_BUNDLE_Entry_NotFound = Can't find '{0}' in the bundle ({1}) Bundle_BUNDLE_Entry_NotFound = Can't find '{0}' in the bundle ({1})
Bundle_BUNDLE_Entry_Orphan = Entry {0} isn't reachable by traversing from first Bundle entry Bundle_BUNDLE_Entry_Orphan = Entry {0} isn't reachable by traversing from first Bundle entry
Bundle_BUNDLE_Entry_IdUrlMismatch = Resource ID does not match the ID in the entry full URL ('{0}' vs '{1}') Bundle_BUNDLE_Entry_Type = The type '{0} is not valid - no resources allowed here
Bundle_BUNDLE_Entry_Canonical = The canonical URL ({0}) cannot match the fullUrl ({1}) unless on the canonical server itself Bundle_BUNDLE_Entry_Type2 = The type '{0}' is not valid - must be {1}
Bundle_BUNDLE_Entry_MismatchIdUrl = The canonical URL ({0}) cannot match the fullUrl ({1}) unless the resource id ({2}) also matches Bundle_BUNDLE_Entry_Type3 = The type '{0}' is not valid - must be one of {1}
Bundle_BUNDLE_Entry_NoFirstResource = No resource on first entry Bundle_BUNDLE_FullUrl_Missing = Relative Reference appears inside Bundle whose entry is missing a fullUrl
Bundle_BUNDLE_Entry_NoFirst = Documents or Messages must contain at least one entry
Questionnaire_QR_Item_CodingNoOptions = Cannot validate Coding option because no option list is provided
Questionnaire_QR_Item_NoCoding = The code {0}::{1} is not a valid option
Questionnaire_QR_Item_NoOptionsCoding = Option list has no option values of type coding
Questionnaire_QR_Item_StringNoOptions = Cannot validate string answer option because no option list is provided
Questionnaire_QR_Item_NoString = The string {0} is not a valid option
Questionnaire_QR_Item_NoOptionsString = Option list has no option values of type string
Questionnaire_QR_Item_TimeNoOptions = Cannot validate time answer option because no option list is provided
Questionnaire_QR_Item_NoTime = The time {0} is not a valid option
Questionnaire_QR_Item_NoOptionsTime = Option list has no option values of type time
Questionnaire_QR_Item_DateNoOptions = Cannot validate date answer option because no option list is provided
Questionnaire_QR_Item_NoDate = The date {0} is not a valid option
Questionnaire_QR_Item_NoOptionsDate = Option list has no option values of type date
Questionnaire_QR_Item_IntNoOptions = Cannot validate integer answer option because no option list is provided
Questionnaire_QR_Item_NoInteger = The integer {0} is not a valid option
Questionnaire_QR_Item_NoOptionsInteger = Option list has no option values of type integer
Questionnaire_QR_Item_NoOptions = Cannot validate options because no option or options are provided
Questionnaire_QR_Item_Coding = Error {0} validating Coding against Questionnaire Options
Questionnaire_QR_Item_BadOption = The value provided ({0}::{1}) is not in the options value set in the questionnaire
Terminology_TX_ValueSet_NotFound = ValueSet {0} not found by validator
Questionnaire_QR_Item_WrongType2 = Answer value must be one of the types {0}
Questionnaire_QR_Item_WrongType = Answer value must be of type {0}
Questionnaire_QR_Item_NotEnabled2 = Item has answer, even though it is not enabled (item id = '{0}')
Questionnaire_QR_Item_Order = Structural Error: items are out of order
Questionnaire_QR_Item_NotFound = LinkId '{0}' not found in questionnaire
Questionnaire_QR_Item_NoLinkId = No LinkId, so can't be validated
Questionnaire_QR_Item_OnlyOneI = Only one response item with this linkId allowed - {0}
Questionnaire_QR_Item_Display = Items not of type DISPLAY should not have items - linkId {0}
Questionnaire_QR_Item_NoType = Definition for item {0} does not contain a type
Questionnaire_QR_Item_Group = Items of type group should not have answers
Questionnaire_QR_Item_OnlyOneA = Only one response answer item with this linkId allowed
Questionnaire_QR_Item_NotEnabled = Item has answer (2), even though it is not enabled {0}
Questionnaire_QR_Item_Missing = No response answer found for required item {0}
Questionnaire_QR_Item_Text = If text exists, it must match the questionnaire definition for linkId {0}
Questionnaire_QR_Q_NotFound = The questionnaire '{0}' could not be resolved, so no validation can be performed against the base questionnaire
Questionnaire_QR_Q_None = No questionnaire is identified, so no validation can be performed against the base questionnaire
CodeSystem_CS_VS_IncludeDetails = CodeSystem {0} has a 'all system' value set of {1}, but the include has extra details
CodeSystem_CS_VS_WrongSystem = CodeSystem {0} has a 'all system' value set of {1}, but doesn't have a matching system ({2})
CodeSystem_CS_VS_Invalid = CodeSystem {0} has a 'all system' value set of {1}, but doesn't have a single include
CodeSystem_CS_VS_MisMatch = CodeSystem {0} has a 'all system' value set of {1}, but it is an expansion
CapabalityStatement_CS_SP_WrongType = Type mismatch - SearchParameter '{0}' type is {1}, but type here is {2}
Meta_RES_Security_Duplicate = Duplicate Security Label {0}
Language_XHTML_Lang_Different2 = Resource has a language ({0}), and the XHTML has an xml:lang ({1}), but they differ
Language_XHTML_Lang_Missing3 = Resource has a language, but the XHTML does not have an xml:lang tag (needs both lang and xml:lang - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Language_XHTML_Lang_Different1 = Resource has a language ({0}), and the XHTML has a lang ({1}), but they differ
Language_XHTML_Lang_Missing2 = Resource has a language, but the XHTML does not have a lang tag (needs both lang and xml:lang - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Language_XHTML_Lang_Missing1 = Resource has a language, but the XHTML does not have an lang or an xml:lang tag (needs both - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Questionnaire_Q_EnableWhen_After = The target of this enableWhen rule ({0}) comes after the question itself
Questionnaire_Q_EnableWhen_Self = Target for this question enableWhen can't reference itself
Questionnaire_Q_EnableWhen_NoTarget = Unable to find target '{0}' for this question enableWhen
Questionnaire_Q_EnableWhen_IsInner = Questions with an enableWhen cannot refer to an inner question for it's enableWhen condition
Questionnaire_Q_EnableWhen_NoLink = Questions with an enableWhen must have a value for the question link
Validation_VAL_Profile_NoSnapshot = StructureDefinition has no snapshot - validation is against the snapshot, so it must be provided
Validation_VAL_Profile_Unknown = Profile reference '{0}' could not be resolved, so has not been checked
Bundle_BUNDLE_Entry_NoFullUrl = Bundle entry missing fullUrl
Bundle_BUNDLE_Not_Local = URN reference is not locally contained within the bundle {0}
Reference_REF_ResourceType = Matching reference for reference {0} has resourceType {1}
Bundle_BUNDLE_FullUrl_NeedVersion = Entries matching fullURL {0} should declare meta/versionId because there are version-specific references Bundle_BUNDLE_FullUrl_NeedVersion = Entries matching fullURL {0} should declare meta/versionId because there are version-specific references
Bundle_BUNDLE_MultipleMatches = Multiple matches in bundle for reference {0} Bundle_BUNDLE_MultipleMatches = Multiple matches in bundle for reference {0}
Reference_REF_Format2 = Relative URLs must be of the format [ResourceName]/[id]. Encountered {0} Bundle_BUNDLE_Not_Local = URN reference is not locally contained within the bundle {0}
Reference_REF_Format1 = Relative URLs must be of the format [ResourceName]/[id], or a search ULR is allowed ([type]?parameters. Encountered {0})
Bundle_BUNDLE_FullUrl_Missing = Relative Reference appears inside Bundle whose entry is missing a fullUrl
Bundle_MSG_Event_Count = Expected {0} but found {1} event elements Bundle_MSG_Event_Count = Expected {0} but found {1} event elements
Reference_REF_BadTargetType2 = The type '{0}' implied by the reference URL {1} is not a valid Target for this element (must be one of {2}) CapabalityStatement_CS_SP_WrongType = Type mismatch - SearchParameter '{0}' type is {1}, but type here is {2}
Reference_REF_NotFound_Bundle = Bundled or contained reference not found within the bundle/resource {0} CodeSystem_CS_VS_IncludeDetails = CodeSystem {0} has a 'all system' value set of {1}, but the include has extra details
Reference_REF_Aggregation = Reference is {0} which isn't supported by the specified aggregation mode(s) for the reference CodeSystem_CS_VS_Invalid = CodeSystem {0} has a 'all system' value set of {1}, but doesn't have a single include
Reference_REF_BadTargetType = Invalid Resource target type. Found {0}, but expected one of ({1}) CodeSystem_CS_VS_MisMatch = CodeSystem {0} has a 'all system' value set of {1}, but it is an expansion
Reference_REF_MultipleMatches = Found multiple matching profiles for {0} among choices: {1} CodeSystem_CS_VS_WrongSystem = CodeSystem {0} has a 'all system' value set of {1}, but doesn't have a matching system ({2})
Reference_REF_CantMatchChoice = Unable to find matching profile for {0} among choices: {1}
Reference_REF_CantMatchType = Unable to find matching profile for {0} (by type) among choices: {1}
Reference_REF_CantResolveProfile = Unable to resolve the profile reference '{0}'
Reference_REF_NoType = Unable to determine type of target resource
Reference_REF_WrongTarget = The type '{0}' is not a valid Target for this element (must be one of {1})
Reference_REF_CantResolve = Unable to resolve resource '{0}'
Reference_REF_NoDisplay = A Reference without an actual reference or identifier should have a display
Terminology_TX_Binding_NoSource2 = Binding has no source, so can't be checked
Terminology_TX_NoValid_18 = The value provided ('{0}') is not in the value set {1} ({2}, and a code is recommended to come from this value set){3}
Terminology_TX_NoValid_17 = The value provided ('{0}') is not in the value set {1} ({2}, and a code should come from this value set unless it has no suitable code){3}
Terminology_TX_NoValid_16 = The value provided ('{0}') is not in the value set {1} ({2}, and a code is required from this value set){3}
Terminology_TX_NoValid_15 = The value provided ('{0}') could not be validated in the absence of a terminology server
Terminology_TX_ValueSet_NotFound2 = ValueSet {0} not found by validator
XHTML_XHTML_NS_InValid = Wrong namespace on the XHTML ('{0}', should be '{1}')
XHTML_XHTML_Attribute_Illegal = Illegal attribute name in the XHTML ('{0}' on '{1}')
XHTML_XHTML_Element_Illegal = Illegal element name in the XHTML ('{0}')
XHTML_XHTML_Name_Invalid = Wrong name on the XHTML ('{0}') - must start with div
Type_Specific_Checks_DT_Primitive_Length = value is longer than permitted maximum length of {0}
Type_Specific_Checks_DT_Code_WS = The code '{0}' is not valid (whitespace rules)
Type_Specific_Checks_DT_Instant_Valid = Not a valid instant ({0})
Type_Specific_Checks_DT_DateTime_Reasonable = The value '{0}' is outside the range of reasonable years - check for data entry error
Type_Specific_Checks_DT_DateTime_Regex = The instant '{0}' is not valid (by regex)
Type_Specific_Checks_DT_Decimal_Range = The value '{0}' is outside the range of commonly/reasonably supported decimals
Type_Specific_Checks_DT_Decimal_Valid = The value '{0}' is not a valid decimal
Type_Specific_Checks_DT_Integer_LT1 = value is less than permitted minimum value of 1
Type_Specific_Checks_DT_Integer_LT0 = value is less than permitted minimum value of 0
Type_Specific_Checks_DT_Integer_LT = value is less than permitted minimum value of {0}
Type_Specific_Checks_DT_Integer_GT = value is greater than permitted maximum value of {0}
Type_Specific_Checks_DT_Integer64_Valid = The value '{0}' is not a valid integer64
Type_Specific_Checks_DT_Integer_Valid = The value '{0}' is not a valid integer
Type_Specific_Checks_DT_Base64_Valid = The value '{0}' is not a valid Base64 value
Type_Specific_Checks_DT_Date_Valid = Not a valid date ({0})
Type_Specific_Checks_DT_Time_Valid = Not a valid time ({0})
Type_Specific_Checks_DT_DateTime_Valid = Not a valid date/time ({0})
Type_Specific_Checks_DT_DateTime_TZ = if a date has a time, it must have a timezone
Type_Specific_Checks_DT_DateTIme_Valid = Not a valid date time
Type_Specific_Checks_DT_String_Length = value is longer than permitted maximum length of 1 MB (1048576 bytes)
Type_Specific_Checks_DT_String_WS = value should not start or finish with whitespace
Type_Specific_Checks_DT_Primitive_NotEmpty = @value cannot be empty
Type_Specific_Checks_DT_ID_Valid = id value '{0}' is not valid
Type_Specific_Checks_DT_URL_Resolve = URL value '{0}' does not resolve
Type_Specific_Checks_DT_UUID_Vaid = UUIDs must be valid ({0})
Type_Specific_Checks_DT_UUID_Strat = UUIDs must start with urn:uuid:
Type_Specific_Checks_DT_OID_Valid = OIDs must be valid
Type_Specific_Checks_DT_OID_Start = OIDs must start with urn:oid:
Type_Specific_Checks_DT_URI_WS = URI values cannot have whitespace('{0}')
Type_Specific_Checks_DT_URI_UUID = URI values cannot start with uuid:
Type_Specific_Checks_DT_URI_OID = URI values cannot start with oid:
Type_Specific_Checks_DT_Boolean_Value = boolean values must be 'true' or 'false'
Type_Specific_Checks_DT_Primitive_Regex = Element value '{0}' does not meet regex '{1}'
Type_Specific_Checks_DT_Primitive_WS = Primitive types should not only be whitespace
Type_Specific_Checks_DT_Primitive_ValueExt = Primitive types must have a value or must have child extensions
Type_Specific_Checks_DT_Identifier_System = Identifier.system must be an absolute reference, not a local reference
Fixed_Type_Checks_DT_Name_Suffix = Expected {0} but found {1} suffix elements
Fixed_Type_Checks_DT_Name_Prefix = Expected {0} but found {1} prefix elements
Fixed_Type_Checks_DT_Name_Given = Expected {0} but found {1} given elements
Fixed_Type_Checks_DT_Name_Family = Expected {0} but found {1} family elements
Extension_EXT_Count_NotFound = Extension count mismatch: unable to find extension: {0}
Extension_EXT_Count_Mismatch = Extensions count mismatch: expected {0} but found {1}
Extension_EXT_Fixed_Banned = No extensions allowed, as the specified fixed value doesn't contain any extensions
Internal_INT_Bad_Type = Unhandled fixed value type {0}
_DT_Fixed_Wrong = Value is '{0}' but must be '{1}'
Profile_VAL_MissingElement = Missing element '{0}' - required by fixed value assigned in profile {1}
Profile_VAL_NotAllowed = The element {0} is present in the instance but not allowed in the applicable {1} specified in profile
Profile_EXT_Not_Here = The extension {0} is not allowed to be used at this point (based on context invariant '{1}')
Extension_EXT_Context_Wrong = The extension {0} is not allowed to be used at this point (allowed = {1}; this element is [{2}) Extension_EXT_Context_Wrong = The extension {0} is not allowed to be used at this point (allowed = {1}; this element is [{2})
Extension_EXT_Type = The Extension '{0}' definition allows for the types {1} but found type {2} Extension_EXT_Count_Mismatch = Extensions count mismatch: expected {0} but found {1}
Extension_EXT_Simple = The Extension '{0}' definition is for a simple extension, so it must contain a value, not extensions Extension_EXT_Count_NotFound = Extension count mismatch: unable to find extension: {0}
Extension_EXT_Modifier_N = The Extension '{0}' must not be used as an extension (it's a modifierExtension) Extension_EXT_Fixed_Banned = No extensions allowed, as the specified fixed value doesn't contain any extensions
Extension_EXT_Modifier_Y = The Extension '{0}' must be used as a modifierExtension
Extension_EXT_Modifier_MismatchN = Extension modifier mismatch: the extension element is not labelled as a modifier, but the underlying extension is Extension_EXT_Modifier_MismatchN = Extension modifier mismatch: the extension element is not labelled as a modifier, but the underlying extension is
Extension_EXT_Modifier_MismatchY = Extension modifier mismatch: the extension element is labelled as a modifier, but the underlying extension is not Extension_EXT_Modifier_MismatchY = Extension modifier mismatch: the extension element is labelled as a modifier, but the underlying extension is not
Extension_EXT_Modifier_N = The Extension '{0}' must not be used as an extension (it's a modifierExtension)
Extension_EXT_Modifier_Y = The Extension '{0}' must be used as a modifierExtension
Extension_EXT_Simple = The Extension '{0}' definition is for a simple extension, so it must contain a value, not extensions
Extension_EXT_SubExtension_Invalid = Sub-extension url '{0}' is not defined by the Extension {1}
Extension_EXT_Type = The Extension '{0}' definition allows for the types {1} but found type {2}
Extension_EXT_URL_Absolute = Extension.url must be an absolute URL
Extension_EXT_Unknown = Unknown extension {0} Extension_EXT_Unknown = Unknown extension {0}
Extension_EXT_Unknown_NotHere = The extension {0} is unknown, and not allowed here Extension_EXT_Unknown_NotHere = The extension {0} is unknown, and not allowed here
Extension_EXT_SubExtension_Invalid = Sub-extension url '{0}' is not defined by the Extension {1} Extension_EXT_Url_NotFound = Extension.url is required
Extension_EXT_Version_Internal = Extension url '{0}' evaluation state illegal Extension_EXT_Version_Internal = Extension url '{0}' evaluation state illegal
Extension_EXT_Version_NoChange = Extension url '{0}' is not valid (Element id '{1}' is valid, but cannot be used in a cross-version paradigm because there has been no changes across the relevant versions)
Extension_EXT_Version_InvalidId = Extension url '{0}' is not valid (invalid Element id '{1}')
Extension_EXT_Version_Invalid = Extension url '{0}' is not valid (invalid Version '{1}') Extension_EXT_Version_Invalid = Extension url '{0}' is not valid (invalid Version '{1}')
Terminology_TX_Error_Coding2 = Error {0} validating Coding: {1} Extension_EXT_Version_InvalidId = Extension url '{0}' is not valid (invalid Element id '{1}')
Terminology_TX_Binding_NoSource = Binding for path {0} has no source, so can't be checked Extension_EXT_Version_NoChange = Extension url '{0}' is not valid (Element id '{1}' is valid, but cannot be used in a cross-version paradigm because there has been no changes across the relevant versions)
Terminology_TX_Binding_CantCheck = Binding by URI reference cannot be checked
Terminology_TX_Error_Coding1 = Error {0} validating Coding
Terminology_TX_NoValid_14 = The Coding provided is not in the value set {0}, and a code is recommended to come from this value set. {1}
Terminology_TX_NoValid_13 = The Coding provided is not in the value set {0}, and a code should come from this value set unless it has no suitable code. {1}
Terminology_TX_NoValid_12 = The Coding provided is not in the value set {0}, and a code is required from this value set. {1}
Terminology_TX_Confirm_6 = Could not confirm that the codes provided are in the value set {0}, and a code is recommended to come from this value set
Terminology_TX_Confirm_5 = Could not confirm that the codes provided are in the value set {0}, and a code should come from this value set unless it has no suitable code
Terminology_TX_Confirm_4 = Could not confirm that the codes provided are in the value set {0}, and a code from this value set is required
Terminology_TX_Binding_NoServer = The value provided could not be validated in the absence of a terminology server
Terminology_TX_Binding_Missing2 = Binding for {0} missing
Terminology_TX_System_ValueSet2 = The Coding references a value set, not a code system ('{0}')
Terminology_TX_System_Relative = Coding.system must be an absolute reference, not a local reference
Terminology_TX_Error_CodeableConcept_Max = Error {0} validating CodeableConcept using maxValueSet
Terminology_TX_NoValid_11 = The code provided is not in the maximum value set {0} ({1}{2}
Terminology_TX_NoValid_9 = The code provided could not be validated against the maximum value set {0} ({1}), (error = {2})
Terminology_TX_NoValid_10 = The code provided is not in the maximum value set {0} ({1}, and a code from this value set is required) (code = {2}#{3})
Terminology_TX_NoValid_8 = None of the codes provided are in the maximum value set {0} ({1}, and a code from this value set is required) (codes = {2})
Terminology_TX_NoValid_7 = None of the codes provided could be validated against the maximum value set {0} ({1}), (error = {2})
Terminology_TX_NoValid_6 = The Coding provided is not in the value set {0}, and a code is recommended to come from this value set{1}
Terminology_TX_NoValid_5 = The Coding provided is not in the value set {0}, and a code should come from this value set unless it has no suitable code{1}
Terminology_TX_NoValid_4 = The Coding provided is not in the value set {0}, and a code is required from this value set{1}
Terminology_TX_Error_CodeableConcept = Error {0} validating CodeableConcept
Terminology_TX_Code_NotValid = Code {0} is not a valid code in code system {1}
Terminology_TX_NoValid_3 = None of the codes provided are in the value set {0} ({1}, and a code is recommended to come from this value set) (codes = {2})
Terminology_TX_NoValid_2 = None of the codes provided are in the value set {0} ({1}, and a code should come from this value set unless it has no suitable code) (codes = {2})
Terminology_TX_NoValid_1 = None of the codes provided are in the value set {0} ({1}, and a code from this value set is required) (codes = {2})
Terminology_TX_Confirm_3 = Could not confirm that the codes provided are in the value set {0} and a code is recommended to come from this value set (class = {1})
Terminology_TX_Confirm_2 = Could not confirm that the codes provided are in the value set {0} and a code should come from this value set unless it has no suitable code (class = {1})
Terminology_TX_Confirm_1 = Could not confirm that the codes provided are in the value set {0} and a code from this value set is required (class = {1})
Terminology_TX_Code_ValueSet_Ext = No code provided, and a code should be provided from the value set {0} ({1})
Terminology_TX_Code_ValueSetMax = No code provided, and a code must be provided from the value set {0} (max value set {1})
Terminology_TX_Binding_Missing = Binding for {0} missing (cc)
Terminology_TX_Code_ValueSet = No code provided, and a code is required from the value set {0} ({1})
Terminology_TX_Coding_Count = Expected {0} but found {1} coding elements
Terminology_TX_System_NotKnown = Code System URI '{0}' is unknown so the code cannot be validated
Terminology_TX_System_ValueSet = Invalid System URI: {0} - cannot use a value set URI as a system
Terminology_TX_System_Invalid = Invalid System URI: {0}
Terminology_TX_Display_Wrong = Display should be '{0}'
Terminology_TX_Code_Unknown = Unknown Code ({0}#{1})
Terminology_TX_System_Unknown = Unknown Code System '{0}'
Terminology_PassThrough_TX_Message = {0} for '{1}#{2}'
Fixed_Type_Checks_DT_Address_Line = Expected {0} but found {1} line elements Fixed_Type_Checks_DT_Address_Line = Expected {0} but found {1} line elements
Fixed_Type_Checks_DT_Name_Family = Expected {0} but found {1} family elements
Fixed_Type_Checks_DT_Name_Given = Expected {0} but found {1} given elements
Fixed_Type_Checks_DT_Name_Prefix = Expected {0} but found {1} prefix elements
Fixed_Type_Checks_DT_Name_Suffix = Expected {0} but found {1} suffix elements
Internal_INT_Bad_Type = Unhandled fixed value type {0}
Language_XHTML_Lang_Different1 = Resource has a language ({0}), and the XHTML has a lang ({1}), but they differ
Language_XHTML_Lang_Different2 = Resource has a language ({0}), and the XHTML has an xml:lang ({1}), but they differ
Language_XHTML_Lang_Missing1 = Resource has a language, but the XHTML does not have an lang or an xml:lang tag (needs both - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Language_XHTML_Lang_Missing2 = Resource has a language, but the XHTML does not have a lang tag (needs both lang and xml:lang - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Language_XHTML_Lang_Missing3 = Resource has a language, but the XHTML does not have an xml:lang tag (needs both lang and xml:lang - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Meta_RES_Security_Duplicate = Duplicate Security Label {0}
MustSupport_VAL_MustSupport = The element {0} is not marked as 'mustSupport' in the profile {1}. Consider not using the element, or marking the element as must-Support in the profile MustSupport_VAL_MustSupport = The element {0} is not marked as 'mustSupport' in the profile {1}. Consider not using the element, or marking the element as must-Support in the profile
Profile_EXT_Not_Here = The extension {0} is not allowed to be used at this point (based on context invariant '{1}')
Profile_VAL_MissingElement = Missing element '{0}' - required by fixed value assigned in profile {1}
Profile_VAL_NotAllowed = The element {0} is present in the instance but not allowed in the applicable {1} specified in profile
Questionnaire_QR_Item_BadOption = The value provided ({0}::{1}) is not in the options value set in the questionnaire
Questionnaire_QR_Item_Coding = Error {0} validating Coding against Questionnaire Options
Questionnaire_QR_Item_CodingNoOptions = Cannot validate Coding option because no option list is provided
Questionnaire_QR_Item_DateNoOptions = Cannot validate date answer option because no option list is provided
Questionnaire_QR_Item_Display = Items not of type DISPLAY should not have items - linkId {0}
Questionnaire_QR_Item_Group = Items of type group should not have answers
Questionnaire_QR_Item_IntNoOptions = Cannot validate integer answer option because no option list is provided
Questionnaire_QR_Item_Missing = No response answer found for required item {0}
Questionnaire_QR_Item_NoCoding = The code {0}::{1} is not a valid option
Questionnaire_QR_Item_NoDate = The date {0} is not a valid option
Questionnaire_QR_Item_NoInteger = The integer {0} is not a valid option
Questionnaire_QR_Item_NoLinkId = No LinkId, so can't be validated
Questionnaire_QR_Item_NoOptions = Cannot validate options because no option or options are provided
Questionnaire_QR_Item_NoOptionsCoding = Option list has no option values of type coding
Questionnaire_QR_Item_NoOptionsDate = Option list has no option values of type date
Questionnaire_QR_Item_NoOptionsInteger = Option list has no option values of type integer
Questionnaire_QR_Item_NoOptionsString = Option list has no option values of type string
Questionnaire_QR_Item_NoOptionsTime = Option list has no option values of type time
Questionnaire_QR_Item_NoString = The string {0} is not a valid option
Questionnaire_QR_Item_NoTime = The time {0} is not a valid option
Questionnaire_QR_Item_NoType = Definition for item {0} does not contain a type
Questionnaire_QR_Item_NotEnabled = Item has answer (2), even though it is not enabled {0}
Questionnaire_QR_Item_NotEnabled2 = Item has answer, even though it is not enabled (item id = '{0}')
Questionnaire_QR_Item_NotFound = LinkId '{0}' not found in questionnaire
Questionnaire_QR_Item_OnlyOneA = Only one response answer item with this linkId allowed
Questionnaire_QR_Item_OnlyOneI = Only one response item with this linkId allowed - {0}
Questionnaire_QR_Item_Order = Structural Error: items are out of order
Questionnaire_QR_Item_StringNoOptions = Cannot validate string answer option because no option list is provided
Questionnaire_QR_Item_Text = If text exists, it must match the questionnaire definition for linkId {0}
Questionnaire_QR_Item_TimeNoOptions = Cannot validate time answer option because no option list is provided
Questionnaire_QR_Item_WrongType = Answer value must be of type {0}
Questionnaire_QR_Item_WrongType2 = Answer value must be one of the types {0}
Questionnaire_QR_Q_None = No questionnaire is identified, so no validation can be performed against the base questionnaire
Questionnaire_QR_Q_NotFound = The questionnaire '{0}' could not be resolved, so no validation can be performed against the base questionnaire
Questionnaire_Q_EnableWhen_After = The target of this enableWhen rule ({0}) comes after the question itself
Questionnaire_Q_EnableWhen_IsInner = Questions with an enableWhen cannot refer to an inner question for it's enableWhen condition
Questionnaire_Q_EnableWhen_NoLink = Questions with an enableWhen must have a value for the question link
Questionnaire_Q_EnableWhen_NoTarget = Unable to find target '{0}' for this question enableWhen
Questionnaire_Q_EnableWhen_Self = Target for this question enableWhen can't reference itself
Reference_REF_Aggregation = Reference is {0} which isn't supported by the specified aggregation mode(s) for the reference
Reference_REF_BadTargetType = Invalid Resource target type. Found {0}, but expected one of ({1})
Reference_REF_BadTargetType2 = The type '{0}' implied by the reference URL {1} is not a valid Target for this element (must be one of {2})
Reference_REF_CantMatchChoice = Unable to find matching profile for {0} among choices: {1}
Reference_REF_CantMatchType = Unable to find matching profile for {0} (by type) among choices: {1}
Reference_REF_CantResolve = Unable to resolve resource '{0}'
Reference_REF_CantResolveProfile = Unable to resolve the profile reference '{0}'
Reference_REF_Format1 = Relative URLs must be of the format [ResourceName]/[id], or a search ULR is allowed ([type]?parameters. Encountered {0})
Reference_REF_Format2 = Relative URLs must be of the format [ResourceName]/[id]. Encountered {0}
Reference_REF_MultipleMatches = Found multiple matching profiles for {0} among choices: {1}
Reference_REF_NoDisplay = A Reference without an actual reference or identifier should have a display
Reference_REF_NoType = Unable to determine type of target resource
Reference_REF_NotFound_Bundle = Bundled or contained reference not found within the bundle/resource {0}
Reference_REF_ResourceType = Matching reference for reference {0} has resourceType {1}
Reference_REF_WrongTarget = The type '{0}' is not a valid Target for this element (must be one of {1})
Resource_RES_ID_Missing = Resource requires an id, but none is present
Resource_RES_ID_Prohibited = Resource has an id, but none is allowed
Terminology_PassThrough_TX_Message = {0} for '{1}#{2}'
Terminology_TX_Binding_CantCheck = Binding by URI reference cannot be checked
Terminology_TX_Binding_Missing = Binding for {0} missing (cc)
Terminology_TX_Binding_Missing2 = Binding for {0} missing
Terminology_TX_Binding_NoServer = The value provided could not be validated in the absence of a terminology server
Terminology_TX_Binding_NoSource = Binding for path {0} has no source, so can't be checked
Terminology_TX_Binding_NoSource2 = Binding has no source, so can't be checked
Terminology_TX_Code_NotValid = Code {0} is not a valid code in code system {1}
Terminology_TX_Code_Unknown = Unknown Code ({0}#{1})
Terminology_TX_Code_ValueSet = No code provided, and a code is required from the value set {0} ({1})
Terminology_TX_Code_ValueSetMax = No code provided, and a code must be provided from the value set {0} (max value set {1})
Terminology_TX_Code_ValueSet_Ext = No code provided, and a code should be provided from the value set {0} ({1})
Terminology_TX_Coding_Count = Expected {0} but found {1} coding elements
Terminology_TX_Confirm_1 = Could not confirm that the codes provided are in the value set {0} and a code from this value set is required (class = {1})
Terminology_TX_Confirm_2 = Could not confirm that the codes provided are in the value set {0} and a code should come from this value set unless it has no suitable code (class = {1})
Terminology_TX_Confirm_3 = Could not confirm that the codes provided are in the value set {0} and a code is recommended to come from this value set (class = {1})
Terminology_TX_Confirm_4 = Could not confirm that the codes provided are in the value set {0}, and a code from this value set is required
Terminology_TX_Confirm_5 = Could not confirm that the codes provided are in the value set {0}, and a code should come from this value set unless it has no suitable code
Terminology_TX_Confirm_6 = Could not confirm that the codes provided are in the value set {0}, and a code is recommended to come from this value set
Terminology_TX_Display_Wrong = Display should be '{0}'
Terminology_TX_Error_CodeableConcept = Error {0} validating CodeableConcept
Terminology_TX_Error_CodeableConcept_Max = Error {0} validating CodeableConcept using maxValueSet
Terminology_TX_Error_Coding1 = Error {0} validating Coding
Terminology_TX_Error_Coding2 = Error {0} validating Coding: {1}
Terminology_TX_NoValid_1 = None of the codes provided are in the value set {0} ({1}, and a code from this value set is required) (codes = {2})
Terminology_TX_NoValid_10 = The code provided is not in the maximum value set {0} ({1}, and a code from this value set is required) (code = {2}#{3})
Terminology_TX_NoValid_11 = The code provided is not in the maximum value set {0} ({1}{2}
Terminology_TX_NoValid_12 = The Coding provided is not in the value set {0}, and a code is required from this value set. {1}
Terminology_TX_NoValid_13 = The Coding provided is not in the value set {0}, and a code should come from this value set unless it has no suitable code. {1}
Terminology_TX_NoValid_14 = The Coding provided is not in the value set {0}, and a code is recommended to come from this value set. {1}
Terminology_TX_NoValid_15 = The value provided ('{0}') could not be validated in the absence of a terminology server
Terminology_TX_NoValid_16 = The value provided ('{0}') is not in the value set {1} ({2}, and a code is required from this value set){3}
Terminology_TX_NoValid_17 = The value provided ('{0}') is not in the value set {1} ({2}, and a code should come from this value set unless it has no suitable code){3}
Terminology_TX_NoValid_18 = The value provided ('{0}') is not in the value set {1} ({2}, and a code is recommended to come from this value set){3}
Terminology_TX_NoValid_2 = None of the codes provided are in the value set {0} ({1}, and a code should come from this value set unless it has no suitable code) (codes = {2})
Terminology_TX_NoValid_3 = None of the codes provided are in the value set {0} ({1}, and a code is recommended to come from this value set) (codes = {2})
Terminology_TX_NoValid_4 = The Coding provided is not in the value set {0}, and a code is required from this value set{1}
Terminology_TX_NoValid_5 = The Coding provided is not in the value set {0}, and a code should come from this value set unless it has no suitable code{1}
Terminology_TX_NoValid_6 = The Coding provided is not in the value set {0}, and a code is recommended to come from this value set{1}
Terminology_TX_NoValid_7 = None of the codes provided could be validated against the maximum value set {0} ({1}), (error = {2})
Terminology_TX_NoValid_8 = None of the codes provided are in the maximum value set {0} ({1}, and a code from this value set is required) (codes = {2})
Terminology_TX_NoValid_9 = The code provided could not be validated against the maximum value set {0} ({1}), (error = {2})
Terminology_TX_System_Invalid = Invalid System URI: {0}
Terminology_TX_System_NotKnown = Code System URI '{0}' is unknown so the code cannot be validated
Terminology_TX_System_Relative = Coding.system must be an absolute reference, not a local reference
Terminology_TX_System_Unknown = Unknown Code System '{0}'
Terminology_TX_System_ValueSet = Invalid System URI: {0} - cannot use a value set URI as a system
Terminology_TX_System_ValueSet2 = The Coding references a value set, not a code system ('{0}')
Terminology_TX_ValueSet_NotFound = ValueSet {0} not found by validator
Terminology_TX_ValueSet_NotFound2 = ValueSet {0} not found by validator
Type_Specific_Checks_DT_Base64_Valid = The value '{0}' is not a valid Base64 value
Type_Specific_Checks_DT_Boolean_Value = boolean values must be 'true' or 'false'
Type_Specific_Checks_DT_Code_WS = The code '{0}' is not valid (whitespace rules)
Type_Specific_Checks_DT_DateTime_Reasonable = The value '{0}' is outside the range of reasonable years - check for data entry error
Type_Specific_Checks_DT_DateTime_Regex = The instant '{0}' is not valid (by regex)
Type_Specific_Checks_DT_DateTime_TZ = if a date has a time, it must have a timezone
Type_Specific_Checks_DT_DateTime_Valid = Not a valid date/time ({0})
Type_Specific_Checks_DT_Date_Valid = Not a valid date ({0})
Type_Specific_Checks_DT_Decimal_Range = The value '{0}' is outside the range of commonly/reasonably supported decimals
Type_Specific_Checks_DT_Decimal_Valid = The value '{0}' is not a valid decimal
Type_Specific_Checks_DT_ID_Valid = id value '{0}' is not valid
Type_Specific_Checks_DT_Identifier_System = Identifier.system must be an absolute reference, not a local reference
Type_Specific_Checks_DT_Instant_Valid = Not a valid instant ({0})
Type_Specific_Checks_DT_Integer64_Valid = The value '{0}' is not a valid integer64
Type_Specific_Checks_DT_Integer_GT = value is greater than permitted maximum value of {0}
Type_Specific_Checks_DT_Integer_LT = value is less than permitted minimum value of {0}
Type_Specific_Checks_DT_Integer_LT0 = value is less than permitted minimum value of 0
Type_Specific_Checks_DT_Integer_LT1 = value is less than permitted minimum value of 1
Type_Specific_Checks_DT_Integer_Valid = The value '{0}' is not a valid integer
Type_Specific_Checks_DT_OID_Start = OIDs must start with urn:oid:
Type_Specific_Checks_DT_OID_Valid = OIDs must be valid
Type_Specific_Checks_DT_Primitive_Length = value is longer than permitted maximum length of {0}
Type_Specific_Checks_DT_Primitive_NotEmpty = @value cannot be empty
Type_Specific_Checks_DT_Primitive_Regex = Element value '{0}' does not meet regex '{1}'
Type_Specific_Checks_DT_Primitive_ValueExt = Primitive types must have a value or must have child extensions
Type_Specific_Checks_DT_Primitive_WS = Primitive types should not only be whitespace
Type_Specific_Checks_DT_String_Length = value is longer than permitted maximum length of 1 MB (1048576 bytes)
Type_Specific_Checks_DT_String_WS = value should not start or finish with whitespace
Type_Specific_Checks_DT_Time_Valid = Not a valid time ({0})
Type_Specific_Checks_DT_URI_OID = URI values cannot start with oid:
Type_Specific_Checks_DT_URI_UUID = URI values cannot start with uuid:
Type_Specific_Checks_DT_URI_WS = URI values cannot have whitespace('{0}')
Type_Specific_Checks_DT_URL_Resolve = URL value '{0}' does not resolve
Type_Specific_Checks_DT_UUID_Strat = UUIDs must start with urn:uuid:
Type_Specific_Checks_DT_UUID_Vaid = UUIDs must be valid ({0})
Validation_BUNDLE_Message = The first entry in a message must be a MessageHeader
Validation_VAL_Content_Unknown = Unrecognised Content {0}
Validation_VAL_NoType = Unknown type {0}
Validation_VAL_Profile_MatchMultiple = Profile {0}, Element matches more than one slice - {1}, {2}
Validation_VAL_Profile_Maximum = {0}: max allowed = {1}, but found {2}
Validation_VAL_Profile_Minimum = {0}: minimum required = {1}, but only found {2}
Validation_VAL_Profile_MultipleMatches = Found multiple matching profiles among choices: {0}
Validation_VAL_Profile_NoCheckMax = {0}: Unable to check max allowed ({1}) due to lack of slicing validation
Validation_VAL_Profile_NoCheckMin = {0}': Unable to check minimum required ({1}) due to lack of slicing validation
Validation_VAL_Profile_NoDefinition = No definition found for resource type '{0}'
Validation_VAL_Profile_NoMatch = Unable to find matching profile among choices: {0}
Validation_VAL_Profile_NoSnapshot = StructureDefinition has no snapshot - validation is against the snapshot, so it must be provided
Validation_VAL_Profile_NoType = The type of element {0} is not known, which is illegal. Valid types at this point are {1}
Validation_VAL_Profile_NotAllowed = This element is not allowed by the profile {0}
Validation_VAL_Profile_NotSlice = This element does not match any known slice {0}
Validation_VAL_Profile_OutOfOrder = As specified by profile {0}, Element '{1}' is out of order
Validation_VAL_Profile_SliceOrder = As specified by profile {0}, Element '{1}' is out of order in ordered slice
Validation_VAL_Profile_Unknown = Profile reference '{0}' could not be resolved, so has not been checked
Validation_VAL_Profile_WrongType = Specified profile type was '{0}', but found type '{1}'
Validation_VAL_Unknown_Profile = Unknown profile {0}
XHTML_XHTML_Attribute_Illegal = Illegal attribute name in the XHTML ('{0}' on '{1}')
XHTML_XHTML_Element_Illegal = Illegal element name in the XHTML ('{0}')
XHTML_XHTML_NS_InValid = Wrong namespace on the XHTML ('{0}', should be '{1}')
XHTML_XHTML_Name_Invalid = Wrong name on the XHTML ('{0}') - must start with div
_DT_Fixed_Wrong = Value is '{0}' but must be '{1}'
All_observations_should_have_an_effectiveDateTime_or_an_effectivePeriod = All observations should have an effectiveDateTime or an effectivePeriod All_observations_should_have_an_effectiveDateTime_or_an_effectivePeriod = All observations should have an effectiveDateTime or an effectivePeriod
All_observations_should_have_a_performer = All observations should have a performer All_observations_should_have_a_performer = All observations should have a performer
All_observations_should_have_a_subject = All observations should have a subject All_observations_should_have_a_subject = All observations should have a subject
Unable_to_resolve_slice_matching__no_fixed_value_or_required_value_set = Unable to resolve slice matching - no fixed value or required value set
Unable_to_resolve_slice_matching__slice_matching_by_value_set_not_done = Unable to resolve slice matching - slice matching by value set not done
Problem_processing_expression__in_profile__path__ = Problem processing expression {0} in profile {1} path {2}: {3}
Unable_to_find_element_with_id_ = Unable to find element with id '{0}'
Slice_encountered_midway_through_set_path___id___ = Slice encountered midway through set (path = {0}, id = {1}); {2}
Unable_to_resolve_actual_type_ = Unable to resolve actual type {0}
Unsupported_version_R1 = Unsupported version R1
Unsupported_fixed_value_type_for_discriminator_for_slice__ = Unsupported fixed value type for discriminator({0}) for slice {1}: {2}
Unsupported_CodeableConcept_pattern__extensions_are_not_allowed__for_discriminator_for_slice_ = Unsupported CodeableConcept pattern - extensions are not allowed - for discriminator({0}) for slice {1}
Unsupported_CodeableConcept_pattern__must_have_at_least_one_coding__for_discriminator_for_slice_ = Unsupported CodeableConcept pattern - must have at least one coding - for discriminator({0}) for slice {1}
Unsupported_CodeableConcept_pattern__using_text__for_discriminator_for_slice_ = Unsupported CodeableConcept pattern - using text - for discriminator({0}) for slice {1}
Unsupported_Identifier_pattern__extensions_are_not_allowed__for_discriminator_for_slice_ = Unsupported Identifier pattern - extensions are not allowed - for discriminator({0}) for slice {1}
Unsupported_fixed_pattern_type_for_discriminator_for_slice__ = Unsupported fixed pattern type for discriminator({0}) for slice {1}: {2}
Problem_evaluating_slicing_expression_for_element_in_profile__path__fhirPath___ = Problem evaluating slicing expression for element in profile {0} path {1} (fhirPath = {2}): {3}
Could_not_match_discriminator__for_slice__in_profile___the_discriminator__does_not_have_fixed_value_binding_or_existence_assertions = Could not match discriminator ({0}) for slice {1} in profile {2} - the discriminator {3} does not have fixed value, binding or existence assertions
Could_not_match_any_discriminators__for_slice__in_profile___None_of_the_discriminator__have_fixed_value_binding_or_existence_assertions = Could not match any discriminators ({0}) for slice {1} in profile {2} - None of the discriminator {3} have fixed value, binding or existence assertions
Discriminator__is_based_on_element_existence_but_slice__neither_sets_min1_or_max0 = Discriminator ({0}) is based on element existence, but slice {1} neither sets min>=1 or max=0
Profile_based_discriminators_must_have_a_type_with_a_profile__in_profile_ = Profile based discriminators must have a type with a profile ({0} in profile {1})
Profile_based_discriminators_must_have_only_one_type__in_profile_ = Profile based discriminators must have only one type ({0} in profile {1})
Profile_based_discriminators_must_have_a_type__in_profile_ = Profile based discriminators must have a type ({0} in profile {1})
Discriminator__is_based_on_type_but_slice__in__has_no_types = Discriminator ({0}) is based on type, but slice {1} in {2} has no types
Discriminator__is_based_on_type_but_slice__in__has_multiple_types_ = Discriminator ({0}) is based on type, but slice {1} in {2} has multiple types: {3}
Found__items_for__resolving_discriminator__from_ = Found {0} items for {1} resolving discriminator {2} from {3}
Unable_to_find__resolving_discriminator__from_ = Unable to find {0} resolving discriminator {1} from {2}
Unable_to_find_resource__at__resolving_discriminator__from_ = Unable to find resource {0} at {1} resolving discriminator {2} from {3}
No_reference_resolving_discriminator__from_ = No reference resolving discriminator {0} from {1}
Unable_to_resolve_element__in_profile_ = Unable to resolve element {0} in profile {1}
Unable_to_resolve_profile_ = Unable to resolve profile {0}
Resource_resolution_services_not_provided = Resource resolution services not provided
Unrecognised_extension_context_ = Unrecognised extension context {0}
Unable_to_locate_the_profile__in_order_to_validate_against_it = Unable to locate the profile '{0}' in order to validate against it
Reference__refers_to_a__not_a_ValueSet = Reference {0} refers to a {1} not a ValueSet
Not_done_yet_ValidatorHostServicesconformsToProfile_when_item_is_not_an_element = Not done yet (ValidatorHostServices.conformsToProfile), when item is not an element
Not_supported_yet = Not supported yet
Unable_to_resolve_ = Unable to resolve {0}
Not_done_yet__resolve__locally_2 = Not done yet - resolve {0} locally (2)
Not_done_yet_ValidatorHostServicesexecuteFunction = Not done yet (ValidatorHostServices.executeFunction)
Not_done_yet_ValidatorHostServicescheckFunction = Not done yet (ValidatorHostServices.checkFunction)
Not_done_yet_ValidatorHostServicesresolveFunction_ = Not done yet (ValidatorHostServices.resolveFunction): {0}

View File

@ -1,229 +1,267 @@
#InstanceValidator #InstanceValidator
Resource_RES_ID_Prohibited = Resource has an id, but none is allowed Bundle_BUNDLE_Entry_Canonical = The canonical URL ({0}) cannot match the fullUrl ({1}) unless on the canonical server itself
Resource_RES_ID_Missing = Resource requires an id, but none is present
Validation_VAL_Profile_WrongType = Specified profile type was '{0}', but found type '{1}'
Validation_VAL_Profile_NoDefinition = No definition found for resource type '{0}'
Validation_BUNDLE_Message = The first entry in a message must be a MessageHeader
Validation_VAL_Profile_MatchMultiple = Profile {0}, Element matches more than one slice - {1}, {2}
Validation_VAL_Profile_SliceOrder = As specified by profile {0}, Element '{1}' is out of order in ordered slice
Validation_VAL_Profile_OutOfOrder = As specified by profile {0}, Element '{1}' is out of order
Validation_VAL_Profile_NotAllowed = This element is not allowed by the profile {0}
Validation_VAL_Profile_NotSlice = This element does not match any known slice {0}
Validation_VAL_Profile_Maximum = {0}: max allowed = {1}, but found {2}
Validation_VAL_Profile_NoCheckMax = {0}: Unable to check max allowed ({1}) due to lack of slicing validation
Validation_VAL_Profile_Minimum = {0}: minimum required = {1}, but only found {2}
Validation_VAL_Profile_NoCheckMin = {0}': Unable to check minimum required ({1}) due to lack of slicing validation
Validation_VAL_Profile_MultipleMatches = Found multiple matching profiles among choices: {0}
Validation_VAL_Profile_NoMatch = Unable to find matching profile among choices: {0}
Validation_VAL_Unknown_Profile = Unknown profile {0}
Validation_VAL_NoType = Unknown type {0}
Validation_VAL_Content_Unknown = Unrecognised Content {0}
Extension_EXT_URL_Absolute = Extension.url must be an absolute URL
Extension_EXT_Url_NotFound = Extension.url is required
Validation_VAL_Profile_NoType = The type of element {0} is not known, which is illegal. Valid types at this point are {1}
Bundle_BUNDLE_Entry_Document = The first entry in a document must be a composition Bundle_BUNDLE_Entry_Document = The first entry in a document must be a composition
Bundle_BUNDLE_Entry_Type3 = The type '{0}' is not valid - must be one of {1} Bundle_BUNDLE_Entry_IdUrlMismatch = Resource ID does not match the ID in the entry full URL ('{0}' vs '{1}')
Bundle_BUNDLE_Entry_Type2 = The type '{0}' is not valid - must be {1} Bundle_BUNDLE_Entry_MismatchIdUrl = The canonical URL ({0}) cannot match the fullUrl ({1}) unless the resource id ({2}) also matches
Bundle_BUNDLE_Entry_NoFirst = Documents or Messages must contain at least one entry
Bundle_BUNDLE_Entry_NoFirstResource = No resource on first entry
Bundle_BUNDLE_Entry_NoFullUrl = Bundle entry missing fullUrl
Bundle_BUNDLE_Entry_NoProfile = No profile found for contained resource of type '{0}' Bundle_BUNDLE_Entry_NoProfile = No profile found for contained resource of type '{0}'
Bundle_BUNDLE_Entry_Type = The type '{0} is not valid - no resources allowed here
Bundle_BUNDLE_Entry_NotFound = Can't find '{0}' in the bundle ({1}) Bundle_BUNDLE_Entry_NotFound = Can't find '{0}' in the bundle ({1})
Bundle_BUNDLE_Entry_Orphan = Entry {0} isn't reachable by traversing from first Bundle entry Bundle_BUNDLE_Entry_Orphan = Entry {0} isn't reachable by traversing from first Bundle entry
Bundle_BUNDLE_Entry_IdUrlMismatch = Resource ID does not match the ID in the entry full URL ('{0}' vs '{1}') Bundle_BUNDLE_Entry_Type = The type '{0} is not valid - no resources allowed here
Bundle_BUNDLE_Entry_Canonical = The canonical URL ({0}) cannot match the fullUrl ({1}) unless on the canonical server itself Bundle_BUNDLE_Entry_Type2 = The type '{0}' is not valid - must be {1}
Bundle_BUNDLE_Entry_MismatchIdUrl = The canonical URL ({0}) cannot match the fullUrl ({1}) unless the resource id ({2}) also matches Bundle_BUNDLE_Entry_Type3 = The type '{0}' is not valid - must be one of {1}
Bundle_BUNDLE_Entry_NoFirstResource = No resource on first entry Bundle_BUNDLE_FullUrl_Missing = Relative Reference appears inside Bundle whose entry is missing a fullUrl
Bundle_BUNDLE_Entry_NoFirst = Documents or Messages must contain at least one entry
Questionnaire_QR_Item_CodingNoOptions = Cannot validate Coding option because no option list is provided
Questionnaire_QR_Item_NoCoding = The code {0}::{1} is not a valid option
Questionnaire_QR_Item_NoOptionsCoding = Option list has no option values of type coding
Questionnaire_QR_Item_StringNoOptions = Cannot validate string answer option because no option list is provided
Questionnaire_QR_Item_NoString = The string {0} is not a valid option
Questionnaire_QR_Item_NoOptionsString = Option list has no option values of type string
Questionnaire_QR_Item_TimeNoOptions = Cannot validate time answer option because no option list is provided
Questionnaire_QR_Item_NoTime = The time {0} is not a valid option
Questionnaire_QR_Item_NoOptionsTime = Option list has no option values of type time
Questionnaire_QR_Item_DateNoOptions = Cannot validate date answer option because no option list is provided
Questionnaire_QR_Item_NoDate = The date {0} is not a valid option
Questionnaire_QR_Item_NoOptionsDate = Option list has no option values of type date
Questionnaire_QR_Item_IntNoOptions = Cannot validate integer answer option because no option list is provided
Questionnaire_QR_Item_NoInteger = The integer {0} is not a valid option
Questionnaire_QR_Item_NoOptionsInteger = Option list has no option values of type integer
Questionnaire_QR_Item_NoOptions = Cannot validate options because no option or options are provided
Questionnaire_QR_Item_Coding = Error {0} validating Coding against Questionnaire Options
Questionnaire_QR_Item_BadOption = The value provided ({0}::{1}) is not in the options value set in the questionnaire
Terminology_TX_ValueSet_NotFound = ValueSet {0} not found by validator
Questionnaire_QR_Item_WrongType2 = Answer value must be one of the types {0}
Questionnaire_QR_Item_WrongType = Answer value must be of type {0}
Questionnaire_QR_Item_NotEnabled2 = Item has answer, even though it is not enabled (item id = '{0}')
Questionnaire_QR_Item_Order = Structural Error: items are out of order
Questionnaire_QR_Item_NotFound = LinkId '{0}' not found in questionnaire
Questionnaire_QR_Item_NoLinkId = No LinkId, so can't be validated
Questionnaire_QR_Item_OnlyOneI = Only one response item with this linkId allowed - {0}
Questionnaire_QR_Item_Display = Items not of type DISPLAY should not have items - linkId {0}
Questionnaire_QR_Item_NoType = Definition for item {0} does not contain a type
Questionnaire_QR_Item_Group = Items of type group should not have answers
Questionnaire_QR_Item_OnlyOneA = Only one response answer item with this linkId allowed
Questionnaire_QR_Item_NotEnabled = Item has answer (2), even though it is not enabled {0}
Questionnaire_QR_Item_Missing = No response answer found for required item {0}
Questionnaire_QR_Item_Text = If text exists, it must match the questionnaire definition for linkId {0}
Questionnaire_QR_Q_NotFound = The questionnaire '{0}' could not be resolved, so no validation can be performed against the base questionnaire
Questionnaire_QR_Q_None = No questionnaire is identified, so no validation can be performed against the base questionnaire
CodeSystem_CS_VS_IncludeDetails = CodeSystem {0} has a 'all system' value set of {1}, but the include has extra details
CodeSystem_CS_VS_WrongSystem = CodeSystem {0} has a 'all system' value set of {1}, but doesn't have a matching system ({2})
CodeSystem_CS_VS_Invalid = CodeSystem {0} has a 'all system' value set of {1}, but doesn't have a single include
CodeSystem_CS_VS_MisMatch = CodeSystem {0} has a 'all system' value set of {1}, but it is an expansion
CapabalityStatement_CS_SP_WrongType = Type mismatch - SearchParameter '{0}' type is {1}, but type here is {2}
Meta_RES_Security_Duplicate = Duplicate Security Label {0}
Language_XHTML_Lang_Different2 = Resource has a language ({0}), and the XHTML has an xml:lang ({1}), but they differ
Language_XHTML_Lang_Missing3 = Resource has a language, but the XHTML does not have an xml:lang tag (needs both lang and xml:lang - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Language_XHTML_Lang_Different1 = Resource has a language ({0}), and the XHTML has a lang ({1}), but they differ
Language_XHTML_Lang_Missing2 = Resource has a language, but the XHTML does not have a lang tag (needs both lang and xml:lang - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Language_XHTML_Lang_Missing1 = Resource has a language, but the XHTML does not have an lang or an xml:lang tag (needs both - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Questionnaire_Q_EnableWhen_After = The target of this enableWhen rule ({0}) comes after the question itself
Questionnaire_Q_EnableWhen_Self = Target for this question enableWhen can't reference itself
Questionnaire_Q_EnableWhen_NoTarget = Unable to find target '{0}' for this question enableWhen
Questionnaire_Q_EnableWhen_IsInner = Questions with an enableWhen cannot refer to an inner question for it's enableWhen condition
Questionnaire_Q_EnableWhen_NoLink = Questions with an enableWhen must have a value for the question link
Validation_VAL_Profile_NoSnapshot = StructureDefinition has no snapshot - validation is against the snapshot, so it must be provided
Validation_VAL_Profile_Unknown = Profile reference '{0}' could not be resolved, so has not been checked
Bundle_BUNDLE_Entry_NoFullUrl = Bundle entry missing fullUrl
Bundle_BUNDLE_Not_Local = URN reference is not locally contained within the bundle {0}
Reference_REF_ResourceType = Matching reference for reference {0} has resourceType {1}
Bundle_BUNDLE_FullUrl_NeedVersion = Entries matching fullURL {0} should declare meta/versionId because there are version-specific references Bundle_BUNDLE_FullUrl_NeedVersion = Entries matching fullURL {0} should declare meta/versionId because there are version-specific references
Bundle_BUNDLE_MultipleMatches = Multiple matches in bundle for reference {0} Bundle_BUNDLE_MultipleMatches = Multiple matches in bundle for reference {0}
Reference_REF_Format2 = Relative URLs must be of the format [ResourceName]/[id]. Encountered {0} Bundle_BUNDLE_Not_Local = URN reference is not locally contained within the bundle {0}
Reference_REF_Format1 = Relative URLs must be of the format [ResourceName]/[id], or a search ULR is allowed ([type]?parameters. Encountered {0})
Bundle_BUNDLE_FullUrl_Missing = Relative Reference appears inside Bundle whose entry is missing a fullUrl
Bundle_MSG_Event_Count = Expected {0} but found {1} event elements Bundle_MSG_Event_Count = Expected {0} but found {1} event elements
Reference_REF_BadTargetType2 = The type '{0}' implied by the reference URL {1} is not a valid Target for this element (must be one of {2}) CapabalityStatement_CS_SP_WrongType = Type mismatch - SearchParameter '{0}' type is {1}, but type here is {2}
Reference_REF_NotFound_Bundle = Bundled or contained reference not found within the bundle/resource {0} CodeSystem_CS_VS_IncludeDetails = CodeSystem {0} has a 'all system' value set of {1}, but the include has extra details
Reference_REF_Aggregation = Reference is {0} which isn't supported by the specified aggregation mode(s) for the reference CodeSystem_CS_VS_Invalid = CodeSystem {0} has a 'all system' value set of {1}, but doesn't have a single include
Reference_REF_BadTargetType = Invalid Resource target type. Found {0}, but expected one of ({1}) CodeSystem_CS_VS_MisMatch = CodeSystem {0} has a 'all system' value set of {1}, but it is an expansion
Reference_REF_MultipleMatches = Found multiple matching profiles for {0} among choices: {1} CodeSystem_CS_VS_WrongSystem = CodeSystem {0} has a 'all system' value set of {1}, but doesn't have a matching system ({2})
Reference_REF_CantMatchChoice = Unable to find matching profile for {0} among choices: {1}
Reference_REF_CantMatchType = Unable to find matching profile for {0} (by type) among choices: {1}
Reference_REF_CantResolveProfile = Unable to resolve the profile reference '{0}'
Reference_REF_NoType = Unable to determine type of target resource
Reference_REF_WrongTarget = The type '{0}' is not a valid Target for this element (must be one of {1})
Reference_REF_CantResolve = Unable to resolve resource '{0}'
Reference_REF_NoDisplay = A Reference without an actual reference or identifier should have a display
Terminology_TX_Binding_NoSource2 = Binding has no source, so can't be checked
Terminology_TX_NoValid_18 = The value provided ('{0}') is not in the value set {1} ({2}, and a code is recommended to come from this value set){3}
Terminology_TX_NoValid_17 = The value provided ('{0}') is not in the value set {1} ({2}, and a code should come from this value set unless it has no suitable code){3}
Terminology_TX_NoValid_16 = The value provided ('{0}') is not in the value set {1} ({2}, and a code is required from this value set){3}
Terminology_TX_NoValid_15 = The value provided ('{0}') could not be validated in the absence of a terminology server
Terminology_TX_ValueSet_NotFound2 = ValueSet {0} not found by validator
XHTML_XHTML_NS_InValid = Wrong namespace on the XHTML ('{0}', should be '{1}')
XHTML_XHTML_Attribute_Illegal = Illegal attribute name in the XHTML ('{0}' on '{1}')
XHTML_XHTML_Element_Illegal = Illegal element name in the XHTML ('{0}')
XHTML_XHTML_Name_Invalid = Wrong name on the XHTML ('{0}') - must start with div
Type_Specific_Checks_DT_Primitive_Length = value is longer than permitted maximum length of {0}
Type_Specific_Checks_DT_Code_WS = The code '{0}' is not valid (whitespace rules)
Type_Specific_Checks_DT_Instant_Valid = Not a valid instant ({0})
Type_Specific_Checks_DT_DateTime_Reasonable = The value '{0}' is outside the range of reasonable years - check for data entry error
Type_Specific_Checks_DT_DateTime_Regex = The instant '{0}' is not valid (by regex)
Type_Specific_Checks_DT_Decimal_Range = The value '{0}' is outside the range of commonly/reasonably supported decimals
Type_Specific_Checks_DT_Decimal_Valid = The value '{0}' is not a valid decimal
Type_Specific_Checks_DT_Integer_LT1 = value is less than permitted minimum value of 1
Type_Specific_Checks_DT_Integer_LT0 = value is less than permitted minimum value of 0
Type_Specific_Checks_DT_Integer_LT = value is less than permitted minimum value of {0}
Type_Specific_Checks_DT_Integer_GT = value is greater than permitted maximum value of {0}
Type_Specific_Checks_DT_Integer64_Valid = The value '{0}' is not a valid integer64
Type_Specific_Checks_DT_Integer_Valid = The value '{0}' is not a valid integer
Type_Specific_Checks_DT_Base64_Valid = The value '{0}' is not a valid Base64 value
Type_Specific_Checks_DT_Date_Valid = Not a valid date ({0})
Type_Specific_Checks_DT_Time_Valid = Not a valid time ({0})
Type_Specific_Checks_DT_DateTime_Valid = Not a valid date/time ({0})
Type_Specific_Checks_DT_DateTime_TZ = if a date has a time, it must have a timezone
Type_Specific_Checks_DT_DateTIme_Valid = Not a valid date time
Type_Specific_Checks_DT_String_Length = value is longer than permitted maximum length of 1 MB (1048576 bytes)
Type_Specific_Checks_DT_String_WS = value should not start or finish with whitespace
Type_Specific_Checks_DT_Primitive_NotEmpty = @value cannot be empty
Type_Specific_Checks_DT_ID_Valid = id value '{0}' is not valid
Type_Specific_Checks_DT_URL_Resolve = URL value '{0}' does not resolve
Type_Specific_Checks_DT_UUID_Vaid = UUIDs must be valid ({0})
Type_Specific_Checks_DT_UUID_Strat = UUIDs must start with urn:uuid:
Type_Specific_Checks_DT_OID_Valid = OIDs must be valid
Type_Specific_Checks_DT_OID_Start = OIDs must start with urn:oid:
Type_Specific_Checks_DT_URI_WS = URI values cannot have whitespace('{0}')
Type_Specific_Checks_DT_URI_UUID = URI values cannot start with uuid:
Type_Specific_Checks_DT_URI_OID = URI values cannot start with oid:
Type_Specific_Checks_DT_Boolean_Value = boolean values must be 'true' or 'false'
Type_Specific_Checks_DT_Primitive_Regex = Element value '{0}' does not meet regex '{1}'
Type_Specific_Checks_DT_Primitive_WS = Primitive types should not only be whitespace
Type_Specific_Checks_DT_Primitive_ValueExt = Primitive types must have a value or must have child extensions
Type_Specific_Checks_DT_Identifier_System = Identifier.system must be an absolute reference, not a local reference
Fixed_Type_Checks_DT_Name_Suffix = Expected {0} but found {1} suffix elements
Fixed_Type_Checks_DT_Name_Prefix = Expected {0} but found {1} prefix elements
Fixed_Type_Checks_DT_Name_Given = Expected {0} but found {1} given elements
Fixed_Type_Checks_DT_Name_Family = Expected {0} but found {1} family elements
Extension_EXT_Count_NotFound = Extension count mismatch: unable to find extension: {0}
Extension_EXT_Count_Mismatch = Extensions count mismatch: expected {0} but found {1}
Extension_EXT_Fixed_Banned = No extensions allowed, as the specified fixed value doesn't contain any extensions
Internal_INT_Bad_Type = Unhandled fixed value type {0}
_DT_Fixed_Wrong = Value is '{0}' but must be '{1}'
Profile_VAL_MissingElement = Missing element '{0}' - required by fixed value assigned in profile {1}
Profile_VAL_NotAllowed = The element {0} is present in the instance but not allowed in the applicable {1} specified in profile
Profile_EXT_Not_Here = The extension {0} is not allowed to be used at this point (based on context invariant '{1}')
Extension_EXT_Context_Wrong = The extension {0} is not allowed to be used at this point (allowed = {1}; this element is [{2}) Extension_EXT_Context_Wrong = The extension {0} is not allowed to be used at this point (allowed = {1}; this element is [{2})
Extension_EXT_Type = The Extension '{0}' definition allows for the types {1} but found type {2} Extension_EXT_Count_Mismatch = Extensions count mismatch: expected {0} but found {1}
Extension_EXT_Simple = The Extension '{0}' definition is for a simple extension, so it must contain a value, not extensions Extension_EXT_Count_NotFound = Extension count mismatch: unable to find extension: {0}
Extension_EXT_Modifier_N = The Extension '{0}' must not be used as an extension (it's a modifierExtension) Extension_EXT_Fixed_Banned = No extensions allowed, as the specified fixed value doesn't contain any extensions
Extension_EXT_Modifier_Y = The Extension '{0}' must be used as a modifierExtension
Extension_EXT_Modifier_MismatchN = Extension modifier mismatch: the extension element is not labelled as a modifier, but the underlying extension is Extension_EXT_Modifier_MismatchN = Extension modifier mismatch: the extension element is not labelled as a modifier, but the underlying extension is
Extension_EXT_Modifier_MismatchY = Extension modifier mismatch: the extension element is labelled as a modifier, but the underlying extension is not Extension_EXT_Modifier_MismatchY = Extension modifier mismatch: the extension element is labelled as a modifier, but the underlying extension is not
Extension_EXT_Modifier_N = The Extension '{0}' must not be used as an extension (it's a modifierExtension)
Extension_EXT_Modifier_Y = The Extension '{0}' must be used as a modifierExtension
Extension_EXT_Simple = The Extension '{0}' definition is for a simple extension, so it must contain a value, not extensions
Extension_EXT_SubExtension_Invalid = Sub-extension url '{0}' is not defined by the Extension {1}
Extension_EXT_Type = The Extension '{0}' definition allows for the types {1} but found type {2}
Extension_EXT_URL_Absolute = Extension.url must be an absolute URL
Extension_EXT_Unknown = Unknown extension {0} Extension_EXT_Unknown = Unknown extension {0}
Extension_EXT_Unknown_NotHere = The extension {0} is unknown, and not allowed here Extension_EXT_Unknown_NotHere = The extension {0} is unknown, and not allowed here
Extension_EXT_SubExtension_Invalid = Sub-extension url '{0}' is not defined by the Extension {1} Extension_EXT_Url_NotFound = Extension.url is required
Extension_EXT_Version_Internal = Extension url '{0}' evaluation state illegal Extension_EXT_Version_Internal = Extension url '{0}' evaluation state illegal
Extension_EXT_Version_NoChange = Extension url '{0}' is not valid (Element id '{1}' is valid, but cannot be used in a cross-version paradigm because there has been no changes across the relevant versions)
Extension_EXT_Version_InvalidId = Extension url '{0}' is not valid (invalid Element id '{1}')
Extension_EXT_Version_Invalid = Extension url '{0}' is not valid (invalid Version '{1}') Extension_EXT_Version_Invalid = Extension url '{0}' is not valid (invalid Version '{1}')
Terminology_TX_Error_Coding2 = Error {0} validating Coding: {1} Extension_EXT_Version_InvalidId = Extension url '{0}' is not valid (invalid Element id '{1}')
Terminology_TX_Binding_NoSource = Binding for path {0} has no source, so can't be checked Extension_EXT_Version_NoChange = Extension url '{0}' is not valid (Element id '{1}' is valid, but cannot be used in a cross-version paradigm because there has been no changes across the relevant versions)
Terminology_TX_Binding_CantCheck = Binding by URI reference cannot be checked
Terminology_TX_Error_Coding1 = Error {0} validating Coding
Terminology_TX_NoValid_14 = The Coding provided is not in the value set {0}, and a code is recommended to come from this value set. {1}
Terminology_TX_NoValid_13 = The Coding provided is not in the value set {0}, and a code should come from this value set unless it has no suitable code. {1}
Terminology_TX_NoValid_12 = The Coding provided is not in the value set {0}, and a code is required from this value set. {1}
Terminology_TX_Confirm_6 = Could not confirm that the codes provided are in the value set {0}, and a code is recommended to come from this value set
Terminology_TX_Confirm_5 = Could not confirm that the codes provided are in the value set {0}, and a code should come from this value set unless it has no suitable code
Terminology_TX_Confirm_4 = Could not confirm that the codes provided are in the value set {0}, and a code from this value set is required
Terminology_TX_Binding_NoServer = The value provided could not be validated in the absence of a terminology server
Terminology_TX_Binding_Missing2 = Binding for {0} missing
Terminology_TX_System_ValueSet2 = The Coding references a value set, not a code system ('{0}')
Terminology_TX_System_Relative = Coding.system must be an absolute reference, not a local reference
Terminology_TX_Error_CodeableConcept_Max = Error {0} validating CodeableConcept using maxValueSet
Terminology_TX_NoValid_11 = The code provided is not in the maximum value set {0} ({1}{2}
Terminology_TX_NoValid_9 = The code provided could not be validated against the maximum value set {0} ({1}), (error = {2})
Terminology_TX_NoValid_10 = The code provided is not in the maximum value set {0} ({1}, and a code from this value set is required) (code = {2}#{3})
Terminology_TX_NoValid_8 = None of the codes provided are in the maximum value set {0} ({1}, and a code from this value set is required) (codes = {2})
Terminology_TX_NoValid_7 = None of the codes provided could be validated against the maximum value set {0} ({1}), (error = {2})
Terminology_TX_NoValid_6 = The Coding provided is not in the value set {0}, and a code is recommended to come from this value set{1}
Terminology_TX_NoValid_5 = The Coding provided is not in the value set {0}, and a code should come from this value set unless it has no suitable code{1}
Terminology_TX_NoValid_4 = The Coding provided is not in the value set {0}, and a code is required from this value set{1}
Terminology_TX_Error_CodeableConcept = Error {0} validating CodeableConcept
Terminology_TX_Code_NotValid = Code {0} is not a valid code in code system {1}
Terminology_TX_NoValid_3 = None of the codes provided are in the value set {0} ({1}, and a code is recommended to come from this value set) (codes = {2})
Terminology_TX_NoValid_2 = None of the codes provided are in the value set {0} ({1}, and a code should come from this value set unless it has no suitable code) (codes = {2})
Terminology_TX_NoValid_1 = None of the codes provided are in the value set {0} ({1}, and a code from this value set is required) (codes = {2})
Terminology_TX_Confirm_3 = Could not confirm that the codes provided are in the value set {0} and a code is recommended to come from this value set (class = {1})
Terminology_TX_Confirm_2 = Could not confirm that the codes provided are in the value set {0} and a code should come from this value set unless it has no suitable code (class = {1})
Terminology_TX_Confirm_1 = Could not confirm that the codes provided are in the value set {0} and a code from this value set is required (class = {1})
Terminology_TX_Code_ValueSet_Ext = No code provided, and a code should be provided from the value set {0} ({1})
Terminology_TX_Code_ValueSetMax = No code provided, and a code must be provided from the value set {0} (max value set {1})
Terminology_TX_Binding_Missing = Binding for {0} missing (cc)
Terminology_TX_Code_ValueSet = No code provided, and a code is required from the value set {0} ({1})
Terminology_TX_Coding_Count = Expected {0} but found {1} coding elements
Terminology_TX_System_NotKnown = Code System URI '{0}' is unknown so the code cannot be validated
Terminology_TX_System_ValueSet = Invalid System URI: {0} - cannot use a value set URI as a system
Terminology_TX_System_Invalid = Invalid System URI: {0}
Terminology_TX_Display_Wrong = Display should be '{0}'
Terminology_TX_Code_Unknown = Unknown Code ({0}#{1})
Terminology_TX_System_Unknown = Unknown Code System '{0}'
Terminology_PassThrough_TX_Message = {0} for '{1}#{2}'
Fixed_Type_Checks_DT_Address_Line = Expected {0} but found {1} line elements Fixed_Type_Checks_DT_Address_Line = Expected {0} but found {1} line elements
Fixed_Type_Checks_DT_Name_Family = Expected {0} but found {1} family elements
Fixed_Type_Checks_DT_Name_Given = Expected {0} but found {1} given elements
Fixed_Type_Checks_DT_Name_Prefix = Expected {0} but found {1} prefix elements
Fixed_Type_Checks_DT_Name_Suffix = Expected {0} but found {1} suffix elements
Internal_INT_Bad_Type = Unhandled fixed value type {0}
Language_XHTML_Lang_Different1 = Resource has a language ({0}), and the XHTML has a lang ({1}), but they differ
Language_XHTML_Lang_Different2 = Resource has a language ({0}), and the XHTML has an xml:lang ({1}), but they differ
Language_XHTML_Lang_Missing1 = Resource has a language, but the XHTML does not have an lang or an xml:lang tag (needs both - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Language_XHTML_Lang_Missing2 = Resource has a language, but the XHTML does not have a lang tag (needs both lang and xml:lang - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Language_XHTML_Lang_Missing3 = Resource has a language, but the XHTML does not have an xml:lang tag (needs both lang and xml:lang - see https://www.w3.org/TR/i18n-html-tech-lang/#langvalues)
Meta_RES_Security_Duplicate = Duplicate Security Label {0}
MustSupport_VAL_MustSupport = The element {0} is not marked as 'mustSupport' in the profile {1}. Consider not using the element, or marking the element as must-Support in the profile MustSupport_VAL_MustSupport = The element {0} is not marked as 'mustSupport' in the profile {1}. Consider not using the element, or marking the element as must-Support in the profile
Profile_EXT_Not_Here = The extension {0} is not allowed to be used at this point (based on context invariant '{1}')
Profile_VAL_MissingElement = Missing element '{0}' - required by fixed value assigned in profile {1}
Profile_VAL_NotAllowed = The element {0} is present in the instance but not allowed in the applicable {1} specified in profile
Questionnaire_QR_Item_BadOption = The value provided ({0}::{1}) is not in the options value set in the questionnaire
Questionnaire_QR_Item_Coding = Error {0} validating Coding against Questionnaire Options
Questionnaire_QR_Item_CodingNoOptions = Cannot validate Coding option because no option list is provided
Questionnaire_QR_Item_DateNoOptions = Cannot validate date answer option because no option list is provided
Questionnaire_QR_Item_Display = Items not of type DISPLAY should not have items - linkId {0}
Questionnaire_QR_Item_Group = Items of type group should not have answers
Questionnaire_QR_Item_IntNoOptions = Cannot validate integer answer option because no option list is provided
Questionnaire_QR_Item_Missing = No response answer found for required item {0}
Questionnaire_QR_Item_NoCoding = The code {0}::{1} is not a valid option
Questionnaire_QR_Item_NoDate = The date {0} is not a valid option
Questionnaire_QR_Item_NoInteger = The integer {0} is not a valid option
Questionnaire_QR_Item_NoLinkId = No LinkId, so can't be validated
Questionnaire_QR_Item_NoOptions = Cannot validate options because no option or options are provided
Questionnaire_QR_Item_NoOptionsCoding = Option list has no option values of type coding
Questionnaire_QR_Item_NoOptionsDate = Option list has no option values of type date
Questionnaire_QR_Item_NoOptionsInteger = Option list has no option values of type integer
Questionnaire_QR_Item_NoOptionsString = Option list has no option values of type string
Questionnaire_QR_Item_NoOptionsTime = Option list has no option values of type time
Questionnaire_QR_Item_NoString = The string {0} is not a valid option
Questionnaire_QR_Item_NoTime = The time {0} is not a valid option
Questionnaire_QR_Item_NoType = Definition for item {0} does not contain a type
Questionnaire_QR_Item_NotEnabled = Item has answer (2), even though it is not enabled {0}
Questionnaire_QR_Item_NotEnabled2 = Item has answer, even though it is not enabled (item id = '{0}')
Questionnaire_QR_Item_NotFound = LinkId '{0}' not found in questionnaire
Questionnaire_QR_Item_OnlyOneA = Only one response answer item with this linkId allowed
Questionnaire_QR_Item_OnlyOneI = Only one response item with this linkId allowed - {0}
Questionnaire_QR_Item_Order = Structural Error: items are out of order
Questionnaire_QR_Item_StringNoOptions = Cannot validate string answer option because no option list is provided
Questionnaire_QR_Item_Text = If text exists, it must match the questionnaire definition for linkId {0}
Questionnaire_QR_Item_TimeNoOptions = Cannot validate time answer option because no option list is provided
Questionnaire_QR_Item_WrongType = Answer value must be of type {0}
Questionnaire_QR_Item_WrongType2 = Answer value must be one of the types {0}
Questionnaire_QR_Q_None = No questionnaire is identified, so no validation can be performed against the base questionnaire
Questionnaire_QR_Q_NotFound = The questionnaire '{0}' could not be resolved, so no validation can be performed against the base questionnaire
Questionnaire_Q_EnableWhen_After = The target of this enableWhen rule ({0}) comes after the question itself
Questionnaire_Q_EnableWhen_IsInner = Questions with an enableWhen cannot refer to an inner question for it's enableWhen condition
Questionnaire_Q_EnableWhen_NoLink = Questions with an enableWhen must have a value for the question link
Questionnaire_Q_EnableWhen_NoTarget = Unable to find target '{0}' for this question enableWhen
Questionnaire_Q_EnableWhen_Self = Target for this question enableWhen can't reference itself
Reference_REF_Aggregation = Reference is {0} which isn't supported by the specified aggregation mode(s) for the reference
Reference_REF_BadTargetType = Invalid Resource target type. Found {0}, but expected one of ({1})
Reference_REF_BadTargetType2 = The type '{0}' implied by the reference URL {1} is not a valid Target for this element (must be one of {2})
Reference_REF_CantMatchChoice = Unable to find matching profile for {0} among choices: {1}
Reference_REF_CantMatchType = Unable to find matching profile for {0} (by type) among choices: {1}
Reference_REF_CantResolve = Unable to resolve resource '{0}'
Reference_REF_CantResolveProfile = Unable to resolve the profile reference '{0}'
Reference_REF_Format1 = Relative URLs must be of the format [ResourceName]/[id], or a search ULR is allowed ([type]?parameters. Encountered {0})
Reference_REF_Format2 = Relative URLs must be of the format [ResourceName]/[id]. Encountered {0}
Reference_REF_MultipleMatches = Found multiple matching profiles for {0} among choices: {1}
Reference_REF_NoDisplay = A Reference without an actual reference or identifier should have a display
Reference_REF_NoType = Unable to determine type of target resource
Reference_REF_NotFound_Bundle = Bundled or contained reference not found within the bundle/resource {0}
Reference_REF_ResourceType = Matching reference for reference {0} has resourceType {1}
Reference_REF_WrongTarget = The type '{0}' is not a valid Target for this element (must be one of {1})
Resource_RES_ID_Missing = Resource requires an id, but none is present
Resource_RES_ID_Prohibited = Resource has an id, but none is allowed
Terminology_PassThrough_TX_Message = {0} for '{1}#{2}'
Terminology_TX_Binding_CantCheck = Binding by URI reference cannot be checked
Terminology_TX_Binding_Missing = Binding for {0} missing (cc)
Terminology_TX_Binding_Missing2 = Binding for {0} missing
Terminology_TX_Binding_NoServer = The value provided could not be validated in the absence of a terminology server
Terminology_TX_Binding_NoSource = Binding for path {0} has no source, so can't be checked
Terminology_TX_Binding_NoSource2 = Binding has no source, so can't be checked
Terminology_TX_Code_NotValid = Code {0} is not a valid code in code system {1}
Terminology_TX_Code_Unknown = Unknown Code ({0}#{1})
Terminology_TX_Code_ValueSet = No code provided, and a code is required from the value set {0} ({1})
Terminology_TX_Code_ValueSetMax = No code provided, and a code must be provided from the value set {0} (max value set {1})
Terminology_TX_Code_ValueSet_Ext = No code provided, and a code should be provided from the value set {0} ({1})
Terminology_TX_Coding_Count = Expected {0} but found {1} coding elements
Terminology_TX_Confirm_1 = Could not confirm that the codes provided are in the value set {0} and a code from this value set is required (class = {1})
Terminology_TX_Confirm_2 = Could not confirm that the codes provided are in the value set {0} and a code should come from this value set unless it has no suitable code (class = {1})
Terminology_TX_Confirm_3 = Could not confirm that the codes provided are in the value set {0} and a code is recommended to come from this value set (class = {1})
Terminology_TX_Confirm_4 = Could not confirm that the codes provided are in the value set {0}, and a code from this value set is required
Terminology_TX_Confirm_5 = Could not confirm that the codes provided are in the value set {0}, and a code should come from this value set unless it has no suitable code
Terminology_TX_Confirm_6 = Could not confirm that the codes provided are in the value set {0}, and a code is recommended to come from this value set
Terminology_TX_Display_Wrong = Display should be '{0}'
Terminology_TX_Error_CodeableConcept = Error {0} validating CodeableConcept
Terminology_TX_Error_CodeableConcept_Max = Error {0} validating CodeableConcept using maxValueSet
Terminology_TX_Error_Coding1 = Error {0} validating Coding
Terminology_TX_Error_Coding2 = Error {0} validating Coding: {1}
Terminology_TX_NoValid_1 = None of the codes provided are in the value set {0} ({1}, and a code from this value set is required) (codes = {2})
Terminology_TX_NoValid_10 = The code provided is not in the maximum value set {0} ({1}, and a code from this value set is required) (code = {2}#{3})
Terminology_TX_NoValid_11 = The code provided is not in the maximum value set {0} ({1}{2}
Terminology_TX_NoValid_12 = The Coding provided is not in the value set {0}, and a code is required from this value set. {1}
Terminology_TX_NoValid_13 = The Coding provided is not in the value set {0}, and a code should come from this value set unless it has no suitable code. {1}
Terminology_TX_NoValid_14 = The Coding provided is not in the value set {0}, and a code is recommended to come from this value set. {1}
Terminology_TX_NoValid_15 = The value provided ('{0}') could not be validated in the absence of a terminology server
Terminology_TX_NoValid_16 = The value provided ('{0}') is not in the value set {1} ({2}, and a code is required from this value set){3}
Terminology_TX_NoValid_17 = The value provided ('{0}') is not in the value set {1} ({2}, and a code should come from this value set unless it has no suitable code){3}
Terminology_TX_NoValid_18 = The value provided ('{0}') is not in the value set {1} ({2}, and a code is recommended to come from this value set){3}
Terminology_TX_NoValid_2 = None of the codes provided are in the value set {0} ({1}, and a code should come from this value set unless it has no suitable code) (codes = {2})
Terminology_TX_NoValid_3 = None of the codes provided are in the value set {0} ({1}, and a code is recommended to come from this value set) (codes = {2})
Terminology_TX_NoValid_4 = The Coding provided is not in the value set {0}, and a code is required from this value set{1}
Terminology_TX_NoValid_5 = The Coding provided is not in the value set {0}, and a code should come from this value set unless it has no suitable code{1}
Terminology_TX_NoValid_6 = The Coding provided is not in the value set {0}, and a code is recommended to come from this value set{1}
Terminology_TX_NoValid_7 = None of the codes provided could be validated against the maximum value set {0} ({1}), (error = {2})
Terminology_TX_NoValid_8 = None of the codes provided are in the maximum value set {0} ({1}, and a code from this value set is required) (codes = {2})
Terminology_TX_NoValid_9 = The code provided could not be validated against the maximum value set {0} ({1}), (error = {2})
Terminology_TX_System_Invalid = Invalid System URI: {0}
Terminology_TX_System_NotKnown = Code System URI '{0}' is unknown so the code cannot be validated
Terminology_TX_System_Relative = Coding.system must be an absolute reference, not a local reference
Terminology_TX_System_Unknown = Unknown Code System '{0}'
Terminology_TX_System_ValueSet = Invalid System URI: {0} - cannot use a value set URI as a system
Terminology_TX_System_ValueSet2 = The Coding references a value set, not a code system ('{0}')
Terminology_TX_ValueSet_NotFound = ValueSet {0} not found by validator
Terminology_TX_ValueSet_NotFound2 = ValueSet {0} not found by validator
Type_Specific_Checks_DT_Base64_Valid = The value '{0}' is not a valid Base64 value
Type_Specific_Checks_DT_Boolean_Value = boolean values must be 'true' or 'false'
Type_Specific_Checks_DT_Code_WS = The code '{0}' is not valid (whitespace rules)
Type_Specific_Checks_DT_DateTime_Reasonable = The value '{0}' is outside the range of reasonable years - check for data entry error
Type_Specific_Checks_DT_DateTime_Regex = The instant '{0}' is not valid (by regex)
Type_Specific_Checks_DT_DateTime_TZ = if a date has a time, it must have a timezone
Type_Specific_Checks_DT_DateTime_Valid = Not a valid date/time ({0})
Type_Specific_Checks_DT_Date_Valid = Not a valid date ({0})
Type_Specific_Checks_DT_Decimal_Range = The value '{0}' is outside the range of commonly/reasonably supported decimals
Type_Specific_Checks_DT_Decimal_Valid = The value '{0}' is not a valid decimal
Type_Specific_Checks_DT_ID_Valid = id value '{0}' is not valid
Type_Specific_Checks_DT_Identifier_System = Identifier.system must be an absolute reference, not a local reference
Type_Specific_Checks_DT_Instant_Valid = Not a valid instant ({0})
Type_Specific_Checks_DT_Integer64_Valid = The value '{0}' is not a valid integer64
Type_Specific_Checks_DT_Integer_GT = value is greater than permitted maximum value of {0}
Type_Specific_Checks_DT_Integer_LT = value is less than permitted minimum value of {0}
Type_Specific_Checks_DT_Integer_LT0 = value is less than permitted minimum value of 0
Type_Specific_Checks_DT_Integer_LT1 = value is less than permitted minimum value of 1
Type_Specific_Checks_DT_Integer_Valid = The value '{0}' is not a valid integer
Type_Specific_Checks_DT_OID_Start = OIDs must start with urn:oid:
Type_Specific_Checks_DT_OID_Valid = OIDs must be valid
Type_Specific_Checks_DT_Primitive_Length = value is longer than permitted maximum length of {0}
Type_Specific_Checks_DT_Primitive_NotEmpty = @value cannot be empty
Type_Specific_Checks_DT_Primitive_Regex = Element value '{0}' does not meet regex '{1}'
Type_Specific_Checks_DT_Primitive_ValueExt = Primitive types must have a value or must have child extensions
Type_Specific_Checks_DT_Primitive_WS = Primitive types should not only be whitespace
Type_Specific_Checks_DT_String_Length = value is longer than permitted maximum length of 1 MB (1048576 bytes)
Type_Specific_Checks_DT_String_WS = value should not start or finish with whitespace
Type_Specific_Checks_DT_Time_Valid = Not a valid time ({0})
Type_Specific_Checks_DT_URI_OID = URI values cannot start with oid:
Type_Specific_Checks_DT_URI_UUID = URI values cannot start with uuid:
Type_Specific_Checks_DT_URI_WS = URI values cannot have whitespace('{0}')
Type_Specific_Checks_DT_URL_Resolve = URL value '{0}' does not resolve
Type_Specific_Checks_DT_UUID_Strat = UUIDs must start with urn:uuid:
Type_Specific_Checks_DT_UUID_Vaid = UUIDs must be valid ({0})
Validation_BUNDLE_Message = The first entry in a message must be a MessageHeader
Validation_VAL_Content_Unknown = Unrecognised Content {0}
Validation_VAL_NoType = Unknown type {0}
Validation_VAL_Profile_MatchMultiple = Profile {0}, Element matches more than one slice - {1}, {2}
Validation_VAL_Profile_Maximum = {0}: max allowed = {1}, but found {2}
Validation_VAL_Profile_Minimum = {0}: minimum required = {1}, but only found {2}
Validation_VAL_Profile_MultipleMatches = Found multiple matching profiles among choices: {0}
Validation_VAL_Profile_NoCheckMax = {0}: Unable to check max allowed ({1}) due to lack of slicing validation
Validation_VAL_Profile_NoCheckMin = {0}': Unable to check minimum required ({1}) due to lack of slicing validation
Validation_VAL_Profile_NoDefinition = No definition found for resource type '{0}'
Validation_VAL_Profile_NoMatch = Unable to find matching profile among choices: {0}
Validation_VAL_Profile_NoSnapshot = StructureDefinition has no snapshot - validation is against the snapshot, so it must be provided
Validation_VAL_Profile_NoType = The type of element {0} is not known, which is illegal. Valid types at this point are {1}
Validation_VAL_Profile_NotAllowed = This element is not allowed by the profile {0}
Validation_VAL_Profile_NotSlice = This element does not match any known slice {0}
Validation_VAL_Profile_OutOfOrder = As specified by profile {0}, Element '{1}' is out of order
Validation_VAL_Profile_SliceOrder = As specified by profile {0}, Element '{1}' is out of order in ordered slice
Validation_VAL_Profile_Unknown = Profile reference '{0}' could not be resolved, so has not been checked
Validation_VAL_Profile_WrongType = Specified profile type was '{0}', but found type '{1}'
Validation_VAL_Unknown_Profile = Unknown profile {0}
XHTML_XHTML_Attribute_Illegal = Illegal attribute name in the XHTML ('{0}' on '{1}')
XHTML_XHTML_Element_Illegal = Illegal element name in the XHTML ('{0}')
XHTML_XHTML_NS_InValid = Wrong namespace on the XHTML ('{0}', should be '{1}')
XHTML_XHTML_Name_Invalid = Wrong name on the XHTML ('{0}') - must start with div
_DT_Fixed_Wrong = Value is '{0}' but must be '{1}'
All_observations_should_have_an_effectiveDateTime_or_an_effectivePeriod = All observations should have an effectiveDateTime or an effectivePeriod All_observations_should_have_an_effectiveDateTime_or_an_effectivePeriod = All observations should have an effectiveDateTime or an effectivePeriod
All_observations_should_have_a_performer = All observations should have a performer All_observations_should_have_a_performer = All observations should have a performer
All_observations_should_have_a_subject = All observations should have a subject All_observations_should_have_a_subject = All observations should have a subject
Unable_to_resolve_slice_matching__no_fixed_value_or_required_value_set = Unable to resolve slice matching - no fixed value or required value set
Unable_to_resolve_slice_matching__slice_matching_by_value_set_not_done = Unable to resolve slice matching - slice matching by value set not done
Problem_processing_expression__in_profile__path__ = Problem processing expression {0} in profile {1} path {2}: {3}
Unable_to_find_element_with_id_ = Unable to find element with id '{0}'
Slice_encountered_midway_through_set_path___id___ = Slice encountered midway through set (path = {0}, id = {1}); {2}
Unable_to_resolve_actual_type_ = Unable to resolve actual type {0}
Unsupported_version_R1 = Unsupported version R1
Unsupported_fixed_value_type_for_discriminator_for_slice__ = Unsupported fixed value type for discriminator({0}) for slice {1}: {2}
Unsupported_CodeableConcept_pattern__extensions_are_not_allowed__for_discriminator_for_slice_ = Unsupported CodeableConcept pattern - extensions are not allowed - for discriminator({0}) for slice {1}
Unsupported_CodeableConcept_pattern__must_have_at_least_one_coding__for_discriminator_for_slice_ = Unsupported CodeableConcept pattern - must have at least one coding - for discriminator({0}) for slice {1}
Unsupported_CodeableConcept_pattern__using_text__for_discriminator_for_slice_ = Unsupported CodeableConcept pattern - using text - for discriminator({0}) for slice {1}
Unsupported_Identifier_pattern__extensions_are_not_allowed__for_discriminator_for_slice_ = Unsupported Identifier pattern - extensions are not allowed - for discriminator({0}) for slice {1}
Unsupported_fixed_pattern_type_for_discriminator_for_slice__ = Unsupported fixed pattern type for discriminator({0}) for slice {1}: {2}
Problem_evaluating_slicing_expression_for_element_in_profile__path__fhirPath___ = Problem evaluating slicing expression for element in profile {0} path {1} (fhirPath = {2}): {3}
Could_not_match_discriminator__for_slice__in_profile___the_discriminator__does_not_have_fixed_value_binding_or_existence_assertions = Could not match discriminator ({0}) for slice {1} in profile {2} - the discriminator {3} does not have fixed value, binding or existence assertions
Could_not_match_any_discriminators__for_slice__in_profile___None_of_the_discriminator__have_fixed_value_binding_or_existence_assertions = Could not match any discriminators ({0}) for slice {1} in profile {2} - None of the discriminator {3} have fixed value, binding or existence assertions
Discriminator__is_based_on_element_existence_but_slice__neither_sets_min1_or_max0 = Discriminator ({0}) is based on element existence, but slice {1} neither sets min>=1 or max=0
Profile_based_discriminators_must_have_a_type_with_a_profile__in_profile_ = Profile based discriminators must have a type with a profile ({0} in profile {1})
Profile_based_discriminators_must_have_only_one_type__in_profile_ = Profile based discriminators must have only one type ({0} in profile {1})
Profile_based_discriminators_must_have_a_type__in_profile_ = Profile based discriminators must have a type ({0} in profile {1})
Discriminator__is_based_on_type_but_slice__in__has_no_types = Discriminator ({0}) is based on type, but slice {1} in {2} has no types
Discriminator__is_based_on_type_but_slice__in__has_multiple_types_ = Discriminator ({0}) is based on type, but slice {1} in {2} has multiple types: {3}
Found__items_for__resolving_discriminator__from_ = Found {0} items for {1} resolving discriminator {2} from {3}
Unable_to_find__resolving_discriminator__from_ = Unable to find {0} resolving discriminator {1} from {2}
Unable_to_find_resource__at__resolving_discriminator__from_ = Unable to find resource {0} at {1} resolving discriminator {2} from {3}
No_reference_resolving_discriminator__from_ = No reference resolving discriminator {0} from {1}
Unable_to_resolve_element__in_profile_ = Unable to resolve element {0} in profile {1}
Unable_to_resolve_profile_ = Unable to resolve profile {0}
Resource_resolution_services_not_provided = Resource resolution services not provided
Unrecognised_extension_context_ = Unrecognised extension context {0}
Unable_to_locate_the_profile__in_order_to_validate_against_it = Unable to locate the profile '{0}' in order to validate against it
Reference__refers_to_a__not_a_ValueSet = Reference {0} refers to a {1} not a ValueSet
Not_done_yet_ValidatorHostServicesconformsToProfile_when_item_is_not_an_element = Not done yet (ValidatorHostServices.conformsToProfile), when item is not an element
Not_supported_yet = Not supported yet
Unable_to_resolve_ = Unable to resolve {0}
Not_done_yet__resolve__locally_2 = Not done yet - resolve {0} locally (2)
Not_done_yet_ValidatorHostServicesexecuteFunction = Not done yet (ValidatorHostServices.executeFunction)
Not_done_yet_ValidatorHostServicescheckFunction = Not done yet (ValidatorHostServices.checkFunction)
Not_done_yet_ValidatorHostServicesresolveFunction_ = Not done yet (ValidatorHostServices.resolveFunction): {0}