From 446c9462a04d778625498fb290fe7bfcfbad2573 Mon Sep 17 00:00:00 2001 From: patrick-werner Date: Sun, 1 Mar 2020 21:57:57 +0100 Subject: [PATCH 1/6] String Constant and properties ordered A->Z --- .../fhir/validation/utils/I18nConstants.java | 408 ++++++++--------- .../src/main/resources/Messages.properties | 418 +++++++++--------- .../main/resources/Messages_de_DE.properties | 418 +++++++++--------- 3 files changed, 622 insertions(+), 622 deletions(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/utils/I18nConstants.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/utils/I18nConstants.java index add24e6e8..934f60099 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/utils/I18nConstants.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/utils/I18nConstants.java @@ -2,230 +2,230 @@ package org.hl7.fhir.validation.utils; public class I18nConstants { - public final static String RESOURCE_RES_ID_PROHIBITED = "Resource_RES_ID_Prohibited"; - 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_CANONICAL = "Bundle_BUNDLE_Entry_Canonical"; 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_TYPE2 = "Bundle_BUNDLE_Entry_Type2"; + public final static String BUNDLE_BUNDLE_ENTRY_IDURLMISMATCH = "Bundle_BUNDLE_Entry_IdUrlMismatch"; + 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_TYPE = "Bundle_BUNDLE_Entry_Type"; 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_IDURLMISMATCH = "Bundle_BUNDLE_Entry_IdUrlMismatch"; - public final static String BUNDLE_BUNDLE_ENTRY_CANONICAL = "Bundle_BUNDLE_Entry_Canonical"; - public final static String BUNDLE_BUNDLE_ENTRY_MISMATCHIDURL = "Bundle_BUNDLE_Entry_MismatchIdUrl"; - public final static String BUNDLE_BUNDLE_ENTRY_NOFIRSTRESOURCE = "Bundle_BUNDLE_Entry_NoFirstResource"; - 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_ENTRY_TYPE = "Bundle_BUNDLE_Entry_Type"; + public final static String BUNDLE_BUNDLE_ENTRY_TYPE2 = "Bundle_BUNDLE_Entry_Type2"; + public final static String BUNDLE_BUNDLE_ENTRY_TYPE3 = "Bundle_BUNDLE_Entry_Type3"; + public final static String BUNDLE_BUNDLE_FULLURL_MISSING = "Bundle_BUNDLE_FullUrl_Missing"; 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 REFERENCE_REF_FORMAT2 = "Reference_REF_Format2"; - 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_BUNDLE_NOT_LOCAL = "Bundle_BUNDLE_Not_Local"; 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 REFERENCE_REF_NOTFOUND_BUNDLE = "Reference_REF_NotFound_Bundle"; + public final static String CAPABALITYSTATEMENT_CS_SP_WRONGTYPE = "CapabalityStatement_CS_SP_WrongType"; + 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_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_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_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_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_NOVALID_18 = "Terminology_TX_NoValid_18"; - public final static String TERMINOLOGY_TX_NOVALID_17 = "Terminology_TX_NoValid_17"; - public final static String TERMINOLOGY_TX_NOVALID_16 = "Terminology_TX_NoValid_16"; + public final static String TERMINOLOGY_TX_CODE_NOTVALID = "Terminology_TX_Code_NotValid"; + public final static String TERMINOLOGY_TX_CODE_UNKNOWN = "Terminology_TX_Code_Unknown"; + 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_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 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_ELEMENT_ILLEGAL = "XHTML_XHTML_Element_Illegal"; 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 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 XHTML_XHTML_NS_INVALID = "XHTML_XHTML_NS_InValid"; 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_A_PERFORMER = "All_observations_should_have_a_performer"; public final static String ALL_OBSERVATIONS_SHOULD_HAVE_A_SUBJECT = "All_observations_should_have_a_subject"; diff --git a/org.hl7.fhir.validation/src/main/resources/Messages.properties b/org.hl7.fhir.validation/src/main/resources/Messages.properties index a5f5f2e3d..66b32adce 100644 --- a/org.hl7.fhir.validation/src/main/resources/Messages.properties +++ b/org.hl7.fhir.validation/src/main/resources/Messages.properties @@ -1,229 +1,229 @@ #InstanceValidator -Resource_RES_ID_Prohibited = Resource has an id, but none is allowed -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_Canonical = The canonical URL ({0}) cannot match the fullUrl ({1}) unless on the canonical server itself 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_Type2 = The type '{0}' is not valid - must be {1} +Bundle_BUNDLE_Entry_IdUrlMismatch = Resource ID does not match the ID in the entry full URL ('{0}' vs '{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_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_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_Canonical = The canonical URL ({0}) cannot match the fullUrl ({1}) unless on the canonical server itself -Bundle_BUNDLE_Entry_MismatchIdUrl = The canonical URL ({0}) cannot match the fullUrl ({1}) unless the resource id ({2}) also matches -Bundle_BUNDLE_Entry_NoFirstResource = No resource on first entry -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_Entry_Type = The type '{0} is not valid - no resources allowed here +Bundle_BUNDLE_Entry_Type2 = The type '{0}' is not valid - must be {1} +Bundle_BUNDLE_Entry_Type3 = The type '{0}' is not valid - must be one of {1} +Bundle_BUNDLE_FullUrl_Missing = Relative Reference appears inside Bundle whose entry is missing a fullUrl 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} -Reference_REF_Format2 = Relative URLs must be of the format [ResourceName]/[id]. Encountered {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_BUNDLE_Not_Local = URN reference is not locally contained within the bundle {0} 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}) -Reference_REF_NotFound_Bundle = Bundled or contained reference not found within the bundle/resource {0} -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_MultipleMatches = Found multiple matching profiles for {0} among choices: {1} -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}') +CapabalityStatement_CS_SP_WrongType = Type mismatch - SearchParameter '{0}' type is {1}, but type here is {2} +CodeSystem_CS_VS_IncludeDetails = CodeSystem {0} has a 'all system' value set of {1}, but the include has extra details +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 +CodeSystem_CS_VS_WrongSystem = CodeSystem {0} has a 'all system' value set of {1}, but doesn't have a matching system ({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_Simple = The Extension '{0}' definition is for a simple extension, so it must contain a value, not extensions -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_Count_Mismatch = Extensions count mismatch: expected {0} but found {1} +Extension_EXT_Count_NotFound = Extension count mismatch: unable to find extension: {0} +Extension_EXT_Fixed_Banned = No extensions allowed, as the specified fixed value doesn't contain any extensions 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_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_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_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}') -Terminology_TX_Error_Coding2 = Error {0} validating Coding: {1} -Terminology_TX_Binding_NoSource = Binding for path {0} has no source, so can't be checked -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}' +Extension_EXT_Version_InvalidId = Extension url '{0}' is not valid (invalid Element id '{1}') +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) 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 +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_Valid = Not a valid date time +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_a_performer = All observations should have a performer All_observations_should_have_a_subject = All observations should have a subject diff --git a/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties b/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties index a5f5f2e3d..66b32adce 100644 --- a/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties +++ b/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties @@ -1,229 +1,229 @@ #InstanceValidator -Resource_RES_ID_Prohibited = Resource has an id, but none is allowed -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_Canonical = The canonical URL ({0}) cannot match the fullUrl ({1}) unless on the canonical server itself 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_Type2 = The type '{0}' is not valid - must be {1} +Bundle_BUNDLE_Entry_IdUrlMismatch = Resource ID does not match the ID in the entry full URL ('{0}' vs '{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_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_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_Canonical = The canonical URL ({0}) cannot match the fullUrl ({1}) unless on the canonical server itself -Bundle_BUNDLE_Entry_MismatchIdUrl = The canonical URL ({0}) cannot match the fullUrl ({1}) unless the resource id ({2}) also matches -Bundle_BUNDLE_Entry_NoFirstResource = No resource on first entry -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_Entry_Type = The type '{0} is not valid - no resources allowed here +Bundle_BUNDLE_Entry_Type2 = The type '{0}' is not valid - must be {1} +Bundle_BUNDLE_Entry_Type3 = The type '{0}' is not valid - must be one of {1} +Bundle_BUNDLE_FullUrl_Missing = Relative Reference appears inside Bundle whose entry is missing a fullUrl 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} -Reference_REF_Format2 = Relative URLs must be of the format [ResourceName]/[id]. Encountered {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_BUNDLE_Not_Local = URN reference is not locally contained within the bundle {0} 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}) -Reference_REF_NotFound_Bundle = Bundled or contained reference not found within the bundle/resource {0} -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_MultipleMatches = Found multiple matching profiles for {0} among choices: {1} -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}') +CapabalityStatement_CS_SP_WrongType = Type mismatch - SearchParameter '{0}' type is {1}, but type here is {2} +CodeSystem_CS_VS_IncludeDetails = CodeSystem {0} has a 'all system' value set of {1}, but the include has extra details +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 +CodeSystem_CS_VS_WrongSystem = CodeSystem {0} has a 'all system' value set of {1}, but doesn't have a matching system ({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_Simple = The Extension '{0}' definition is for a simple extension, so it must contain a value, not extensions -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_Count_Mismatch = Extensions count mismatch: expected {0} but found {1} +Extension_EXT_Count_NotFound = Extension count mismatch: unable to find extension: {0} +Extension_EXT_Fixed_Banned = No extensions allowed, as the specified fixed value doesn't contain any extensions 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_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_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_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}') -Terminology_TX_Error_Coding2 = Error {0} validating Coding: {1} -Terminology_TX_Binding_NoSource = Binding for path {0} has no source, so can't be checked -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}' +Extension_EXT_Version_InvalidId = Extension url '{0}' is not valid (invalid Element id '{1}') +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) 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 +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_Valid = Not a valid date time +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_a_performer = All observations should have a performer All_observations_should_have_a_subject = All observations should have a subject From ba5eea67741eabe57cc96e176482ee2b70b6a653 Mon Sep 17 00:00:00 2001 From: patrick-werner Date: Sun, 1 Mar 2020 22:22:52 +0100 Subject: [PATCH 2/6] fixed MessageFormat.format for messages without arguments removed duplicage entry from property file --- .../java/org/hl7/fhir/validation/BaseValidator.java | 10 ++++++++-- .../fhir/validation/instance/InstanceValidator.java | 2 +- .../src/main/resources/Messages.properties | 1 - .../src/main/resources/Messages_de_DE.properties | 1 - 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java index cc8576f70..8016e14bb 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java @@ -53,6 +53,7 @@ POSSIBILITY OF SUCH DAMAGE. import java.text.MessageFormat; import java.util.List; +import java.util.MissingResourceException; import java.util.ResourceBundle; import org.apache.commons.lang3.StringUtils; import org.hl7.fhir.dstu3.model.Resource; @@ -150,8 +151,13 @@ public class BaseValidator { String message; if (theMessageArguments != null && theMessageArguments.length > 0) { message = MessageFormat.format(messages.getString(theMessage), theMessageArguments); - } else { - message = theMessage; + } else { + try { + message = messages.getString(theMessage); + } catch (MissingResourceException e) { + // non-internationalized String + message = theMessage; + } } return message; } diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java index 76cb6f88e..493b66b69 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java @@ -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()); rule(errors, IssueType.INVALID, e.line(), e.col(), path, 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, !context.hasMaxLength() || context.getMaxLength() == 0 || e.primitiveValue().length() <= context.getMaxLength(), I18nConstants.TYPE_SPECIFIC_CHECKS_DT_PRIMITIVE_LENGTH, context.getMaxLength()); try { diff --git a/org.hl7.fhir.validation/src/main/resources/Messages.properties b/org.hl7.fhir.validation/src/main/resources/Messages.properties index 66b32adce..293880d47 100644 --- a/org.hl7.fhir.validation/src/main/resources/Messages.properties +++ b/org.hl7.fhir.validation/src/main/resources/Messages.properties @@ -166,7 +166,6 @@ 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_Valid = Not a valid date time 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 diff --git a/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties b/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties index 66b32adce..293880d47 100644 --- a/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties +++ b/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties @@ -166,7 +166,6 @@ 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_Valid = Not a valid date time 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 From 594d77985d038d88f1e50fade5700f6e5f2e76d5 Mon Sep 17 00:00:00 2001 From: patrick-werner Date: Sun, 1 Mar 2020 22:37:34 +0100 Subject: [PATCH 3/6] extracted Throwable messages --- .../instance/InstanceValidator.java | 84 +++++++++---------- .../fhir/validation/utils/I18nConstants.java | 39 +++++++++ .../src/main/resources/Messages.properties | 39 +++++++++ .../main/resources/Messages_de_DE.properties | 39 +++++++++ 4 files changed, 159 insertions(+), 42 deletions(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java index 493b66b69..b0343a234 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java @@ -197,17 +197,17 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat @Override 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 public TypeDetails checkFunction(Object appContext, String functionName, List parameters) throws PathEngineException { - throw new Error("Not done yet (ValidatorHostServices.checkFunction)"); + throw new Error(formatMessage(I18nConstants.NOT_DONE_YET_VALIDATORHOSTSERVICESCHECKFUNCTION)); } @Override public List executeFunction(Object appContext, String functionName, List> parameters) { - throw new Error("Not done yet (ValidatorHostServices.executeFunction)"); + throw new Error(formatMessage(I18nConstants.NOT_DONE_YET_VALIDATORHOSTSERVICESEXECUTEFUNCTION)); } @Override @@ -240,7 +240,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat throw new FHIRException(e); } 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; StructureDefinition sd = context.fetchResource(StructureDefinition.class, url); if (sd == null) { - throw new FHIRException("Unable to resolve " + url); + throw new FHIRException(formatMessage(I18nConstants.UNABLE_TO_RESOLVE_, url)); } InstanceValidator self = InstanceValidator.this; List valerrors = new ArrayList(); @@ -285,10 +285,10 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (e.isResource()) { self.validateResource(new ValidatorHostContext(ctxt.getAppContext(), e), valerrors, e, e, sd, IdStatus.OPTIONAL, new NodeStack(e)); } else { - throw new FHIRException("Not supported yet"); + throw new FHIRException(formatMessage(I18nConstants.NOT_SUPPORTED_YET)); } } 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; List record = new ArrayList<>(); for (ValidationMessage v : valerrors) { @@ -312,7 +312,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (r instanceof ValueSet) return (ValueSet) r; 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; @@ -513,7 +513,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat private StructureDefinition getSpecifiedProfile(String profile) { StructureDefinition sd = context.fetchResource(StructureDefinition.class, profile); 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; } @@ -1566,7 +1566,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat ok = true; } } else { - throw new Error("Unrecognised extension context " + ctxt.getTypeElement().asStringValue()); + throw new Error(formatMessage(I18nConstants.UNRECOGNISED_EXTENSION_CONTEXT_, ctxt.getTypeElement().asStringValue())); } } if (!ok) { @@ -2092,7 +2092,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (we == null) { if (fetcher == null) { if (!refType.equals("contained")) - throw new FHIRException("Resource resolution services not provided"); + throw new FHIRException(formatMessage(I18nConstants.RESOURCE_RESOLUTION_SERVICES_NOT_PROVIDED)); } else { Element ext = null; 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; StructureDefinition sd = context.fetchResource(StructureDefinition.class, p.getValue()); if (sd == null) - throw new DefinitionException("Unable to resolve profile " + p); + throw new DefinitionException(formatMessage(I18nConstants.UNABLE_TO_RESOLVE_PROFILE_, p)); profile = sd; if (id == null) element = sd.getSnapshot().getElementFirstRep(); @@ -2488,7 +2488,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat element = t; } 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)); t2 = System.nanoTime(); @@ -2639,20 +2639,20 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (focus.fhirType().equals("Reference") && d.equals("reference")) { String url = focus.getChildValue("reference"); 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? Element target = resolve(appContext, url, stack, errors, p); 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; } else if (d.equals("value") && focus.isPrimitive()) { return focus; } else { List children = focus.getChildren(d); 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) - 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); p = p + "." + d; } @@ -3077,23 +3077,23 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat discriminator = discriminator.substring(0, discriminator.indexOf('[')); type = criteriaElement.getType().get(0).getWorkingCode(); } 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 - 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()) expression.append(" and $this is " + type); else expression.append(" and " + discriminator + " is " + type); } else if (s.getType() == DiscriminatorType.PROFILE) { 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) { - 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 list = discriminator.endsWith(".resolve()") || discriminator.equals("resolve()") ? criteriaElement.getType().get(0).getTargetProfile() : criteriaElement.getType().get(0).getProfile(); 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) { CommaSeparatedStringBuilder b = new CommaSeparatedStringBuilder(" or "); for (CanonicalType c : list) { @@ -3109,7 +3109,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat else if (criteriaElement.hasMax() && criteriaElement.getMax().equals("0")) expression.append(" and (" + discriminator + ".exists().not())"); 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()) { buildFixedExpression(ed, expression, discriminator, criteriaElement); } else if (criteriaElement.hasPattern()) { @@ -3127,15 +3127,15 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat } if (!anyFound) { 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 - 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 { n = fpe.parse(fixExpr(expression.toString())); } 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); ed.setUserData("slice.expression.cache", n); @@ -3163,7 +3163,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat msg = fpe.forLog(); } catch (Exception ex) { 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; } @@ -3183,13 +3183,13 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat expression.append(" and "); buildIdentifierExpression(ed, expression, discriminator, ii); } 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) throws DefinitionException { 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; expression.append(discriminator + ".where("); 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) throws DefinitionException { 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()) - 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()) - 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; for (Coding c : cc.getCoding()) { 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; else expression.append(" and "); 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) throws DefinitionException { 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("); boolean first = true; if (c.hasSystem()) { @@ -3318,7 +3318,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat } else if (fixed instanceof BooleanType) { expression.append(((BooleanType) fixed).asStringValue()); } 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 + ")"); } } @@ -3680,7 +3680,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat byte[] json = bs.toByteArray(); switch (v) { case DSTU1: - throw new FHIRException("Unsupported version R1"); + throw new FHIRException(formatMessage(I18nConstants.UNSUPPORTED_VERSION_R1)); case DSTU2: org.hl7.fhir.dstu2.model.Resource r2 = new org.hl7.fhir.dstu2.formats.JsonParser().parse(json); Resource r5 = VersionConvertor_10_50.convertResource(r2); @@ -4622,7 +4622,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat else dt = this.context.fetchResource(StructureDefinition.class, "http://hl7.org/fhir/StructureDefinition/" + actualType); 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); 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(); if (!resource.getChildValue("id").isEmpty()) 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; process = false; @@ -5104,7 +5104,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (tail.equals(t.getId())) 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) { @@ -5176,7 +5176,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat try { n = fpe.parse(fixExpr(inv.getExpression())); } 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); 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); return msgs.size() == 0; } 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 { - 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)); } } diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/utils/I18nConstants.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/utils/I18nConstants.java index 934f60099..2a30f494c 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/utils/I18nConstants.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/utils/I18nConstants.java @@ -229,5 +229,44 @@ public class I18nConstants { 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_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_"; } diff --git a/org.hl7.fhir.validation/src/main/resources/Messages.properties b/org.hl7.fhir.validation/src/main/resources/Messages.properties index 293880d47..001b8b057 100644 --- a/org.hl7.fhir.validation/src/main/resources/Messages.properties +++ b/org.hl7.fhir.validation/src/main/resources/Messages.properties @@ -226,3 +226,42 @@ _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_a_performer = All observations should have a performer 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} diff --git a/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties b/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties index 293880d47..001b8b057 100644 --- a/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties +++ b/org.hl7.fhir.validation/src/main/resources/Messages_de_DE.properties @@ -226,3 +226,42 @@ _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_a_performer = All observations should have a performer 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} From 822b50b8d7ab19ad56d9806cff8d144250226d32 Mon Sep 17 00:00:00 2001 From: patrick-werner Date: Sun, 1 Mar 2020 22:44:28 +0100 Subject: [PATCH 4/6] replaced Exception controll flow --- .../java/org/hl7/fhir/validation/BaseValidator.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java index 8016e14bb..ce35adbc3 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java @@ -146,18 +146,15 @@ public class BaseValidator { return thePass; } - + protected String formatMessage(String theMessage, Object... theMessageArguments) { String message; if (theMessageArguments != null && theMessageArguments.length > 0) { message = MessageFormat.format(messages.getString(theMessage), theMessageArguments); + } else if (messages.containsKey(theMessage)) { + message = messages.getString(theMessage); } else { - try { - message = messages.getString(theMessage); - } catch (MissingResourceException e) { - // non-internationalized String - message = theMessage; - } + message = theMessage; } return message; } From ca6d92c39083fbb66554abe957d5c6d2fa84faee Mon Sep 17 00:00:00 2001 From: patrick-werner Date: Sun, 1 Mar 2020 22:47:41 +0100 Subject: [PATCH 5/6] deleted unnecessary imports --- .../src/main/java/org/hl7/fhir/validation/BaseValidator.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java index ce35adbc3..e24153be8 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java @@ -52,11 +52,8 @@ POSSIBILITY OF SUCH DAMAGE. import java.text.MessageFormat; import java.util.List; - -import java.util.MissingResourceException; import java.util.ResourceBundle; import org.apache.commons.lang3.StringUtils; -import org.hl7.fhir.dstu3.model.Resource; import org.hl7.fhir.r5.context.IWorkerContext; import org.hl7.fhir.utilities.validation.ValidationMessage; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity; From b626f5867bbd2bfbfd15598675ce64b4823f1b79 Mon Sep 17 00:00:00 2001 From: patrick-werner Date: Sun, 1 Mar 2020 22:51:57 +0100 Subject: [PATCH 6/6] always check for contained key --- .../java/org/hl7/fhir/validation/BaseValidator.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java index e24153be8..c95e1f364 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java @@ -145,11 +145,13 @@ public class BaseValidator { protected String formatMessage(String theMessage, Object... theMessageArguments) { - String message; - if (theMessageArguments != null && theMessageArguments.length > 0) { - message = MessageFormat.format(messages.getString(theMessage), theMessageArguments); - } else if (messages.containsKey(theMessage)) { - message = messages.getString(theMessage); + String message = ""; + if (messages.containsKey(theMessage)) { + if (theMessageArguments != null && theMessageArguments.length > 0) { + message = MessageFormat.format(messages.getString(theMessage), theMessageArguments); + } else if (messages.containsKey(theMessage)) { + message = messages.getString(theMessage); + } } else { message = theMessage; }