Skip to content

Commit 0bb0906

Browse files
tomolopolisTom Searle
andauthored
CU-869awpaf3: (chore): medcat-trainer: remove cdb_utils, fix vestigial medcat-v2 migration issues (#188)
Co-authored-by: Tom Searle <[email protected]>
1 parent 0437f41 commit 0bb0906

File tree

4 files changed

+10
-77
lines changed

4 files changed

+10
-77
lines changed

medcat-trainer/webapp/api/api/medcat_utils.py

Lines changed: 0 additions & 68 deletions
This file was deleted.

medcat-trainer/webapp/api/api/metrics.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,7 @@ def meta_anns_concept_summary(self) -> List[Dict]:
420420
# Store results for this concept
421421
meta_performance[cui] = {
422422
'cui': cui,
423-
'concept_name': self.cat.cdb.cui2preferred_name[cui],
423+
'concept_name': self.cat.cdb.cui2info[cui]['preferred_name'],
424424
'meta_tasks': meta_task_results
425425
}
426426

medcat-trainer/webapp/api/api/model_cache.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ def clear_cached_medcat(project, cat_map: Dict[str, CAT]=CAT_MAP):
202202

203203

204204
def get_cached_cdb(cdb_id: str, cdb_map: Dict[str, CDB]=CDB_MAP) -> CDB:
205+
from api.utils import clear_cdb_cnf_addons
205206
if cdb_id not in cdb_map:
206207
cdb_obj = ConceptDB.objects.get(id=cdb_id)
207208
cdb = CDB.load(cdb_obj.cdb_file.path)

medcat-trainer/webapp/api/api/views.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from django.shortcuts import render
1212
from django.utils import timezone
1313
from django_filters import rest_framework as drf
14+
from medcat.utils.cdb_utils import ch2pt_from_pt2ch, get_all_ch, snomed_ct_concept_path
1415
from rest_framework import viewsets
1516
from rest_framework.decorators import api_view
1617
from rest_framework.response import Response
@@ -19,7 +20,6 @@
1920
from .admin import download_projects_with_text, download_projects_without_text, \
2021
import_concepts_from_cdb
2122
from .data_utils import upload_projects_export
22-
from .medcat_utils import ch2pt_from_pt2ch, get_all_ch, dedupe_preserve_order, snomed_ct_concept_path
2323
from .metrics import calculate_metrics
2424
from .model_cache import get_medcat, get_cached_cdb, VOCAB_MAP, clear_cached_medcat, CAT_MAP, CDB_MAP, is_model_loaded
2525
from .permissions import *
@@ -858,11 +858,11 @@ def cdb_cui_children(request, cdb_id):
858858

859859
# currently assumes this is using the SNOMED CT terminology
860860
try:
861-
root_term = {'cui': '138875005', 'pretty_name': cdb.cui2preferred_name['138875005']}
861+
root_term = {'cui': '138875005', 'pretty_name': cdb.cui2info['138875005']['preferred_name']}
862862
if parent_cui is None:
863863
return Response({'results': [root_term]})
864864
else:
865-
child_concepts = [{'cui': cui, 'pretty_name': cdb.cui2preferred_name[cui]}
865+
child_concepts = [{'cui': cui, 'pretty_name': cdb.cui2info[cui]['preferred_name']}
866866
for cui in cdb.addl_info.get('pt2ch')[parent_cui]]
867867
return Response({'results': child_concepts})
868868
except KeyError:
@@ -894,7 +894,7 @@ def generate_concept_filter_flat_json(request):
894894
for cui in cuis:
895895
ch_nodes = get_all_ch(cui, cdb)
896896
final_filter += [n for n in ch_nodes if n not in excluded_nodes]
897-
final_filter = dedupe_preserve_order(final_filter)
897+
final_filter = {cui:1 for cui in final_filter}.keys()
898898
filter_json = json.dumps(final_filter)
899899
response = HttpResponse(filter_json, content_type='application/json')
900900
response['Content-Disposition'] = 'attachment; filename=filter.json'
@@ -911,8 +911,8 @@ def generate_concept_filter(request):
911911
# get all children from 'parent' concepts above.
912912
final_filter = {}
913913
for cui in cuis:
914-
final_filter[cui] = [{'cui': c, 'pretty_name': cdb.cui2preferred_name[c]} for c in get_all_ch(cui, cdb)
915-
if c in cdb.cui2preferred_name and c != cui]
914+
final_filter[cui] = [{'cui': c, 'pretty_name': cdb.cui2info[cui]['preferred_name']} for c in get_all_ch(cui, cdb)
915+
if c in cdb.cui2info[cui]['preferred_name'] and c != cui]
916916
resp = {'filter_len': sum(len(f) for f in final_filter.values()) + len(final_filter.keys())}
917917
if resp['filter_len'] < 10000:
918918
# only send across concept filters that are small enough to render
@@ -928,12 +928,12 @@ def cuis_to_concepts(request):
928928
if cdb_id is not None:
929929
if cuis is not None:
930930
cdb = get_cached_cdb(cdb_id, CDB_MAP)
931-
concept_list = [{'cui': cui, 'name': cdb.cui2preferred_name[cui]} for cui in cuis]
931+
concept_list = [{'cui': cui, 'name': cdb.cui2info[cui]['preferred_name']} for cui in cuis]
932932
resp = {'concept_list': concept_list}
933933
return Response(resp)
934934
else:
935935
cdb = get_cached_cdb(cdb_id, CDB_MAP)
936-
concept_list = [{'cui': cui, 'name': cdb.cui2preferred_name[cui]} for cui in cdb.cui2preferred_name.keys()]
936+
concept_list = [{'cui': cui, 'name': cdb.cui2info[cui]['preferred_name']} for cui in cdb.cui2info.keys()]
937937
resp = {'concept_list': concept_list}
938938
return Response(resp)
939939
return HttpResponseBadRequest('Missing either cuis or cdb_id param. Cannot produce concept list.')

0 commit comments

Comments
 (0)