diff --git a/server/app/reports/eids_with_onset_terms.rb b/server/app/reports/eids_with_onset_terms.rb new file mode 100644 index 000000000..07ea1ee33 --- /dev/null +++ b/server/app/reports/eids_with_onset_terms.rb @@ -0,0 +1,41 @@ +class EidsWithOnsetTerms < Report + attr_reader :onset_terms + + def self.name + "EIDs with Onset Terms" + end + + def self.description + "Generate a list of EIDs with any of the following onset terms: Young adult, early young adult, intermediate young adult, late young adult, childhood, juvenile, pediatric, congenital, and infantile." + end + + def setup + @onset_terms = Phenotype.where(hpo_class: [ + 'Young adult onset', + 'Intermediate young adult onset', + 'Late young adult onset', + 'Childhood onset', + 'Juvenile onset', + 'Pediatric onset', + 'Congenital onset', + 'Infantile onset' + ]) + end + + def headers + [ + "EID", + "Link", + "HPO Term", + "HPO ID" + ] + end + + def execute + onset_terms.each do |term| + term.evidence_items.each do |eid| + data << ["EID#{eid.id}", "https://civicdb.org/#{eid.link}", term.hpo_class, term.hpo_id] + end + end + end +end diff --git a/server/app/reports/reports.rb b/server/app/reports/reports.rb index 18c2fa868..2668c783b 100644 --- a/server/app/reports/reports.rb +++ b/server/app/reports/reports.rb @@ -1,5 +1,6 @@ module Reports AVAILABLE_REPORTS = [ - OrganizationContributions + OrganizationContributions, + EidsWithOnsetTerms ] end