From 226b14e09093c78ff81a675f77175336be885cdc Mon Sep 17 00:00:00 2001 From: Bob Dolin Date: Thu, 21 Dec 2023 08:58:58 -0800 Subject: [PATCH 1/3] Update api_spec.yml --- app/api_spec.yml | 47 +++++++++++++++++++++-------------------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/app/api_spec.yml b/app/api_spec.yml index 73ba7c99..c787bf40 100644 --- a/app/api_spec.yml +++ b/app/api_spec.yml @@ -88,13 +88,13 @@ paths: in: query schema: type: string - pattern: '^\s*((?i:germline)|(?i:somatic))\s*$' + pattern: '^\s*(germline|Germline|GERMLINE|somatic|Somatic|SOMATIC)\s*$' description: Enables an App to limit results to those that are 'germline' or 'somatic'. Default is to include variants irrespective of genomic source class. - name: includeVariants in: query schema: type: boolean - default: false + default: true description: Include variants in response if set to true. - name: includePhasing in: query @@ -199,7 +199,7 @@ paths: schema: format: PatientID type: string - example: 'HCC1143' + example: 'ABC789' required: true description: The subject of interest. - name: ranges @@ -212,8 +212,7 @@ paths: type: string pattern: '^\s*[Nn][A-Za-z]_\d{4,10}(\.)(\d{1,2}):\d{1,10}-\d{1,10}\s*$' example: - - "NC_000007.14:55019016-55211628" - - "NC_000004.12:54727415-54727542" + - "NC_000002.12:179400709-179483218" style: "form" explode: false - name: testIdentifiers @@ -260,7 +259,7 @@ paths: in: query schema: type: boolean - default: false + default: true description: Include variants in response if set to true. /subject-operations/genotype-operations/$find-subject-structural-subsuming-variants: @@ -344,7 +343,7 @@ paths: in: query schema: type: boolean - default: false + default: true description: Include variants in response if set to true. /subject-operations/genotype-operations/$find-subject-haplotypes: @@ -444,7 +443,7 @@ paths: schema: format: PatientID type: string - example: 'NB6TK328' + example: 'XYZ123' required: true description: The subject of interest. - name: haplotypes @@ -456,7 +455,7 @@ paths: items: type: string example: - - "HLA-B*27" + - "CYP2C19" style: "form" explode: false - name: testIdentifiers @@ -476,7 +475,6 @@ paths: type: string pattern: '^\s*(eq|ne|lt|gt|ge|le|sa|eb)(((18|19|20)[0-9]{2}-(0?[13578]|1[02])-(0?[1-9]|[12][0-9]|3[01]))|((18|19|20)[0-9]{2}-(0?[469]|11)-(0?[1-9]|[12][0-9]|30))|((18|19|20)[0-9]{2}-(0?[2])-(0?[1-9]|1[0-9]|2[0-8]))|((((18|19|20)(04|08|[2468][048]|[13579][26]))|2000)-(0?[2])-29))\s*$' example: - - "ge2010-01-01" description: Supply a date range. Only results generated during this range will be returned. style: "form" explode: true @@ -523,7 +521,7 @@ paths: schema: format: PatientID type: string - example: 'NB6TK328' + example: 'CA12345' required: true description: The subject of interest. - name: variants @@ -533,6 +531,9 @@ paths: type: array items: type: string + example: + - "NM_002524.5:c.182A>C" + - "NM_001354609.2:c.1799T>A" style: "form" explode: false - name: ranges @@ -544,7 +545,6 @@ paths: type: string pattern: '^\s*[Nn][A-Za-z]_\d{4,10}(\.)(\d{1,2}):\d{1,10}-\d{1,10}\s*$' example: - - "NC_000019.9:11200138-11244496" style: "form" explode: false - name: haplotypes @@ -563,8 +563,6 @@ paths: type: array items: type: string - example: - - "http://www.nlm.nih.gov/research/umls/rxnorm|704" style: "form" explode: false - name: conditions @@ -574,6 +572,8 @@ paths: type: array items: type: string + example: + - "https://disease-ontology.org|3908" style: "form" explode: false - name: testIdentifiers @@ -593,7 +593,6 @@ paths: type: string pattern: '^\s*(eq|ne|lt|gt|ge|le|sa|eb)(((18|19|20)[0-9]{2}-(0?[13578]|1[02])-(0?[1-9]|[12][0-9]|3[01]))|((18|19|20)[0-9]{2}-(0?[469]|11)-(0?[1-9]|[12][0-9]|30))|((18|19|20)[0-9]{2}-(0?[2])-(0?[1-9]|1[0-9]|2[0-8]))|((((18|19|20)(04|08|[2468][048]|[13579][26]))|2000)-(0?[2])-29))\s*$' example: - - "ge2010-01-01" description: Supply a date range. Only results generated during this range will be returned. style: "form" explode: true @@ -660,8 +659,6 @@ paths: items: type: string pattern: '^\s*[Nn][A-Za-z]_\d{4,10}(\.)(\d{1,2}):\d{1,10}-\d{1,10}\s*$' - example: - - "NC_000019.9:11200138-11244496" style: "form" explode: false - name: conditions @@ -1108,10 +1105,11 @@ paths: /utilities/get-feature-coordinates: get: + description: 'This utility returns genomic feature coordinates and other annotations. All data are from NCBI Human Genome Resources. For chromosomes, build 37 and build 38 reference sequences are returned. For genes, genomic coordinates are returned, along with a list of transcripts. MANE transcript is flagged. For transcripts, genomic coordinates are returned, along with the gene name and composite exons, along with exon coordinates. For proteins, the corresponding transcript is returned.' summary: "Get Feature Coordinates" operationId: "app.utilities_endpoints.get_feature_coordinates" tags: - - "Feature Coordinates Utility" + - "Operations Utilities (not part of balloted HL7 Operations)" responses: '200': description: "" @@ -1125,7 +1123,7 @@ paths: description: Valid entries include chr1..chr22, chrX, chrY, chrM. schema: type: string - pattern: '^\s*(?i:chr)([1-9]|1[0-9]|2[0-2]|[XxYyMm])\s*$' + pattern: '^\s*\b(chr|Chr|CHR)([1-9]|1[0-9]|2[0-2]|[XxYyMm])\s*$' example: "chr1" - name: gene in: query @@ -1149,10 +1147,12 @@ paths: example: "NP_000005.3" /utilities/find-the-gene: get: + description: |- + This utility returns all genes that intersect with a provided genomic region. summary: "Find The Gene" operationId: "app.utilities_endpoints.find_the_gene" tags: - - "Find The Gene Utility" + - "Operations Utilities (not part of balloted HL7 Operations)" responses: '200': description: "Returns all genes that intersect with a provided genomic region." @@ -1176,9 +1176,4 @@ tags: - name: Subject Metadata Operations - name: Population Genotype Operations - name: Population Phenotype Operations - - name: Feature Coordinates Utility - description: This utility returns genomic feature coordinates and other annotations. All data are from NCBI Human Genome Resources. For chromosomes, build 37 and build 38 reference sequences are returned. For genes, genomic coordinates are returned, along with a list of transcripts. MANE transcript is flagged. For transcripts, genomic coordinates are returned, along with the gene name and composite exons, along with exon coordinates. For proteins, the corresponding transcript is returned. - - - name: Find The Gene Utility - description: This utility returns all genes that intersect with a provided genomic region. - + - name: Operations Utilities (not part of balloted HL7 Operations) From 9c33fa34a1ace8df3434d46e900ac9849749111b Mon Sep 17 00:00:00 2001 From: Bob Dolin Date: Thu, 21 Dec 2023 09:03:43 -0800 Subject: [PATCH 2/3] Update api_spec.yml --- app/api_spec.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/app/api_spec.yml b/app/api_spec.yml index c787bf40..1d1c947f 100644 --- a/app/api_spec.yml +++ b/app/api_spec.yml @@ -544,7 +544,6 @@ paths: items: type: string pattern: '^\s*[Nn][A-Za-z]_\d{4,10}(\.)(\d{1,2}):\d{1,10}-\d{1,10}\s*$' - example: style: "form" explode: false - name: haplotypes From 1ab0daab90e359d42cb91a19cdc8b03aa52fba4a Mon Sep 17 00:00:00 2001 From: Bob Dolin Date: Thu, 21 Dec 2023 09:06:21 -0800 Subject: [PATCH 3/3] Update api_spec.yml --- app/api_spec.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/api_spec.yml b/app/api_spec.yml index 1d1c947f..b26f0cec 100644 --- a/app/api_spec.yml +++ b/app/api_spec.yml @@ -474,7 +474,6 @@ paths: items: type: string pattern: '^\s*(eq|ne|lt|gt|ge|le|sa|eb)(((18|19|20)[0-9]{2}-(0?[13578]|1[02])-(0?[1-9]|[12][0-9]|3[01]))|((18|19|20)[0-9]{2}-(0?[469]|11)-(0?[1-9]|[12][0-9]|30))|((18|19|20)[0-9]{2}-(0?[2])-(0?[1-9]|1[0-9]|2[0-8]))|((((18|19|20)(04|08|[2468][048]|[13579][26]))|2000)-(0?[2])-29))\s*$' - example: description: Supply a date range. Only results generated during this range will be returned. style: "form" explode: true @@ -591,7 +590,6 @@ paths: items: type: string pattern: '^\s*(eq|ne|lt|gt|ge|le|sa|eb)(((18|19|20)[0-9]{2}-(0?[13578]|1[02])-(0?[1-9]|[12][0-9]|3[01]))|((18|19|20)[0-9]{2}-(0?[469]|11)-(0?[1-9]|[12][0-9]|30))|((18|19|20)[0-9]{2}-(0?[2])-(0?[1-9]|1[0-9]|2[0-8]))|((((18|19|20)(04|08|[2468][048]|[13579][26]))|2000)-(0?[2])-29))\s*$' - example: description: Supply a date range. Only results generated during this range will be returned. style: "form" explode: true