diff --git a/.gitignore b/.gitignore index 119aa245..5022eda4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ .pytest_cache __pycache__ .venv +utilities/FASTA \ No newline at end of file diff --git a/app/common.py b/app/common.py index 057aabb4..70303e92 100644 --- a/app/common.py +++ b/app/common.py @@ -730,11 +730,17 @@ def create_molecular_consequence_profile(molecular_consequence, subject, vids): "code": f"{feature_consequence['code']}", "display": f"{feature_consequence['display']}"}]}}) + if 'functionalEffect' in molecular_consequence: + for functionalEffect in molecular_consequence["functionalEffect"]: + resource["component"].append({"code": {"coding": [{"system": "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs", + "code": "functional-effect", + "display": "Functional Effect"}]}, + "valueCodeableConcept": {"coding": [{"system": f"{functionalEffect['system']}", + "code": f"{functionalEffect['code']}", + "display": f"{functionalEffect['display']}"}]}}) + if 'impact' in molecular_consequence: - resource["component"].append({"code": {"coding": [{"system": "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs", - "code": "functional-effect", - "display": "Functional Effect"}]}, - "valueCodeableConcept": {"text": f"{molecular_consequence['impact']}"}}) + resource["interpretation"] = [{"text": molecular_consequence['impact']}] return resource diff --git a/tests/expected_outputs/find_subject_molecular_consequences/1.json b/tests/expected_outputs/find_subject_molecular_consequences/1.json index fe076dee..03311da4 100644 --- a/tests/expected_outputs/find_subject_molecular_consequences/1.json +++ b/tests/expected_outputs/find_subject_molecular_consequences/1.json @@ -104,20 +104,11 @@ } ] } - }, + } + ], + "interpretation": [ { - "code": { - "coding": [ - { - "system": "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs", - "code": "functional-effect", - "display": "Functional Effect" - } - ] - }, - "valueCodeableConcept": { - "text": "MODERATE" - } + "text": "MODERATE" } ] } diff --git a/tests/expected_outputs/find_subject_molecular_consequences/2.json b/tests/expected_outputs/find_subject_molecular_consequences/2.json index e974eab7..b31c93d6 100644 --- a/tests/expected_outputs/find_subject_molecular_consequences/2.json +++ b/tests/expected_outputs/find_subject_molecular_consequences/2.json @@ -116,9 +116,20 @@ ] }, "valueCodeableConcept": { - "text": "HIGH" + "coding": [ + { + "system": "http://sequenceontology.org", + "code": "SO:0002054", + "display": "loss_of_function_variant" + } + ] } } + ], + "interpretation": [ + { + "text": "HIGH" + } ] } },