make a note of missing element codes and tidy up HHSRS

This commit is contained in:
Daniel Roth 2026-01-22 17:04:06 +00:00
parent 212d62e835
commit 7f74c892e6
2 changed files with 96 additions and 63 deletions

View file

@ -115,27 +115,25 @@ class Element(str, Enum):
# HHSRS ALL 29 HAZARDS
# ==========================================================
# --- Physiological requirements (4)
HHSRS_DAMP_AND_MOULD = "hhsrs_damp_and_mould"
HHSRS_EXCESS_COLD = "hhsrs_excess_cold"
HHSRS_EXCESS_HEAT = "hhsrs_excess_heat"
HHSRS_ASBESTOS_AND_MMF = "hhsrs_asbestos_and_mmf"
# --- Psychological requirements (4)
HHSRS_BIOCIDES = "hhsrs_biocides"
HHSRS_CARBON_MONOXIDE = "hhsrs_carbon_monoxide"
HHSRS_LEAD = "hhsrs_lead"
HHSRS_RADIATION = "hhsrs_radiation"
HHSRS_UNCOMBUSTED_FUEL_GAS = "hhsrs_uncombusted_fuel_gas"
HHSRS_VOLATILE_ORGANIC_COMPOUNDS = "hhsrs_volatile_organic_compounds"
HHSRS_CROWDING_AND_SPACE = "hhsrs_crowding_and_space"
HHSRS_ENTRY_BY_INTRUDERS = "hhsrs_entry_by_intruders"
HHSRS_LIGHTING = "hhsrs_lighting"
HHSRS_NOISE = "hhsrs_noise"
# --- Protection against infection (6)
HHSRS_DOMESTIC_HYGIENE_PESTS_REFUSE = "hhsrs_domestic_hygiene_pests_refuse"
HHSRS_FOOD_SAFETY = "hhsrs_food_safety"
HHSRS_PERSONAL_HYGIENE_SANITATION = "hhsrs_personal_hygiene_sanitation"
HHSRS_WATER_SUPPLY = "hhsrs_water_supply"
HHSRS_FALLS_ASSOCIATED_WITH_BATHS = "hhsrs_falls_associated_with_baths"
HHSRS_SURFACES_MOULD = "hhsrs_surfaces_mould"
# --- Protection against accidents (10)
HHSRS_FALLS_ON_LEVEL_SURFACES = "hhsrs_falls_on_level_surfaces"
HHSRS_FALLS_ON_STAIRS = "hhsrs_falls_on_stairs"
HHSRS_FALLS_BETWEEN_LEVELS = "hhsrs_falls_between_levels"
@ -143,12 +141,8 @@ class Element(str, Enum):
HHSRS_FIRE = "hhsrs_fire"
HHSRS_FLAMES_HOT_SURFACES = "hhsrs_flames_hot_surfaces"
HHSRS_COLLISION_AND_ENTRAPMENT = "hhsrs_collision_and_entrapment"
HHSRS_EXPLOSION = "hhsrs_explosion"
HHSRS_COLLISION_HAZARDS_LOW_HEADROOM = "hhsrs_collision_hazards_low_headroom"
HHSRS_EXPLOSIONS = "hhsrs_explosions"
HHSRS_ERGONOMICS = "hhsrs_ergonomics"
HHSRS_STRUCTURAL_COLLAPSE = "hhsrs_structural_collapse"
HHSRS_UNSAFE_GAS = "hhsrs_unsafe_gas"
# --- Protection against pollution (4)
HHSRS_CARBON_MONOXIDE = "hhsrs_carbon_monoxide"
HHSRS_LEAD = "hhsrs_lead"
HHSRS_RADIATION = "hhsrs_radiation"
HHSRS_UNCOMBUSTED_FUEL_GAS = "hhsrs_uncombusted_fuel_gas"
HHSRS_AMENITIES = "hhsrs_amenities"

View file

@ -214,7 +214,7 @@ LBWF_ELEMENT_MAP: dict[str, LbwfElementMapping] = {
element_instance=2,
),
# ==========================================================
# HHSRS PHYSIOLOGICAL REQUIREMENTS
# HHSRS
# ==========================================================
"HHSRSDAMP": LbwfElementMapping(
element=Element.HHSRS_DAMP_AND_MOULD,
@ -232,9 +232,29 @@ LBWF_ELEMENT_MAP: dict[str, LbwfElementMapping] = {
element=Element.HHSRS_ASBESTOS_AND_MMF,
aspect_type=AspectType.RISK,
),
# ==========================================================
# HHSRS PSYCHOLOGICAL REQUIREMENTS
# ==========================================================
"HHSRSBIOCIDES": LbwfElementMapping(
element=Element.HHSRS_BIOCIDES,
aspect_type=AspectType.RISK,
),
"HHSRSCO": LbwfElementMapping(
element=Element.HHSRS_CARBON_MONOXIDE,
aspect_type=AspectType.RISK,
),
"HHSRSLEAD": LbwfElementMapping(
element=Element.HHSRS_LEAD,
aspect_type=AspectType.RISK,
),
"HHSRSRADIA": LbwfElementMapping(
element=Element.HHSRS_RADIATION,
aspect_type=AspectType.RISK,
),
"HHSRSFUEL": LbwfElementMapping(
element=Element.HHSRS_UNCOMBUSTED_FUEL_GAS,
aspect_type=AspectType.RISK,
),
"HHSRSORGAN": LbwfElementMapping(
element=Element.HHSRS_VOLATILE_ORGANIC_COMPOUNDS, aspect_type=AspectType.Risk
),
"HHSRSCROWD": LbwfElementMapping(
element=Element.HHSRS_CROWDING_AND_SPACE,
aspect_type=AspectType.RISK,
@ -243,10 +263,6 @@ LBWF_ELEMENT_MAP: dict[str, LbwfElementMapping] = {
element=Element.HHSRS_ENTRY_BY_INTRUDERS,
aspect_type=AspectType.RISK,
),
"HHSRSENTRP": LbwfElementMapping( # collision / entrapment
element=Element.HHSRS_COLLISION_AND_ENTRAPMENT,
aspect_type=AspectType.RISK,
),
"HHSRSLIGHT": LbwfElementMapping(
element=Element.HHSRS_LIGHTING,
aspect_type=AspectType.RISK,
@ -255,9 +271,6 @@ LBWF_ELEMENT_MAP: dict[str, LbwfElementMapping] = {
element=Element.HHSRS_NOISE,
aspect_type=AspectType.RISK,
),
# ==========================================================
# HHSRS PROTECTION AGAINST INFECTION
# ==========================================================
"HHSRSDOMES": LbwfElementMapping(
element=Element.HHSRS_DOMESTIC_HYGIENE_PESTS_REFUSE,
aspect_type=AspectType.RISK,
@ -278,13 +291,6 @@ LBWF_ELEMENT_MAP: dict[str, LbwfElementMapping] = {
element=Element.HHSRS_FALLS_ASSOCIATED_WITH_BATHS,
aspect_type=AspectType.RISK,
),
"HHSRSPOSI": LbwfElementMapping(
element=Element.HHSRS_SURFACES_MOULD,
aspect_type=AspectType.RISK,
),
# ==========================================================
# HHSRS PROTECTION AGAINST ACCIDENTS
# ==========================================================
"HHSRSFLEVE": LbwfElementMapping(
element=Element.HHSRS_FALLS_ON_LEVEL_SURFACES,
aspect_type=AspectType.RISK,
@ -309,43 +315,76 @@ LBWF_ELEMENT_MAP: dict[str, LbwfElementMapping] = {
element=Element.HHSRS_FLAMES_HOT_SURFACES,
aspect_type=AspectType.RISK,
),
"HHSRSENTRP": LbwfElementMapping(
element=Element.HHSRS_COLLISION_AND_ENTRAPMENT,
aspect_type=AspectType.RISK,
),
"HHSRSEXPLO": LbwfElementMapping(
element=Element.HHSRS_EXPLOSION,
element=Element.HHSRS_EXPLOSIONS,
aspect_type=AspectType.RISK,
),
"HHSRSSTRUC": LbwfElementMapping(
element=Element.HHSRS_STRUCTURAL_COLLAPSE,
aspect_type=AspectType.RISK,
),
# ==========================================================
# HHSRS PROTECTION AGAINST POLLUTION
# ==========================================================
"HHSRSCO": LbwfElementMapping(
element=Element.HHSRS_CARBON_MONOXIDE,
aspect_type=AspectType.RISK,
"HHSRSCLOW": LbwfElementMapping(
element=Element.HHSRS_COLLISION_AND_ENTRAPMENT, aspect_type=AspectType.Risk
),
"HHSRSFUEL": LbwfElementMapping(
element=Element.HHSRS_UNSAFE_GAS,
aspect_type=AspectType.RISK,
),
"HHSRSNO2": LbwfElementMapping(
element=Element.HHSRS_UNCOMBUSTED_FUEL_GAS,
aspect_type=AspectType.RISK,
),
"HHSRSSO2": LbwfElementMapping(
element=Element.HHSRS_UNCOMBUSTED_FUEL_GAS,
aspect_type=AspectType.RISK,
),
"HHSRSLEAD": LbwfElementMapping(
element=Element.HHSRS_LEAD,
aspect_type=AspectType.RISK,
),
"HHSRSRADIA": LbwfElementMapping(
element=Element.HHSRS_RADIATION,
aspect_type=AspectType.RISK,
),
"HHSRSBIOC": LbwfElementMapping(
element=Element.HHSRS_UNCOMBUSTED_FUEL_GAS,
"HHSRSPOSI": LbwfElementMapping(
element=Element.HHSRS_AMENITIES,
aspect_type=AspectType.RISK,
),
}
# Unhandled:
# DECNTHMINC
# EICINSFREQ
# EXTBALCONY
# EXTBPOINTG
# EXTCHIMNEY
# EXTDRPKERB
# EXTDWNPTYP
# EXTEXTDECS
# EXTFASOFBR
# EXTGARDOOR
# EXTGARROOF
# EXTGARSTDR
# EXTGARSTRF
# EXTGARSTWD
# EXTGARWDWS
# EXTGUTRTYP
# EXTHARDSTD
# EXTINTDWNP
# EXTLINTELS
# EXTOUTBOH
# EXTPARKING
# EXTPCHCNPY
# EXTPTFRDR1
# EXTSTRDOOR
# EXTSTRINSP
# EXTSTRROOF
# EXTSTRWDWS
# FFHHDAMP
# FFHHDRNWC
# FFHHHCWAT
# FFHHNEGLC
# FFHHNONAT
# FFHHNOVEN
# FFHHPRPCK
# FFHHUNLAY
# FFHHUNSTA
# INTACCRAMP
# INTADDWCW
# INTBTHREML
# INTCOMHTG
# INTELECTRC
# INTFLRLVL
# INTGASAVAI
# INTHEATREC
# INTHTIMP
# INTKITREML
# INTLOFTINS
# INTNSEINSL
# INTPROGHTG
# INTSTEPSFD
# INTTNTINST