I'd suggest investigating business service approach. If it does not fit for some reason we can look at the other options again.
A business service has concept of "checks". These are visible in "Object details" as a tab. There can be one or several checks - these could be DCIs (status of the check depends whether a threshold on the DCI is triggered or not) - and there are object status checks and script checks.
Also, business services can be nested - a business service can contain a number of child business services. Status of child business services will be propagated to the parent business service, so it could also be built that way.
A business service has concept of "checks". These are visible in "Object details" as a tab. There can be one or several checks - these could be DCIs (status of the check depends whether a threshold on the DCI is triggered or not) - and there are object status checks and script checks.
Also, business services can be nested - a business service can contain a number of child business services. Status of child business services will be propagated to the parent business service, so it could also be built that way.