mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
381 lines
11 KiB
Python
381 lines
11 KiB
Python
from backend.condition.domain.element import Element
|
||
from backend.condition.domain.aspect_type import AspectType
|
||
from backend.condition.domain.mapping.element_mapping import ElementMapping
|
||
|
||
|
||
LBWF_ELEMENT_MAP: dict[str, ElementMapping] = {
|
||
# ==========================================================
|
||
# PROPERTY / GENERAL
|
||
# ==========================================================
|
||
"AHR_CAT": ElementMapping(
|
||
element=Element.ACCESSIBLE_HOUSING_REGISTER,
|
||
aspect_type=AspectType.CATEGORY,
|
||
),
|
||
"ASSETSAREA": ElementMapping(
|
||
element=Element.PROPERTY,
|
||
aspect_type=AspectType.AREA,
|
||
),
|
||
# "DECNTHMINC": ElementMapping(
|
||
# element=Element.DECENT_HOMES,
|
||
# aspect_type=AspectType.INCLUSION,
|
||
# ), # Ignore this one
|
||
"QUALITYSTD": ElementMapping(
|
||
element=Element.QUALITY_STANDARD,
|
||
aspect_type=AspectType.TYPE,
|
||
),
|
||
"EXTSTOREY": ElementMapping(
|
||
element=Element.PROPERTY,
|
||
aspect_type=AspectType.CONFIGURATION,
|
||
),
|
||
"FLVL": ElementMapping(
|
||
element=Element.FLOOR_LEVEL_FRONT_DOOR,
|
||
aspect_type=AspectType.LOCATION,
|
||
),
|
||
# ==========================================================
|
||
# ASBESTOS (NON-HHSRS RECORD)
|
||
# ==========================================================
|
||
"ASBESTOS": ElementMapping(
|
||
element=Element.ASBESTOS,
|
||
aspect_type=AspectType.PRESENCE,
|
||
),
|
||
# ==========================================================
|
||
# INTERNAL – BATHROOMS & KITCHENS
|
||
# ==========================================================
|
||
"INTBTHRLOC": ElementMapping(
|
||
element=Element.BATHROOM,
|
||
aspect_type=AspectType.LOCATION,
|
||
),
|
||
"INTBTHADEQ": ElementMapping(
|
||
element=Element.BATHROOM,
|
||
aspect_type=AspectType.ADEQUACY,
|
||
),
|
||
"INTKITADEQ": ElementMapping(
|
||
element=Element.KITCHEN,
|
||
aspect_type=AspectType.ADEQUACY,
|
||
),
|
||
"INTCKRLOC": ElementMapping(
|
||
element=Element.KITCHEN,
|
||
aspect_type=AspectType.LOCATION,
|
||
),
|
||
# ==========================================================
|
||
# INTERNAL – HEATING
|
||
# ==========================================================
|
||
"INTCHEXTNT": ElementMapping(
|
||
element=Element.HEATING_EXTENT,
|
||
aspect_type=AspectType.CONFIGURATION,
|
||
),
|
||
"INTCHDIST": ElementMapping(
|
||
element=Element.HEATING_DISTRIBUTION,
|
||
aspect_type=AspectType.TYPE,
|
||
),
|
||
"INTCHBLR": ElementMapping(
|
||
element=Element.HEATING_BOILER,
|
||
aspect_type=AspectType.TYPE,
|
||
),
|
||
# ==========================================================
|
||
# INTERNAL – FIRE
|
||
# ==========================================================
|
||
"FRARISKRTG": ElementMapping(
|
||
element=Element.FIRE_RISK_ASSESSMENT,
|
||
aspect_type=AspectType.RATING,
|
||
),
|
||
"FRATYPE": ElementMapping(
|
||
element=Element.FIRE_RISK_ASSESSMENT,
|
||
aspect_type=AspectType.TYPE,
|
||
),
|
||
"FRAEVACSTR": ElementMapping(
|
||
element=Element.FIRE_RISK_ASSESSMENT,
|
||
aspect_type=AspectType.STRATEGY,
|
||
),
|
||
"INTSMKDET": ElementMapping(
|
||
element=Element.SMOKE_DETECTION,
|
||
aspect_type=AspectType.PRESENCE,
|
||
),
|
||
"INTCHEXTNT": ElementMapping(
|
||
element=Element.HEATING_SYSTEM,
|
||
aspect_type=AspectType.EXTENT,
|
||
),
|
||
# ==========================================================
|
||
# HEATING & SERVICES
|
||
# ==========================================================
|
||
"INTBOILERF": ElementMapping(
|
||
element=Element.BOILER_FUEL,
|
||
aspect_type=AspectType.TYPE,
|
||
),
|
||
"INTHTDISYS": ElementMapping(
|
||
element=Element.HEATING_SYSTEM,
|
||
aspect_type=AspectType.DISTRIBUTION,
|
||
),
|
||
"INTWTRHTNG": ElementMapping(
|
||
element=Element.WATER_HEATING,
|
||
aspect_type=AspectType.TYPE,
|
||
),
|
||
# ==========================================================
|
||
# EXTERNAL – WALLS (INSTANCED)
|
||
# ==========================================================
|
||
"EXTWALLSTR": ElementMapping(
|
||
element=Element.EXTERNAL_WALL,
|
||
aspect_type=AspectType.STRUCTURE,
|
||
element_instance=1,
|
||
),
|
||
"EXTWALLFN1": ElementMapping(
|
||
element=Element.EXTERNAL_WALL,
|
||
aspect_type=AspectType.FINISH,
|
||
element_instance=1,
|
||
),
|
||
"EXTWALLFN2": ElementMapping(
|
||
element=Element.EXTERNAL_WALL,
|
||
aspect_type=AspectType.FINISH,
|
||
element_instance=2,
|
||
),
|
||
"EXTWALLINS": ElementMapping(
|
||
element=Element.EXTERNAL_WALL,
|
||
aspect_type=AspectType.INSULATION,
|
||
),
|
||
"EXTWALLSPL": ElementMapping(
|
||
element=Element.EXTERNAL_WALL,
|
||
aspect_type=AspectType.CONDITION,
|
||
),
|
||
# ==========================================================
|
||
# EXTERNAL – ROOFS (INSTANCED)
|
||
# ==========================================================
|
||
"EXTRFSTR1": ElementMapping(
|
||
element=Element.ROOF,
|
||
aspect_type=AspectType.STRUCTURE,
|
||
element_instance=1,
|
||
),
|
||
"EXTRFSTR2": ElementMapping(
|
||
element=Element.ROOF,
|
||
aspect_type=AspectType.STRUCTURE,
|
||
element_instance=2,
|
||
),
|
||
"EXTRFSTR3": ElementMapping(
|
||
element=Element.ROOF,
|
||
aspect_type=AspectType.STRUCTURE,
|
||
element_instance=3,
|
||
),
|
||
"EXTROOF1": ElementMapping(
|
||
element=Element.ROOF,
|
||
aspect_type=AspectType.COVERING,
|
||
element_instance=1,
|
||
),
|
||
"EXTROOF2": ElementMapping(
|
||
element=Element.ROOF,
|
||
aspect_type=AspectType.COVERING,
|
||
element_instance=2,
|
||
),
|
||
"EXTROOF3": ElementMapping(
|
||
element=Element.ROOF,
|
||
aspect_type=AspectType.COVERING,
|
||
element_instance=3,
|
||
),
|
||
# ==========================================================
|
||
# EXTERNAL – DOORS & WINDOWS
|
||
# ==========================================================
|
||
"INTFRDOOR": ElementMapping(
|
||
element=Element.EXTERNAL_DOOR,
|
||
aspect_type=AspectType.TYPE,
|
||
),
|
||
"INTFRDRFRR": ElementMapping(
|
||
element=Element.EXTERNAL_DOOR,
|
||
aspect_type=AspectType.FIRE_RATING,
|
||
),
|
||
"EXTBKSDDR1": ElementMapping(
|
||
element=Element.EXTERNAL_DOOR,
|
||
aspect_type=AspectType.TYPE,
|
||
element_instance=1,
|
||
),
|
||
"EXTBKSDDR2": ElementMapping(
|
||
element=Element.EXTERNAL_DOOR,
|
||
aspect_type=AspectType.TYPE,
|
||
element_instance=2,
|
||
),
|
||
"INTWDWTYPE": ElementMapping(
|
||
element=Element.EXTERNAL_WINDOWS,
|
||
aspect_type=AspectType.TYPE,
|
||
),
|
||
"EXTWNDWS1": ElementMapping(
|
||
element=Element.EXTERNAL_WINDOWS,
|
||
aspect_type=AspectType.TYPE,
|
||
element_instance=1,
|
||
),
|
||
"EXTWNDWS2": ElementMapping(
|
||
element=Element.EXTERNAL_WINDOWS,
|
||
aspect_type=AspectType.TYPE,
|
||
element_instance=2,
|
||
),
|
||
# ==========================================================
|
||
# HHSRS
|
||
# ==========================================================
|
||
"HHSRSDAMP": ElementMapping(
|
||
element=Element.HHSRS_DAMP_AND_MOULD,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSCOLD": ElementMapping(
|
||
element=Element.HHSRS_EXCESS_COLD,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSHEAT": ElementMapping(
|
||
element=Element.HHSRS_EXCESS_HEAT,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSASB": ElementMapping(
|
||
element=Element.HHSRS_ASBESTOS_AND_MMF,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSBIOCIDES": ElementMapping(
|
||
element=Element.HHSRS_BIOCIDES,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSCO": ElementMapping(
|
||
element=Element.HHSRS_CARBON_MONOXIDE,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSLEAD": ElementMapping(
|
||
element=Element.HHSRS_LEAD,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSRADIA": ElementMapping(
|
||
element=Element.HHSRS_RADIATION,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSFUEL": ElementMapping(
|
||
element=Element.HHSRS_UNCOMBUSTED_FUEL_GAS,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSORGAN": ElementMapping(
|
||
element=Element.HHSRS_VOLATILE_ORGANIC_COMPOUNDS, aspect_type=AspectType.RISK
|
||
),
|
||
"HHSRSCROWD": ElementMapping(
|
||
element=Element.HHSRS_CROWDING_AND_SPACE,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSENTRY": ElementMapping(
|
||
element=Element.HHSRS_ENTRY_BY_INTRUDERS,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSLIGHT": ElementMapping(
|
||
element=Element.HHSRS_LIGHTING,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSNOISE": ElementMapping(
|
||
element=Element.HHSRS_NOISE,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSDOMES": ElementMapping(
|
||
element=Element.HHSRS_DOMESTIC_HYGIENE_PESTS_REFUSE,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSFOOD": ElementMapping(
|
||
element=Element.HHSRS_FOOD_SAFETY,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSPERS": ElementMapping(
|
||
element=Element.HHSRS_PERSONAL_HYGIENE_SANITATION,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSWATER": ElementMapping(
|
||
element=Element.HHSRS_WATER_SUPPLY,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSFBATH": ElementMapping(
|
||
element=Element.HHSRS_FALLS_ASSOCIATED_WITH_BATHS,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSFLEVE": ElementMapping(
|
||
element=Element.HHSRS_FALLS_ON_LEVEL_SURFACES,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSFSTAI": ElementMapping(
|
||
element=Element.HHSRS_FALLS_ON_STAIRS,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSFBETW": ElementMapping(
|
||
element=Element.HHSRS_FALLS_BETWEEN_LEVELS,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSELEC": ElementMapping(
|
||
element=Element.HHSRS_ELECTRICAL_HAZARDS,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSFIRE": ElementMapping(
|
||
element=Element.HHSRS_FIRE,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSFLAME": ElementMapping(
|
||
element=Element.HHSRS_FLAMES_HOT_SURFACES,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSENTRP": ElementMapping(
|
||
element=Element.HHSRS_COLLISION_AND_ENTRAPMENT,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSEXPLO": ElementMapping(
|
||
element=Element.HHSRS_EXPLOSIONS,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSSTRUC": ElementMapping(
|
||
element=Element.HHSRS_STRUCTURAL_COLLAPSE,
|
||
aspect_type=AspectType.RISK,
|
||
),
|
||
"HHSRSCLOW": ElementMapping(
|
||
element=Element.HHSRS_COLLISION_AND_ENTRAPMENT, aspect_type=AspectType.RISK
|
||
),
|
||
"HHSRSPOSI": ElementMapping(
|
||
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
|