Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 0 additions & 68 deletions medcat-trainer/webapp/api/api/medcat_utils.py

This file was deleted.

2 changes: 1 addition & 1 deletion medcat-trainer/webapp/api/api/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,7 @@ def meta_anns_concept_summary(self) -> List[Dict]:
# Store results for this concept
meta_performance[cui] = {
'cui': cui,
'concept_name': self.cat.cdb.cui2preferred_name[cui],
'concept_name': self.cat.cdb.cui2info[cui]['preferred_name'],
'meta_tasks': meta_task_results
}

Expand Down
1 change: 1 addition & 0 deletions medcat-trainer/webapp/api/api/model_cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ def clear_cached_medcat(project, cat_map: Dict[str, CAT]=CAT_MAP):


def get_cached_cdb(cdb_id: str, cdb_map: Dict[str, CDB]=CDB_MAP) -> CDB:
from api.utils import clear_cdb_cnf_addons
if cdb_id not in cdb_map:
cdb_obj = ConceptDB.objects.get(id=cdb_id)
cdb = CDB.load(cdb_obj.cdb_file.path)
Expand Down
16 changes: 8 additions & 8 deletions medcat-trainer/webapp/api/api/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from django.shortcuts import render
from django.utils import timezone
from django_filters import rest_framework as drf
from medcat.utils.cdb_utils import ch2pt_from_pt2ch, get_all_ch, snomed_ct_concept_path
from rest_framework import viewsets
from rest_framework.decorators import api_view
from rest_framework.response import Response
Expand All @@ -19,7 +20,6 @@
from .admin import download_projects_with_text, download_projects_without_text, \
import_concepts_from_cdb
from .data_utils import upload_projects_export
from .medcat_utils import ch2pt_from_pt2ch, get_all_ch, dedupe_preserve_order, snomed_ct_concept_path
from .metrics import calculate_metrics
from .model_cache import get_medcat, get_cached_cdb, VOCAB_MAP, clear_cached_medcat, CAT_MAP, CDB_MAP, is_model_loaded
from .permissions import *
Expand Down Expand Up @@ -858,11 +858,11 @@ def cdb_cui_children(request, cdb_id):

# currently assumes this is using the SNOMED CT terminology
try:
root_term = {'cui': '138875005', 'pretty_name': cdb.cui2preferred_name['138875005']}
root_term = {'cui': '138875005', 'pretty_name': cdb.cui2info['138875005']['preferred_name']}
if parent_cui is None:
return Response({'results': [root_term]})
else:
child_concepts = [{'cui': cui, 'pretty_name': cdb.cui2preferred_name[cui]}
child_concepts = [{'cui': cui, 'pretty_name': cdb.cui2info[cui]['preferred_name']}
for cui in cdb.addl_info.get('pt2ch')[parent_cui]]
return Response({'results': child_concepts})
except KeyError:
Expand Down Expand Up @@ -894,7 +894,7 @@ def generate_concept_filter_flat_json(request):
for cui in cuis:
ch_nodes = get_all_ch(cui, cdb)
final_filter += [n for n in ch_nodes if n not in excluded_nodes]
final_filter = dedupe_preserve_order(final_filter)
final_filter = {cui:1 for cui in final_filter}.keys()
filter_json = json.dumps(final_filter)
response = HttpResponse(filter_json, content_type='application/json')
response['Content-Disposition'] = 'attachment; filename=filter.json'
Expand All @@ -911,8 +911,8 @@ def generate_concept_filter(request):
# get all children from 'parent' concepts above.
final_filter = {}
for cui in cuis:
final_filter[cui] = [{'cui': c, 'pretty_name': cdb.cui2preferred_name[c]} for c in get_all_ch(cui, cdb)
if c in cdb.cui2preferred_name and c != cui]
final_filter[cui] = [{'cui': c, 'pretty_name': cdb.cui2info[cui]['preferred_name']} for c in get_all_ch(cui, cdb)
if c in cdb.cui2info[cui]['preferred_name'] and c != cui]
resp = {'filter_len': sum(len(f) for f in final_filter.values()) + len(final_filter.keys())}
if resp['filter_len'] < 10000:
# only send across concept filters that are small enough to render
Expand All @@ -928,12 +928,12 @@ def cuis_to_concepts(request):
if cdb_id is not None:
if cuis is not None:
cdb = get_cached_cdb(cdb_id, CDB_MAP)
concept_list = [{'cui': cui, 'name': cdb.cui2preferred_name[cui]} for cui in cuis]
concept_list = [{'cui': cui, 'name': cdb.cui2info[cui]['preferred_name']} for cui in cuis]
resp = {'concept_list': concept_list}
return Response(resp)
else:
cdb = get_cached_cdb(cdb_id, CDB_MAP)
concept_list = [{'cui': cui, 'name': cdb.cui2preferred_name[cui]} for cui in cdb.cui2preferred_name.keys()]
concept_list = [{'cui': cui, 'name': cdb.cui2info[cui]['preferred_name']} for cui in cdb.cui2info.keys()]
resp = {'concept_list': concept_list}
return Response(resp)
return HttpResponseBadRequest('Missing either cuis or cdb_id param. Cannot produce concept list.')
Expand Down