import yaml
import os

YAML_PATH = os.path.join("static", "symptoms_v3.yaml")

with open(YAML_PATH, encoding="utf-8") as f:
    YAML_DATA = yaml.safe_load(f)

FIELD_MAP = {f["key"]: f for f in YAML_DATA["fields"]}


def group_ids_from_keys(selected_keys):
    """
    Return unique group_ids for selected symptoms
    """

    group_ids = set()

    for key in selected_keys:
        field = FIELD_MAP.get(key)
        if not field:
            continue

        gid = field.get("group_id")
        if gid is not None:
            group_ids.add(gid)

    return sorted(group_ids)
