def case(institute_id, case_id): """View a specific case.""" institute = validate_user(current_user, institute_id) # fetch a single, specific case from the data store case_model = store.case(institute_id, case_id) case_comments = store.events(institute, case=case_model, comments=True) case_events = store.events(institute, case=case_model) # map internal + external sample ids sample_map = {"alt_{}".format(sample.individual_id): sample.display_name for sample in case_model.individuals} group_id = "alt_{}".format(case_model.owner_case_id) sample_map[group_id] = case_model.display_name # default coverage report default_panel_names = [panel.name_and_version for panel in case_model.default_panel_objs()] return dict( institute=institute, case=case_model, statuses=Case.status.choices, case_comments=case_comments, case_events=case_events, institute_id=institute_id, case_id=case_id, panel_names=default_panel_names, sample_map=sample_map, )
def variant(institute_id, case_id, variant_id): """View a single variant in a single case.""" institute = validate_user(current_user, institute_id) case_model = store.case(institute_id, case_id) variant_model = store.variant(document_id=variant_id) comments = store.events(institute, case=case_model, variant_id=variant_model.variant_id, comments=True) events = store.events(institute, case=case_model, variant_id=variant_model.variant_id) individuals = {individual.individual_id: individual for individual in case_model.individuals} prev_variant = store.previous_variant(document_id=variant_id) next_variant = store.next_variant(document_id=variant_id) return dict( institute=institute, institute_id=institute_id, case=case_model, case_id=case_id, variant=variant_model, variant_id=variant_id, comments=comments, events=events, prev_variant=prev_variant, next_variant=next_variant, manual_rank_options=Variant.manual_rank.choices, individuals=individuals, )
def case(institute_id, case_id): """View a specific case.""" institute = validate_user(current_user, institute_id) # fetch a single, specific case from the data store case_model = store.case(institute_id, case_id) case_comments = store.events(institute, case=case_model, comments=True) case_events = store.events(institute, case=case_model) return dict(institute=institute, case=case_model, statuses=Case.status.choices, case_comments=case_comments, case_events=case_events, institute_id=institute_id, case_id=case_id)