
org.opencb.opencga.client.rest.clients.ClinicalAnalysisClient Maven / Gradle / Ivy
/*
* Copyright 2015-2024 OpenCB
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.opencb.opencga.client.rest.clients;
import org.opencb.biodata.models.clinical.interpretation.ClinicalVariant;
import org.opencb.commons.datastore.core.FacetField;
import org.opencb.commons.datastore.core.ObjectMap;
import org.opencb.opencga.client.config.ClientConfiguration;
import org.opencb.opencga.client.exceptions.ClientException;
import org.opencb.opencga.client.rest.*;
import org.opencb.opencga.core.models.analysis.knockout.KnockoutByGeneSummary;
import org.opencb.opencga.core.models.analysis.knockout.KnockoutByIndividual;
import org.opencb.opencga.core.models.analysis.knockout.KnockoutByIndividualSummary;
import org.opencb.opencga.core.models.analysis.knockout.KnockoutByVariant;
import org.opencb.opencga.core.models.analysis.knockout.KnockoutByVariantSummary;
import org.opencb.opencga.core.models.analysis.knockout.RgaKnockoutByGene;
import org.opencb.opencga.core.models.clinical.CancerTieringInterpretationAnalysisParams;
import org.opencb.opencga.core.models.clinical.ClinicalAnalysis;
import org.opencb.opencga.core.models.clinical.ClinicalAnalysisAclEntryList;
import org.opencb.opencga.core.models.clinical.ClinicalAnalysisAclUpdateParams;
import org.opencb.opencga.core.models.clinical.ClinicalAnalysisCreateParams;
import org.opencb.opencga.core.models.clinical.ClinicalAnalysisLoadParams;
import org.opencb.opencga.core.models.clinical.ClinicalAnalysisUpdateParams;
import org.opencb.opencga.core.models.clinical.ClinicalReport;
import org.opencb.opencga.core.models.clinical.ExomiserInterpretationAnalysisParams;
import org.opencb.opencga.core.models.clinical.Interpretation;
import org.opencb.opencga.core.models.clinical.InterpretationCreateParams;
import org.opencb.opencga.core.models.clinical.InterpretationUpdateParams;
import org.opencb.opencga.core.models.clinical.RgaAnalysisParams;
import org.opencb.opencga.core.models.clinical.TeamInterpretationAnalysisParams;
import org.opencb.opencga.core.models.clinical.TieringInterpretationAnalysisParams;
import org.opencb.opencga.core.models.clinical.ZettaInterpretationAnalysisParams;
import org.opencb.opencga.core.models.common.TsvAnnotationParams;
import org.opencb.opencga.core.models.job.Job;
import org.opencb.opencga.core.models.sample.Sample;
import org.opencb.opencga.core.models.study.configuration.ClinicalAnalysisStudyConfiguration;
import org.opencb.opencga.core.response.RestResponse;
/*
* WARNING: AUTOGENERATED CODE
*
* This code was generated by a tool.
*
* Manual changes to this file may cause unexpected behavior in your application.
* Manual changes to this file will be overwritten if the code is regenerated.
*/
/**
* This class contains methods for the ClinicalAnalysis webservices.
* PATH: analysis/clinical
*/
public class ClinicalAnalysisClient extends AbstractParentClient {
public ClinicalAnalysisClient(String token, ClientConfiguration configuration) {
super(token, configuration);
}
/**
* Update the set of permissions granted for the member.
* @param members Comma separated list of user or group IDs.
* @param action Action to be performed [ADD, SET, REMOVE or RESET].
* @param data JSON containing the parameters to add ACLs.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* propagate: Propagate permissions to related families, individuals, samples and files.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse updateAcl(String members, String action, ClinicalAnalysisAclUpdateParams data,
ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.putIfNotNull("action", action);
params.put("body", data);
return execute("analysis", null, "clinical/acl", members, "update", params, POST, ClinicalAnalysisAclEntryList.class);
}
/**
* Load annotation sets from a TSV file.
* @param variableSetId Variable set ID or name.
* @param path Path where the TSV file is located in OpenCGA or where it should be located.
* @param data JSON containing the 'content' of the TSV file if this has not yet been registered into OpenCGA.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* parents: Flag indicating whether to create parent directories if they don't exist (only when TSV file was not previously
* associated).
* annotationSetId: Annotation set id. If not provided, variableSetId will be used.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse loadAnnotationSets(String variableSetId, String path, TsvAnnotationParams data, ObjectMap params)
throws ClientException {
params = params != null ? params : new ObjectMap();
params.putIfNotNull("variableSetId", variableSetId);
params.putIfNotNull("path", path);
params.put("body", data);
return execute("analysis", null, "clinical/annotationSets", null, "load", params, POST, Job.class);
}
/**
* Update Clinical Analysis configuration.
* @param data Configuration params to update.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse updateClinicalConfiguration(ClinicalAnalysisStudyConfiguration data, ObjectMap params)
throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis", null, "clinical/clinical/configuration", null, "update", params, POST, ObjectMap.class);
}
/**
* Create a new clinical analysis.
* @param data JSON containing clinical analysis information.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* skipCreateDefaultInterpretation: Flag to skip creating and initialise an empty default primary interpretation (Id will be
* '{clinicalAnalysisId}.1'). This flag is only considered if no Interpretation object is passed.
* includeResult: Flag indicating to include the created or updated document result in the response.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse create(ClinicalAnalysisCreateParams data, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis", null, "clinical", null, "create", params, POST, ClinicalAnalysis.class);
}
/**
* Clinical Analysis distinct method.
* @param field Comma separated list of fields for which to obtain the distinct values.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* id: Comma separated list of Clinical Analysis IDs up to a maximum of 100. Also admits basic regular expressions using the
* operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.
* uuid: Comma separated list of Clinical Analysis UUIDs up to a maximum of 100.
* type: Clinical Analysis type.
* disorder: Clinical Analysis disorder. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g.
* '~value' for case sensitive, '~/value/i' for case insensitive search.
* files: Clinical Analysis files.
* sample: Sample associated to the proband or any member of a family.
* individual: Proband or any member of a family.
* proband: Clinical Analysis proband.
* probandSamples: Clinical Analysis proband samples.
* family: Clinical Analysis family.
* familyMembers: Clinical Analysis family members.
* familyMemberSamples: Clinical Analysis family members samples.
* panels: Clinical Analysis panels.
* locked: Locked Clinical Analyses.
* analystId: Clinical Analysis analyst id.
* priority: Clinical Analysis priority.
* flags: Clinical Analysis flags.
* creationDate: Clinical Analysis Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
* modificationDate: Clinical Analysis Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
* dueDate: Clinical Analysis due date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
* qualityControlSummary: Clinical Analysis quality control summary.
* release: Release when it was created.
* snapshot: Snapshot value (Latest version of the entry in the specified release).
* status: Filter by status.
* internalStatus: Filter by internal status.
* annotation: Annotation filters. Example: age>30;gender=FEMALE. For more information, please visit
* http://docs.opencb.org/display/opencga/AnnotationSets+1.4.0.
* deleted: Boolean to retrieve deleted entries.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse distinct(String field, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.putIfNotNull("field", field);
return execute("analysis", null, "clinical", null, "distinct", params, GET, ObjectMap.class);
}
/**
* Interpretation distinct method.
* @param field Comma separated list of fields for which to obtain the distinct values.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* id: Comma separated list of Interpretation IDs up to a maximum of 100. Also admits basic regular expressions using the
* operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.
* uuid: Comma separated list of Interpretation UUIDs up to a maximum of 100.
* name: Comma separated list of Interpretation names up to a maximum of 100.
* clinicalAnalysisId: Clinical Analysis id.
* analystId: Analyst ID.
* methodName: Interpretation method name. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}'
* e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.
* panels: Interpretation panels.
* primaryFindings: Interpretation primary findings.
* secondaryFindings: Interpretation secondary findings.
* creationDate: Interpretation Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
* modificationDate: Interpretation Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
* status: Filter by status.
* internalStatus: Filter by internal status.
* release: Release when it was created.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse distinctInterpretation(String field, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.putIfNotNull("field", field);
return execute("analysis", null, "clinical/interpretation", null, "distinct", params, GET, ObjectMap.class);
}
/**
* Search clinical interpretations.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* limit: Number of results to be returned.
* skip: Number of results to skip.
* sort: Sort the results.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* id: Comma separated list of Interpretation IDs up to a maximum of 100. Also admits basic regular expressions using the
* operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.
* uuid: Comma separated list of Interpretation UUIDs up to a maximum of 100.
* name: Comma separated list of Interpretation names up to a maximum of 100.
* clinicalAnalysisId: Clinical Analysis id.
* analystId: Analyst ID.
* methodName: Interpretation method name. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}'
* e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.
* panels: Interpretation panels.
* primaryFindings: Interpretation primary findings.
* secondaryFindings: Interpretation secondary findings.
* creationDate: Interpretation Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
* modificationDate: Interpretation Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
* status: Filter by status.
* internalStatus: Filter by internal status.
* release: Release when it was created.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse searchInterpretation(ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical/interpretation", null, "search", params, GET, Interpretation.class);
}
/**
* Clinical interpretation information.
* @param interpretations Comma separated list of clinical interpretation IDs up to a maximum of 100.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* version: Comma separated list of interpretation versions. 'all' to get all the interpretation versions. Not supported if
* multiple interpretation ids are provided.
* deleted: Boolean to retrieve deleted entries.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse infoInterpretation(String interpretations, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical/interpretation", interpretations, "info", params, GET, Interpretation.class);
}
/**
* Run cancer tiering interpretation analysis.
* @param data Cancer tiering interpretation analysis params.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* jobId: Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.
* jobDescription: Job description.
* jobDependsOn: Comma separated list of existing job IDs the job will depend on.
* jobTags: Job tags.
* jobScheduledStartTime: Time when the job is scheduled to start.
* jobPriority: Priority of the job.
* jobDryRun: Flag indicating that the job will be executed in dry-run mode. In this mode, OpenCGA will validate that all
* parameters and prerequisites are correctly set for successful execution, but the job will not actually run.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse runInterpreterCancerTiering(CancerTieringInterpretationAnalysisParams data, ObjectMap params)
throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis", null, "clinical/interpreter/cancerTiering", null, "run", params, POST, Job.class);
}
/**
* Run exomiser interpretation analysis.
* @param data Exomiser interpretation analysis params.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* jobId: Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.
* jobDescription: Job description.
* jobDependsOn: Comma separated list of existing job IDs the job will depend on.
* jobTags: Job tags.
* jobScheduledStartTime: Time when the job is scheduled to start.
* jobPriority: Priority of the job.
* jobDryRun: Flag indicating that the job will be executed in dry-run mode. In this mode, OpenCGA will validate that all
* parameters and prerequisites are correctly set for successful execution, but the job will not actually run.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse runInterpreterExomiser(ExomiserInterpretationAnalysisParams data, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis", null, "clinical/interpreter/exomiser", null, "run", params, POST, Job.class);
}
/**
* Run TEAM interpretation analysis.
* @param data TEAM interpretation analysis params.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* jobId: Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.
* jobDescription: Job description.
* jobDependsOn: Comma separated list of existing job IDs the job will depend on.
* jobTags: Job tags.
* jobScheduledStartTime: Time when the job is scheduled to start.
* jobPriority: Priority of the job.
* jobDryRun: Flag indicating that the job will be executed in dry-run mode. In this mode, OpenCGA will validate that all
* parameters and prerequisites are correctly set for successful execution, but the job will not actually run.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse runInterpreterTeam(TeamInterpretationAnalysisParams data, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis", null, "clinical/interpreter/team", null, "run", params, POST, Job.class);
}
/**
* Run tiering interpretation analysis.
* @param data Tiering interpretation analysis params.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* jobId: Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.
* jobDescription: Job description.
* jobDependsOn: Comma separated list of existing job IDs the job will depend on.
* jobTags: Job tags.
* jobScheduledStartTime: Time when the job is scheduled to start.
* jobPriority: Priority of the job.
* jobDryRun: Flag indicating that the job will be executed in dry-run mode. In this mode, OpenCGA will validate that all
* parameters and prerequisites are correctly set for successful execution, but the job will not actually run.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse runInterpreterTiering(TieringInterpretationAnalysisParams data, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis", null, "clinical/interpreter/tiering", null, "run", params, POST, Job.class);
}
/**
* Run Zetta interpretation analysis.
* @param data Zetta interpretation analysis params.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* jobId: Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.
* jobDescription: Job description.
* jobDependsOn: Comma separated list of existing job IDs the job will depend on.
* jobTags: Job tags.
* jobScheduledStartTime: Time when the job is scheduled to start.
* jobPriority: Priority of the job.
* jobDryRun: Flag indicating that the job will be executed in dry-run mode. In this mode, OpenCGA will validate that all
* parameters and prerequisites are correctly set for successful execution, but the job will not actually run.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse runInterpreterZetta(ZettaInterpretationAnalysisParams data, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis", null, "clinical/interpreter/zetta", null, "run", params, POST, Job.class);
}
/**
* Load clinical analyses from a file.
* @param data Parameters to load clinical analysis in OpenCGA catalog from a file.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* jobId: Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.
* jobDescription: Job description.
* jobDependsOn: Comma separated list of existing job IDs the job will depend on.
* jobTags: Job tags.
* jobScheduledStartTime: Time when the job is scheduled to start.
* jobPriority: Priority of the job.
* jobDryRun: Flag indicating that the job will be executed in dry-run mode. In this mode, OpenCGA will validate that all
* parameters and prerequisites are correctly set for successful execution, but the job will not actually run.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse load(ClinicalAnalysisLoadParams data, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis", null, "clinical", null, "load", params, POST, Job.class);
}
/**
* RGA aggregation stats.
* @param field List of fields separated by semicolons, e.g.: clinicalSignificances;type. For nested fields use >>, e.g.:
* type>>clinicalSignificances;knockoutType.
* @param params Map containing any of the following optional parameters.
* limit: Number of results to be returned.
* skip: Number of results to skip.
* sampleId: Filter by sample id.
* individualId: Filter by individual id.
* sex: Filter by sex.
* phenotypes: Filter by phenotypes.
* disorders: Filter by disorders.
* numParents: Filter by the number of parents registered.
* geneId: Filter by gene id.
* geneName: Filter by gene name.
* chromosome: Filter by chromosome.
* start: Filter by start position.
* end: Filter by end position.
* transcriptId: Filter by transcript id.
* variants: Filter by variant id.
* dbSnps: Filter by DB_SNP id.
* knockoutType: Filter by knockout type.
* filter: Filter by filter (PASS, NOT_PASS).
* type: Filter by variant type.
* clinicalSignificance: Filter by clinical significance.
* populationFrequency: Filter by population frequency.
* consequenceType: Filter by consequence type.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse aggregationStatsRga(String field, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.putIfNotNull("field", field);
return execute("analysis", null, "clinical/rga", null, "aggregationStats", params, GET, FacetField.class);
}
/**
* Query gene RGA.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* limit: Number of results to be returned.
* skip: Number of results to skip.
* count: Get the total number of results matching the query. Deactivated by default.
* includeIndividual: Include only the comma separated list of individuals to the response.
* skipIndividual: Number of individuals to skip.
* limitIndividual: Limit number of individuals returned (default: 1000).
* sampleId: Filter by sample id.
* individualId: Filter by individual id.
* sex: Filter by sex.
* phenotypes: Filter by phenotypes.
* disorders: Filter by disorders.
* numParents: Filter by the number of parents registered.
* geneId: Filter by gene id.
* geneName: Filter by gene name.
* chromosome: Filter by chromosome.
* start: Filter by start position.
* end: Filter by end position.
* transcriptId: Filter by transcript id.
* variants: Filter by variant id.
* dbSnps: Filter by DB_SNP id.
* knockoutType: Filter by knockout type.
* filter: Filter by filter (PASS, NOT_PASS).
* type: Filter by variant type.
* clinicalSignificance: Filter by clinical significance.
* populationFrequency: Filter by population frequency.
* consequenceType: Filter by consequence type.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse queryRgaGene(ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical/rga/gene", null, "query", params, GET, RgaKnockoutByGene.class);
}
/**
* RGA gene summary stats.
* @param params Map containing any of the following optional parameters.
* limit: Number of results to be returned.
* skip: Number of results to skip.
* count: Get the total number of results matching the query. Deactivated by default.
* sampleId: Filter by sample id.
* individualId: Filter by individual id.
* sex: Filter by sex.
* phenotypes: Filter by phenotypes.
* disorders: Filter by disorders.
* numParents: Filter by the number of parents registered.
* geneId: Filter by gene id.
* geneName: Filter by gene name.
* chromosome: Filter by chromosome.
* start: Filter by start position.
* end: Filter by end position.
* transcriptId: Filter by transcript id.
* variants: Filter by variant id.
* dbSnps: Filter by DB_SNP id.
* knockoutType: Filter by knockout type.
* filter: Filter by filter (PASS, NOT_PASS).
* type: Filter by variant type.
* clinicalSignificance: Filter by clinical significance.
* populationFrequency: Filter by population frequency.
* consequenceType: Filter by consequence type.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse summaryRgaGene(ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical/rga/gene", null, "summary", params, GET, KnockoutByGeneSummary.class);
}
/**
* Generate Recessive Gene Analysis secondary index.
* @param data Recessive Gene Analysis index params.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* jobId: Job ID. It must be a unique string within the study. An ID will be autogenerated automatically if not provided.
* jobDescription: Job description.
* jobDependsOn: Comma separated list of existing job IDs the job will depend on.
* jobTags: Job tags.
* jobScheduledStartTime: Time when the job is scheduled to start.
* jobPriority: Priority of the job.
* jobDryRun: Flag indicating that the job will be executed in dry-run mode. In this mode, OpenCGA will validate that all
* parameters and prerequisites are correctly set for successful execution, but the job will not actually run.
* auxiliarIndex: Index auxiliar collection to improve performance assuming RGA is completely indexed.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse runRgaIndex(RgaAnalysisParams data, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis", null, "clinical/rga/index", null, "run", params, POST, Job.class);
}
/**
* Query individual RGA.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* limit: Number of results to be returned.
* skip: Number of results to skip.
* count: Get the total number of results matching the query. Deactivated by default.
* sampleId: Filter by sample id.
* individualId: Filter by individual id.
* sex: Filter by sex.
* phenotypes: Filter by phenotypes.
* disorders: Filter by disorders.
* numParents: Filter by the number of parents registered.
* geneId: Filter by gene id.
* geneName: Filter by gene name.
* chromosome: Filter by chromosome.
* start: Filter by start position.
* end: Filter by end position.
* transcriptId: Filter by transcript id.
* variants: Filter by variant id.
* dbSnps: Filter by DB_SNP id.
* knockoutType: Filter by knockout type.
* filter: Filter by filter (PASS, NOT_PASS).
* type: Filter by variant type.
* clinicalSignificance: Filter by clinical significance.
* populationFrequency: Filter by population frequency.
* consequenceType: Filter by consequence type.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse queryRgaIndividual(ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical/rga/individual", null, "query", params, GET, KnockoutByIndividual.class);
}
/**
* RGA individual summary stats.
* @param params Map containing any of the following optional parameters.
* limit: Number of results to be returned.
* skip: Number of results to skip.
* count: Get the total number of results matching the query. Deactivated by default.
* sampleId: Filter by sample id.
* individualId: Filter by individual id.
* sex: Filter by sex.
* phenotypes: Filter by phenotypes.
* disorders: Filter by disorders.
* numParents: Filter by the number of parents registered.
* geneId: Filter by gene id.
* geneName: Filter by gene name.
* chromosome: Filter by chromosome.
* start: Filter by start position.
* end: Filter by end position.
* transcriptId: Filter by transcript id.
* variants: Filter by variant id.
* dbSnps: Filter by DB_SNP id.
* knockoutType: Filter by knockout type.
* filter: Filter by filter (PASS, NOT_PASS).
* type: Filter by variant type.
* clinicalSignificance: Filter by clinical significance.
* populationFrequency: Filter by population frequency.
* consequenceType: Filter by consequence type.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse summaryRgaIndividual(ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical/rga/individual", null, "summary", params, GET, KnockoutByIndividualSummary.class);
}
/**
* Query variant RGA.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* limit: Number of results to be returned.
* skip: Number of results to skip.
* count: Get the total number of results matching the query. Deactivated by default.
* includeIndividual: Include only the comma separated list of individuals to the response.
* skipIndividual: Number of individuals to skip.
* limitIndividual: Limit number of individuals returned (default: 1000).
* sampleId: Filter by sample id.
* individualId: Filter by individual id.
* sex: Filter by sex.
* phenotypes: Filter by phenotypes.
* disorders: Filter by disorders.
* numParents: Filter by the number of parents registered.
* geneId: Filter by gene id.
* geneName: Filter by gene name.
* chromosome: Filter by chromosome.
* start: Filter by start position.
* end: Filter by end position.
* transcriptId: Filter by transcript id.
* variants: Filter by variant id.
* dbSnps: Filter by DB_SNP id.
* knockoutType: Filter by knockout type.
* filter: Filter by filter (PASS, NOT_PASS).
* type: Filter by variant type.
* clinicalSignificance: Filter by clinical significance.
* populationFrequency: Filter by population frequency.
* consequenceType: Filter by consequence type.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse queryRgaVariant(ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical/rga/variant", null, "query", params, GET, KnockoutByVariant.class);
}
/**
* RGA variant summary stats.
* @param params Map containing any of the following optional parameters.
* limit: Number of results to be returned.
* skip: Number of results to skip.
* count: Get the total number of results matching the query. Deactivated by default.
* sampleId: Filter by sample id.
* individualId: Filter by individual id.
* sex: Filter by sex.
* phenotypes: Filter by phenotypes.
* disorders: Filter by disorders.
* numParents: Filter by the number of parents registered.
* geneId: Filter by gene id.
* geneName: Filter by gene name.
* chromosome: Filter by chromosome.
* start: Filter by start position.
* end: Filter by end position.
* transcriptId: Filter by transcript id.
* variants: Filter by variant id.
* dbSnps: Filter by DB_SNP id.
* knockoutType: Filter by knockout type.
* filter: Filter by filter (PASS, NOT_PASS).
* type: Filter by variant type.
* clinicalSignificance: Filter by clinical significance.
* populationFrequency: Filter by population frequency.
* consequenceType: Filter by consequence type.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse summaryRgaVariant(ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical/rga/variant", null, "summary", params, GET, KnockoutByVariantSummary.class);
}
/**
* Clinical analysis search.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* limit: Number of results to be returned.
* skip: Number of results to skip.
* count: Get the total number of results matching the query. Deactivated by default.
* flattenAnnotations: Flatten the annotations?.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* id: Comma separated list of Clinical Analysis IDs up to a maximum of 100. Also admits basic regular expressions using the
* operator '~', i.e. '~{perl-regex}' e.g. '~value' for case sensitive, '~/value/i' for case insensitive search.
* uuid: Comma separated list of Clinical Analysis UUIDs up to a maximum of 100.
* type: Clinical Analysis type.
* disorder: Clinical Analysis disorder. Also admits basic regular expressions using the operator '~', i.e. '~{perl-regex}' e.g.
* '~value' for case sensitive, '~/value/i' for case insensitive search.
* files: Clinical Analysis files.
* sample: Sample associated to the proband or any member of a family.
* individual: Proband or any member of a family.
* proband: Clinical Analysis proband.
* probandSamples: Clinical Analysis proband samples.
* family: Clinical Analysis family.
* familyMembers: Clinical Analysis family members.
* familyMemberSamples: Clinical Analysis family members samples.
* panels: Clinical Analysis panels.
* locked: Locked Clinical Analyses.
* analystId: Clinical Analysis analyst id.
* priority: Clinical Analysis priority.
* flags: Clinical Analysis flags.
* creationDate: Clinical Analysis Creation date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
* modificationDate: Clinical Analysis Modification date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
* dueDate: Clinical Analysis due date. Format: yyyyMMddHHmmss. Examples: >2018, 2017-2018, <201805.
* qualityControlSummary: Clinical Analysis quality control summary.
* release: Release when it was created.
* snapshot: Snapshot value (Latest version of the entry in the specified release).
* status: Filter by status.
* internalStatus: Filter by internal status.
* annotation: Annotation filters. Example: age>30;gender=FEMALE. For more information, please visit
* http://docs.opencb.org/display/opencga/AnnotationSets+1.4.0.
* deleted: Boolean to retrieve deleted entries.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse search(ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical", null, "search", params, GET, ClinicalAnalysis.class);
}
/**
* Fetch clinical variants.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* limit: Number of results to be returned.
* skip: Number of results to skip.
* count: Get the total number of results matching the query. Deactivated by default.
* approximateCount: Get an approximate count, instead of an exact total count. Reduces execution time.
* approximateCountSamplingSize: Sampling size to get the approximate count. Larger values increase accuracy but also increase
* execution time.
* savedFilter: Use a saved filter at User level.
* includeInterpretation: Interpretation ID to include the fields related to this interpretation.
* id: List of variant IDs in the format chrom:start:ref:alt, e.g. 19:7177679:C:T.
* region: List of regions, these can be just a single chromosome name or regions in the format chr:start-end, e.g.:
* 2,3:100000-200000.
* type: List of types, accepted values are SNV, MNV, INDEL, SV, COPY_NUMBER, COPY_NUMBER_LOSS, COPY_NUMBER_GAIN, INSERTION,
* DELETION, DUPLICATION, TANDEM_DUPLICATION, BREAKEND, e.g. SNV,INDEL.
* study: Filter variants from the given studies, these can be either the numeric ID or the alias with the format
* organization@project:study.
* file: Filter variants from the files specified. This will set includeFile parameter when not provided.
* filter: Specify the FILTER for any of the files. If 'file' filter is provided, will match the file and the filter. e.g.:
* PASS,LowGQX.
* qual: Specify the QUAL for any of the files. If 'file' filter is provided, will match the file and the qual. e.g.: >123.4.
* fileData: Filter by file data (i.e. FILTER, QUAL and INFO columns from VCF file). [{file}:]{key}{op}{value}[,;]* . If no file
* is specified, will use all files from "file" filter. e.g. AN>200 or file_1.vcf:AN>200;file_2.vcf:AN<10 . Many fields can
* be combined. e.g. file_1.vcf:AN>200;DB=true;file_2.vcf:AN<10,FILTER=PASS,LowDP.
* sample: Filter variants by sample genotype. This will automatically set 'includeSample' parameter when not provided. This
* filter accepts multiple 3 forms: 1) List of samples: Samples that contain the main variant. Accepts AND (;) and OR (,)
* operators. e.g. HG0097,HG0098 . 2) List of samples with genotypes: {sample}:{gt1},{gt2}. Accepts AND (;) and OR (,)
* operators. e.g. HG0097:0/0;HG0098:0/1,1/1 . Unphased genotypes (e.g. 0/1, 1/1) will also include phased genotypes (e.g.
* 0|1, 1|0, 1|1), but not vice versa. When filtering by multi-allelic genotypes, any secondary allele will match,
* regardless of its position e.g. 1/2 will match with genotypes 1/2, 1/3, 1/4, .... Genotype aliases accepted: HOM_REF,
* HOM_ALT, HET, HET_REF, HET_ALT, HET_MISS and MISS e.g. HG0097:HOM_REF;HG0098:HET_REF,HOM_ALT . 3) Sample with
* segregation mode: {sample}:{segregation}. Only one sample accepted.Accepted segregation modes: [ autosomalDominant,
* autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError,
* compoundHeterozygous ]. Value is case insensitive. e.g. HG0097:DeNovo Sample must have parents defined and indexed. .
* sampleData: Filter by any SampleData field from samples. [{sample}:]{key}{op}{value}[,;]* . If no sample is specified, will
* use all samples from "sample" or "genotype" filter. e.g. DP>200 or HG0097:DP>200,HG0098:DP<10 . Many FORMAT fields can be
* combined. e.g. HG0097:DP>200;GT=1/1,0/1,HG0098:DP<10.
* sampleAnnotation: Selects some samples using metadata information from Catalog. e.g.
* age>20;phenotype=hpo:123,hpo:456;name=smith.
* cohort: Select variants with calculated stats for the selected cohorts.
* cohortStatsRef: Reference Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4.
* cohortStatsAlt: Alternate Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4.
* cohortStatsMaf: Minor Allele Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4.
* cohortStatsMgf: Minor Genotype Frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL<=0.4.
* cohortStatsPass: Filter PASS frequency: [{study:}]{cohort}[<|>|<=|>=]{number}. e.g. ALL>0.8.
* missingAlleles: Number of missing alleles: [{study:}]{cohort}[<|>|<=|>=]{number}.
* missingGenotypes: Number of missing genotypes: [{study:}]{cohort}[<|>|<=|>=]{number}.
* score: Filter by variant score: [{study:}]{score}[<|>|<=|>=]{number}.
* family: Filter variants where any of the samples from the given family contains the variant (HET or HOM_ALT).
* familyDisorder: Specify the disorder to use for the family segregation.
* familySegregation: Filter by segregation mode from a given family. Accepted values: [ autosomalDominant, autosomalRecessive,
* XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, deNovoStrict, mendelianError, compoundHeterozygous ].
* familyMembers: Sub set of the members of a given family.
* familyProband: Specify the proband child to use for the family segregation.
* gene: List of genes, most gene IDs are accepted (HGNC, Ensembl gene, ...). This is an alias to 'xref' parameter.
* ct: List of SO consequence types, e.g. missense_variant,stop_lost or SO:0001583,SO:0001578. Accepts aliases 'loss_of_function'
* and 'protein_altering'.
* xref: List of any external reference, these can be genes, proteins or variants. Accepted IDs include HGNC, Ensembl genes,
* dbSNP, ClinVar, HPO, Cosmic, HGVS ...
* biotype: List of biotypes, e.g. protein_coding.
* proteinSubstitution: Protein substitution scores include SIFT and PolyPhen. You can query using the score
* {protein_score}[<|>|<=|>=]{number} or the description {protein_score}[~=|=]{description} e.g. polyphen>0.1,sift=tolerant.
* conservation: Filter by conservation score: {conservation_score}[<|>|<=|>=]{number} e.g. phastCons>0.5,phylop<0.1,gerp>0.1.
* populationFrequencyAlt: Alternate Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01.
* populationFrequencyRef: Reference Population Frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01.
* populationFrequencyMaf: Population minor allele frequency: {study}:{population}[<|>|<=|>=]{number}. e.g. 1000G:ALL<0.01.
* transcriptFlag: List of transcript flags. e.g. canonical, CCDS, basic, LRG, MANE Select, MANE Plus Clinical, EGLH_HaemOnc,
* TSO500.
* geneTraitId: List of gene trait association id. e.g. "umls:C0007222" , "OMIM:269600".
* go: List of GO (Gene Ontology) terms. e.g. "GO:0002020".
* expression: List of tissues of interest. e.g. "lung".
* proteinKeyword: List of Uniprot protein variant annotation keywords.
* drug: List of drug names.
* functionalScore: Functional score: {functional_score}[<|>|<=|>=]{number} e.g. cadd_scaled>5.2 , cadd_raw<=0.3.
* clinical: Clinical source: clinvar, cosmic.
* clinicalSignificance: Clinical significance: benign, likely_benign, likely_pathogenic, pathogenic.
* clinicalConfirmedStatus: Clinical confirmed status.
* customAnnotation: Custom annotation: {key}[<|>|<=|>=]{number} or {key}[~=|=]{text}.
* panel: Filter by genes from the given disease panel.
* panelModeOfInheritance: Filter genes from specific panels that match certain mode of inheritance. Accepted values : [
* autosomalDominant, autosomalRecessive, XLinkedDominant, XLinkedRecessive, YLinked, mitochondrial, deNovo, mendelianError,
* compoundHeterozygous ].
* panelConfidence: Filter genes from specific panels that match certain confidence. Accepted values : [ high, medium, low,
* rejected ].
* panelRoleInCancer: Filter genes from specific panels that match certain role in cancer. Accepted values : [ both, oncogene,
* tumorSuppressorGene, fusion ].
* panelFeatureType: Filter elements from specific panels by type. Accepted values : [ gene, region, str, variant ].
* panelIntersection: Intersect panel genes and regions with given genes and regions from que input query. This will prevent
* returning variants from regions out of the panel.
* trait: List of traits, based on ClinVar, HPO, COSMIC, i.e.: IDs, histologies, descriptions,...
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse queryVariant(ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical/variant", null, "query", params, GET, ClinicalVariant.class);
}
/**
* Returns the acl of the clinical analyses. If member is provided, it will only return the acl for the member.
* @param clinicalAnalyses Comma separated list of clinical analysis IDs or names up to a maximum of 100.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* member: User or group ID.
* silent: Boolean to retrieve all possible entries that are queried for, false to raise an exception whenever one of the entries
* looked for cannot be shown for whichever reason.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse acl(String clinicalAnalyses, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical", clinicalAnalyses, "acl", params, GET, ClinicalAnalysisAclEntryList.class);
}
/**
* Delete clinical analyses.
* @param clinicalAnalyses Comma separated list of clinical analysis IDs or names up to a maximum of 100.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* force: Force deletion if the ClinicalAnalysis contains interpretations or is locked.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse delete(String clinicalAnalyses, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical", clinicalAnalyses, "delete", params, DELETE, ClinicalAnalysis.class);
}
/**
* Update clinical analysis attributes.
* @param clinicalAnalyses Comma separated list of clinical analysis IDs.
* @param data JSON containing clinical analysis information.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* commentsAction: Action to be performed if the array of comments is being updated.
* flagsAction: Action to be performed if the array of flags is being updated.
* analystsAction: Action to be performed if the array of analysts is being updated.
* filesAction: Action to be performed if the array of files is being updated.
* panelsAction: Action to be performed if the array of panels is being updated.
* annotationSetsAction: Action to be performed if the array of annotationSets is being updated.
* includeResult: Flag indicating to include the created or updated document result in the response.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse update(String clinicalAnalyses, ClinicalAnalysisUpdateParams data, ObjectMap params)
throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis", null, "clinical", clinicalAnalyses, "update", params, POST, ClinicalAnalysis.class);
}
/**
* Update annotations from an annotationSet.
* @param clinicalAnalysis Clinical analysis ID.
* @param annotationSet AnnotationSet ID to be updated.
* @param data Json containing the map of annotations when the action is ADD, SET or REPLACE, a json with only the key 'remove'
* containing the comma separated variables to be removed as a value when the action is REMOVE or a json with only the key 'reset'
* containing the comma separated variables that will be set to the default value when the action is RESET.
* @param params Map containing any of the following optional parameters.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* action: Action to be performed: ADD to add new annotations; REPLACE to replace the value of an already existing annotation;
* SET to set the new list of annotations removing any possible old annotations; REMOVE to remove some annotations; RESET to
* set some annotations to the default value configured in the corresponding variables of the VariableSet if any.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse updateAnnotationSetsAnnotations(String clinicalAnalysis, String annotationSet, ObjectMap data, ObjectMap
params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis/clinical", clinicalAnalysis, "annotationSets", annotationSet, "annotations/update", params, POST,
Sample.class);
}
/**
* Clinical analysis info.
* @param clinicalAnalysis Comma separated list of clinical analysis IDs or names up to a maximum of 100.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* flattenAnnotations: Flatten the annotations?.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* version: Comma separated list of clinical versions. 'all' to get all the clinical versions. Not supported if multiple clinical
* ids are provided.
* deleted: Boolean to retrieve deleted entries.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse info(String clinicalAnalysis, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis", null, "clinical", clinicalAnalysis, "info", params, GET, ClinicalAnalysis.class);
}
/**
* Create a new Interpretation.
* @param clinicalAnalysis Clinical analysis ID.
* @param data JSON containing clinical interpretation information.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* study: [[organization@]project:]study id.
* setAs: Set interpretation as.
* includeResult: Flag indicating to include the created or updated document result in the response.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse createInterpretation(String clinicalAnalysis, InterpretationCreateParams data, ObjectMap params)
throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis/clinical", clinicalAnalysis, "interpretation", null, "create", params, POST, Interpretation.class);
}
/**
* Clear the fields of the main interpretation of the Clinical Analysis.
* @param clinicalAnalysis Clinical analysis ID.
* @param interpretations Interpretation IDs of the Clinical Analysis.
* @param params Map containing any of the following optional parameters.
* study: [[organization@]project:]study ID.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse clearInterpretation(String clinicalAnalysis, String interpretations, ObjectMap params)
throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis/clinical", clinicalAnalysis, "interpretation", interpretations, "clear", params, POST,
Interpretation.class);
}
/**
* Delete interpretation.
* @param clinicalAnalysis Clinical analysis ID.
* @param interpretations Interpretation IDs of the Clinical Analysis.
* @param params Map containing any of the following optional parameters.
* study: [[organization@]project:]study ID.
* setAsPrimary: Interpretation id to set as primary from the list of secondaries in case of deleting the actual primary one.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse deleteInterpretation(String clinicalAnalysis, String interpretations, ObjectMap params)
throws ClientException {
params = params != null ? params : new ObjectMap();
return execute("analysis/clinical", clinicalAnalysis, "interpretation", interpretations, "delete", params, DELETE,
Interpretation.class);
}
/**
* Revert to a previous interpretation version.
* @param clinicalAnalysis Clinical analysis ID.
* @param interpretation Interpretation ID.
* @param version Version to revert to.
* @param params Map containing any of the following optional parameters.
* study: [[organization@]project:]study ID.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse revertInterpretation(String clinicalAnalysis, String interpretation, int version, ObjectMap params)
throws ClientException {
params = params != null ? params : new ObjectMap();
params.putIfNotNull("version", version);
return execute("analysis/clinical", clinicalAnalysis, "interpretation", interpretation, "revert", params, POST,
Interpretation.class);
}
/**
* Update interpretation fields.
* @param clinicalAnalysis Clinical analysis ID.
* @param interpretation Interpretation ID.
* @param data JSON containing clinical interpretation information.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* study: [[organization@]project:]study ID.
* primaryFindingsAction: Action to be performed if the array of primary findings is being updated.
* methodsAction: Action to be performed if the array of methods is being updated.
* secondaryFindingsAction: Action to be performed if the array of secondary findings is being updated.
* commentsAction: Action to be performed if the array of comments is being updated. To REMOVE or REPLACE, the date will need to
* be provided to identify the comment.
* panelsAction: Action to be performed if the array of panels is being updated.
* setAs: Set interpretation as.
* includeResult: Flag indicating to include the created or updated document result in the response.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse updateInterpretation(String clinicalAnalysis, String interpretation, InterpretationUpdateParams
data, ObjectMap params) throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis/clinical", clinicalAnalysis, "interpretation", interpretation, "update", params, POST,
Interpretation.class);
}
/**
* Update clinical analysis report.
* @param clinicalAnalysis Clinical analysis ID.
* @param data JSON containing clinical report information.
* @param params Map containing any of the following optional parameters.
* include: Fields included in the response, whole JSON path must be provided.
* exclude: Fields excluded in the response, whole JSON path must be provided.
* study: Study [[organization@]project:]study where study and project can be either the ID or UUID.
* commentsAction: Action to be performed if the array of comments is being updated.
* supportingEvidencesAction: Action to be performed if the array of supporting evidences is being updated.
* filesAction: Action to be performed if the array of files is being updated.
* includeResult: Flag indicating to include the created or updated document result in the response.
* @return a RestResponse object.
* @throws ClientException ClientException if there is any server error.
*/
public RestResponse updateReport(String clinicalAnalysis, ClinicalReport data, ObjectMap params)
throws ClientException {
params = params != null ? params : new ObjectMap();
params.put("body", data);
return execute("analysis/clinical", clinicalAnalysis, "report", null, "update", params, POST, ClinicalReport.class);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy