# Family

## Overview

Family data model hosts information about any family.

### Summary

| Field            |                                         Create                                        |                                         Update                                        |                                         Unique                                        |                                        Required                                       |
| ---------------- | :-----------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: |
| id               | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |
| uuid             |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| name             | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| members          | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| phenotypes       | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| disorders        | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| qualityControl   | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| creationDate     | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| modificationDate | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| expectedSize     | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| description      | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| status           | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| internal         | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| roles            | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| attributes       | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) | ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/yes.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| release          |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |
| version          |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |  ![](https://github.com/opencb/opencga/blob/develop/docs/data-models/no.png?raw=true) |

## Data Model

### Family

You can find the Java code [here](https://github.com/opencb/opencga/tree/TASK-1587/opencga-core/src/main/java/org/opencb/opencga/core/models/family/Family.java).

| Field                                                                                                                                                                  | Description                                                                                                                                                                                                                     |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><strong>id</strong><br><em>String</em><br></p>                                                                                                                      | Family is a mandatory parameter when creating a new sample, this ID cannot be changed at the moment.                                                                                                                            |
| <p><strong>uuid</strong><br><em>String</em><br></p>                                                                                                                    | Unique 32-character identifier assigned automatically by OpenCGA.                                                                                                                                                               |
| <p><strong>name</strong><br><em>String</em><br></p>                                                                                                                    | Family name.                                                                                                                                                                                                                    |
| <p><strong>members</strong><br><em>List<</em><a href="https://docs.opencga.opencb.org/data-models/individual"><em>Individual</em></a><em>></em><br></p>                | List of individuals who are family members.                                                                                                                                                                                     |
| <p><strong>phenotypes</strong><br><em>List<</em><a href="https://docs.opencga.opencb.org/data-models/family#phenotype"><em>Phenotype</em></a><em>></em><br></p>        | List of phenotypes .                                                                                                                                                                                                            |
| <p><strong>disorders</strong><br><em>List<</em><a href="https://docs.opencga.opencb.org/data-models/family#disorder"><em>Disorder</em></a><em>></em><br></p>           | Family disorders.                                                                                                                                                                                                               |
| <p><strong>qualityControl</strong><br><a href="https://docs.opencga.opencb.org/data-models/family#familyqualitycontrol"><em>FamilyQualityControl</em></a><br></p>      | Contains different metrics to evaluate the quality of the individual.                                                                                                                                                           |
| <p><strong>creationDate</strong><br><em>String</em><br><br><em>since</em>: 1.0</p>                                                                                     | Autogenerated date following the format YYYYMMDDhhmmss containing the date when the entry was first registered.                                                                                                                 |
| <p><strong>modificationDate</strong><br><em>String</em><br><br><em>since</em>: 1.0</p>                                                                                 | Autogenerated date following the format YYYYMMDDhhmmss containing the date when the entry was last modified.                                                                                                                    |
| <p><strong>expectedSize</strong><br><em>int</em><br></p>                                                                                                               | Family expected size.                                                                                                                                                                                                           |
| <p><strong>description</strong><br><em>String</em><br></p>                                                                                                             | Users may provide a description for the entry.                                                                                                                                                                                  |
| <p><strong>status</strong><br><a href="https://docs.opencga.opencb.org/data-models/family#status"><em>Status</em></a><br><br><em>since</em>: 2.0</p>                   | Object to set a custom status.                                                                                                                                                                                                  |
| <p><strong>internal</strong><br><a href="https://docs.opencga.opencb.org/data-models/family#familyinternal"><em>FamilyInternal</em></a><br><br><em>since</em>: 2.0</p> | Internal field for manage the object.                                                                                                                                                                                           |
| <p><strong>roles</strong><br><em>Map\<String,Map\<String,FamiliarRelationship></em><br></p>                                                                            | Map of members ids and enum of roles (FATHER, MOTHER, IDENTICAL\_TWIN, SON, UNCLE, PATERNAL\_GRANDFATHER.) .                                                                                                                    |
| <p><strong>attributes</strong><br><em>Map\<String,Object></em><br><br><em>since</em>: 1.0</p>                                                                          | You can use this field to store any other information, keep in mind this is not indexed so you cannot search by attributes.                                                                                                     |
| <p><strong>release</strong><br><em>int</em><br></p>                                                                                                                    | An integer describing the current data release.                                                                                                                                                                                 |
| <p><strong>version</strong><br><em>int</em><br></p>                                                                                                                    | Autoincremental version assigned to the registered entry. By default, updates does not create new versions. To enable versioning, users must set the `incVersion` flag from the /update web service when updating the document. |

### Status

You can find the Java code [here](https://github.com/opencb/biodata/tree/develop/biodata-models/src/main/java/org/opencb/biodata/models/common/Status.java).

### FamilyInternal

You can find the Java code [here](https://github.com/opencb/opencga/tree/TASK-1587/opencga-core/src/main/java/org/opencb/opencga/core/models/family/FamilyInternal.java).

| Field                                                                                                                                         | Description                                           |
| --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| <p><strong>status</strong><br><a href="https://docs.opencga.opencb.org/data-models/family#internalstatus"><em>InternalStatus</em></a><br></p> | Status of the internal object.                        |
| <p><strong>registrationDate</strong><br><em>String</em><br></p>                                                                               | Registration date of the internal object.             |
| <p><strong>lastModified</strong><br><em>String</em><br></p>                                                                                   | Date of the last modification of the internal object. |

### Phenotype

You can find the Java code [here](https://github.com/opencb/biodata/tree/develop/biodata-models/src/main/java/org/opencb/biodata/models/clinical/Phenotype.java).

| Field                                                                  | Description                                                                                        |
| ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| <p><strong>id</strong><br><em>String</em><br></p>                      | Id to identify the object                                                                          |
| <p><strong>ageOfOnset</strong><br><em>String</em><br></p>              | Indicates the age of on set of the phenotype                                                       |
| <p><strong>status</strong><br><em>Status</em><br></p>                  | Status of phenotype OBSERVED, NOT\_OBSERVED, UNKNOWN                                               |
| <p><strong>name</strong><br><em>String</em><br></p>                    | Object name                                                                                        |
| <p><strong>description</strong><br><em>String</em><br></p>             | Users may provide a description for the entry.                                                     |
| <p><strong>source</strong><br><em>String</em><br></p>                  | Ontology source                                                                                    |
| <p><strong>url</strong><br><em>String</em><br></p>                     | Ontology url                                                                                       |
| <p><strong>attributes</strong><br><em>Map\<String,String></em><br></p> | Dictionary that can be customised by users to store any additional information users may require.. |

### FamilyQualityControl

You can find the Java code [here](https://github.com/opencb/opencga/tree/TASK-1587/opencga-core/src/main/java/org/opencb/opencga/core/models/family/FamilyQualityControl.java).

| Field                                                                                                                                                                            | Description                              |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
| <p><strong>relatedness</strong><br><em>List<</em><a href="https://docs.opencga.opencb.org/data-models/family#relatednessreport"><em>RelatednessReport</em></a><em>></em><br></p> | Reports of family relationship.          |
| <p><strong>files</strong><br><em>List\<String></em><br></p>                                                                                                                      | File IDs related to the quality control. |
| <p><strong>comments</strong><br><em>List<</em><a href="https://docs.opencga.opencb.org/data-models/family#clinicalcomment"><em>ClinicalComment</em></a><em>></em><br></p>        | Comments related to the quality control. |

### Disorder

You can find the Java code [here](https://github.com/opencb/biodata/tree/develop/biodata-models/src/main/java/org/opencb/biodata/models/clinical/Disorder.java).

| Field                                                                  | Description                                                                                        |
| ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| <p><strong>id</strong><br><em>String</em><br></p>                      | Id to identify the object                                                                          |
| <p><strong>name</strong><br><em>String</em><br></p>                    | Object name                                                                                        |
| <p><strong>description</strong><br><em>String</em><br></p>             | Users may provide a description for the entry.                                                     |
| <p><strong>source</strong><br><em>String</em><br></p>                  | Ontology source                                                                                    |
| <p><strong>url</strong><br><em>String</em><br></p>                     | Ontology url                                                                                       |
| <p><strong>attributes</strong><br><em>Map\<String,String></em><br></p> | Dictionary that can be customised by users to store any additional information users may require.. |

### RelatednessReport

You can find the Java code [here](https://github.com/opencb/biodata/tree/develop/biodata-models/src/main/java/org/opencb/biodata/models/clinical/qc/RelatednessReport.java).

| Field                                                                  | Description                                                                            |
| ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| <p><strong>method</strong><br><em>String</em><br></p>                  | Method of the relatedness report                                                       |
| <p><strong>maf</strong><br><em>String</em><br></p>                     | Minor allele frequency to filter variants, e.g.: 1kg\_phase3:CEU>0.35, cohort:ALL>0.05 |
| <p><strong>scores</strong><br><em>List\<RelatednessScore></em><br></p> | Relatedness scores for pair of samples                                                 |
| <p><strong>files</strong><br><em>List\<String></em><br></p>            | List of files of Relatedness Report                                                    |

### InternalStatus

You can find the Java code [here](https://github.com/opencb/opencga/tree/TASK-1587/opencga-core/src/main/java/org/opencb/opencga/core/models/common/InternalStatus.java).

### ClinicalComment

You can find the Java code [here](https://github.com/opencb/biodata/tree/develop/biodata-models/src/main/java/org/opencb/biodata/models/clinical/ClinicalComment.java).

| Field                                                      | Description                           |
| ---------------------------------------------------------- | ------------------------------------- |
| <p><strong>author</strong><br><em>String</em><br></p>      | Clinical comment author               |
| <p><strong>message</strong><br><em>String</em><br></p>     | Clinical comment message              |
| <p><strong>tags</strong><br><em>List\<String></em><br></p> | List of tags for the clinical comment |
| <p><strong>date</strong><br><em>String</em><br></p>        | Date of the clinical comment          |
