Models

varvis_connector data models module

Copyright (C) 2026 Labor Berlin – Charité Vivantes GmbH

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

author:

Markus Konrad <markus.konrad@laborberlin.com>

class varvis_connector.models.GenomicPosition(**data)[source]

Bases: BaseModel

Genomic position representation.

Parameters:
chromosome: str
start: int
end: int
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.VariantSignificance(**data)[source]

Bases: BaseModel

Model representing variant significance.

Parameters:
id: int
name: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.HpoTerm(**data)[source]

Bases: BaseModel

HPO term representation.

Parameters:
  • accessionId (int)

  • name (str)

  • abbreviation (str | None)

accessionId: int
name: str
abbreviation: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.ThresholdSettings(**data)[source]

Bases: BaseModel

Threshold settings for CNV target results.

Parameters:
  • homDelThreshold (float | None)

  • hetDelThreshold (float | None)

  • dupThreshold (float | None)

  • multiDupThreshold (float | None)

homDelThreshold: float | None
hetDelThreshold: float | None
dupThreshold: float | None
multiDupThreshold: float | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.BaseHeaderItem(**data)[source]

Bases: BaseModel

General header item used as base for SnvAnnotationHeaderItem and CnvHeaderItem.

Parameters:
  • id (str)

  • title (str)

  • description (str | None)

  • badge (str | None)

  • url (str | None)

  • dataDictionary (dict[str | int, Any] | None)

  • dataType (str | None)

  • fromMultiValue (bool | None)

id: str
title: str
description: str | None
badge: str | None
url: str | None
dataDictionary: dict[str | int, Any] | None
dataType: str | None
fromMultiValue: bool | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CnvHeaderItem(**data)[source]

Bases: BaseHeaderItem

Parameters:
  • id (str)

  • title (str)

  • description (str | None)

  • badge (str | None)

  • url (str | None)

  • dataDictionary (dict[str | int, Any] | None)

  • dataType (str | None)

  • fromMultiValue (bool | None)

  • property (str | None)

property: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.SnvAnnotationHeaderItem(**data)[source]

Bases: BaseHeaderItem

Variant annotation header item as provided in “header” field of SnvAnnotationData.

Parameters:
  • id (str)

  • title (str)

  • description (str | None)

  • badge (str | None)

  • url (str | None)

  • dataDictionary (dict[str | int, Any] | None)

  • dataType (str | None)

  • fromMultiValue (bool | None)

  • property (int | None)

  • bioinfScoreThresholdsByAnalysisId (dict[str, dict[str, Any]] | None)

  • category (Literal['META_SCORE', 'SCORE_WITH_THRESHOLD', 'SCORE_WITHOUT_THRESHOLD', 'SPLICING_SCORE'] | None)

property: int | None
bioinfScoreThresholdsByAnalysisId: dict[str, dict[str, Any]] | None
category: Literal['META_SCORE', 'SCORE_WITH_THRESHOLD', 'SCORE_WITHOUT_THRESHOLD', 'SPLICING_SCORE'] | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.SnvAnnotationData(**data)[source]

Bases: BaseModel

SNV annotation data as provided by varvis Get variant annotations endpoint.

Parameters:
header: list[SnvAnnotationHeaderItem]
data: list[list]
uniquePersonLabelSuffixes: dict[str, str] | None
uniqueCnvPersonLabelSuffixes: dict[str, str] | None
filterApplied: bool | None
thresholdViolated: bool | None
threshold: int | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CnvTargetResults(**data)[source]

Bases: BaseModel

CNV target results as provided by varvis Get CNV results endpoint.

Parameters:
targetRegionsHeader: list[CnvHeaderItem]
data: list[list]
bivariance: float | None
maxValidBivariance: float | None
meanCoverage: float | None
refSpreadThreshold: float | None
sex: Literal['Male', 'Female', 'Unknown', 'Intersex'] | None
thresholds: ThresholdSettings
segmentationThresholds: ThresholdSettings
uniquePersonLabelSuffixes: dict[str, str]
wgs: bool
geneIdToHpoTerms: dict[str, list[HpoTerm]]
geneIdToHpoMoiTerms: dict[str, list[HpoTerm]]
geneIdToHpoMatchedTerms: dict[str, list]
geneIdToHpoSimScore: dict[str, float]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CnvAnnotations(**data)[source]

Bases: BaseModel

CNV Annotation representation used in PendingCnvDataItem and in CaseReportCnvConclusion.

Note that this model was only inferred from sample data retrieved from the varvis playground and as shown in the varvis documentation. The varvis documentation does not provide any information about the actual structure of this data.

Parameters:
  • DGV_found (int | list[Any] | None)

  • DGV_subtype (list[str] | None)

  • DECIPHER_sig (list[str] | str | None)

  • DECIPHER_type (list[str] | str | None)

  • DECIPHER_found (int | list[Any] | None)

  • ALLEXES_CNV_sig_gain (list[str] | str | None)

  • ALLEXES_CNV_sig_loss (list[str] | str | None)

  • ALLEXES_CNV_found_gain (int | None)

  • ALLEXES_CNV_found_loss (int | None)

  • localFoundGain (int | None)

  • localFoundLoss (int | None)

  • localSignificanceGain (list[Any] | str | None)

  • localSignificanceLoss (list[Any] | str | None)

model_config: ClassVar[ConfigDict] = {'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

DGV_found: int | list[Any] | None
DGV_subtype: list[str] | None
DECIPHER_sig: list[str] | str | None
DECIPHER_type: list[str] | str | None
DECIPHER_found: int | list[Any] | None
ALLEXES_CNV_sig_gain: list[str] | str | None
ALLEXES_CNV_sig_loss: list[str] | str | None
ALLEXES_CNV_found_gain: int | None
ALLEXES_CNV_found_loss: int | None
localFoundGain: int | None
localFoundLoss: int | None
localSignificanceGain: list[Any] | str | None
localSignificanceLoss: list[Any] | str | None
class varvis_connector.models.CnvRelativesDataItem(**data)[source]

Bases: BaseModel

CNV relatives data representation used in PendingCnvDataItem.

Parameters:
copyNumbers: list[int]
types: list[Literal['LOSS', 'GAIN']]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.PendingCnvDataItem(**data)[source]

Bases: BaseModel

Pending CNV data item used in PendingCnvData model.

Note that this model was only inferred from sample data retrieved from the varvis playground and as shown in the varvis documentation. The varvis documentation does not provide any information about the actual structure of this data.

Parameters:
index: bool
pendingCnvId: int
detectedSegmentId: int | None
log2Value: float
refSpread: float
copyNumber: int
type: Literal['LOSS', 'GAIN'] | None
position: GenomicPosition
regionInfo: str | None
exactBreakpointBegin: bool
exactBreakpointEnd: bool
cytoband: str
cdna: str | None
regionIndexBegin: int
regionIndexEnd: int
mosaic: bool
mosaicRelation: str | None
analysisId: int
relativeAnalysisIds: list[int]
comment: str | None
iscn: str
hgvs: str
inheritance: str
geneIds: list[int]
transcriptNcbiIds: list[str]
exons: list[int]
localFoundGain: int
localFoundLoss: int
localSignificanceGain: list[Any]
localSignificanceLoss: list[Any]
overlapOperator: Literal['AND', 'OR']
overlapParam: float
otherOverlapParam: float
commentCount: int
recentComment: str | None
annotations: CnvAnnotations
relativesData: dict[str, CnvRelativesDataItem]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.PendingCnvData(**data)[source]

Bases: BaseModel

Pending CNV data as returned from varvis pending-cnv endpoint.

Parameters:
data: list[PendingCnvDataItem]
cnvHeader: list[CnvHeaderItem]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricResultGroupingKey(**data)[source]

Bases: BaseModel

Model representing a grouping key for a QC case metric result data item.

Used in QCCaseMetricResultDataItem model.

Parameters:
  • type (str)

  • lane (str | None)

  • linkedAnalysisId (int | None)

type: str
lane: str | None
linkedAnalysisId: int | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricResultDataItem(**data)[source]

Bases: BaseModel

Model representing a single data item in a QC case metric result.

Used in QCCaseMetricResultItem model.

Parameters:
analysisId: int | None
sequencingBatchId: int | None
dimension: str
data: float | int | str | dict[str, float | int]
groupingKey: QCCaseMetricResultGroupingKey | None
violated: bool
mappedData: float | int | str | dict | None
linkedAnalysisId: int | None
type: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricResultItem(**data)[source]

Bases: BaseModel

Model representing a single QC case metric result.

Used in QCCaseMetricResults model.

Parameters:
analysisId: int | None
referenceAnalysisId: int | None
sequencingBatchId: int | None
sampleId: str | None
qualityMetricTypes: list[int]
data: dict[str, QCCaseMetricResultDataItem]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricResults(**data)[source]

Bases: BaseModel

Model representing QC case metrics results.

Used in QCCaseMetricsData model.

Parameters:
personId: str
sampleIds: dict[str, str]
metricResults: list[QCCaseMetricResultItem]
sequencingBatchesMetricResults: list[QCCaseMetricResultItem]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricTypeDimension(**data)[source]

Bases: BaseModel

Dimension model for QCCaseMetricType

Parameters:
id: int
name: str
description: str | None
grid: bool
chart: bool
threshold: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricType(**data)[source]

Bases: BaseModel

Model representing a quality metric type in QC case metrics with its dimensions.

Used in QCCaseMetricsData model.

Parameters:
id: int
type: str
title: str
description: str
dimensions: list[QCCaseMetricTypeDimension]
chartTitle: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricThresholdRangeBound(**data)[source]

Bases: BaseModel

Represents the threshold bounds for a specific dimension in QC case metrics threshold ranges.

Used in QCCaseMetricThresholdRanges model.

Parameters:
  • lowerBound (float | None)

  • upperBound (float | None)

  • defaultLowerBound (float | None)

  • defaultUpperBound (float | None)

  • fixedValues (bool)

lowerBound: float | None
upperBound: float | None
defaultLowerBound: float | None
defaultUpperBound: float | None
fixedValues: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricThresholdRangeCategory(**data)[source]

Bases: BaseModel

Model representing a category in QC case metrics threshold ranges.

Used in QCCaseMetricThresholdRanges model.

Parameters:
id: int
title: str
description: str
name: str
types: list[QCCaseMetricType]
order: int
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricEnrichmentKitDisabledAnnotationField(**data)[source]

Bases: BaseModel

Parameters:
  • name (str)

  • displayName (str)

name: str
displayName: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricEnrichmentKit(**data)[source]

Bases: BaseModel

Model representing an enrichment kit in QC case metrics threshold ranges.

Used in QCCaseMetricEnrichmentKit model.

Parameters:
id: int
bedFile: str
bedRegionsSize: int
canBeDeleted: bool
disabledAnnotationFields: list[QCCaseMetricEnrichmentKitDisabledAnnotationField]
name: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricThresholdRanges(**data)[source]

Bases: BaseModel

Model representing threshold ranges for metrics along with enrichment kits and categories.

Used in QCCaseMetricsData model.

Parameters:
enrichmentKits: list[QCCaseMetricEnrichmentKit]
categories: list[QCCaseMetricThresholdRangeCategory]
ranges: dict[str, dict[str, QCCaseMetricThresholdRangeBound]]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.QCCaseMetricsData(**data)[source]

Bases: BaseModel

QC case metrics data model as returned from varvis get case metrics endpoint.

Parameters:
metricResults: QCCaseMetricResults
metricTypes: list[QCCaseMetricType]
thresholdRanges: QCCaseMetricThresholdRanges
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CoverageData(**data)[source]

Bases: BaseModel

Coverage data model as returned from varvis get coverage endpoint.

Parameters:
  • chromosome (str)

  • start (int)

  • end (int)

  • length (int)

  • minimumCoverage (int)

  • maximumCoverage (int)

  • meanCoverage (float)

  • basePairsNotCovered (int)

  • percentCovered (float)

  • regionName (str)

  • sourceId (str)

  • analysisId (int)

  • laneQuality (str | None)

  • gene (str | None)

  • transcript (str | None)

  • exonNumbers (list[int] | None)

chromosome: str
start: int
end: int
length: int
minimumCoverage: int
maximumCoverage: int
meanCoverage: float
basePairsNotCovered: int
percentCovered: float
regionName: str
sourceId: str
analysisId: int
laneQuality: str | None
gene: str | None
transcript: str | None
exonNumbers: list[int] | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.AnalysisApproval(**data)[source]

Bases: BaseModel

Analysis approval model as returned from varvis analyses endpoint. Used in AnalysisItem.

Generated from API documentation.

Parameters:
  • analysisId (int)

  • userId (int | None)

  • userName (str)

  • approvalTime (datetime)

  • status (Literal['APPROVED', 'REJECTED', 'PENDING'] | None)

  • comment (str | None)

analysisId: int
userId: int | None
userName: str
approvalTime: datetime
status: Literal['APPROVED', 'REJECTED', 'PENDING'] | None
comment: str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.AnalysisItem(**data)[source]

Bases: BaseModel

An analysis item model as returned from varvis analyses endpoint.

Generated from playground samples and API documentation.

Parameters:
  • id (int)

  • analysisType (Literal['SNV', 'SANGER_MUT_SURVEYOR', 'CNV', 'QPCR', 'SV', 'MSI', 'PATHO_UI_SV', 'PATHO_UI_MSI', 'STR'])

  • status (Literal['PENDING', 'DONE', 'FAILED'])

  • regulatoryStatus (Literal['UNKNOWN', 'IN_VITRO_DIAGNOSTIC', 'RESEARCH_USE_ONLY', 'PERFORMANCE_STUDY_ONLY'])

  • sourceId (str | None)

  • sampleId (str | None)

  • sampleOrigin (Literal['GERMLINE', 'SOMATIC', 'UNKNOWN', 'SNPID', 'MASKED'] | None)

  • enrichmentKitName (str | None)

  • referencedAnalysisId (int | None)

  • personLimsId (str | None)

  • jobName (str | None)

  • analysisApproval (AnalysisApproval | None)

  • sequencingBatchId (int | None)

  • firstAnnotated (datetime | None)

  • lastAnnotated (datetime | None)

id: int
analysisType: Literal['SNV', 'SANGER_MUT_SURVEYOR', 'CNV', 'QPCR', 'SV', 'MSI', 'PATHO_UI_SV', 'PATHO_UI_MSI', 'STR']
status: Literal['PENDING', 'DONE', 'FAILED']
regulatoryStatus: Literal['UNKNOWN', 'IN_VITRO_DIAGNOSTIC', 'RESEARCH_USE_ONLY', 'PERFORMANCE_STUDY_ONLY']
sourceId: str | None
sampleId: str | None
sampleOrigin: Literal['GERMLINE', 'SOMATIC', 'UNKNOWN', 'SNPID', 'MASKED'] | None
enrichmentKitName: str | None
referencedAnalysisId: int | None
personLimsId: str | None
jobName: str | None
analysisApproval: AnalysisApproval | None
sequencingBatchId: int | None
firstAnnotated: datetime | None
lastAnnotated: datetime | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.FindByInputFileNameAnalysisItem(**data)[source]

Bases: BaseModel

Analysis item model used in Find By Input File Name endpoint. Similar to AnalysisItem model but yet different.

Generated from playground samples and API documentation.

Parameters:
  • analysisId (int)

  • personId (int | None)

  • enrichmentKitId (int | None)

  • analysisStatus (Literal['PENDING', 'DONE', 'FAILED'])

  • matchingOriginalFileName (str | None)

  • matchingCustomerProvidedInputFilePath (str | None)

  • sampleOrigin (Literal['GERMLINE', 'SOMATIC', 'UNKNOWN', 'SNPID', 'MASKED'])

  • analysisType (Literal['SNV', 'SANGER_MUT_SURVEYOR', 'CNV', 'QPCR', 'SV', 'MSI', 'PATHO_UI_SV', 'PATHO_UI_MSI', 'STR'])

  • finishedDate (datetime)

analysisId: int
personId: int | None
enrichmentKitId: int | None
analysisStatus: Literal['PENDING', 'DONE', 'FAILED']
matchingOriginalFileName: str | None
matchingCustomerProvidedInputFilePath: str | None
sampleOrigin: Literal['GERMLINE', 'SOMATIC', 'UNKNOWN', 'SNPID', 'MASKED']
analysisType: Literal['SNV', 'SANGER_MUT_SURVEYOR', 'CNV', 'QPCR', 'SV', 'MSI', 'PATHO_UI_SV', 'PATHO_UI_MSI', 'STR']
finishedDate: datetime
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.PersonPersonalInformation(**data)[source]

Bases: BaseModel

Personal information model as used in PersonData model.

Parameters:
  • limsId (str | None)

  • familyId (str | None)

  • firstName (str | None)

  • lastName (str | None)

  • comment (str | None)

  • sex (Literal['UNKNOWN', 'MALE', 'FEMALE', 'INTERSEX'] | None)

  • birthDate (date | None)

  • country (str | None)

  • consentType (Literal['FULL_CONSENT', 'NO_CONSENT', 'UNKNOWN'] | None)

  • validationStatus (Literal['UNKNOWN', 'FLAGGED', 'PROCESSED', 'VALIDATED', 'DELETING'] | None)

limsId: str | None
familyId: str | None
firstName: str | None
lastName: str | None
comment: str | None
sex: Literal['UNKNOWN', 'MALE', 'FEMALE', 'INTERSEX'] | None
birthDate: date | None
country: str | None
consentType: Literal['FULL_CONSENT', 'NO_CONSENT', 'UNKNOWN'] | None
validationStatus: Literal['UNKNOWN', 'FLAGGED', 'PROCESSED', 'VALIDATED', 'DELETING'] | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.PersonHpoTermDiseaseModifier(**data)[source]

Bases: BaseModel

Modifier model as used in PersonHpoTerm and PersonDisease models.

Parameters:
accession: str
name: str
description: str
synomys: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.PersonHpoTerm(**data)[source]

Bases: BaseModel

Person HPO term model as used in PersonClinicalInformation model.

Parameters:
accession: str
name: str
description: str
synomys: list[str] | None
presence: Literal['PRESENT', 'ABSENT']
level: Literal['MAJOR', 'MINOR', 'UNKNOWN']
modifiers: list[PersonHpoTermDiseaseModifier]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.PersonDisease(**data)[source]

Bases: BaseModel

Person disease information model as used in PersonClinicalInformation model.

Parameters:
shortName: str | None
name: str | None
presence: Literal['PRESENT', 'ABSENT']
level: Literal['MAJOR', 'MINOR', 'UNKNOWN']
modifiers: list[PersonHpoTermDiseaseModifier]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.PersonClinicalInformation(**data)[source]

Bases: BaseModel

Person clinical information model as used in PersonData model.

Parameters:
limsId: str | None
hpoTerms: list[PersonHpoTerm] | None
diseases: list[PersonDisease] | None
consanguineous: bool | None
parentageConfirmed: bool | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.PersonData(**data)[source]

Bases: BaseModel

Model of person data as returned from varvis Get Person Including Clinical Information endpoint.

Generated from sample responses and updated from Varvis API documentation.

Parameters:
personalInformation: PersonPersonalInformation
clinicalInformation: PersonClinicalInformation
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.PersonUpdateData(**data)[source]

Bases: BaseModel

Model for creating or updating a person entry using the Api Create Or Update Person endpoint.

Allows to create a new person entry, or updates an existing one. Only the id field is required. Fields that are None will not override existing values on update.

Generated from API documentation.

Parameters:
  • id (str)

  • familyId (str | None)

  • firstName (str | None)

  • lastName (str | None)

  • comment (str | None)

  • sex (Literal['UNKNOWN', 'MALE', 'FEMALE', 'INTERSEX'] | None)

  • birthDateYear (int | None)

  • birthDateMonth (int | None)

  • birthDateDay (int | None)

  • country (str | None)

  • hpoTermIds (list[str] | None)

id: str
familyId: str | None
firstName: str | None
lastName: str | None
comment: str | None
sex: Literal['UNKNOWN', 'MALE', 'FEMALE', 'INTERSEX'] | None
birthDateYear: int | None
birthDateMonth: int | None
birthDateDay: int | None
country: str | None
hpoTermIds: list[str] | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.PersonReportItem(**data)[source]

Bases: BaseModel

Model representing a report item for the Varvis “Get Report Info For Persons” API endpoint.

Generated from playground samples and API documentation.

Parameters:
limsId: str
timeSubmitted: datetime | None
timeApproved: datetime | None
markedForApproval: bool | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReportAnnotationSource(**data)[source]

Bases: BaseModel

Model representing an annotation source in a case report. Used in CaseReportAnalysis.

Parameters:
name: str
value: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReportAnalysis(**data)[source]

Bases: BaseModel

Model representing an analysis in a case report person item. Used in CaseReportPersonItem.

Parameters:
  • analysisId (int)

  • sampleId (str | None)

  • analysisType (Literal['SNV', 'SANGER_MUT_SURVEYOR', 'CNV', 'QPCR', 'SV', 'MSI', 'PATHO_UI_SV', 'PATHO_UI_MSI', 'STR'] | None)

  • enrichmentKit (str | None)

  • sourceId (str | None)

  • annotationSources (list[CaseReportAnnotationSource])

  • selected (bool)

analysisId: int
sampleId: str | None
analysisType: Literal['SNV', 'SANGER_MUT_SURVEYOR', 'CNV', 'QPCR', 'SV', 'MSI', 'PATHO_UI_SV', 'PATHO_UI_MSI', 'STR'] | None
enrichmentKit: str | None
sourceId: str | None
annotationSources: list[CaseReportAnnotationSource]
selected: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReportPersonItem(**data)[source]

Bases: BaseModel

Model representing a person item for a case report. Used in CaseReport.

Parameters:
type: Literal['PERSON']
personId: int
limsId: str | None
familyId: str | None
hpoTerms: list[str]
comment: str | None
analyses: list[CaseReportAnalysis]
active: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReportDisease(**data)[source]

Bases: BaseModel

Model representing a disease in a case report. Used in CaseReportConclusion.

TODO: must confirm which fields are optional and which are not

Parameters:
  • id (int)

  • shortName (str | None)

  • name (str)

  • omimId (int | None)

  • icd10Id (str | None)

  • orphanetId (int | str | None)

id: int
shortName: str | None
name: str
omimId: int | None
icd10Id: str | None
orphanetId: int | str | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReportGene(**data)[source]

Bases: BaseModel

Model representing a gene used in a case report. Used in CaseReportSnvConclusion and CaseReportCnvConclusion.

TODO: must confirm which fields are optional and which are not

Parameters:
  • id (int)

  • ncbiId (int | None)

  • omimId (int | None)

  • ensemblId (str | None)

  • hgncId (int | None)

  • lrgId (int | None)

  • symbol (str | None)

  • name (str)

  • transcript (str)

  • transcriptCdsLength (int)

  • transcriptExonCount (int)

  • chromosome (str)

  • chromosomeLocation (str)

  • hpoTerms (list[str])

id: int
ncbiId: int | None
omimId: int | None
ensemblId: str | None
hgncId: int | None
lrgId: int | None
symbol: str | None
name: str
transcript: str
transcriptCdsLength: int
transcriptExonCount: int
chromosome: str
chromosomeLocation: str
hpoTerms: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReportCnvConclusion(**data)[source]

Bases: BaseModel

Model representing a CNV conclusion in a case report. Used in CaseReportConclusion.

Parameters:
analysisIds: list[int]
significance: VariantSignificance
variant: str
cdna: str | None
hgvs: str
iscn: str
position: GenomicPosition
copyNumber: int
type: Literal['LOSS', 'GAIN']
mosaic: bool
length: int
log2: float
refSpread: float
affectedGenes: list[CaseReportGene]
transcripts: list[str]
exons: list[int]
latestComment: str | None
commentCount: int
annotations: CnvAnnotations
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReportSnvConclusion(**data)[source]

Bases: BaseModel

Model representing an SNV conclusion for a case report. Used in CaseReportConclusion.

TODO: must confirm which fields are optional and which are not

Parameters:
analysisIds: list[int]
significance: VariantSignificance
genes: list[CaseReportGene]
cdna: str
position: GenomicPosition
transcript: str
variant: str
acmgVersion: str
acmgCriteria: list[str]
latestComment: str | None
commentCount: int
annotations: dict[str, int | float | str | list[int | float | str] | None]
selectedPaper: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReportConclusion(**data)[source]

Bases: BaseModel

Model representing a case report conclusion. Used in CaseReportVirtualPanelItem.

Note

API documentation says that there’s a field disease and a field diseases.

Parameters:
diseases: list[CaseReportDisease]
modeOfInheritance: str
genotype: str
clinicalAssessment: str
comment: str | None
variantCategory: str
cnvConclusions: list[CaseReportCnvConclusion]
snvConclusions: list[CaseReportSnvConclusion]
disease: CaseReportDisease
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReportAppliedFilter(**data)[source]

Bases: BaseModel

Model representing an applied filter for a case report. Used in CaseReportVirtualPanelItem.

Parameters:
name: str
filter: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReportVirtualPanelItem(**data)[source]

Bases: BaseModel

Model representing a virtual panel item for a case report. Used in CaseReport.

Parameters:
type: Literal['VIRTUAL_PANEL']
allGenesPanel: bool
virtualPanelId: int
name: str
genes: list[CaseReportGene]
appliedFilters: list[CaseReportAppliedFilter]
conclusions: list[CaseReportConclusion]
active: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReportMethodsItem(**data)[source]

Bases: BaseModel

Model representing a methods item for a case report. Used in CaseReport.

Parameters:
type: Literal['METHODS']
analyses: list[CaseReportAnalysis]
active: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.CaseReport(**data)[source]

Bases: BaseModel

Model representing a complete case report as returned from varvis Get Case Report endpoint.

API documentation states that all fields apart from items are optional.

Parameters:
draft: bool | None
personId: int | None
submitter: str | None
submitted: datetime | None
approver: str | None
approved: datetime | None
title: str | None
comment: str | None
reportState: str | None
items: list[Annotated[CaseReportVirtualPanelItem | CaseReportMethodsItem | CaseReportPersonItem, FieldInfo(annotation=NoneType, required=True, discriminator='type')]]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.VirtualPanelSummary(**data)[source]

Bases: BaseModel

Model representing information about a virtual panel as returned from varvis Get Virtual Panel Summaries endpoint.

Generated from playground samples and API documentation.

Parameters:
  • id (int)

  • name (str)

  • numberOfGenesInPanel (int)

  • lengthOfTranscriptsCds (int)

  • active (bool | None)

  • description (str | None)

  • personId (int | None)

  • creator (str | None)

  • creationTime (datetime | None)

  • usageCount (int | None)

id: int
name: str
numberOfGenesInPanel: int
lengthOfTranscriptsCds: int
active: bool | None
description: str | None
personId: int | None
creator: str | None
creationTime: datetime | None
usageCount: int | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.VarvisGene(**data)[source]

Bases: BaseModel

Model representing a gene used in Varvis for the Get All Genes endpoint.

Generated from playground samples and API documentation.

Parameters:
  • id (int)

  • ncbiId (int)

  • omimId (int | None)

  • ensemblId (str | None)

  • hgncId (int | None)

  • lrgId (int | None)

  • symbol (str)

  • name (str)

  • transcript (str | None)

  • transcriptCdsLength (int)

  • transcriptExonCount (int)

  • chromosome (str)

  • chromosomeLocation (str)

  • hpoTerms (list[str])

id: int
ncbiId: int
omimId: int | None
ensemblId: str | None
hgncId: int | None
lrgId: int | None
symbol: str
name: str
transcript: str | None
transcriptCdsLength: int
transcriptExonCount: int
chromosome: str
chromosomeLocation: str
hpoTerms: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.VirtualPanelData(**data)[source]

Bases: BaseModel

Model representing a virtual panel as returned from Get Virtual Panel Details endpoint.

Generated from API documentation and playground samples.

Parameters:
id: int | None
name: str
active: bool
genes: list[VarvisGene]
description: str | None
personId: int | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class varvis_connector.models.VirtualPanelUpdateData(**data)[source]

Bases: BaseModel

Model for creating or updating a virtual panel using the Create Or Update Virtual Panel endpoint.

Updates an existing or creates a new virtual panel based on the information provided. In order to create a new virtual panel no id must be specified. If an id is specified it must belong to an existing virtual panel.

Generated from API documentation.

Parameters:
id: int | None
name: str
active: bool
geneIds: list[int]
description: str | None
personId: int | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Bases: BaseModel

Model representing a downloadable file used in AnalysisFileDownloadLinks model.

Varvis API documentation states that all fields are optional (which is rather strange).

Parameters:
  • fileName (str | None)

  • downloadLink (str | None)

  • estimatedRestoreTime (str | None)

  • currentlyArchived (bool | None)

fileName: str | None
estimatedRestoreTime: str | None
currentlyArchived: bool | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Bases: BaseModel

Model representing a response from the Get File Download Links endpoint.

Generated from sample responses and updated from Varvis API documentation.

Parameters:
id: int
sampleId: str | None
limsId: str | None
customerProvidedInputFilePaths: list[str]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].