1- from flask import abort , jsonify
21from collections import OrderedDict
2+
3+ from flask import abort , jsonify
4+
35from app import common
46
57
@@ -876,8 +878,13 @@ def find_subject_tx_implications(
876878 if res ["txImplicationMatches" ]:
877879 ref_seq = common .get_ref_seq_by_chrom_and_build (res ['genomicBuild' ], res ['CHROM' ])
878880 for implication in res ["txImplicationMatches" ]:
879-
880881 implication_profile = common .create_tx_implication_profile_civic (implication , subject , [str (res ['_id' ])])
882+ if "variationID" in implication :
883+ implication_profile ["identifier" ] = []
884+ for var_id in implication ["variationID" ]:
885+ implication_profile ["identifier" ].append (
886+ {"system" : f'{ var_id ["system" ]} ' , "value" : f'{ var_id ["code" ]} ' })
887+
881888 impl_param = {
882889 "name" : "implication" ,
883890 "resource" : implication_profile
@@ -887,7 +894,6 @@ def find_subject_tx_implications(
887894 resource = common .create_fhir_variant_resource (
888895 res , ref_seq , subject )
889896
890- common .add_variation_id (resource , implication ["variationID" ])
891897 variant_param = {
892898 "name" : "variant" ,
893899 "resource" : resource
@@ -908,6 +914,12 @@ def find_subject_tx_implications(
908914 for implication in res ["txImplicationMatches" ]:
909915
910916 implication_profile = common .create_tx_implication_profile_pharmgkb (implication , subject , [str (res ['_id' ])])
917+ if "variationID" in implication :
918+ implication_profile ["identifier" ] = []
919+ for var_id in implication ["variationID" ]:
920+ implication_profile ["identifier" ].append (
921+ {"system" : f'{ var_id ["system" ]} ' , "value" : f'{ var_id ["code" ]} ' })
922+
911923 impl_param = {
912924 "name" : "implication" ,
913925 "resource" : implication_profile
@@ -923,8 +935,6 @@ def find_subject_tx_implications(
923935
924936 genotype_profile = common .create_genotype_profile (res , subject , [str (res ['_id' ])])
925937
926- common .add_variation_id (
927- genotype_profile , implication ["variationID" ])
928938 geno_param = {
929939 "name" : "genotype" ,
930940 "resource" : genotype_profile
@@ -943,6 +953,12 @@ def find_subject_tx_implications(
943953 for res in query_results_PGKB :
944954
945955 implication_profile = common .create_tx_implication_profile_pharmgkb (res , subject , [str (i ['_id' ]) for i in res ["patientMatches" ]])
956+ if "variationID" in res :
957+ implication_profile ["identifier" ] = []
958+ for var_id in res ["variationID" ]:
959+ implication_profile ["identifier" ].append (
960+ {"system" : f'{ var_id ["system" ]} ' , "value" : f'{ var_id ["code" ]} ' })
961+
946962 impl_param = {
947963 "name" : "implication" ,
948964 "resource" : implication_profile
@@ -960,8 +976,6 @@ def find_subject_tx_implications(
960976
961977 genotype_profile = common .create_genotype_profile (genItem , subject , [str (genItem ['_id' ])])
962978
963- common .add_variation_id (genotype_profile , res ["variationID" ])
964-
965979 genotype_profiles .append (genotype_profile )
966980
967981 if genotype_profiles :
@@ -977,6 +991,12 @@ def find_subject_tx_implications(
977991 for res in query_results_CIViC :
978992
979993 implication_profile = common .create_tx_implication_profile_civic (res , subject , [str (i ['_id' ]) for i in res ["patientMatches" ]])
994+ if "variationID" in res :
995+ implication_profile ["identifier" ] = []
996+ for var_id in res ["variationID" ]:
997+ implication_profile ["identifier" ].append (
998+ {"system" : f'{ var_id ["system" ]} ' , "value" : f'{ var_id ["code" ]} ' })
999+
9801000 impl_param = {
9811001 "name" : "implication" ,
9821002 "resource" : implication_profile
@@ -988,8 +1008,6 @@ def find_subject_tx_implications(
9881008 ref_seq = common .get_ref_seq_by_chrom_and_build (varItem ['genomicBuild' ], varItem ['CHROM' ])
9891009 resource = common .create_fhir_variant_resource (varItem , ref_seq , subject )
9901010
991- common .add_variation_id (resource , res ["variationID" ])
992-
9931011 variant_fhir_profiles .append (resource )
9941012
9951013 if variant_fhir_profiles :
@@ -1011,6 +1029,12 @@ def find_subject_tx_implications(
10111029 for res in query_results :
10121030
10131031 implication_profile = common .create_tx_implication_profile_civic (res , subject , [str (i ['_id' ]) for i in res ["patientMatches" ]])
1032+ if "variationID" in res :
1033+ implication_profile ["identifier" ] = []
1034+ for var_id in res ["variationID" ]:
1035+ implication_profile ["identifier" ].append (
1036+ {"system" : f'{ var_id ["system" ]} ' , "value" : f'{ var_id ["code" ]} ' })
1037+
10141038 impl_param = {
10151039 "name" : "implication" ,
10161040 "resource" : implication_profile
@@ -1022,8 +1046,6 @@ def find_subject_tx_implications(
10221046 ref_seq = common .get_ref_seq_by_chrom_and_build (varItem ['genomicBuild' ], varItem ['CHROM' ])
10231047 resource = common .create_fhir_variant_resource (varItem , ref_seq , subject )
10241048
1025- common .add_variation_id (resource , res ["variationID" ])
1026-
10271049 variant_fhir_profiles .append (resource )
10281050
10291051 if variant_fhir_profiles :
@@ -1134,6 +1156,12 @@ def find_subject_dx_implications(
11341156 for implication in res ["dxImplicationMatches" ]:
11351157
11361158 implication_profile = common .create_dx_implication_profile (implication , subject , [str (res ['_id' ])])
1159+ if "variationID" in implication :
1160+ implication_profile ["identifier" ] = []
1161+ for var_id in implication ["variationID" ]:
1162+ implication_profile ["identifier" ].append (
1163+ {"system" : f'{ var_id ["system" ]} ' , "value" : f'{ var_id ["code" ]} ' })
1164+
11371165 impl_param = {
11381166 "name" : "implication" ,
11391167 "resource" : implication_profile
@@ -1142,7 +1170,6 @@ def find_subject_dx_implications(
11421170
11431171 resource = common .create_fhir_variant_resource (
11441172 res , ref_seq , subject )
1145- common .add_variation_id (resource , implication ["variationID" ])
11461173 variant_param = {
11471174 "name" : "variant" ,
11481175 "resource" : resource
@@ -1161,6 +1188,12 @@ def find_subject_dx_implications(
11611188 for res in query_results :
11621189
11631190 implication_profile = common .create_dx_implication_profile (res , subject , [str (i ['_id' ]) for i in res ["patientMatches" ]])
1191+ if "variationID" in res :
1192+ implication_profile ["identifier" ] = []
1193+ for var_id in res ["variationID" ]:
1194+ implication_profile ["identifier" ].append (
1195+ {"system" : f'{ var_id ["system" ]} ' , "value" : f'{ var_id ["code" ]} ' })
1196+
11641197 impl_param = {
11651198 "name" : "implication" ,
11661199 "resource" : implication_profile
@@ -1171,7 +1204,6 @@ def find_subject_dx_implications(
11711204 ref_seq = common .get_ref_seq_by_chrom_and_build (varItem ['genomicBuild' ], varItem ['CHROM' ])
11721205 resource = common .create_fhir_variant_resource (varItem , ref_seq , subject )
11731206
1174- common .add_variation_id (resource , res ["variationID" ])
11751207 variant_param = {
11761208 "name" : "variant" ,
11771209 "resource" : resource
0 commit comments