Safety Function Coverage Screening
Use this skill for public, educational safety-function coverage screening. It checks whether a process component declares the protective functions that API RP 14C and ISO 10418 typically associate with that component type, reports the missing functions, and gives a coverage ratio so an agent can flag gaps before a formal Safety Analysis Function Evaluation (SAFE) chart review.
When to Use
- When a user asks whether a vessel or component has the usual API RP 14C protective functions.
- When an agent needs a quick protective-function gap check to scope a safety review.
- When examples must run without confidential SAFE charts, cause-and-effect matrices, or company safety specs.
Inputs
component_type: one of pressure_vessel, separator, gas_pipeline_segment, liquid_pipeline_segment, fired_heater, compressor, pump, or wellhead.
provided_functions: a collection of declared protective-function codes (for example PSH, PSL, PSV, LSH, LSL, TSH, FSV, BSDV).
Outputs
component_type: the normalized component type.
required_functions: the typically required protective-function codes for that type.
provided_functions: the normalized declared functions.
missing_functions: required functions that were not declared.
coverage_ratio: fraction of required functions that are declared.
coverage_warning: ok, watch, or gap.
assumptions: public assumptions used by the placeholder model.
Engineering Method
The Python class SafetyFunctionCoverageModel uses the open API RP 14C / ISO 10418 concept only:
- each component type maps to a public set of typically required protective functions.
- the provided functions are compared to the required set to find missing functions.
- the coverage ratio is the count of provided required functions divided by the required count.
- the warning is a simple rule-based label that flags gaps for a formal review.
This is educational and screening-only logic. The required-function sets are simplified public defaults, not a project SAFE chart. It does not perform an undesirable-event analysis, evaluate detectable abnormal conditions, credit alternate protection, or assess independence and reliability. It is not a replacement for a formal API RP 14C / ISO 10418 SAFE-chart analysis and a qualified safety review.
Python Usage Pattern
from safety_function_coverage_screening import SafetyFunctionCoverageModel
model = SafetyFunctionCoverageModel()
result = model.evaluate(
component_type="separator",
provided_functions=["PSH", "PSL", "PSV", "LSH"],
)
print(result.coverage_warning)
print(result.missing_functions)
print(result.coverage_ratio)
Related NeqSim Functionality
This screening logic is also implemented as a validated NeqSim Java class so it can run inside a process model:
neqsim.process.safety.SafetyAnalysisFunctionEvaluation — API RP 14C / ISO 10418 SAFE-chart coverage evaluation: given a component type and provided protective functions, returns required vs provided functions, the missing list, and a coverage ratio.
neqsim.process.safety.barrier.BarrierRegister and SafetyCriticalElement — barrier management for the credited protective functions.
This skill is a public triage layer aligned with the NeqSim SafetyAnalysisFunctionEvaluation class.
Validation Checklist
Common Mistakes
| Symptom |
Cause |
Fix |
| Coverage looks complete but is not |
Alternate or higher-level protection assumed |
Use a formal SAFE chart to credit alternate protection |
| Wrong required set |
Component type misclassified |
Use the correct component type for the equipment |
| Missing function disputed |
Local code or company practice differs |
Defer to the applicable code and project safety basis |
Limitations
- No proprietary SAFE charts, cause-and-effect matrices, or company safety specs are included.
- No undesirable-event analysis, independence, or reliability assessment is performed.
- The required-function sets are simplified public defaults for screening only.
References
1---2name: neqsim-safety-function-coverage-screening3description: Educational process safety-function coverage screening using the public API RP 14C / ISO 10418 SAFE-chart concept. USE WHEN: a task needs a public, screening-level check of whether a process component has the typically required protective functions (PSH, PSL, PSV, LSH, LSL, etc.) before a formal SAFE-chart and safety analysis review.4---56# Safety Function Coverage Screening78Use this skill for public, educational safety-function coverage screening. It checks whether a process component declares the protective functions that API RP 14C and ISO 10418 typically associate with that component type, reports the missing functions, and gives a coverage ratio so an agent can flag gaps before a formal Safety Analysis Function Evaluation (SAFE) chart review.910## When to Use1112- When a user asks whether a vessel or component has the usual API RP 14C protective functions.13- When an agent needs a quick protective-function gap check to scope a safety review.14- When examples must run without confidential SAFE charts, cause-and-effect matrices, or company safety specs.1516## Inputs1718- `component_type`: one of `pressure_vessel`, `separator`, `gas_pipeline_segment`, `liquid_pipeline_segment`, `fired_heater`, `compressor`, `pump`, or `wellhead`.19- `provided_functions`: a collection of declared protective-function codes (for example `PSH`, `PSL`, `PSV`, `LSH`, `LSL`, `TSH`, `FSV`, `BSDV`).2021## Outputs2223- `component_type`: the normalized component type.24- `required_functions`: the typically required protective-function codes for that type.25- `provided_functions`: the normalized declared functions.26- `missing_functions`: required functions that were not declared.27- `coverage_ratio`: fraction of required functions that are declared.28- `coverage_warning`: `ok`, `watch`, or `gap`.29- `assumptions`: public assumptions used by the placeholder model.3031## Engineering Method3233The Python class `SafetyFunctionCoverageModel` uses the open API RP 14C / ISO 10418 concept only:3435- each component type maps to a public set of typically required protective functions.36- the provided functions are compared to the required set to find missing functions.37- the coverage ratio is the count of provided required functions divided by the required count.38- the warning is a simple rule-based label that flags gaps for a formal review.3940This is educational and screening-only logic. The required-function sets are simplified public defaults, not a project SAFE chart. It does not perform an undesirable-event analysis, evaluate detectable abnormal conditions, credit alternate protection, or assess independence and reliability. It is not a replacement for a formal API RP 14C / ISO 10418 SAFE-chart analysis and a qualified safety review.4142## Python Usage Pattern4344```python45from safety_function_coverage_screening import SafetyFunctionCoverageModel4647model = SafetyFunctionCoverageModel()48result = model.evaluate(49 component_type="separator",50 provided_functions=["PSH", "PSL", "PSV", "LSH"],51)5253print(result.coverage_warning)54print(result.missing_functions)55print(result.coverage_ratio)56```5758## Related NeqSim Functionality5960This screening logic is also implemented as a validated NeqSim Java class so it can run inside a process model:6162- `neqsim.process.safety.SafetyAnalysisFunctionEvaluation` — API RP 14C / ISO 10418 SAFE-chart coverage evaluation: given a component type and provided protective functions, returns required vs provided functions, the missing list, and a coverage ratio.63- `neqsim.process.safety.barrier.BarrierRegister` and `SafetyCriticalElement` — barrier management for the credited protective functions.6465This skill is a public triage layer aligned with the NeqSim `SafetyAnalysisFunctionEvaluation` class.6667## Validation Checklist6869- [ ] Component type is one of the supported public types.70- [ ] Provided functions use recognized protective-function codes.71- [ ] Tests cover full coverage, a gap case, and invalid input.72- [ ] Results are described as educational screening indicators.73- [ ] Real analysis is redirected to a formal SAFE chart, API RP 14C, ISO 10418, and qualified review.7475## Common Mistakes7677| Symptom | Cause | Fix |78| --- | --- | --- |79| Coverage looks complete but is not | Alternate or higher-level protection assumed | Use a formal SAFE chart to credit alternate protection |80| Wrong required set | Component type misclassified | Use the correct component type for the equipment |81| Missing function disputed | Local code or company practice differs | Defer to the applicable code and project safety basis |8283## Limitations8485- No proprietary SAFE charts, cause-and-effect matrices, or company safety specs are included.86- No undesirable-event analysis, independence, or reliability assessment is performed.87- The required-function sets are simplified public defaults for screening only.8889## References9091- NeqSim repository: https://github.com/equinor/neqsim92- NeqSim Skills Guide: https://github.com/equinor/neqsim/blob/master/docs/integration/skills_guide.md