Reference/Data Model

SMART Genomics Data Model


Sequence
DNASequence
RNASequence
AminoAcidSequence
Gene
Sequence Info
Variant
Alignment
UncategorizedData
UncategorizedData Info
Genetic Test Report

Genomics Data Types


Each Genomics data type can have an optional element called partOf. The function of partOf is opposite to that of contained in general FHIR resources; it tells what resources are using it. As shown below, the format of partOf is similar to that of contained.
<partOf>
    <type value="[code]"/><!--1..1 Type of resource-->
    <url value="[uri]"/><!--1..1 Link to the resource-->
</partOf>

Sequence edit

A Sequence is a specific resource that extends the following information:

1. Type of sequence (DNA, RNA, or amino acid sequence)
2. Content is a sequence read
3. Quality scores for the sequence

Sequence.png


Resource Profile:
<Sequence>
  <patient><!--1..1 Resource(Patient) Owner of the sequence--></patient>
    <type value="[code]"/><!--1..1 Type of sequence: DNA|RNA|AA(amino acid) -->
    <read value="string"/><!--1..1 Read of the sequence-->
    <coordinate><!--0..1 Region of the genome from which the sequence is mapped-->
        <chromosome value="[string]"/><!--1..1 Chromosome-->
        <start value="[integer]"/><!--1..1 Start postion-->
        <end value="[integer]"/><!--1..1 End position-->
    </coordinate>
    <quality value="[float]"/><!--0..1 Score on the sequence-->
    <quantity value="[float]"/><!--0..1 Log 2 of the measured quantity of the sequence-->
    <lab><!--0..1 Resource(Lab) Lab from which this sequence is gotten-->
</Sequence>

EXAMPLE IN: XML JSON
XML
<Sequence>
    <patient><!-- 1..1 Resource(Patient) Owner of the variant--></patient>
    <type value="DNA"/>
    <read value="C"/>
    <coordinate>
        <chromosome value="12"/>
        <start value="2346"/>
        <end value="2347"/>
    </coordinate>
    <quality value="10"/>
    <quantity value="6"/>
    <lab>
        <type value="Lab"/>
        <url value="../lab/@123"/>
    </lab>
</Sequence>


JSON
{
    "text": {
        "status": {
            "value": "generated"
        },
        "div": "<div xmlns='http://www.w3.org/1999/xhtml'>Sequence from region chr12:2346-2347 of Rachel Peregrin</div>"
    },
    "patient": {
        "type": {
            "value": "Patient"
        },
        "uri": {
            "value": "../patient/@123"
        },
        "display": {
            "value": "Rachel Peregrin"
        }
    },
    "type": {
        "value": "DNA"
    },
    "read": {
        "value": "C"
    },
    "coordinate": {
        "chromosome": {
            "value": "12"
        },
        "start": {
            "value": 2346
        },
        "end": {
            "value": 2347
        }
    },
    "quality": {
            "value": 10
    },
    "quantity": {
            "value": 6
    }
    "lab": {
        "type": {
            "value": "lab"
        },
        "uri": {
            "value": "../lab/@123"
        }
    }
}
 

DNASequence edit
DNASequences.png
DNASequence is a resource derived from Sequence, and contains 1) the basic of the sequence 2) the gene that the sequence relates to(if any)

RESOURCE PROFILE:

<DNASequence>
    <patient><!--1..1 Resource(patient) Owner of this DNASequence--></patient>
    <sequence><!--1..1 Resource(sequence) Details about this DNASequence--></sequence>
    <relatedGene><!--0..1 Resource(gene) Gene that this DNASequence relates to--></relatedGene>
</DNASequence>

EXAMPLE IN: XML JSON

XML
<?xml version="1.0" encoding="UTF-8"?>
<DNASequence>
    <text>
        <status value="generated"/>
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>DNA sequence at chr17:134-214357 for patient 123</p>
        </div>
    </text>
    <contained>
        <type value="Patient"/>
        <url value="../patient/123"/>
        <display value="John Doe"/>
    </contained>
    <contained>
        <type value="Sequence"/>
        <url value="../sequence/231"/>
    </contained>
    <contained>
        <type value="Gene"/>
        <url value="../gene/chr17_124_214357"/>
        <display value="BRCA1"/>
    </contained>
    <patient>
        <type value="Patient"/>
        <url value="../patient/123"/>
    </patient>
    <sequence>
        <type value="Sequence"/>
        <url value="../sequence/231"/>
    </sequence>
    <relatedGene>
        <type value="Gene"/>
        <url value="../gene/478"/>
        <display value="BRCA1"/>
    </relatedGene>
</DNASequence>



JSON
    "DNASequence": {
        "text": {
            "status": {
                "value": "generated"
            }
    "div" : "<div xmlns='http://www.w3.org/1999/xhtml'><p>DNA sequence at chr17:134-214357 for patient 123</p></div>"
        },
        "contained": [
            {
                "url": {
                    "value": "../patient/123"
                },
                "type": {
                    "value": "Patient"
                },
                "display": {
                    "value": "John Doe"
                }
            },
            {
                "url": {
                    "value": "../sequence/231"
                },
                "type": {
                    "value": "Sequence"
                }
            },
            {
                "url": {
                    "value": "../gene/chr17_124_214357"
                },
                "type": {
                    "value": "Gene"
                },
                "display": {
                    "value": "BRCA1"
                }
            }
        ],
        "patient": {
            "url": {
                "value": "../patient/123"
            },
            "type": {
                "value": "Patient"
            }
        },
        "sequence": {
            "url": {
                "value": "../sequence/231"
            },
            "type": {
                "value": "Sequence"
            }
        },
        "relatedGene": {
            "url": {
                "value": "../gene/478"
            },
            "type": {
                "value": "Gene"
            },
            "display": {
                "value": "BRCA1"
            }
        }
    }

RNASequence edit
RNASequence.png

RNASequence is a resource derived from Sequence,and contains 1) the basic of the sequence 2) the gene that the sequence relates to(if any)








RESOURCE PROFILE:
<RNASequence>
    <patient><!--1..1 Resource(patient) Owner of this RNASequence--></patient>
    <sequence><!--1..1 Resource(sequence) Detail about this RNASequence--></sequence>
    <relatedGene><!--0..1 Resource(gene) Gene that this RNASequence transcribed from--></relatedGene>
</RNASequence>


EXAMPLE IN: XML JSON

XML
<?xml version="1.0" encoding="UTF-8"?>
<RNASequence>
    <text>
        <status value="generated"/>
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>RNA seuqence transcribed from region chr12:12456-214357 for patient 123</p>
        </div>
    </text>
    <contained>
        <type value="Patient"/>
        <url value="../patient/123"/>
        <display value="John Doe"/>
    </contained>
    <contained>
        <type value="Sequence"/>
        <url value="../sequence/231"/>
    </contained>
    <contained>
        <type value="Gene"/>
        <url value="../gene/chr12_12456_214357"/>
        <display value="GBA"/>
    </contained>
    <patient>
        <type value="Patient"/>
        <url value="../patient/123"/>
    </patient>
    <sequence>
        <type value="Sequence"/>
        <url value="../sequence/231"/>
    </sequence>
    <relatedGene>
        <type value="Gene"/>
        <url value="../gene/478"/>
        <display value="GBA"/>
    </relatedGene>
</RNASequence>

JSON
    {
        "text": {
            "status": {
                "value": "generated"
            },
            "div" : "<div xmlns='http://www.w3.org/1999/xhtml'><p>RNA seuqence transcribed from region chr12:12456-214357 for patient 123</p></div>"
        },
        "contained": [
            {
                "url": {
                    "value": "../patient/123"
                },
                "type": {
                    "value": "Patient"
                },
                "display": {
                    "value": "John Doe"
                }
            },
            {
                "url": {
                    "value": "../sequence/231"
                },
                "type": {
                    "value": "Sequence"
                }
            },
            {
                "url": {
                    "value": "../gene/chr12_12456_214357"
                },
                "type": {
                    "value": "Gene"
                },
                "display": {
                    "value": "GBA"
                }
            }
        ],
        "patient": {
            "url": {
                "value": "../patient/123"
            },
            "type": {
                "value": "Patient"
            }
        },
        "sequence": {
            "url": {
                "value": "../sequence/231"
            },
            "type": {
                "value": "Sequence"
            }
        },
        "relatedGene": {
            "url": {
                "value": "../gene/478"
            },
            "type": {
                "value": "Gene"
            },
            "display": {
                "value": "GBA"
            }
        }
    }

AminoAcidSequence edit
Aminoacidsequence.png

AminoAcidSequence is a resource derived from Sequence, and contains following information:


1. Basic info of the sequence
2. Gene that the sequence relates to
3. Trait resulted from having the sequence





RESOURCE PROFILE:
<AminoAcidSequence>
    <patient><!--1..1 Resource(patient) Owner of this AminoAcidSequence--></patient>
    <sequence><!--1..1 Resource(sequence) Amino acid read of this sequence--></sequence>
    <relatedGene><!--0..1 Resource(gene) Gene that this sequence translated from--></relatedGene>
    <function><!--0..1 CodeableConcept Function related to this protein-->
        <effect value="[boolean]"/><!--1..1 Effects of the protein on the function:[promotes/inhibits/uncertain]-->
        <ontology><!--1..1 CodeableConcept Ontology for this function--></ontology>
    </function>
</AminoAcidSequence>

EXAMPLE IN:XML JSON

XML
<?xml version="1.0" encoding="UTF-8"?>
<AminoAcidSequence>
    <text>
        <status value="generated"/>
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>Amino acid seqeunce stranslated from region chr11:150-23450 for patient 123</p>
        </div>
    </text>
    <contained>
        <type value="Patient"/>
        <url value="../patient/123"/>
        <display value="John Doe"/>
    </contained>
    <contained>
        <type value="Sequence"/>
        <url value="../sequence/256"/>
    </contained>
    <contained>
        <type value="Gene"/>
        <url value="../gene/chr11_150_23450"/>
        <display value="HBB"/>
    </contained>
    <patient>
        <type value="Patient"/>
        <url value="../patient/123"/>
    </patient>
    <sequence>
        <type value="Sequence"/>
        <url value="../sequence/231"/>
    </sequence>
    <relatedGene>
        <type value="Gene"/>
        <url value="../gene/478"/>
        <display value="HBB"/>
    </relatedGene>
    <function>
        <effect value="uncertain"/>
        <ontology>
            <coding>
                <system value="http://purl.bioportal.org/ontologies/SNOMEDCT" />
                    <code value="35434009"/>
                </coding>
            <text value="Sickle cell-hemoglobin C disease"/>
        </ontology>
    </function>
</AminoAcidSequence>


JSON
    "AminoAcidSequence": {
        "text": {
            "status": {
                "value": "generated"
            },
        "div" : "<div xmlns='http://www.w3.org/1999/xhtml'><p>Amino acid seqeunce stranslated from region chr11:150-23450 for patient 123</p></div"
        },
        "contained": [
            {
                "url": {
                    "value": "../patient/123"
                },
                "type": {
                    "value": "Patient"
                },
                "display": {
                    "value": "John Doe"
                }
            },
            {
                "url": {
                    "value": "../sequence/256"
                },
                "type": {
                    "value": "Sequence"
                }
            },
            {
                "url": {
                    "value": "../gene/chr11_150_23450"
                },
                "type": {
                    "value": "Gene"
                },
                "display": {
                    "value": "HBB"
                }
            }
        ],
        "patient": {
            "url": {
                "value": "../patient/123"
            },
            "type": {
                "value": "Patient"
            }
        },
        "sequence": {
            "url": {
                "value": "../sequence/231"
            },
            "type": {
                "value": "Sequence"
            }
        },
        "function": {
            "ontology": {
                "text": {
                    "value": "Sickle cell-hemoglobin C disease"
                },
                "coding": {
                    "code": {
                        "value": "35434009"
                    },
                    "system": {
                        "value": "http://purl.bioportal.org/ontologies/SNOMEDCT"
                    }
                }
            },
            "effect": {
                "value": "uncertain"
            }
        },
        "relatedGene": {
            "url": {
                "value": "../gene/478"
            },
            "type": {
                "value": "Gene"
            },
            "display": {
                "value": "HBB"
            }
        }
    }

Gene edit
Gene.png

A Gene contains following information:

1. Genotype of the patient
2. Phenotype of the patient
3. Sequences that relates to the gene





RESOURCE PROFILE:
<Gene>
    <patient><!--1..1 Resource(patient) Owner of this gene--></patient>
    <genotype><!--0..1 Resource(DNASequence) DNA sequence of this gene--></genotype>
    <phenotype><!--0..1 CodeableConcept Phenotype resulted from having this protein-->
        <hasTrait value="[boolean]"/><!--1..1 Effect of this gene on a trait(positive/negative)-->
        <trait><!--1..1 CodeableConcept Ontology for this trait--></trait>
    </phenotype>
    <relatedSequence><!--0..* Resource(Sequence) Sequence that this gene contains--></relatedSequence>
</Gene>

SHOW EXAMPLE IN: XML JSON

XML
<?xml version="1.0" encoding="UTF-8"?>
<Gene>
    <text>
        <status value="generated"/>
        <div xmlns="http://www.w3.org/1999/xhtml">
            <p>Gene from region chr11:150~23450 for patient 123</p>
        </div>
    </text>
    <contained>
        <type value="Patient"/>
        <url value="../patient/123"/>
        <display value="John Doe"/>
    </contained>
    <contained>
        <type value="DNASequence"/>
        <url value="../sequence/chr11:150~23450"/>
    </contained>
    <patient>
        <type value="Patient"/>
        <url value="../patient/123"/>
    </patient>
    <sequence>
        <type value="DNASequence"/>
        <url value="../sequence/chr11_150_23450"/>
    </sequence>
    <phenotype>
        <hasTrait value="true"/>
        <ontology>
            <coding>
                <system value="http://purl.bioportal.org/ontologies/SNOMEDCT" />
                    <code value="35434009"/>
                </coding>
            <text value="Sickle cell-hemoglobin C disease"/>
        </ontology>
    </phenotype>
</Gene>

JSON
    "Gene": {
        "text": {
            "status": {
                "value": "generated"
            },
        "div" : "<div xmlns='http://www.w3.org/1999/xhtml'><p>Gene from region chr11:150~23450 for patient 123</p></div>"
        },
        "contained": [
            {
                "url": {
                    "value": "../patient/123"
                },
                "type": {
                    "value": "Patient"
                },
                "display": {
                    "value": "John Doe"
                }
            },
            {
                "url": {
                    "value": "../sequence/chr11:150~23450"
                },
                "type": {
                    "value": "DNASequence"
                }
            }
        ],
        "patient": {
            "url": {
                "value": "../patient/123"
            },
            "type": {
                "value": "Patient"
            }
        },
        "sequence": {
            "url": {
                "value": "../sequence/chr11_150_23450"
            },
            "type": {
                "value": "DNASequence"
            }
        },
        "phenotype": {
            "ontology": {
                "text": {
                    "value": "Sickle cell-hemoglobin C disease"
                },
                "coding": {
                    "code": {
                        "value": "35434009"
                    },
                    "system": {
                        "value": "http://purl.bioportal.org/ontologies/SNOMEDCT"
                    }
                }
            },
            "hasTrait": {
                "value": "true"
            }
        }
    }

Sequence Info edit
Utility API response that returns the coordinate for given gene

SEQUENCE INFO EXAMPLE IN JSON:

{
    "name": "GBA"
    "coordinate": "chr1_155204239_155214253"
}

Variant edit
A Variant contains data of a row in a VCF file, including:
DNASequences.png1. Basic info about the reference sequence
2. Basic info about the each genotype of a variant
3. Optional information in VCF format
4. URI linked to the raw VCF file that contains the variant


Variant.png

RESOURCE PROFILE:
<Variant>
    <patient><!-- 1..1 Resource(Patient) Owner of the variant--></patient>
    <lab><!-- 0..1 Resource(Sequencing) Lab from which lab the variant is generated --></lab>
    <file><!-- 1..1 Raw file containing this variant -->
        <type value="[code]"/><!-- 1..1 Type of file: VCF|BCF2 -->
        <url value="[uri]"/><!-- 1..1 URI to the raw file -->
    </file>
    <chrom value="[integer]"/><!--1..1 Chromosome of the reference sequence-->
    <ref value="[string]"/><!--1..1 Genotype of reference sequence-->
    <pos value="[integer]"/><!--position of the chromosome-->
    <alt value="[string]"/><!--0..* Alternative genotype-->
    <filter>
        <name value="[string]"/><!--1..1 Value of Filter-->
        <description value="[string]"/><!--1..1 Meaning of the FILTER's value-->
    </filter>
    <info><!--1..1 INFO in VCF-->
        <name value="[string"/><!--1..1 Name of the field-->
        <value value="[string]"/><!--1..1 Value of field-->
        <description value="[string]"/><!--1..1 Description of the INFO-->
    </info>
    <format><!----1..* FORMAT in VCF>
        <name value="[string]"/><!--1..1 Name of the format-->
        <description value="[string]"/><!--1..1 Description of the FORMAT-->
    </format>
    <sample><!--0..* Genotypes of the variant-->
        <field>
            <name value="[string]"/><!--1..1 Name of the field(i.e. GT)-->
            <value value="[string]/"><!----1..1 value of that field-->
        </field>
    <sample>
</Variant>




EXAMPLE IN: XML JSON
XML
<Variant>
    <text>
        <status value="generate"/>
        <div xmlns="http://www.w3.org/1999/xhtml">
            Variant from file 123.vcf of Rachel Peregrin
        </div>
    </text>
    <patient>
        <type value="Patient"/>
        <url value="../patient/@123"/>
        <display value="Rachel Peregrin"/>
    </patient>
    <lab>
        <type value="Lab"/>
        <url value="../lab/@123"/>
    </lab>
    <file>
        <type value="VCF"/>
        <url value="../files/vcf/125"/>
    </file>
    <chrom value="12"/>
    <ref value="A"/>
    <pos value="24621"/>
    <alt value="G"/>
    <filter>
        <name value="PASS"/>
        <description value="none"/>
    <info>
        <name value="NS"/>
        <description value="Number of sample with data"/>
    </info>
    <format>
        <name value="GT"/>
        <description value="genotype"/>
    </format>
    <sample>
        <field>
            <name value="GT"/>
            <value value="1|1"/>
        </field>
    <sample>
</Variant>

JSON
{
    "text": {
        "status": {
            "value": "generated"
        },
        "div": "<div xmlns='http://www.w3.org/1999/xhtml'>Variant from file 123.vcf of Rachel Peregrin</div>"
    },
    "patient": {
        "type": {
            "value": "Patient"
        },
        "uri": {
            "value": "../patient/@123"
        },
        "display": {
            "value": "Rachel Peregrin"
        }
    },
    "lab": {
        "type": {
            "value": "lab"
        },
        "uri": {
            "value": "../lab/@123"
        }
    },
    "file": {
        "type": {
            "value": "VCF"
        },
        'url": {
            "value": "../files/vcf/125"
        }
    },
    "chrom": {
        "value": "12"
    },
    "ref" : {
        "value": "A"
    },
    "pos": {
        "value": 24621
    },
    "alt": {
        "value": "G"
    },
    "filter": {
        "name": {
            "value": "PASS"
        },
        "description": {
            "value": "none"
        }
    },
    "format": {
        "name": {
            "value": "GT"
        },
        "description": {
            "value": "genotype"
        }
    },
    "sample": {
        "field": {
            "name": {
                "value": "GT"
            },
            "value": {
                "value": "1|1"
            }
        }
    }
 
}

[Invalid Include: Page not found: Alignment]

[Invalid Include: Page not found: UncategorizedData]

[Invalid Include: Page not found: UncategorizedData Info]

Genetic Test Report edit
Genetic Test Report.pngA CCDA file is returned; the Results section of the file is filled with data extracted from the patient's genotypic information, while the other sections are left empty




CCDA GENETIC TEST REPORT IN XML:
<clinicaldocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3" xsi:schemalocation="urn:hl7-org:v3 CDA.xsd">
 <typeid root="2.16.840.1.113883.1.3" extension="POCD_HD000040">
    <!--Other sections of CCDA-->
    <!--Results section of CCDA-->
    <component>
            <section>
               <templateId
                  root="2.16.840.1.113883.10.20.22.2.3.1"/>
               <code
                  code="30954-2"
                  codeSystem="2.16.840.1.113883.6.1"
                  codeSystemName="LOINC"
                  displayName="RESULTS"/>
               <title>RESULTS</title>
               <text>
                  <table>
                     <tbody>
                        <tr>
                           <td
                              colspan="2">LABORATORY INFORMATION</td>
                        </tr>
                        <tr>
                           <td
                              colspan="2">Genetic Test Report</td>
                        </tr>
                        <tr>
                           <td>
                           <td>Mutation of G84GG is detected in GBA gene(chr1:155204239~155214653); the mutation has been reported to be associated with Gaucher's Disease</td>
                        </tr>
                     </tbody>
                  </table>
               </text>
               <entry
                  typeCode="DRIV">
                  <organizer
                     classCode="BATTERY"
                     moodCode="EVN">
                     <templateId
                        root="2.16.840.1.113883.10.20.22.4.1"/>
                     <id
                        root="7d5a02b0-67a4-11db-bd13-0800200c9a66"/>
                     <code xsi:type="CE"
                        code="LP28723-2"
                        displayName="Genotyping"
                        codeSystem="2.16.840.1.113883.6.1"
                        codeSystemName="LOINC"/>
                     <statusCode
                        code="completed"/>
                     <component>
                        <observation
                           classCode="OBS"
                           moodCode="EVN">
                           <templateId
                              root="2.16.840.1.113883.10.20.22.4.2"/>
                           <id
                              root="107c2dc0-67a5-11db-bd13-0800200c9a66"/>
                           <code xsi:type="CE"
                              code="22073-1"
                              displayName="Gauchers disease type 1 gene mutation analysis:Presence or Identity:Point in time:Whole blood/Tissue, unspecified:Nominal:Molecular Genetics"
                              codeSystem="2.16.840.1.113883.6.1"
                              codeSystemName="LOINC"> </code>
                           <statusCode
                              code="completed"/>
                           <effectiveTime
                              value="22073-1"/>
                           <value
                              xsi:type="CD"
                              code="35689-9"
                  displayName="GBA gene.g.G84GG:Arbitrary:Point in time:Whole blood/Tissue, unspecified:Ordinal:Molecular Genetics"
                              codesystem="2.16.840.1.113883.6.1"
                  codsystemName="LOINC"/>
                           <interpretationCode
                              code="N"
                              codeSystem="2.16.840.1.113883.5.83"/>
                           <methodCode/>
                           <targetSiteCode/>
                           <author>
                              <time/>
                              <assignedAuthor>
                                 <id
                                    root="2a620155-9d11-439e-92b3-5d9816ff4de8"/>
                              </assignedAuthor>
                           </author>>
                        </observation>
                     </component>
                 </organizer>
               </entry>
            </section>
         </component>
    <!--Other sections of CCDA-->
</clinicaldocument>




Sequence is intended to be used as base resource for DNASequence, RNASequence, and AminoAcidSequence; direct access is not encouraged.