FHIR Release 3 (STU)

This page is part of the FHIR Specification (v3.0.2: STU 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

10.5 Resource Sequence - Content

Clinical Genomics Work GroupMaturity Level: 1 Trial UseCompartments: Not linked to any defined compartments

Raw data describing a biological sequence.

The Sequence resource is designed to describe an atomic sequence which contains the alignment sequencing test result and multiple variations. Atomic sequences can be connected by link element and they will lead to sequence graph. By this method, a sequence can be reported. Complete genetic sequence information, of which specific genetic variations are a part, is reported by reference to the GA4GH repository. Thus, the FHIR Sequence resource avoids large genomic payloads in a manner analogous to how the FHIR ImagingStudy resource references large images maintained in other systems. For use cases, details on how this resource interact with other Clinical Genomics resources or profiles, please refer to implementation guidance document here .

This resource is designed to describe sequence variations with clinical significance with information such as:

  • Name of the variation represented
  • Type of the variation
  • Gene region occupied by the variation
  • Tissue source used to determine genotype of the variation
  • Quality of the result

It is strongly encouraged to provide all available information in this resource for any reported variants, because receiving systems (e.g. discovery research, outcomes analysis, and public health reporting) may use this information to normalize variants over time or across sources. However, these data should not be used to dynamically correct/change variant representations for clinical use outside of the laboratory, due to insufficient information.

Implementers should be aware that semantic equivalency of results of genetic variants cannot be guaranteed unless there is an agreed upon standard between sending and receiving systems.

Focus of the resource is to provide sequencing alignment data immediately relevant to what the interpretation on clinical decision-making originates from. Hence data such as precise read of DNA sequences and sequence alignment are not included; such data are nonetheless accessible through references to GA4GH (Global Alliance for Genomics and Health) API. The Sequence resource will be referenced by Observation to provide variant information. As clinical assessments/diagnosis of a patient are typically captured in the Condition resource or the ClinicalImpression resource, the Sequence resource can be referenced by the Condition resource to provide specific genetic data to support an assertions. This is analogous to how Condition references other resources, such as AllergyIntolerance, Procedure, and Questionnaire resources.

This resource is referenced by observation

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Sequence ΣIDomainResourceInformation about a biological sequence
+ Only 0 and 1 are valid for coordinateSystem
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierUnique ID for this particular sequence. This is a FHIR-defined id
... type Σ0..1codeaa | dna | rna
sequenceType (Example)
... coordinateSystem Σ1..1integerBase number of coordinate system (0 for 0-based numbering or coordinates, inclusive start, exclusive end, 1 for 1-based numbering, inclusive start, inclusive end)
... patient Σ0..1Reference(Patient)Who and/or what this is about
... specimen Σ0..1Reference(Specimen)Specimen used for sequencing
... device Σ0..1Reference(Device)The method for sequencing
... performer Σ0..1Reference(Organization)Who should be responsible for test result
... quantity Σ0..1QuantityThe number of copies of the seqeunce of interest. (RNASeq)
... referenceSeq ΣI0..1BackboneElementA sequence used as reference
+ Only +1 and -1 are valid for strand
+ GenomeBuild and chromosome must be both contained if either one of them is contained
+ Have and only have one of the following elements in referenceSeq : 1. genomeBuild ; 2 referenceSeqId; 3. referenceSeqPointer; 4. referenceSeqString;
.... chromosome Σ0..1CodeableConceptChromosome containing genetic finding
chromosome-human (Example)
.... genomeBuild Σ0..1stringThe Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'
.... referenceSeqId Σ0..1CodeableConceptReference identifier
ENSEMBL (Example)
.... referenceSeqPointer Σ0..1Reference(Sequence)A Pointer to another Sequence entity as reference sequence
.... referenceSeqString Σ0..1stringA string to represent reference sequence
.... strand Σ0..1integerDirectionality of DNA ( +1/-1)
.... windowStart Σ1..1integerStart position of the window on the reference sequence
.... windowEnd Σ1..1integerEnd position of the window on the reference sequence
... variant Σ0..*BackboneElementVariant in sequence
.... start Σ0..1integerStart position of the variant on the reference sequence
.... end Σ0..1integerEnd position of the variant on the reference sequence
.... observedAllele Σ0..1stringAllele that was observed
.... referenceAllele Σ0..1stringAllele in the reference sequence
.... cigar Σ0..1stringExtended CIGAR string for aligning the sequence with reference bases
.... variantPointer Σ0..1Reference(Observation)Pointer to observed variant information
... observedSeq Σ0..1stringSequence that was observed
... quality Σ0..*BackboneElementAn set of value as quality of sequence
.... type Σ1..1codeindel | snp | unknown
qualityType (Required)
.... standardSequence Σ0..1CodeableConceptStandard sequence for comparison
FDA-StandardSequence (Example)
.... start Σ0..1integerStart position of the sequence
.... end Σ0..1integerEnd position of the sequence
.... score Σ0..1QuantityQuality score for the comparison
.... method Σ0..1CodeableConceptMethod to get quality
FDA-Method (Example)
.... truthTP Σ0..1decimalTrue positives from the perspective of the truth data
.... queryTP Σ0..1decimalTrue positives from the perspective of the query data
.... truthFN Σ0..1decimalFalse negatives
.... queryFP Σ0..1decimalFalse positives
.... gtFP Σ0..1decimalFalse positives where the non-REF alleles in the Truth and Query Call Sets match
.... precision Σ0..1decimalPrecision of comparison
.... recall Σ0..1decimalRecall of comparison
.... fScore Σ0..1decimalF-score
... readCoverage Σ0..1integerAverage number of reads representing a given nucleotide in the reconstructed sequence
... repository Σ0..*BackboneElementExternal repository which contains detailed report related with observedSeq in this resource
.... type Σ1..1codedirectlink | openapi | login | oauth | other
repositoryType (Required)
.... url Σ0..1uriURI of the repository
.... name Σ0..1stringRepository's name
.... datasetId Σ0..1stringId of the dataset that used to call for dataset in repository
.... variantsetId Σ0..1stringId of the variantset that used to call for variantset in repository
.... readsetId Σ0..1stringId of the read
... pointer Σ0..*Reference(Sequence)Pointer to next atomic sequence

doco Documentation for this format

UML Diagram (Legend)

Sequence (DomainResource)A unique identifier for this particular sequence instance. This is a FHIR-defined ididentifier : Identifier [0..*]Amino Acid Sequence/ DNA Sequence / RNA Sequencetype : code [0..1] Type if a sequence -- DNA, RNA, or amino acid sequence (Strength=Example)sequenceType?? Whether the sequence is numbered starting at 0 (0-based numbering or coordinates, inclusive start, exclusive end) or starting at 1 (1-based numbering, inclusive start and inclusive end)coordinateSystem : integer [1..1]The patient whose sequencing results are described by this resourcepatient : Reference [0..1] Patient Specimen used for sequencingspecimen : Reference [0..1] Specimen The method for sequencing, for example, chip informationdevice : Reference [0..1] Device The organization or lab that should be responsible for this resultperformer : Reference [0..1] Organization The number of copies of the seqeunce of interest. (RNASeq)quantity : Quantity [0..1]Sequence that was observed. It is the result marked by referenceSeq along with variant records on referenceSeq. This shall starts from referenceSeq.windowStart and end by referenceSeq.windowEndobservedSeq : string [0..1]Coverage (read depth or depth) is the average number of reads representing a given nucleotide in the reconstructed sequencereadCoverage : integer [0..1]Pointer to next atomic sequence which at most contains one variantpointer : Reference [0..*] Sequence ReferenceSeqStructural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340))chromosome : CodeableConcept [0..1] Chromosome number for human (Strength=Example)chromosome-human?? The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'. Version number must be included if a versioned release of a primary build was usedgenomeBuild : string [0..1]Reference identifier of reference sequence submitted to NCBI. It must match the type in the Sequence.type field. For example, the prefix, NG_ identifies reference sequence for genes, NM_ for messenger RNA transcripts, and NP_ for amino acid sequencesreferenceSeqId : CodeableConcept [0..1] Reference identifier (Strength=Example)ENSEMBL?? A Pointer to another Sequence entity as reference sequencereferenceSeqPointer : Reference [0..1] Sequence A string like "ACGT"referenceSeqString : string [0..1]Directionality of DNA sequence. Available values are "1" for the plus strand (5' to 3')/Watson/Sense/positive and "-1" for the minus strand(3' to 5')/Crick/Antisense/negativestrand : integer [0..1]Start position of the window on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusivewindowStart : integer [1..1]End position of the window on the reference sequence. If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last positionwindowEnd : integer [1..1]VariantStart position of the variant on the reference sequence.If the coordinate system is either 0-based or 1-based, then start position is inclusivestart : integer [0..1]End position of the variant on the reference sequence.If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last positionend : integer [0..1]An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.endobservedAllele : string [0..1]An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.endreferenceAllele : string [0..1]Extended CIGAR string for aligning the sequence with reference bases. See detailed documentation [here](http://support.illumina.com/help/SequencingAnalysisWorkflow/Content/Vault/Informatics/Sequencing_Analysis/CASAVA/swSEQ_mCA_ExtendedCIGARFormat.htm)cigar : string [0..1]A pointer to an Observation containing variant informationvariantPointer : Reference [0..1] Observation QualityINDEL / SNP / Undefined varianttype : code [1..1] Type for quality report (Strength=Required)qualityType! Gold standard sequence used for comparing againststandardSequence : CodeableConcept [0..1] Reference identifier of the sequence that used to mark the quality of tested samples. (Strength=Example)FDA-StandardSequence?? Start position of the sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusivestart : integer [0..1]End position of the sequence.If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last positionend : integer [0..1]The score of an experimentally derived feature such as a p-value ([SO:0001685](http://www.sequenceontology.org/browser/current_svn/term/SO:0001685))score : Quantity [0..1]Which method is used to get sequence qualitymethod : CodeableConcept [0..1] The method used to evaluate the numerical quality of the observed sequence. (Strength=Example)FDA-Method?? True positives, from the perspective of the truth data, i.e. the number of sites in the Truth Call Set for which there are paths through the Query Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the eventtruthTP : decimal [0..1]True positives, from the perspective of the query data, i.e. the number of sites in the Query Call Set for which there are paths through the Truth Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the eventqueryTP : decimal [0..1]False negatives, i.e. the number of sites in the Truth Call Set for which there is no path through the Query Call Set that is consistent with all of the alleles at this site, or sites for which there is an inaccurate genotype call for the event. Sites with correct variant but incorrect genotype are counted heretruthFN : decimal [0..1]False positives, i.e. the number of sites in the Query Call Set for which there is no path through the Truth Call Set that is consistent with this site. Sites with correct variant but incorrect genotype are counted herequeryFP : decimal [0..1]The number of false positives where the non-REF alleles in the Truth and Query Call Sets match (i.e. cases where the truth is 1/1 and the query is 0/1 or similar)gtFP : decimal [0..1]QUERY.TP / (QUERY.TP + QUERY.FP)precision : decimal [0..1]TRUTH.TP / (TRUTH.TP + TRUTH.FN)recall : decimal [0..1]Harmonic mean of Recall and Precision, computed as: 2 * precision * recall / (precision + recall)fScore : decimal [0..1]RepositoryClick and see / RESTful API / Need login to see / RESTful API with authentication / Other ways to see resourcetype : code [1..1] Type for access of external URI (Strength=Required)repositoryType! URI of an external repository which contains further details about the genetics dataurl : uri [0..1]URI of an external repository which contains further details about the genetics dataname : string [0..1]Id of the variant in this external repository. The server will understand how to use this id to call for more info about datasets in external repositorydatasetId : string [0..1]Id of the variantset in this external repository. The server will understand how to use this id to call for more info about variantsets in external repositoryvariantsetId : string [0..1]Id of the read in this external repositoryreadsetId : string [0..1]A sequence that is used as a reference to describe variants that are present in a sequence analyzedreferenceSeq[0..1]The definition of variant here originates from Sequence ontology ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element can represent amino acid or nucleic sequence change(including insertion,deletion,SNP,etc.) It can represent some complex mutation or segment variation with the assist of CIGAR stringvariant[0..*]An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686))quality[0..*]

XML Template

<Sequence xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Unique ID for this particular sequence. This is a FHIR-defined id --></identifier>
 <type value="[code]"/><!-- 0..1 aa | dna | rna -->
 <coordinateSystem value="[integer]"/><!-- 1..1 Base number of coordinate system (0 for 0-based numbering or coordinates, inclusive start, exclusive end, 1 for 1-based numbering, inclusive start, inclusive end) -->
 <patient><!-- 0..1 Reference(Patient) Who and/or what this is about --></patient>
 <specimen><!-- 0..1 Reference(Specimen) Specimen used for sequencing --></specimen>
 <device><!-- 0..1 Reference(Device) The method for sequencing --></device>
 <performer><!-- 0..1 Reference(Organization) Who should be responsible for test result --></performer>
 <quantity><!-- 0..1 Quantity The number of copies of the seqeunce of interest.  (RNASeq) --></quantity>
 <referenceSeq>  <!-- 0..1 A sequence used as reference -->
  <chromosome><!-- 0..1 CodeableConcept Chromosome containing genetic finding --></chromosome>
  <genomeBuild value="[string]"/><!-- 0..1 The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' -->
  <referenceSeqId><!-- 0..1 CodeableConcept Reference identifier --></referenceSeqId>
  <referenceSeqPointer><!-- 0..1 Reference(Sequence) A Pointer to another Sequence entity as reference sequence --></referenceSeqPointer>
  <referenceSeqString value="[string]"/><!-- 0..1 A string to represent reference sequence -->
  <strand value="[integer]"/><!-- 0..1 Directionality of DNA ( +1/-1) -->
  <windowStart value="[integer]"/><!-- 1..1 Start position of the window on the  reference sequence -->
  <windowEnd value="[integer]"/><!-- 1..1 End position of the window on the reference sequence -->
 </referenceSeq>
 <variant>  <!-- 0..* Variant in sequence -->
  <start value="[integer]"/><!-- 0..1 Start position of the variant on the  reference sequence -->
  <end value="[integer]"/><!-- 0..1 End position of the variant on the reference sequence -->
  <observedAllele value="[string]"/><!-- 0..1 Allele that was observed -->
  <referenceAllele value="[string]"/><!-- 0..1 Allele in the reference sequence -->
  <cigar value="[string]"/><!-- 0..1 Extended CIGAR string for aligning the sequence with reference bases -->
  <variantPointer><!-- 0..1 Reference(Observation) Pointer to observed variant information --></variantPointer>
 </variant>
 <observedSeq value="[string]"/><!-- 0..1 Sequence that was observed -->
 <quality>  <!-- 0..* An set of value as quality of sequence -->
  <type value="[code]"/><!-- 1..1 indel | snp | unknown -->
  <standardSequence><!-- 0..1 CodeableConcept Standard sequence for comparison --></standardSequence>
  <start value="[integer]"/><!-- 0..1 Start position of the sequence -->
  <end value="[integer]"/><!-- 0..1 End position of the sequence -->
  <score><!-- 0..1 Quantity Quality score for the comparison --></score>
  <method><!-- 0..1 CodeableConcept Method to get quality --></method>
  <truthTP value="[decimal]"/><!-- 0..1 True positives from the perspective of the truth data -->
  <queryTP value="[decimal]"/><!-- 0..1 True positives from the perspective of the query data -->
  <truthFN value="[decimal]"/><!-- 0..1 False negatives -->
  <queryFP value="[decimal]"/><!-- 0..1 False positives -->
  <gtFP value="[decimal]"/><!-- 0..1 False positives where the non-REF alleles in the Truth and Query Call Sets match -->
  <precision value="[decimal]"/><!-- 0..1 Precision of comparison -->
  <recall value="[decimal]"/><!-- 0..1 Recall of comparison -->
  <fScore value="[decimal]"/><!-- 0..1 F-score -->
 </quality>
 <readCoverage value="[integer]"/><!-- 0..1 Average number of reads representing a given nucleotide in the reconstructed sequence -->
 <repository>  <!-- 0..* External repository which contains detailed report related with observedSeq in this resource -->
  <type value="[code]"/><!-- 1..1 directlink | openapi | login | oauth | other -->
  <url value="[uri]"/><!-- 0..1 URI of the repository -->
  <name value="[string]"/><!-- 0..1 Repository's name -->
  <datasetId value="[string]"/><!-- 0..1 Id of the dataset that used to call for dataset in repository -->
  <variantsetId value="[string]"/><!-- 0..1 Id of the variantset that used to call for variantset in repository -->
  <readsetId value="[string]"/><!-- 0..1 Id of the read -->
 </repository>
 <pointer><!-- 0..* Reference(Sequence) Pointer to next atomic sequence --></pointer>
</Sequence>

JSON Template

{doco
  "resourceType" : "Sequence",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Unique ID for this particular sequence. This is a FHIR-defined id
  "type" : "<code>", // aa | dna | rna
  "coordinateSystem" : <integer>, // R!  Base number of coordinate system (0 for 0-based numbering or coordinates, inclusive start, exclusive end, 1 for 1-based numbering, inclusive start, inclusive end)
  "patient" : { Reference(Patient) }, // Who and/or what this is about
  "specimen" : { Reference(Specimen) }, // Specimen used for sequencing
  "device" : { Reference(Device) }, // The method for sequencing
  "performer" : { Reference(Organization) }, // Who should be responsible for test result
  "quantity" : { Quantity }, // The number of copies of the seqeunce of interest.  (RNASeq)
  "referenceSeq" : { // A sequence used as reference
    "chromosome" : { CodeableConcept }, // Chromosome containing genetic finding
    "genomeBuild" : "<string>", // The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'
    "referenceSeqId" : { CodeableConcept }, // Reference identifier
    "referenceSeqPointer" : { Reference(Sequence) }, // A Pointer to another Sequence entity as reference sequence
    "referenceSeqString" : "<string>", // A string to represent reference sequence
    "strand" : <integer>, // Directionality of DNA ( +1/-1)
    "windowStart" : <integer>, // R!  Start position of the window on the  reference sequence
    "windowEnd" : <integer> // R!  End position of the window on the reference sequence
  },
  "variant" : [{ // Variant in sequence
    "start" : <integer>, // Start position of the variant on the  reference sequence
    "end" : <integer>, // End position of the variant on the reference sequence
    "observedAllele" : "<string>", // Allele that was observed
    "referenceAllele" : "<string>", // Allele in the reference sequence
    "cigar" : "<string>", // Extended CIGAR string for aligning the sequence with reference bases
    "variantPointer" : { Reference(Observation) } // Pointer to observed variant information
  }],
  "observedSeq" : "<string>", // Sequence that was observed
  "quality" : [{ // An set of value as quality of sequence
    "type" : "<code>", // R!  indel | snp | unknown
    "standardSequence" : { CodeableConcept }, // Standard sequence for comparison
    "start" : <integer>, // Start position of the sequence
    "end" : <integer>, // End position of the sequence
    "score" : { Quantity }, // Quality score for the comparison
    "method" : { CodeableConcept }, // Method to get quality
    "truthTP" : <decimal>, // True positives from the perspective of the truth data
    "queryTP" : <decimal>, // True positives from the perspective of the query data
    "truthFN" : <decimal>, // False negatives
    "queryFP" : <decimal>, // False positives
    "gtFP" : <decimal>, // False positives where the non-REF alleles in the Truth and Query Call Sets match
    "precision" : <decimal>, // Precision of comparison
    "recall" : <decimal>, // Recall of comparison
    "fScore" : <decimal> // F-score
  }],
  "readCoverage" : <integer>, // Average number of reads representing a given nucleotide in the reconstructed sequence
  "repository" : [{ // External repository which contains detailed report related with observedSeq in this resource
    "type" : "<code>", // R!  directlink | openapi | login | oauth | other
    "url" : "<uri>", // URI of the repository
    "name" : "<string>", // Repository's name
    "datasetId" : "<string>", // Id of the dataset that used to call for dataset in repository
    "variantsetId" : "<string>", // Id of the variantset that used to call for variantset in repository
    "readsetId" : "<string>" // Id of the read
  }],
  "pointer" : [{ Reference(Sequence) }] // Pointer to next atomic sequence
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Sequence;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Sequence.identifier [ Identifier ], ... ; # 0..* Unique ID for this particular sequence. This is a FHIR-defined id
  fhir:Sequence.type [ code ]; # 0..1 aa | dna | rna
  fhir:Sequence.coordinateSystem [ integer ]; # 1..1 Base number of coordinate system (0 for 0-based numbering or coordinates, inclusive start, exclusive end, 1 for 1-based numbering, inclusive start, inclusive end)
  fhir:Sequence.patient [ Reference(Patient) ]; # 0..1 Who and/or what this is about
  fhir:Sequence.specimen [ Reference(Specimen) ]; # 0..1 Specimen used for sequencing
  fhir:Sequence.device [ Reference(Device) ]; # 0..1 The method for sequencing
  fhir:Sequence.performer [ Reference(Organization) ]; # 0..1 Who should be responsible for test result
  fhir:Sequence.quantity [ Quantity ]; # 0..1 The number of copies of the seqeunce of interest.  (RNASeq)
  fhir:Sequence.referenceSeq [ # 0..1 A sequence used as reference
    fhir:Sequence.referenceSeq.chromosome [ CodeableConcept ]; # 0..1 Chromosome containing genetic finding
    fhir:Sequence.referenceSeq.genomeBuild [ string ]; # 0..1 The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'
    fhir:Sequence.referenceSeq.referenceSeqId [ CodeableConcept ]; # 0..1 Reference identifier
    fhir:Sequence.referenceSeq.referenceSeqPointer [ Reference(Sequence) ]; # 0..1 A Pointer to another Sequence entity as reference sequence
    fhir:Sequence.referenceSeq.referenceSeqString [ string ]; # 0..1 A string to represent reference sequence
    fhir:Sequence.referenceSeq.strand [ integer ]; # 0..1 Directionality of DNA ( +1/-1)
    fhir:Sequence.referenceSeq.windowStart [ integer ]; # 1..1 Start position of the window on the  reference sequence
    fhir:Sequence.referenceSeq.windowEnd [ integer ]; # 1..1 End position of the window on the reference sequence
  ];
  fhir:Sequence.variant [ # 0..* Variant in sequence
    fhir:Sequence.variant.start [ integer ]; # 0..1 Start position of the variant on the  reference sequence
    fhir:Sequence.variant.end [ integer ]; # 0..1 End position of the variant on the reference sequence
    fhir:Sequence.variant.observedAllele [ string ]; # 0..1 Allele that was observed
    fhir:Sequence.variant.referenceAllele [ string ]; # 0..1 Allele in the reference sequence
    fhir:Sequence.variant.cigar [ string ]; # 0..1 Extended CIGAR string for aligning the sequence with reference bases
    fhir:Sequence.variant.variantPointer [ Reference(Observation) ]; # 0..1 Pointer to observed variant information
  ], ...;
  fhir:Sequence.observedSeq [ string ]; # 0..1 Sequence that was observed
  fhir:Sequence.quality [ # 0..* An set of value as quality of sequence
    fhir:Sequence.quality.type [ code ]; # 1..1 indel | snp | unknown
    fhir:Sequence.quality.standardSequence [ CodeableConcept ]; # 0..1 Standard sequence for comparison
    fhir:Sequence.quality.start [ integer ]; # 0..1 Start position of the sequence
    fhir:Sequence.quality.end [ integer ]; # 0..1 End position of the sequence
    fhir:Sequence.quality.score [ Quantity ]; # 0..1 Quality score for the comparison
    fhir:Sequence.quality.method [ CodeableConcept ]; # 0..1 Method to get quality
    fhir:Sequence.quality.truthTP [ decimal ]; # 0..1 True positives from the perspective of the truth data
    fhir:Sequence.quality.queryTP [ decimal ]; # 0..1 True positives from the perspective of the query data
    fhir:Sequence.quality.truthFN [ decimal ]; # 0..1 False negatives
    fhir:Sequence.quality.queryFP [ decimal ]; # 0..1 False positives
    fhir:Sequence.quality.gtFP [ decimal ]; # 0..1 False positives where the non-REF alleles in the Truth and Query Call Sets match
    fhir:Sequence.quality.precision [ decimal ]; # 0..1 Precision of comparison
    fhir:Sequence.quality.recall [ decimal ]; # 0..1 Recall of comparison
    fhir:Sequence.quality.fScore [ decimal ]; # 0..1 F-score
  ], ...;
  fhir:Sequence.readCoverage [ integer ]; # 0..1 Average number of reads representing a given nucleotide in the reconstructed sequence
  fhir:Sequence.repository [ # 0..* External repository which contains detailed report related with observedSeq in this resource
    fhir:Sequence.repository.type [ code ]; # 1..1 directlink | openapi | login | oauth | other
    fhir:Sequence.repository.url [ uri ]; # 0..1 URI of the repository
    fhir:Sequence.repository.name [ string ]; # 0..1 Repository's name
    fhir:Sequence.repository.datasetId [ string ]; # 0..1 Id of the dataset that used to call for dataset in repository
    fhir:Sequence.repository.variantsetId [ string ]; # 0..1 Id of the variantset that used to call for variantset in repository
    fhir:Sequence.repository.readsetId [ string ]; # 0..1 Id of the read
  ], ...;
  fhir:Sequence.pointer [ Reference(Sequence) ], ... ; # 0..* Pointer to next atomic sequence
]

Changes since DSTU2

This resource did not exist in Release 2

This analysis is available as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Sequence ΣIDomainResourceInformation about a biological sequence
+ Only 0 and 1 are valid for coordinateSystem
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierUnique ID for this particular sequence. This is a FHIR-defined id
... type Σ0..1codeaa | dna | rna
sequenceType (Example)
... coordinateSystem Σ1..1integerBase number of coordinate system (0 for 0-based numbering or coordinates, inclusive start, exclusive end, 1 for 1-based numbering, inclusive start, inclusive end)
... patient Σ0..1Reference(Patient)Who and/or what this is about
... specimen Σ0..1Reference(Specimen)Specimen used for sequencing
... device Σ0..1Reference(Device)The method for sequencing
... performer Σ0..1Reference(Organization)Who should be responsible for test result
... quantity Σ0..1QuantityThe number of copies of the seqeunce of interest. (RNASeq)
... referenceSeq ΣI0..1BackboneElementA sequence used as reference
+ Only +1 and -1 are valid for strand
+ GenomeBuild and chromosome must be both contained if either one of them is contained
+ Have and only have one of the following elements in referenceSeq : 1. genomeBuild ; 2 referenceSeqId; 3. referenceSeqPointer; 4. referenceSeqString;
.... chromosome Σ0..1CodeableConceptChromosome containing genetic finding
chromosome-human (Example)
.... genomeBuild Σ0..1stringThe Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'
.... referenceSeqId Σ0..1CodeableConceptReference identifier
ENSEMBL (Example)
.... referenceSeqPointer Σ0..1Reference(Sequence)A Pointer to another Sequence entity as reference sequence
.... referenceSeqString Σ0..1stringA string to represent reference sequence
.... strand Σ0..1integerDirectionality of DNA ( +1/-1)
.... windowStart Σ1..1integerStart position of the window on the reference sequence
.... windowEnd Σ1..1integerEnd position of the window on the reference sequence
... variant Σ0..*BackboneElementVariant in sequence
.... start Σ0..1integerStart position of the variant on the reference sequence
.... end Σ0..1integerEnd position of the variant on the reference sequence
.... observedAllele Σ0..1stringAllele that was observed
.... referenceAllele Σ0..1stringAllele in the reference sequence
.... cigar Σ0..1stringExtended CIGAR string for aligning the sequence with reference bases
.... variantPointer Σ0..1Reference(Observation)Pointer to observed variant information
... observedSeq Σ0..1stringSequence that was observed
... quality Σ0..*BackboneElementAn set of value as quality of sequence
.... type Σ1..1codeindel | snp | unknown
qualityType (Required)
.... standardSequence Σ0..1CodeableConceptStandard sequence for comparison
FDA-StandardSequence (Example)
.... start Σ0..1integerStart position of the sequence
.... end Σ0..1integerEnd position of the sequence
.... score Σ0..1QuantityQuality score for the comparison
.... method Σ0..1CodeableConceptMethod to get quality
FDA-Method (Example)
.... truthTP Σ0..1decimalTrue positives from the perspective of the truth data
.... queryTP Σ0..1decimalTrue positives from the perspective of the query data
.... truthFN Σ0..1decimalFalse negatives
.... queryFP Σ0..1decimalFalse positives
.... gtFP Σ0..1decimalFalse positives where the non-REF alleles in the Truth and Query Call Sets match
.... precision Σ0..1decimalPrecision of comparison
.... recall Σ0..1decimalRecall of comparison
.... fScore Σ0..1decimalF-score
... readCoverage Σ0..1integerAverage number of reads representing a given nucleotide in the reconstructed sequence
... repository Σ0..*BackboneElementExternal repository which contains detailed report related with observedSeq in this resource
.... type Σ1..1codedirectlink | openapi | login | oauth | other
repositoryType (Required)
.... url Σ0..1uriURI of the repository
.... name Σ0..1stringRepository's name
.... datasetId Σ0..1stringId of the dataset that used to call for dataset in repository
.... variantsetId Σ0..1stringId of the variantset that used to call for variantset in repository
.... readsetId Σ0..1stringId of the read
... pointer Σ0..*Reference(Sequence)Pointer to next atomic sequence

doco Documentation for this format

UML Diagram (Legend)

Sequence (DomainResource)A unique identifier for this particular sequence instance. This is a FHIR-defined ididentifier : Identifier [0..*]Amino Acid Sequence/ DNA Sequence / RNA Sequencetype : code [0..1] Type if a sequence -- DNA, RNA, or amino acid sequence (Strength=Example)sequenceType?? Whether the sequence is numbered starting at 0 (0-based numbering or coordinates, inclusive start, exclusive end) or starting at 1 (1-based numbering, inclusive start and inclusive end)coordinateSystem : integer [1..1]The patient whose sequencing results are described by this resourcepatient : Reference [0..1] Patient Specimen used for sequencingspecimen : Reference [0..1] Specimen The method for sequencing, for example, chip informationdevice : Reference [0..1] Device The organization or lab that should be responsible for this resultperformer : Reference [0..1] Organization The number of copies of the seqeunce of interest. (RNASeq)quantity : Quantity [0..1]Sequence that was observed. It is the result marked by referenceSeq along with variant records on referenceSeq. This shall starts from referenceSeq.windowStart and end by referenceSeq.windowEndobservedSeq : string [0..1]Coverage (read depth or depth) is the average number of reads representing a given nucleotide in the reconstructed sequencereadCoverage : integer [0..1]Pointer to next atomic sequence which at most contains one variantpointer : Reference [0..*] Sequence ReferenceSeqStructural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340))chromosome : CodeableConcept [0..1] Chromosome number for human (Strength=Example)chromosome-human?? The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'. Version number must be included if a versioned release of a primary build was usedgenomeBuild : string [0..1]Reference identifier of reference sequence submitted to NCBI. It must match the type in the Sequence.type field. For example, the prefix, NG_ identifies reference sequence for genes, NM_ for messenger RNA transcripts, and NP_ for amino acid sequencesreferenceSeqId : CodeableConcept [0..1] Reference identifier (Strength=Example)ENSEMBL?? A Pointer to another Sequence entity as reference sequencereferenceSeqPointer : Reference [0..1] Sequence A string like "ACGT"referenceSeqString : string [0..1]Directionality of DNA sequence. Available values are "1" for the plus strand (5' to 3')/Watson/Sense/positive and "-1" for the minus strand(3' to 5')/Crick/Antisense/negativestrand : integer [0..1]Start position of the window on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusivewindowStart : integer [1..1]End position of the window on the reference sequence. If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last positionwindowEnd : integer [1..1]VariantStart position of the variant on the reference sequence.If the coordinate system is either 0-based or 1-based, then start position is inclusivestart : integer [0..1]End position of the variant on the reference sequence.If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last positionend : integer [0..1]An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.endobservedAllele : string [0..1]An allele is one of a set of coexisting sequence variants of a gene ([SO:0001023](http://www.sequenceontology.org/browser/current_svn/term/SO:0001023)). Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.endreferenceAllele : string [0..1]Extended CIGAR string for aligning the sequence with reference bases. See detailed documentation [here](http://support.illumina.com/help/SequencingAnalysisWorkflow/Content/Vault/Informatics/Sequencing_Analysis/CASAVA/swSEQ_mCA_ExtendedCIGARFormat.htm)cigar : string [0..1]A pointer to an Observation containing variant informationvariantPointer : Reference [0..1] Observation QualityINDEL / SNP / Undefined varianttype : code [1..1] Type for quality report (Strength=Required)qualityType! Gold standard sequence used for comparing againststandardSequence : CodeableConcept [0..1] Reference identifier of the sequence that used to mark the quality of tested samples. (Strength=Example)FDA-StandardSequence?? Start position of the sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusivestart : integer [0..1]End position of the sequence.If the coordinate system is 0-based then end is is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last positionend : integer [0..1]The score of an experimentally derived feature such as a p-value ([SO:0001685](http://www.sequenceontology.org/browser/current_svn/term/SO:0001685))score : Quantity [0..1]Which method is used to get sequence qualitymethod : CodeableConcept [0..1] The method used to evaluate the numerical quality of the observed sequence. (Strength=Example)FDA-Method?? True positives, from the perspective of the truth data, i.e. the number of sites in the Truth Call Set for which there are paths through the Query Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the eventtruthTP : decimal [0..1]True positives, from the perspective of the query data, i.e. the number of sites in the Query Call Set for which there are paths through the Truth Call Set that are consistent with all of the alleles at this site, and for which there is an accurate genotype call for the eventqueryTP : decimal [0..1]False negatives, i.e. the number of sites in the Truth Call Set for which there is no path through the Query Call Set that is consistent with all of the alleles at this site, or sites for which there is an inaccurate genotype call for the event. Sites with correct variant but incorrect genotype are counted heretruthFN : decimal [0..1]False positives, i.e. the number of sites in the Query Call Set for which there is no path through the Truth Call Set that is consistent with this site. Sites with correct variant but incorrect genotype are counted herequeryFP : decimal [0..1]The number of false positives where the non-REF alleles in the Truth and Query Call Sets match (i.e. cases where the truth is 1/1 and the query is 0/1 or similar)gtFP : decimal [0..1]QUERY.TP / (QUERY.TP + QUERY.FP)precision : decimal [0..1]TRUTH.TP / (TRUTH.TP + TRUTH.FN)recall : decimal [0..1]Harmonic mean of Recall and Precision, computed as: 2 * precision * recall / (precision + recall)fScore : decimal [0..1]RepositoryClick and see / RESTful API / Need login to see / RESTful API with authentication / Other ways to see resourcetype : code [1..1] Type for access of external URI (Strength=Required)repositoryType! URI of an external repository which contains further details about the genetics dataurl : uri [0..1]URI of an external repository which contains further details about the genetics dataname : string [0..1]Id of the variant in this external repository. The server will understand how to use this id to call for more info about datasets in external repositorydatasetId : string [0..1]Id of the variantset in this external repository. The server will understand how to use this id to call for more info about variantsets in external repositoryvariantsetId : string [0..1]Id of the read in this external repositoryreadsetId : string [0..1]A sequence that is used as a reference to describe variants that are present in a sequence analyzedreferenceSeq[0..1]The definition of variant here originates from Sequence ontology ([variant_of](http://www.sequenceontology.org/browser/current_svn/term/variant_of)). This element can represent amino acid or nucleic sequence change(including insertion,deletion,SNP,etc.) It can represent some complex mutation or segment variation with the assist of CIGAR stringvariant[0..*]An experimental feature attribute that defines the quality of the feature in a quantitative way, such as a phred quality score ([SO:0001686](http://www.sequenceontology.org/browser/current_svn/term/SO:0001686))quality[0..*]

XML Template

<Sequence xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Unique ID for this particular sequence. This is a FHIR-defined id --></identifier>
 <type value="[code]"/><!-- 0..1 aa | dna | rna -->
 <coordinateSystem value="[integer]"/><!-- 1..1 Base number of coordinate system (0 for 0-based numbering or coordinates, inclusive start, exclusive end, 1 for 1-based numbering, inclusive start, inclusive end) -->
 <patient><!-- 0..1 Reference(Patient) Who and/or what this is about --></patient>
 <specimen><!-- 0..1 Reference(Specimen) Specimen used for sequencing --></specimen>
 <device><!-- 0..1 Reference(Device) The method for sequencing --></device>
 <performer><!-- 0..1 Reference(Organization) Who should be responsible for test result --></performer>
 <quantity><!-- 0..1 Quantity The number of copies of the seqeunce of interest.  (RNASeq) --></quantity>
 <referenceSeq>  <!-- 0..1 A sequence used as reference -->
  <chromosome><!-- 0..1 CodeableConcept Chromosome containing genetic finding --></chromosome>
  <genomeBuild value="[string]"/><!-- 0..1 The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' -->
  <referenceSeqId><!-- 0..1 CodeableConcept Reference identifier --></referenceSeqId>
  <referenceSeqPointer><!-- 0..1 Reference(Sequence) A Pointer to another Sequence entity as reference sequence --></referenceSeqPointer>
  <referenceSeqString value="[string]"/><!-- 0..1 A string to represent reference sequence -->
  <strand value="[integer]"/><!-- 0..1 Directionality of DNA ( +1/-1) -->
  <windowStart value="[integer]"/><!-- 1..1 Start position of the window on the  reference sequence -->
  <windowEnd value="[integer]"/><!-- 1..1 End position of the window on the reference sequence -->
 </referenceSeq>
 <variant>  <!-- 0..* Variant in sequence -->
  <start value="[integer]"/><!-- 0..1 Start position of the variant on the  reference sequence -->
  <end value="[integer]"/><!-- 0..1 End position of the variant on the reference sequence -->
  <observedAllele value="[string]"/><!-- 0..1 Allele that was observed -->
  <referenceAllele value="[string]"/><!-- 0..1 Allele in the reference sequence -->
  <cigar value="[string]"/><!-- 0..1 Extended CIGAR string for aligning the sequence with reference bases -->
  <variantPointer><!-- 0..1 Reference(Observation) Pointer to observed variant information --></variantPointer>
 </variant>
 <observedSeq value="[string]"/><!-- 0..1 Sequence that was observed -->
 <quality>  <!-- 0..* An set of value as quality of sequence -->
  <type value="[code]"/><!-- 1..1 indel | snp | unknown -->
  <standardSequence><!-- 0..1 CodeableConcept Standard sequence for comparison --></standardSequence>
  <start value="[integer]"/><!-- 0..1 Start position of the sequence -->
  <end value="[integer]"/><!-- 0..1 End position of the sequence -->
  <score><!-- 0..1 Quantity Quality score for the comparison --></score>
  <method><!-- 0..1 CodeableConcept Method to get quality --></method>
  <truthTP value="[decimal]"/><!-- 0..1 True positives from the perspective of the truth data -->
  <queryTP value="[decimal]"/><!-- 0..1 True positives from the perspective of the query data -->
  <truthFN value="[decimal]"/><!-- 0..1 False negatives -->
  <queryFP value="[decimal]"/><!-- 0..1 False positives -->
  <gtFP value="[decimal]"/><!-- 0..1 False positives where the non-REF alleles in the Truth and Query Call Sets match -->
  <precision value="[decimal]"/><!-- 0..1 Precision of comparison -->
  <recall value="[decimal]"/><!-- 0..1 Recall of comparison -->
  <fScore value="[decimal]"/><!-- 0..1 F-score -->
 </quality>
 <readCoverage value="[integer]"/><!-- 0..1 Average number of reads representing a given nucleotide in the reconstructed sequence -->
 <repository>  <!-- 0..* External repository which contains detailed report related with observedSeq in this resource -->
  <type value="[code]"/><!-- 1..1 directlink | openapi | login | oauth | other -->
  <url value="[uri]"/><!-- 0..1 URI of the repository -->
  <name value="[string]"/><!-- 0..1 Repository's name -->
  <datasetId value="[string]"/><!-- 0..1 Id of the dataset that used to call for dataset in repository -->
  <variantsetId value="[string]"/><!-- 0..1 Id of the variantset that used to call for variantset in repository -->
  <readsetId value="[string]"/><!-- 0..1 Id of the read -->
 </repository>
 <pointer><!-- 0..* Reference(Sequence) Pointer to next atomic sequence --></pointer>
</Sequence>

JSON Template

{doco
  "resourceType" : "Sequence",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Unique ID for this particular sequence. This is a FHIR-defined id
  "type" : "<code>", // aa | dna | rna
  "coordinateSystem" : <integer>, // R!  Base number of coordinate system (0 for 0-based numbering or coordinates, inclusive start, exclusive end, 1 for 1-based numbering, inclusive start, inclusive end)
  "patient" : { Reference(Patient) }, // Who and/or what this is about
  "specimen" : { Reference(Specimen) }, // Specimen used for sequencing
  "device" : { Reference(Device) }, // The method for sequencing
  "performer" : { Reference(Organization) }, // Who should be responsible for test result
  "quantity" : { Quantity }, // The number of copies of the seqeunce of interest.  (RNASeq)
  "referenceSeq" : { // A sequence used as reference
    "chromosome" : { CodeableConcept }, // Chromosome containing genetic finding
    "genomeBuild" : "<string>", // The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'
    "referenceSeqId" : { CodeableConcept }, // Reference identifier
    "referenceSeqPointer" : { Reference(Sequence) }, // A Pointer to another Sequence entity as reference sequence
    "referenceSeqString" : "<string>", // A string to represent reference sequence
    "strand" : <integer>, // Directionality of DNA ( +1/-1)
    "windowStart" : <integer>, // R!  Start position of the window on the  reference sequence
    "windowEnd" : <integer> // R!  End position of the window on the reference sequence
  },
  "variant" : [{ // Variant in sequence
    "start" : <integer>, // Start position of the variant on the  reference sequence
    "end" : <integer>, // End position of the variant on the reference sequence
    "observedAllele" : "<string>", // Allele that was observed
    "referenceAllele" : "<string>", // Allele in the reference sequence
    "cigar" : "<string>", // Extended CIGAR string for aligning the sequence with reference bases
    "variantPointer" : { Reference(Observation) } // Pointer to observed variant information
  }],
  "observedSeq" : "<string>", // Sequence that was observed
  "quality" : [{ // An set of value as quality of sequence
    "type" : "<code>", // R!  indel | snp | unknown
    "standardSequence" : { CodeableConcept }, // Standard sequence for comparison
    "start" : <integer>, // Start position of the sequence
    "end" : <integer>, // End position of the sequence
    "score" : { Quantity }, // Quality score for the comparison
    "method" : { CodeableConcept }, // Method to get quality
    "truthTP" : <decimal>, // True positives from the perspective of the truth data
    "queryTP" : <decimal>, // True positives from the perspective of the query data
    "truthFN" : <decimal>, // False negatives
    "queryFP" : <decimal>, // False positives
    "gtFP" : <decimal>, // False positives where the non-REF alleles in the Truth and Query Call Sets match
    "precision" : <decimal>, // Precision of comparison
    "recall" : <decimal>, // Recall of comparison
    "fScore" : <decimal> // F-score
  }],
  "readCoverage" : <integer>, // Average number of reads representing a given nucleotide in the reconstructed sequence
  "repository" : [{ // External repository which contains detailed report related with observedSeq in this resource
    "type" : "<code>", // R!  directlink | openapi | login | oauth | other
    "url" : "<uri>", // URI of the repository
    "name" : "<string>", // Repository's name
    "datasetId" : "<string>", // Id of the dataset that used to call for dataset in repository
    "variantsetId" : "<string>", // Id of the variantset that used to call for variantset in repository
    "readsetId" : "<string>" // Id of the read
  }],
  "pointer" : [{ Reference(Sequence) }] // Pointer to next atomic sequence
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Sequence;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Sequence.identifier [ Identifier ], ... ; # 0..* Unique ID for this particular sequence. This is a FHIR-defined id
  fhir:Sequence.type [ code ]; # 0..1 aa | dna | rna
  fhir:Sequence.coordinateSystem [ integer ]; # 1..1 Base number of coordinate system (0 for 0-based numbering or coordinates, inclusive start, exclusive end, 1 for 1-based numbering, inclusive start, inclusive end)
  fhir:Sequence.patient [ Reference(Patient) ]; # 0..1 Who and/or what this is about
  fhir:Sequence.specimen [ Reference(Specimen) ]; # 0..1 Specimen used for sequencing
  fhir:Sequence.device [ Reference(Device) ]; # 0..1 The method for sequencing
  fhir:Sequence.performer [ Reference(Organization) ]; # 0..1 Who should be responsible for test result
  fhir:Sequence.quantity [ Quantity ]; # 0..1 The number of copies of the seqeunce of interest.  (RNASeq)
  fhir:Sequence.referenceSeq [ # 0..1 A sequence used as reference
    fhir:Sequence.referenceSeq.chromosome [ CodeableConcept ]; # 0..1 Chromosome containing genetic finding
    fhir:Sequence.referenceSeq.genomeBuild [ string ]; # 0..1 The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37'
    fhir:Sequence.referenceSeq.referenceSeqId [ CodeableConcept ]; # 0..1 Reference identifier
    fhir:Sequence.referenceSeq.referenceSeqPointer [ Reference(Sequence) ]; # 0..1 A Pointer to another Sequence entity as reference sequence
    fhir:Sequence.referenceSeq.referenceSeqString [ string ]; # 0..1 A string to represent reference sequence
    fhir:Sequence.referenceSeq.strand [ integer ]; # 0..1 Directionality of DNA ( +1/-1)
    fhir:Sequence.referenceSeq.windowStart [ integer ]; # 1..1 Start position of the window on the  reference sequence
    fhir:Sequence.referenceSeq.windowEnd [ integer ]; # 1..1 End position of the window on the reference sequence
  ];
  fhir:Sequence.variant [ # 0..* Variant in sequence
    fhir:Sequence.variant.start [ integer ]; # 0..1 Start position of the variant on the  reference sequence
    fhir:Sequence.variant.end [ integer ]; # 0..1 End position of the variant on the reference sequence
    fhir:Sequence.variant.observedAllele [ string ]; # 0..1 Allele that was observed
    fhir:Sequence.variant.referenceAllele [ string ]; # 0..1 Allele in the reference sequence
    fhir:Sequence.variant.cigar [ string ]; # 0..1 Extended CIGAR string for aligning the sequence with reference bases
    fhir:Sequence.variant.variantPointer [ Reference(Observation) ]; # 0..1 Pointer to observed variant information
  ], ...;
  fhir:Sequence.observedSeq [ string ]; # 0..1 Sequence that was observed
  fhir:Sequence.quality [ # 0..* An set of value as quality of sequence
    fhir:Sequence.quality.type [ code ]; # 1..1 indel | snp | unknown
    fhir:Sequence.quality.standardSequence [ CodeableConcept ]; # 0..1 Standard sequence for comparison
    fhir:Sequence.quality.start [ integer ]; # 0..1 Start position of the sequence
    fhir:Sequence.quality.end [ integer ]; # 0..1 End position of the sequence
    fhir:Sequence.quality.score [ Quantity ]; # 0..1 Quality score for the comparison
    fhir:Sequence.quality.method [ CodeableConcept ]; # 0..1 Method to get quality
    fhir:Sequence.quality.truthTP [ decimal ]; # 0..1 True positives from the perspective of the truth data
    fhir:Sequence.quality.queryTP [ decimal ]; # 0..1 True positives from the perspective of the query data
    fhir:Sequence.quality.truthFN [ decimal ]; # 0..1 False negatives
    fhir:Sequence.quality.queryFP [ decimal ]; # 0..1 False positives
    fhir:Sequence.quality.gtFP [ decimal ]; # 0..1 False positives where the non-REF alleles in the Truth and Query Call Sets match
    fhir:Sequence.quality.precision [ decimal ]; # 0..1 Precision of comparison
    fhir:Sequence.quality.recall [ decimal ]; # 0..1 Recall of comparison
    fhir:Sequence.quality.fScore [ decimal ]; # 0..1 F-score
  ], ...;
  fhir:Sequence.readCoverage [ integer ]; # 0..1 Average number of reads representing a given nucleotide in the reconstructed sequence
  fhir:Sequence.repository [ # 0..* External repository which contains detailed report related with observedSeq in this resource
    fhir:Sequence.repository.type [ code ]; # 1..1 directlink | openapi | login | oauth | other
    fhir:Sequence.repository.url [ uri ]; # 0..1 URI of the repository
    fhir:Sequence.repository.name [ string ]; # 0..1 Repository's name
    fhir:Sequence.repository.datasetId [ string ]; # 0..1 Id of the dataset that used to call for dataset in repository
    fhir:Sequence.repository.variantsetId [ string ]; # 0..1 Id of the variantset that used to call for variantset in repository
    fhir:Sequence.repository.readsetId [ string ]; # 0..1 Id of the read
  ], ...;
  fhir:Sequence.pointer [ Reference(Sequence) ], ... ; # 0..* Pointer to next atomic sequence
]

Changes since DSTU2

This resource did not exist in Release 2

This analysis is available as XML or JSON.

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)

PathDefinitionTypeReference
Sequence.type Type if a sequence -- DNA, RNA, or amino acid sequenceExamplesequenceType
Sequence.referenceSeq.chromosome Chromosome number for humanExamplechromosome-human
Sequence.referenceSeq.referenceSeqId Reference identifierExampleENSEMBL
Sequence.quality.type Type for quality reportRequiredqualityType
Sequence.quality.standardSequence Reference identifier of the sequence that used to mark the quality of tested samples.ExampleFDA-StandardSequence
Sequence.quality.method The method used to evaluate the numerical quality of the observed sequence.ExampleFDA-Method
Sequence.repository.type Type for access of external URIRequiredrepositoryType

  • seq-3: Only 0 and 1 are valid for coordinateSystem (expression : coordinateSystem = 1 or coordinateSystem = 0)
  • seq-4: On Sequence.referenceSeq: Only +1 and -1 are valid for strand (expression on Sequence.referenceSeq: strand.empty() or strand = 1 or strand = -1)
  • seq-5: On Sequence.referenceSeq: GenomeBuild and chromosome must be both contained if either one of them is contained (expression on Sequence.referenceSeq: (chromosome.empty() and genomeBuild.empty()) or (chromosome.exists() and genomeBuild.exists()))
  • seq-6: On Sequence.referenceSeq: Have and only have one of the following elements in referenceSeq : 1. genomeBuild ; 2 referenceSeqId; 3. referenceSeqPointer; 4. referenceSeqString; (expression on Sequence.referenceSeq: (genomeBuild.count()+referenceSeqId.count()+ referenceSeqPointer.count()+ referenceSeqString.count()) = 1)

When saving the variant information, the nucleic acid will be numbered with order. Some files are using 0-based coordiantes (e.g. BCD file format) while some files are using 1-based coordinates (e.g. VCF file format) . The element coordinateSystem in Sequence Resource contains this information.

Sequence.coordinateSystem constraints within two possible values: 0 for 0-based system, which will mark the sequence from number 0, while 1 for 1-based system, which will begin marking the first position with number 1. The significant difference between two system is the end position. In 0-based system, the end position is exclusive , which means the last position will not be contained in the sequence window while in 1-based system, the end position is inclusive , which means the last position is included in the sequence window. Note both systems has an inclusive start position.

For example, ACGTGCAT will be numbered from 1 to 8 in 1-based system and will be numbered from 0 to 8 in 0-based system to mark flanks (i.e. place between two Nucleotide). So the interval [3,5] in 1-based system is GTG while interval [2,5) in 0-based system is same segment GTG.

There are lots of definition concerning with the Directionality of DNA or RNA. Here strand element in Sequence resource is defined to have constraints with value +1 and -1 , to indicate what is the direction for nucleotide series. In order to avoid confusion, we use +1 to express the "plus" strand (5' to 3') and -1 to express the "minus" strand (3' to 5'). Here is a very simple mapping that indicates which number the expression will be represented.

+1 -1
Watson Crick
Sense Antisense
positive negative

Here is a small-scale example: if 5' GCGATATCGCAAA 3' is the data, then GC..AAA is plus strand while AAA..CG is the minus strand.

We hope that string of observedSeq can be constrained more than just any normal string but with notation tables. Here we present what the nucleotide acid stirng should be constrianed within the range:

A --> adenosine M --> A C (amino) U --> uridine H --> A C T V --> G C A
C --> cytidine S --> G C (strong) D --> G A T K --> G T (keto)
G --> guanine W --> A T (weak) R --> G A (purine) N --> A G C T (any)
T --> thymidine B --> G T C Y --> T C (pyrimidine) - --> gap of indeterminate length
while the amino acid string should be constrained within the range:
A alanine P proline B aspartate or asparagine Q glutamine
C cystine R arginine D aspartate S serine
E glutamate T threonine F phenylalanine U selenocysteine
G glycine V valine H histidine W tryptophan
I isoleucine Y tyrosine K lysine Z glutamate or glutamine
L leucine X any M methionine * translation stop
N asparagine - gap of indeterminate length

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
chromosometokenChromosome number of the reference sequenceSequence.referenceSeq.chromosome
coordinatecompositeSearch parameter for region of the reference DNA sequence string. This will refer to part of a locus or part of a gene where search region will be represented in 1-based system. Since the coordinateSystem can either be 0-based or 1-based, this search query will include the result of both coordinateSystem that contains the equivalent segment of the gene or whole genome sequence. For example, a search for sequence can be represented as `coordinate=1$lt345$gt123`, this means it will search for the Sequence resource on chromosome 1 and with position >123 and <345, where in 1-based system resource, all strings within region 1:124-344 will be revealed, while in 0-based system resource, all strings within region 1:123-344 will be revealed. You may want to check detail about 0-based v.s. 1-based above.Sequence.variant
endnumberEnd position (0-based exclusive, which menas the acid at this position will not be included, 1-based inclusive, which means the acid at this position will be included) of the reference sequence.Sequence.referenceSeq.windowEnd
identifiertokenThe unique identity for a particular sequenceSequence.identifier
patientreferenceThe subject that the observation is aboutSequence.patient
(Patient)
startnumberStart position (0-based inclusive, 1-based inclusive, that means the nucleic acid or amino acid at this position will be included) of the reference sequence.Sequence.referenceSeq.windowStart
typetokenAmino Acid Sequence/ DNA Sequence / RNA SequenceSequence.type