Error guide & FAQ
Plain-language explanations of the messages the FHIR validator produces, grouped by category. The same explanations appear on each issue in your validation results.
21 entries
Additional FHIR rule applies (vital signs) Profile rules
- What it means
- FHIR requires resources carrying this LOINC code (for example blood pressure 85354-9) to also satisfy a base vital-signs profile. The validator is telling you it checked that too.
- Why
- Informational; the extra check passes unless a separate error is shown.
- How to fix
- No action unless another error refers to the vital-signs profile.
Validator message IDs: VALIDATION_VAL_PROFILE_SIGNPOST VALIDATION_VAL_PROFILE_SIGNPOST_BPCODE VALIDATION_VAL_PROFILE_SIGNPOST_OBS
Bundle entry matches no allowed profile Profile rules
- What it means
- The entry did not conform to any allowed profile for its type.
- Why
- Bundles can restrict entries to NP Core profiles.
- How to fix
- Read the nested reason and fix the entry to meet the relevant NP Core profile.
Validator message IDs: BUNDLE_BUNDLE_ENTRY_MULTIPLE_PROFILES_MULTIPLE_MATCHES BUNDLE_BUNDLE_ENTRY_MULTIPLE_PROFILES_NO_MATCH BUNDLE_BUNDLE_ENTRY_MULTIPLE_PROFILES_NO_MATCH_REASON
Cross-version extension problem Profile rules
- What it means
- A FHIR cross-version extension URL is invalid or not allowed.
- Why
- Not applicable to NP Core R4 data.
- How to fix
- Remove it, or use an NP Core extension.
Validator message IDs: EXTENSION_EXT_VERSION_NOTALLOWED EXTENSION_FHIR_VERSION_EARLIEST EXTENSION_FHIR_VERSION_LATEST Extension_EXT_Version_Internal Extension_EXT_Version_Invalid Extension_EXT_Version_InvalidId Extension_EXT_Version_NoChange
Definition could not be resolved Profile rules
- What it means
- A profile, element or reference used during validation could not be found.
- Why
- The result may be incomplete.
- How to fix
- Verify the URLs used in the resource; if the problem persists report it to the sandbox team.
Validator message IDs: SD_ED_TYPE_PROFILE_UNKNOWN Unable_to_resolve_ Unable_to_resolve_element__in_profile_
Does not match any allowed profile Profile rules
- What it means
- The element must conform to one of several profiles and yours matched none (or more than one).
- Why
- NP Core restricts which profiles referenced or nested resources may use.
- How to fix
- Read the nested messages: they list what failed for each candidate profile. Fix the closest one.
Validator message IDs: Reference_REF_CantMatchChoice Reference_REF_CantMatchType Reference_REF_MultipleMatches Validation_VAL_Profile_MultipleMatches Validation_VAL_Profile_NoMatch
Element is not marked must-support Profile rules
- What it means
- You sent an element the profile does not flag as mustSupport.
- Why
- Informational: receivers are not required to understand it.
- How to fix
- No action needed unless you expected the element to be processed.
Validator message IDs: MustSupport_VAL_MustSupport
Element not allowed by profile Profile rules
- What it means
- the element is present, but the profile forbids it (maximum cardinality 0).
- Why
- NP Core prohibits this element so that exchanged data stays consistent.
- How to fix
- Delete the reported location from the resource.
Validator message IDs: Profile_VAL_NotAllowed Validation_VAL_Profile_NotAllowed
Entry does not match any allowed slice Profile rules
- What it means
- The list at the reported location is closed: every entry must match one of the slices the profile defines, and this one matches none (or several).
- Why
- NP Core defines slices (for example one per identifier type) and does not allow other entries here.
- How to fix
- Compare the entry against the slice definitions: usually a wrong
system,typeorcoding.code. Fix it or remove the entry.
Validator message IDs: Validation_VAL_Profile_MatchMultiple Validation_VAL_Profile_NotSlice
Entry does not match any known slice Profile rules
- What it means
- The entry at the reported location was not recognised as any of the profile's slices. The slicing is open, so this is allowed but worth checking.
- Why
- If you intended to supply a profiled entry (for example an NHFR or National ID identifier), a mistake in its system/code means it is not counted.
- How to fix
- Check that the discriminating fields (usually
system,type, orurl) exactly match the profile; ignore if the entry is intentionally extra.
Validator message IDs: Could_not_match_discriminator_for_slice_in_profile Does_not_match_slice_ This_element_does_not_match_any_known_slice_
Extension has the wrong value type Profile rules
- What it means
- The extension value is the wrong data type (for example valueString instead of valueCoding).
- Why
- The extension definition fixes its allowed types.
- How to fix
- Use the
value[x]type listed on the extension page.
{ "url": "<ext>", "valueCoding": { "system": "...", "code": "..." } }
Validator message IDs: Extension_EXT_Simple_ABSENT Extension_EXT_Simple_WRONG Extension_EXT_Type Extension_PROF_Type
Extension used in the wrong place Profile rules
- What it means
- This extension is only valid on specific elements and the reported location is not one of them.
- Why
- Extensions carry meaning only where their definition says they apply.
- How to fix
- Move the extension to the element named in its definition (see the extension page in the IG).
Validator message IDs: EXTENSION_EXTM_CONTEXT_WRONG_XVER EXTENSION_EXTP_CONTEXT_WRONG_XVER Extension_EXTM_Context_Wrong Extension_EXTM_Context_Wrong_VER Extension_EXTP_Context_Wrong Extension_EXTP_Context_Wrong_VER Profile_EXT_Not_Here
extension vs modifierExtension mix-up Profile rules
- What it means
- A normal extension was placed in
modifierExtensionor the reverse. - Why
- Modifier extensions change the meaning of the resource and are treated specially.
- How to fix
- Move it to
extension(ormodifierExtension) as the definition states.
Validator message IDs: Extension_EXT_Modifier_MismatchN Extension_EXT_Modifier_MismatchY Extension_EXT_Modifier_N Extension_EXT_Modifier_Y
Invalid sub-extension Profile rules
- What it means
- A nested extension URL is not defined by the parent extension.
- Why
- Complex extensions define exactly which parts they have.
- How to fix
- Use only the sub-extension urls from the extension definition.
Validator message IDs: Extension_EXT_Count_Mismatch Extension_EXT_Count_NotFound Extension_EXT_Fixed_Banned Extension_EXT_SubExtension_Invalid
No profile for this resource type Profile rules
- What it means
- A bundle entry has a resource type for which no profile was found.
- Why
- The entry is only checked against base FHIR.
- How to fix
- Usually informational. NP Core may not define a profile for this type.
Validator message IDs: Bundle_BUNDLE_Entry_NoProfile_TYPE
Profile cannot be used Profile rules
- What it means
- The profile has an internal problem, so the validator cannot use it.
- Why
- This is not a problem with your data.
- How to fix
- Report to the sandbox team with the profile URL.
Validator message IDs: ERROR_GENERATING_SNAPSHOT ERROR_PROCESSING_SNAPSHOT Profile___base__could_not_be_resolved Validation_VAL_Profile_NoSnapshot
Profile does not apply to this resource type Profile rules
- What it means
- The selected profile is for a different resource type than the one you sent.
- Why
- Each profile constrains exactly one resource type.
- How to fix
- Pick the profile that matches your resourceType, or fix the resourceType.
Validator message IDs: Validation_VAL_Profile_WrongType Validation_VAL_Profile_WrongType2
Profile not found Profile rules
- What it means
- A profile URL (in meta.profile or the request) is not known to this validator.
- Why
- Validation can only be checked against profiles that are loaded; a typo or a made-up URL is silently useless.
- How to fix
- Use the exact canonical URL of an NP Core profile (see the Profiles list in the portal) in
meta.profile, with no trailing spaces or version typo.
"meta": { "profile": [ "<canonical URL of the NP Core profile>" ] }
Validator message IDs: Bundle_BUNDLE_Entry_NoProfile_EXPL Reference_REF_CantResolveProfile Unable_to_resolve_profile__in_element_ Validation_VAL_Profile_Unknown Validation_VAL_Unknown_Profile
Slicing could not be evaluated Profile rules
- What it means
- The validator could not decide which slice an entry belongs to.
- Why
- Usually a profile-side limitation or an earlier error in the same element.
- How to fix
- Fix other errors on this element first; this message often disappears.
Validator message IDs: SLICING_CANNOT_BE_EVALUATED Unable_to_resolve_slice_matching__no_fixed_value_or_required_value_set Unable_to_resolve_slice_matching__slice_matching_by_value_set_not_done
Unknown extension Profile rules
- What it means
- The extension URL is not known to the validator.
- Why
- Unknown extensions cannot be validated; a typo means the data is silently lost. Unknown non-modifier extensions are allowed by FHIR but not understood by NP Core receivers.
- How to fix
- Verify the URL against the IG extension list. If it is your own extension, use your own domain and document it.
Validator message IDs: EXTENSION_CONTEXT_UNABLE_TO_CHECK_PROFILE EXTENSION_CONTEXT_UNABLE_TO_FIND_PROFILE Extension_EXT_Unknown Extension_EXT_Unknown_NotHere
Value differs from the value fixed by the profile Profile rules
- What it means
- The profile requires the element to have an exact value (or a required pattern) and yours differs.
- Why
- Fixed values identify the kind of data (for example a coding system) and cannot vary.
- How to fix
- Set the reported location to exactly the value shown in the message, including case and URL.
Validator message IDs: Fixed_Type_Checks_DT_Address_Line Fixed_Type_Checks_DT_Name_Family Fixed_Type_Checks_DT_Name_Given PATTERN_CHECK_STRING Type_Specific_Checks_DT_Fixed_Wrong _DT_Fixed_Wrong
Why an entry did not match a slice (details) Profile rules
- What it means
- Information attached to another message: it lists the slices the validator tried and why this entry matched none.
- Why
- Helps you see which field (usually
system,urlorcode) differs from what the profile expects. - How to fix
- Read the slice list: the entry is probably missing the discriminating value. Fix the error message it accompanies; nothing to fix here by itself.
Validator message IDs: Details_for__matching_against_Profile_