Skip to content

medcat.utils.filters

Functions:

  • project_filters

    Context manager with per project filters based on a trainer export.

project_filters

Context manager with per project filters based on a trainer export.

Parameters:

Source code in medcat-v2/medcat/utils/filters.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
def project_filters(filters: LinkingFilters,
                    project: MedCATTrainerExportProject,
                    extra_cui_filter: Optional[set[str]],
                    use_project_filters: bool):
    """Context manager with per project filters based on a trainer export.

    Args:
        filters (LinkingFilters): The current config.
        project (MedCATTrainerExportProject): The trainer export.
        extra_cui_filter (Optional[set[str]]): Extra cui filters.
        use_project_filters (bool): Whether to use project filters.
    """
    if extra_cui_filter is not None and not use_project_filters:
        return temp_changed_config(filters, 'cuis', extra_cui_filter)
    if use_project_filters:
        cuis = project.get('cuis', None)
        if cuis is None or not cuis:
            return nullcontext()
        return temp_changed_config(filters, 'cuis', set(cuis.split(",")))
    return temp_changed_config(filters, 'cuis', set())