FHIR Cross-Version Mapping Pack
0.1.0 - Ballot for Release 5.1.0 International flag

FHIR Cross-Version Mapping Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-cross-version/ and changes regularly. See the Directory of published versions

StructureMap: R4 to R3 Conversion for Sequence

Official URL: http://hl7.org/fhir/StructureMap/Sequence4to3 Transforms: R4 to R3 Version: 0.1.0
Standards status: Draft Maturity Level: 1 Computable Name: Sequence4to3

R4toR3ConversionforSequence

/// url = 'http://hl7.org/fhir/StructureMap/Sequence4to3 Transforms: R4 to R3'
/// name = 'Sequence4to3'
/// title = 'R4 to R3 Conversion for Sequence'
/// status = 'active'

uses "http://hl7.org/fhir/4.0/MolecularSequence" alias Sequence as source
uses "http://hl7.org/fhir/3.0/Sequence" alias SequenceR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"

group Sequence(source src : MolecularSequence, target tgt : SequenceR3) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.type -> tgt.type;
  src.coordinateSystem -> tgt.coordinateSystem;
  src.patient -> tgt.patient;
  src.specimen -> tgt.specimen;
  src.device -> tgt.device;
  src.performer -> tgt.performer;
  src.quantity -> tgt.quantity;
  src.referenceSeq as vs0 -> tgt.referenceSeq as vt0 then referenceSeq(vs0, vt0);
  src.variant as vs0 -> tgt.variant as vt0 then variant(vs0, vt0);
  src.observedSeq -> tgt.observedSeq;
  src.quality as vs0 -> tgt.quality as vt0 then quality(vs0, vt0);
  src.readCoverage -> tgt.readCoverage;
  src.repository as vs0 -> tgt.repository as vt0 then repository(vs0, vt0);
  src.pointer -> tgt.pointer;
}

group referenceSeq(source src, target tgt) extends BackboneElement {
  src.chromosome -> tgt.chromosome;
  src.genomeBuild -> tgt.genomeBuild;
  src.referenceSeqId -> tgt.referenceSeqId;
  src.referenceSeqPointer -> tgt.referenceSeqPointer;
  src.referenceSeqString -> tgt.referenceSeqString;
  src.strand where value = 'watson' -> tgt.strand = '1';
  src.strand as vvv where value = 'crick' -> tgt.strand = create('') as vvv "1";
  src.windowStart -> tgt.windowStart;
  src.windowEnd -> tgt.windowEnd;
}

group variant(source src, target tgt) extends BackboneElement {
  src.start -> tgt.start;
  src.end -> tgt.end;
  src.observedAllele -> tgt.observedAllele;
  src.referenceAllele -> tgt.referenceAllele;
  src.cigar -> tgt.cigar;
  src.variantPointer -> tgt.variantPointer;
}

group quality(source src, target tgt) extends BackboneElement {
  src.type -> tgt.type;
  src.standardSequence -> tgt.standardSequence;
  src.start -> tgt.start;
  src.end -> tgt.end;
  src.score -> tgt.score;
  src.method -> tgt.method;
  src.truthTP -> tgt.truthTP;
  src.queryTP -> tgt.queryTP;
  src.truthFN -> tgt.truthFN;
  src.queryFP -> tgt.queryFP;
  src.gtFP -> tgt.gtFP;
  src.precision -> tgt.precision;
  src.recall -> tgt.recall;
  src.fScore -> tgt.fScore;
}

group repository(source src, target tgt) extends BackboneElement {
  src.type -> tgt.type;
  src.url -> tgt.url;
  src.name -> tgt.name;
  src.datasetId -> tgt.datasetId;
  src.variantsetId -> tgt.variantsetId;
  src.readsetId -> tgt.readsetId;
}