Publish-box (todo)
Clinical Genomics Work Group | Maturity Level: N/A | Standards Status: Informative | Compartments: No defined compartments |
ShEx statement for molecularsequence
PREFIX fhir: <http://hl7.org/fhir/> PREFIX fhirvs: <http://hl7.org/fhir/ValueSet/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> IMPORT <code.shex> IMPORT <string.shex> IMPORT <integer.shex> IMPORT <boolean.shex> IMPORT <Reference.shex> IMPORT <Identifier.shex> IMPORT <Attachment.shex> IMPORT <DomainResource.shex> IMPORT <BackboneElement.shex> IMPORT <CodeableConcept.shex> start=@<MolecularSequence> AND {fhir:nodeRole [fhir:treeRoot]} # Representation of a molecular sequence <MolecularSequence> EXTENDS @<DomainResource> CLOSED { a [fhir:MolecularSequence]?; fhir:nodeRole [fhir:treeRoot]?; fhir:identifier @<OneOrMore_Identifier>?; # Unique ID for this particular # sequence fhir:type @<code> AND {fhir:v @fhirvs:sequence-type}?; # aa | dna | rna fhir:literal @<OneOrMore_MolecularSequence.literal>?; # A literal representation of a # Molecular Sequence fhir:file @<OneOrMore_Attachment>?; # Embedded file or a link (URL) # which contains content to # represent the sequence fhir:relative @<OneOrMore_MolecularSequence.relative>?; # A Molecular Sequence that is # represented as an ordered series # of edits on a specified starting # sequence fhir:extracted @<OneOrMore_MolecularSequence.extracted>?; # A Molecular Sequence that is # represented as an extracted # portion of a different Molecular # Sequence fhir:repeated @<OneOrMore_MolecularSequence.repeated>?; # A Molecular Sequence that is # represented as a repeated sequence # motif fhir:concatenated @<MolecularSequence.concatenated>?; # A Molecular Sequence that is # represented as an ordered # concatenation of two or more # Molecular Sequences } # One element of a concatenated Molecular Sequence <MolecularSequence.concatenated.sequenceElement> EXTENDS @<BackboneElement> CLOSED { fhir:sequence @<Reference> AND {fhir:link @<MolecularSequence> ? }; # The Molecular Sequence # corresponding to this element fhir:ordinalIndex @<integer>; # The ordinal position of this # sequence element within the # concatenated Molecular Sequence } # An edit (change) made to a sequence <MolecularSequence.relative.edit> EXTENDS @<BackboneElement> CLOSED { fhir:editOrder @<integer>?; # The order of this edit, relative # to other edits on the starting # sequence fhir:coordinateSystem @<CodeableConcept>; # The coordinate system used to # define the edited intervals on the # starting sequence. Coordinate # systems are usually 0- or 1-based fhir:start @<integer>; # The start coordinate of the # interval that will be edited fhir:end @<integer>; # The end coordinate of the interval # that will be edited fhir:replacementSequence @<Reference> AND {fhir:link @<MolecularSequence> ? }; # The sequence that defines the # replacement sequence used in the # edit operation fhir:replacedSequence @<Reference> AND {fhir:link @<MolecularSequence> ? }?; # The sequence on the 'starting' # sequence for the edit operation, # defined by the specified interval, # that will be replaced during the # edit } # A literal representation of a Molecular Sequence <MolecularSequence.literal> EXTENDS @<BackboneElement> CLOSED { fhir:sequenceValue @<string>; # The primary (linear) sequence, # expressed as a literal string } # A Molecular Sequence that is represented as an extracted portion of a different Molecular Sequence <MolecularSequence.extracted> EXTENDS @<BackboneElement> CLOSED { fhir:startingSequence @<Reference> AND {fhir:link @<MolecularSequence> ? }; # The Molecular Sequence that serves # as the parent sequence, from which # the intended sequence will be # extracted fhir:start @<integer>; # The start coordinate (on the # parent sequence) of the interval # that defines the subsequence to be # extracted fhir:end @<integer>; # The end coordinate (on the parent # sequence) of the interval that # defines the subsequence to be # extracted fhir:coordinateSystem @<CodeableConcept>; # The coordinate system used to # define the interval that defines # the subsequence to be extracted. # Coordinate systems are usually 0- # or 1-based fhir:reverseComplement @<boolean>?; # A flag that indicates whether the # extracted sequence should be # reverse complemented } # A Molecular Sequence that is represented as an ordered concatenation of two or more Molecular Sequences <MolecularSequence.concatenated> EXTENDS @<BackboneElement> CLOSED { fhir:sequenceElement @<OneOrMore_MolecularSequence.concatenated.sequenceElement>; # One element of a concatenated # Molecular Sequence } # A Molecular Sequence that is represented as a repeated sequence motif <MolecularSequence.repeated> EXTENDS @<BackboneElement> CLOSED { fhir:sequenceMotif @<Reference> AND {fhir:link @<MolecularSequence> ? }; # The sequence that defines the # repeated motif fhir:copyCount @<integer>; # The number of repeats (copies) of # the sequence motif } # A Molecular Sequence that is represented as an ordered series of edits on a specified starting sequence <MolecularSequence.relative> EXTENDS @<BackboneElement> CLOSED { fhir:startingSequence @<Reference> AND {fhir:link @<MolecularSequence> ? }; # The Molecular Sequence that serves # as the starting sequence, on which # edits will be applied fhir:edit @<OneOrMore_MolecularSequence.relative.edit>?; # An edit (change) made to a sequence } #---------------------- Cardinality Types (OneOrMore) ------------------- <OneOrMore_Identifier> CLOSED { rdf:first @<Identifier> ; rdf:rest [rdf:nil] OR @<OneOrMore_Identifier> } <OneOrMore_MolecularSequence.literal> CLOSED { rdf:first @<MolecularSequence.literal> ; rdf:rest [rdf:nil] OR @<OneOrMore_MolecularSequence.literal> } <OneOrMore_Attachment> CLOSED { rdf:first @<Attachment> ; rdf:rest [rdf:nil] OR @<OneOrMore_Attachment> } <OneOrMore_MolecularSequence.relative> CLOSED { rdf:first @<MolecularSequence.relative> ; rdf:rest [rdf:nil] OR @<OneOrMore_MolecularSequence.relative> } <OneOrMore_MolecularSequence.extracted> CLOSED { rdf:first @<MolecularSequence.extracted> ; rdf:rest [rdf:nil] OR @<OneOrMore_MolecularSequence.extracted> } <OneOrMore_MolecularSequence.repeated> CLOSED { rdf:first @<MolecularSequence.repeated> ; rdf:rest [rdf:nil] OR @<OneOrMore_MolecularSequence.repeated> } <OneOrMore_MolecularSequence.concatenated.sequenceElement> CLOSED { rdf:first @<MolecularSequence.concatenated.sequenceElement> ; rdf:rest [rdf:nil] OR @<OneOrMore_MolecularSequence.concatenated.sequenceElement> } <OneOrMore_MolecularSequence.relative.edit> CLOSED { rdf:first @<MolecularSequence.relative.edit> ; rdf:rest [rdf:nil] OR @<OneOrMore_MolecularSequence.relative.edit> } #---------------------- Value Sets ------------------------ # Type if a sequence -- DNA, RNA, or amino acid sequence. fhirvs:sequence-type ["aa" "dna" "rna"]
Usage note: every effort has been made to ensure that the ShEx files are correct and useful, but they are not a normative part of the specification.
FHIR ®© HL7.org 2011+. FHIR R6 hl7.fhir.core#6.0.0-ballot2 generated on Mon, Aug 12, 2024 16:59+0800.
Links: Search |
Version History |
Contents |
Glossary |
QA |
Compare to R5 |
|
Propose a change