11from rest_framework import serializers
22from ...models .model_medRule import MedRule , MedRuleSource
3- from ..listMeds .models import Medication
43from ..listMeds .serializers import MedicationSerializer
54from ...models .model_embeddings import Embeddings
65
76
87class EmbeddingsSerializer (serializers .ModelSerializer ):
98 class Meta :
109 model = Embeddings
11- fields = [' guid' , ' name' , ' text' , ' page_num' , ' chunk_number' ]
10+ fields = [" guid" , " name" , " text" , " page_num" , " chunk_number" ]
1211
1312
1413class MedicationWithSourcesSerializer (serializers .Serializer ):
@@ -22,28 +21,33 @@ class MedRuleSerializer(serializers.ModelSerializer):
2221 class Meta :
2322 model = MedRule
2423 fields = [
25- 'id' , 'rule_type' , 'history_type' , 'reason' , 'label' , 'explanation' ,
26- 'medication_sources'
24+ "id" ,
25+ "rule_type" ,
26+ "history_type" ,
27+ "reason" ,
28+ "label" ,
29+ "explanation" ,
30+ "medication_sources" ,
2731 ]
2832
2933 def get_medication_sources (self , obj ):
30-
31- medrule_sources = MedRuleSource . objects . filter (
32- medrule = obj ). select_related ( 'medication' , 'embedding' )
34+ medrule_sources = MedRuleSource . objects . filter ( medrule = obj ). select_related (
35+ "medication" , "embedding"
36+ )
3337
3438 med_to_sources = {}
3539 for ms in medrule_sources :
3640 if ms .medication .id not in med_to_sources :
3741 med_to_sources [ms .medication .id ] = {
38- ' medication' : ms .medication ,
39- ' sources' : []
42+ " medication" : ms .medication ,
43+ " sources" : [],
4044 }
41- med_to_sources [ms .medication .id ][' sources' ].append (ms .embedding )
45+ med_to_sources [ms .medication .id ][" sources" ].append (ms .embedding )
4246
4347 return [
4448 {
45- ' medication' : MedicationSerializer (data [' medication' ]).data ,
46- ' sources' : EmbeddingsSerializer (data [' sources' ], many = True ).data
49+ " medication" : MedicationSerializer (data [" medication" ]).data ,
50+ " sources" : EmbeddingsSerializer (data [" sources" ], many = True ).data ,
4751 }
4852 for data in med_to_sources .values ()
4953 ]
0 commit comments