Skip to content

Blocking Rules

Blocking rules are executed before all other rules. These rules validate critical requirements that, if violated, would make other rule checks unreliable or meaningless.

These rules must pass for the linting process to continue with non-blocking rules.

Name: Required Field Present Severity: 🔴 Error Fixable: No Implementation: AST

Ensures that Profiles, CodeSystems, and ValueSets have required fields (Name, Id, Title)

Tags: correctness, blocking, metadata, required-fields

Configuration:

{
"linter": {
"rules": {
"blocking/required-field-present": "error"
}
}
}

Learn more: Required Field Present


Name: Invalid Cardinality Severity: 🔴 Error Fixable: No Implementation: AST

Detects invalid cardinality expressions such as reversed bounds (1..0), invalid syntax, and non-numeric values

Tags: correctness, blocking, cardinality, constraints

Configuration:

{
"linter": {
"rules": {
"blocking/invalid-cardinality": "error"
}
}
}

Learn more: Invalid Cardinality


Name: Binding Strength Present Severity: 🔴 Error Fixable: No Implementation: AST

Ensures that bindings to value sets specify strength (required, extensible, preferred, or example) and use valid strength values

Tags: correctness, blocking, binding, terminology

Configuration:

{
"linter": {
"rules": {
"blocking/binding-strength-present": "error"
}
}
}

Learn more: Binding Strength Present


Name: Duplicate Definition Severity: 🔴 Error Fixable: No Implementation: AST

Prevents duplicate resource names, IDs, and canonical URLs which would cause conflicts

Tags: correctness, blocking, duplicates, conflicts

Configuration:

{
"linter": {
"rules": {
"blocking/duplicate-definition": "error"
}
}
}

Learn more: Duplicate Definition