This page is part of the FHIR Specification (v1.8.0: STU 3 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
Clinical Genomics Work Group | Maturity Level: 0 | Compartments: 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 Implementation Guide here .
This resource is designed to describe sequence variations with clinical significance with information such as:
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
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Sequence | ΣI | DomainResource | Information about a biological sequence Only 0 and 1 are valid for coordinateSystem | |
identifier | Σ | 0..* | Identifier | Unique ID for this particular sequence. This is a FHIR-defined id |
type | Σ | 0..1 | code | AA | DNA | RNA sequenceType (Example) |
coordinateSystem | Σ | 1..1 | integer | 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 |
specimen | Σ | 0..1 | Reference(Specimen) | Specimen used for sequencing |
device | Σ | 0..1 | Reference(Device) | The method for sequencing |
performer | Σ | 0..1 | Reference(Organization) | Who should be responsible for test result |
quantity | Σ | 0..1 | Quantity | The number of copies of the seqeunce of interest. (RNASeq) |
referenceSeq | ΣI | 0..1 | BackboneElement | Reference sequence 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..1 | CodeableConcept | Chromosome containing genetic finding chromosome-human (Example) |
genomeBuild | Σ | 0..1 | string | The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' |
referenceSeqId | Σ | 0..1 | CodeableConcept | Reference identifier ENSEMBL (Example) |
referenceSeqPointer | Σ | 0..1 | Reference(Sequence) | A Pointer to another Sequence entity as reference sequence |
referenceSeqString | Σ | 0..1 | string | A Reference Sequence string |
strand | Σ | 0..1 | integer | Directionality of DNA ( +1/-1) |
windowStart | Σ | 1..1 | integer | Start position of the window on the reference sequence |
windowEnd | Σ | 1..1 | integer | End position of the window on the reference sequence |
variant | Σ | 0..* | BackboneElement | Sequence variant |
start | Σ | 0..1 | integer | Start position of the variant on the reference sequence |
end | Σ | 0..1 | integer | End position of the variant on the reference sequence |
observedAllele | Σ | 0..1 | string | Allele that was observed |
referenceAllele | Σ | 0..1 | string | Allele of reference sequence |
cigar | Σ | 0..1 | string | Extended CIGAR string for aligning the sequence with reference bases |
variantPointer | Σ | 0..1 | Reference(Observation) | Pointer to observed variant information |
observedSeq | Σ | 0..1 | string | Observed sequence |
quality | Σ | 0..* | BackboneElement | Sequence quality |
type | Σ | 1..1 | code | INDEL | SNP | UNKNOWN qualityType (Required) |
standardSequence | Σ | 0..1 | CodeableConcept | Standard sequence for comparison |
start | Σ | 0..1 | integer | Start position of the sequence |
end | Σ | 0..1 | integer | End position of the sequence |
score | Σ | 0..1 | Quantity | Quality score |
method | Σ | 0..1 | CodeableConcept | Method for quality |
truthTP | Σ | 0..1 | decimal | True positives from the perspective of the truth data |
queryTP | Σ | 0..1 | decimal | True positives from the perspective of the query data |
truthFN | Σ | 0..1 | decimal | False negatives |
queryFP | Σ | 0..1 | decimal | False positives |
gtFP | Σ | 0..1 | decimal | False positives where the non-REF alleles in the Truth and Query Call Sets match |
precision | Σ | 0..1 | decimal | Precision |
recall | Σ | 0..1 | decimal | Recall |
fScore | Σ | 0..1 | decimal | F-score |
readCoverage | Σ | 0..1 | integer | Average number of reads representing a given nucleotide in the reconstructed sequence |
repository | Σ | 0..* | BackboneElement | External repository which contains detailed report related with observedSeq in this resource |
type | Σ | 1..1 | code | directlink | openapi | login | oauth | other repositoryType (Required) |
url | Σ | 0..1 | uri | URI of the repository |
name | Σ | 0..1 | string | Name of the repository |
datasetId | Σ | 0..1 | string | Id of the dataset that used to call for dataset in repository |
variantsetId | Σ | 0..1 | string | Id of the variantset that used to call for variantset in repository |
readsetId | Σ | 0..1 | string | Id of the read |
pointer | Σ | 0..* | Reference(Sequence) | Pointer to next atomic sequence |
structureVariant | Σ | 0..* | BackboneElement | Structural variant |
precisionOfBoundaries | Σ | 0..1 | string | Precision of boundaries |
reportedaCGHRatio | Σ | 0..1 | decimal | Structural Variant reported aCGH ratio |
length | Σ | 0..1 | integer | Structural Variant Length |
outer | Σ | 0..1 | BackboneElement | Structural variant outer |
start | Σ | 0..1 | integer | Structural Variant Outer Start |
end | Σ | 0..1 | integer | Structural Variant Outer End |
inner | Σ | 0..1 | BackboneElement | Structural variant inner |
start | Σ | 0..1 | integer | Structural Variant Inner Start |
end | Σ | 0..1 | integer | Structural Variant Inner End |
Documentation for this format |
UML Diagram (Legend)
XML Template
<Sequence xmlns="http://hl7.org/fhir"> <!-- 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 Reference sequence --> <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 Reference Sequence string --> <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..* Sequence variant --> <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 of 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 Observed sequence --> <quality> <!-- 0..* Sequence quality --> <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 --></score> <method><!-- 0..1 CodeableConcept Method for 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 --> <recall value="[decimal]"/><!-- 0..1 Recall --> <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 Name of the repository --> <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> <structureVariant> <!-- 0..* Structural variant --> <precisionOfBoundaries value="[string]"/><!-- 0..1 Precision of boundaries --> <reportedaCGHRatio value="[decimal]"/><!-- 0..1 Structural Variant reported aCGH ratio --> <length value="[integer]"/><!-- 0..1 Structural Variant Length --> <outer> <!-- 0..1 Structural variant outer --> <start value="[integer]"/><!-- 0..1 Structural Variant Outer Start --> <end value="[integer]"/><!-- 0..1 Structural Variant Outer End --> </outer> <inner> <!-- 0..1 Structural variant inner --> <start value="[integer]"/><!-- 0..1 Structural Variant Inner Start --> <end value="[integer]"/><!-- 0..1 Structural Variant Inner End --> </inner> </structureVariant> </Sequence>
JSON Template
{ "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" : { // Reference sequence "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 Reference Sequence string "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" : [{ // Sequence variant "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 of reference sequence "cigar" : "<string>", // Extended CIGAR string for aligning the sequence with reference bases "variantPointer" : { Reference(Observation) } // Pointer to observed variant information }], "observedSeq" : "<string>", // Observed sequence "quality" : [{ // Sequence quality "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 "method" : { CodeableConcept }, // Method for 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 "recall" : <decimal>, // Recall "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>", // Name of the repository "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 "structureVariant" : [{ // Structural variant "precisionOfBoundaries" : "<string>", // Precision of boundaries "reportedaCGHRatio" : <decimal>, // Structural Variant reported aCGH ratio "length" : <integer>, // Structural Variant Length "outer" : { // Structural variant outer "start" : <integer>, // Structural Variant Outer Start "end" : <integer> // Structural Variant Outer End }, "inner" : { // Structural variant inner "start" : <integer>, // Structural Variant Inner Start "end" : <integer> // Structural Variant Inner End } }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ 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 Reference sequence 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 Reference Sequence string 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..* Sequence variant 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 of 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 Observed sequence fhir:Sequence.quality [ # 0..* Sequence quality 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 fhir:Sequence.quality.method [ CodeableConcept ]; # 0..1 Method for 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 fhir:Sequence.quality.recall [ decimal ]; # 0..1 Recall 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 Name of the repository 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 fhir:Sequence.structureVariant [ # 0..* Structural variant fhir:Sequence.structureVariant.precisionOfBoundaries [ string ]; # 0..1 Precision of boundaries fhir:Sequence.structureVariant.reportedaCGHRatio [ decimal ]; # 0..1 Structural Variant reported aCGH ratio fhir:Sequence.structureVariant.length [ integer ]; # 0..1 Structural Variant Length fhir:Sequence.structureVariant.outer [ # 0..1 Structural variant outer fhir:Sequence.structureVariant.outer.start [ integer ]; # 0..1 Structural Variant Outer Start fhir:Sequence.structureVariant.outer.end [ integer ]; # 0..1 Structural Variant Outer End ]; fhir:Sequence.structureVariant.inner [ # 0..1 Structural variant inner fhir:Sequence.structureVariant.inner.start [ integer ]; # 0..1 Structural Variant Inner Start fhir:Sequence.structureVariant.inner.end [ integer ]; # 0..1 Structural Variant Inner End ]; ], ...; ]
Changes since DSTU2
This resource did not exist in Release 2
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Sequence | ΣI | DomainResource | Information about a biological sequence Only 0 and 1 are valid for coordinateSystem | |
identifier | Σ | 0..* | Identifier | Unique ID for this particular sequence. This is a FHIR-defined id |
type | Σ | 0..1 | code | AA | DNA | RNA sequenceType (Example) |
coordinateSystem | Σ | 1..1 | integer | 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 |
specimen | Σ | 0..1 | Reference(Specimen) | Specimen used for sequencing |
device | Σ | 0..1 | Reference(Device) | The method for sequencing |
performer | Σ | 0..1 | Reference(Organization) | Who should be responsible for test result |
quantity | Σ | 0..1 | Quantity | The number of copies of the seqeunce of interest. (RNASeq) |
referenceSeq | ΣI | 0..1 | BackboneElement | Reference sequence 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..1 | CodeableConcept | Chromosome containing genetic finding chromosome-human (Example) |
genomeBuild | Σ | 0..1 | string | The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' |
referenceSeqId | Σ | 0..1 | CodeableConcept | Reference identifier ENSEMBL (Example) |
referenceSeqPointer | Σ | 0..1 | Reference(Sequence) | A Pointer to another Sequence entity as reference sequence |
referenceSeqString | Σ | 0..1 | string | A Reference Sequence string |
strand | Σ | 0..1 | integer | Directionality of DNA ( +1/-1) |
windowStart | Σ | 1..1 | integer | Start position of the window on the reference sequence |
windowEnd | Σ | 1..1 | integer | End position of the window on the reference sequence |
variant | Σ | 0..* | BackboneElement | Sequence variant |
start | Σ | 0..1 | integer | Start position of the variant on the reference sequence |
end | Σ | 0..1 | integer | End position of the variant on the reference sequence |
observedAllele | Σ | 0..1 | string | Allele that was observed |
referenceAllele | Σ | 0..1 | string | Allele of reference sequence |
cigar | Σ | 0..1 | string | Extended CIGAR string for aligning the sequence with reference bases |
variantPointer | Σ | 0..1 | Reference(Observation) | Pointer to observed variant information |
observedSeq | Σ | 0..1 | string | Observed sequence |
quality | Σ | 0..* | BackboneElement | Sequence quality |
type | Σ | 1..1 | code | INDEL | SNP | UNKNOWN qualityType (Required) |
standardSequence | Σ | 0..1 | CodeableConcept | Standard sequence for comparison |
start | Σ | 0..1 | integer | Start position of the sequence |
end | Σ | 0..1 | integer | End position of the sequence |
score | Σ | 0..1 | Quantity | Quality score |
method | Σ | 0..1 | CodeableConcept | Method for quality |
truthTP | Σ | 0..1 | decimal | True positives from the perspective of the truth data |
queryTP | Σ | 0..1 | decimal | True positives from the perspective of the query data |
truthFN | Σ | 0..1 | decimal | False negatives |
queryFP | Σ | 0..1 | decimal | False positives |
gtFP | Σ | 0..1 | decimal | False positives where the non-REF alleles in the Truth and Query Call Sets match |
precision | Σ | 0..1 | decimal | Precision |
recall | Σ | 0..1 | decimal | Recall |
fScore | Σ | 0..1 | decimal | F-score |
readCoverage | Σ | 0..1 | integer | Average number of reads representing a given nucleotide in the reconstructed sequence |
repository | Σ | 0..* | BackboneElement | External repository which contains detailed report related with observedSeq in this resource |
type | Σ | 1..1 | code | directlink | openapi | login | oauth | other repositoryType (Required) |
url | Σ | 0..1 | uri | URI of the repository |
name | Σ | 0..1 | string | Name of the repository |
datasetId | Σ | 0..1 | string | Id of the dataset that used to call for dataset in repository |
variantsetId | Σ | 0..1 | string | Id of the variantset that used to call for variantset in repository |
readsetId | Σ | 0..1 | string | Id of the read |
pointer | Σ | 0..* | Reference(Sequence) | Pointer to next atomic sequence |
structureVariant | Σ | 0..* | BackboneElement | Structural variant |
precisionOfBoundaries | Σ | 0..1 | string | Precision of boundaries |
reportedaCGHRatio | Σ | 0..1 | decimal | Structural Variant reported aCGH ratio |
length | Σ | 0..1 | integer | Structural Variant Length |
outer | Σ | 0..1 | BackboneElement | Structural variant outer |
start | Σ | 0..1 | integer | Structural Variant Outer Start |
end | Σ | 0..1 | integer | Structural Variant Outer End |
inner | Σ | 0..1 | BackboneElement | Structural variant inner |
start | Σ | 0..1 | integer | Structural Variant Inner Start |
end | Σ | 0..1 | integer | Structural Variant Inner End |
Documentation for this format |
XML Template
<Sequence xmlns="http://hl7.org/fhir"> <!-- 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 Reference sequence --> <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 Reference Sequence string --> <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..* Sequence variant --> <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 of 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 Observed sequence --> <quality> <!-- 0..* Sequence quality --> <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 --></score> <method><!-- 0..1 CodeableConcept Method for 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 --> <recall value="[decimal]"/><!-- 0..1 Recall --> <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 Name of the repository --> <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> <structureVariant> <!-- 0..* Structural variant --> <precisionOfBoundaries value="[string]"/><!-- 0..1 Precision of boundaries --> <reportedaCGHRatio value="[decimal]"/><!-- 0..1 Structural Variant reported aCGH ratio --> <length value="[integer]"/><!-- 0..1 Structural Variant Length --> <outer> <!-- 0..1 Structural variant outer --> <start value="[integer]"/><!-- 0..1 Structural Variant Outer Start --> <end value="[integer]"/><!-- 0..1 Structural Variant Outer End --> </outer> <inner> <!-- 0..1 Structural variant inner --> <start value="[integer]"/><!-- 0..1 Structural Variant Inner Start --> <end value="[integer]"/><!-- 0..1 Structural Variant Inner End --> </inner> </structureVariant> </Sequence>
JSON Template
{ "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" : { // Reference sequence "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 Reference Sequence string "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" : [{ // Sequence variant "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 of reference sequence "cigar" : "<string>", // Extended CIGAR string for aligning the sequence with reference bases "variantPointer" : { Reference(Observation) } // Pointer to observed variant information }], "observedSeq" : "<string>", // Observed sequence "quality" : [{ // Sequence quality "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 "method" : { CodeableConcept }, // Method for 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 "recall" : <decimal>, // Recall "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>", // Name of the repository "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 "structureVariant" : [{ // Structural variant "precisionOfBoundaries" : "<string>", // Precision of boundaries "reportedaCGHRatio" : <decimal>, // Structural Variant reported aCGH ratio "length" : <integer>, // Structural Variant Length "outer" : { // Structural variant outer "start" : <integer>, // Structural Variant Outer Start "end" : <integer> // Structural Variant Outer End }, "inner" : { // Structural variant inner "start" : <integer>, // Structural Variant Inner Start "end" : <integer> // Structural Variant Inner End } }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ 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 Reference sequence 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 Reference Sequence string 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..* Sequence variant 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 of 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 Observed sequence fhir:Sequence.quality [ # 0..* Sequence quality 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 fhir:Sequence.quality.method [ CodeableConcept ]; # 0..1 Method for 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 fhir:Sequence.quality.recall [ decimal ]; # 0..1 Recall 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 Name of the repository 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 fhir:Sequence.structureVariant [ # 0..* Structural variant fhir:Sequence.structureVariant.precisionOfBoundaries [ string ]; # 0..1 Precision of boundaries fhir:Sequence.structureVariant.reportedaCGHRatio [ decimal ]; # 0..1 Structural Variant reported aCGH ratio fhir:Sequence.structureVariant.length [ integer ]; # 0..1 Structural Variant Length fhir:Sequence.structureVariant.outer [ # 0..1 Structural variant outer fhir:Sequence.structureVariant.outer.start [ integer ]; # 0..1 Structural Variant Outer Start fhir:Sequence.structureVariant.outer.end [ integer ]; # 0..1 Structural Variant Outer End ]; fhir:Sequence.structureVariant.inner [ # 0..1 Structural variant inner fhir:Sequence.structureVariant.inner.start [ integer ]; # 0..1 Structural Variant Inner Start fhir:Sequence.structureVariant.inner.end [ integer ]; # 0..1 Structural Variant Inner End ]; ], ...; ]
Changes since DSTU2
This resource did not exist in Release 2
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle), JSON-LD (for RDF as JSON-LD),
Path | Definition | Type | Reference |
---|---|---|---|
Sequence.type | Type if a sequence -- DNA, RNA, or amino acid sequence | Example | sequenceType |
Sequence.referenceSeq.chromosome | Chromosome number for human | Example | chromosome-human |
Sequence.referenceSeq.referenceSeqId | Reference identifier | Example | ENSEMBL |
Sequence.quality.type | Type for quality report | Required | qualityType |
Sequence.repository.type | Type for access of external uri | Required | repositoryType |
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 |
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.
Name | Type | Description | Paths | In Common |
chromosome | token | Chromosome number of the reference sequence | Sequence.referenceSeq.chromosome | |
coordinate | composite | Search 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. | ||
end | number | End 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 | |
identifier | token | The unique identity for a particular sequence | Sequence.identifier | |
patient | reference | The subject that the observation is about | Sequence.patient (Patient) | |
start | number | Start 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 | |
type | token | Amino Acid Sequence/ DNA Sequence / RNA Sequence | Sequence.type |