{
  "resourceType": "StructureDefinition",
  "id": "719a47ad-6029-46d4-b59e-47dcd2f316c2",
  "meta": {
    "lastUpdated": "2020-02-12T07:25:58.425+00:00"
  },
  "url": "http://example.org/fhir/StructureDefinition/QcMetrics",
  "name": "QcMetrics",
  "status": "draft",
  "date": "2020-02-12T07:25:55.8166214+00:00",
  "fhirVersion": "4.0.0",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "complex-type",
  "abstract": false,
  "context": [
    {
      "type": "element",
      "expression": "MolecularSequence"
    }
  ],
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Extension.extension",
        "path": "Extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:sequencingType",
        "path": "Extension.extension",
        "sliceName": "sequencingType",
        "short": "Sequencing type",
        "definition": "Sequencing types are three levels of analysis via NGS: whole genome sequencing (WGS), whole exome sequencing (WES), and targeted sequencing. WGS covers all regions of the genome: both coding and noncoding regions. WES covers all coding regions, which is estimated to comprise 1~2% of the genome, yet contains ~85% of recognized disease-related mutations. Targeted sequencing interrogates known disease-associated genes, which is focusing on a limited set of genes to allow greater depth of coverage.",
        "max": "1"
      },
      {
        "id": "Extension.extension:sequencingType.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:sequencingType.extension:sequencingType",
        "path": "Extension.extension.extension",
        "sliceName": "sequencingType",
        "short": "Sequencing type",
        "definition": "Sequencing types are three levels of analysis via NGS: whole genome sequencing (WGS), whole exome sequencing (WES), and targeted sequencing. WGS covers all regions of the genome: both coding and noncoding regions. WES covers all coding regions, which is estimated to comprise 1~2% of the genome, yet contains ~85% of recognized disease-related mutations. Targeted sequencing interrogates known disease-associated genes, which is focusing on a limited set of genes to allow greater depth of coverage.",
        "max": "1"
      },
      {
        "id": "Extension.extension:sequencingType.extension:sequencingType.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "sequencingType"
      },
      {
        "id": "Extension.extension:sequencingType.extension:sequencingType.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:sequencingType.extension:targetGene",
        "path": "Extension.extension.extension",
        "sliceName": "targetGene",
        "short": "Target gene",
        "definition": "Sets of genes or gene regions for targeted sequencing. Target gene is represented in accordance with HGNC (HUGO (Human Genome Organization) Gene Nomenclature Committee) and RefSeq (NCBI Reference Sequences).",
        "max": "1"
      },
      {
        "id": "Extension.extension:sequencingType.extension:targetGene.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "targetGene"
      },
      {
        "id": "Extension.extension:sequencingType.extension:targetGene.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:sequencingType.url",
        "path": "Extension.extension.url",
        "fixedUri": "sequencingType"
      },
      {
        "id": "Extension.extension:sequencingType.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:dnaExtraction",
        "path": "Extension.extension",
        "sliceName": "dnaExtraction",
        "short": "DNA extraction method",
        "definition": "Library preparation is the process of generating DNA fragments to meet the input requirement of sequencing platforms. In general, this workflow involves DNA extraction, DNA quality measurement and library construction. Depending on the purposes of sequencing, library construction methods can vary and sequencing results will be affected. Therefore, for quality control of the data, it is very important to specify the conditions used in each library preparation step.",
        "max": "1"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaExtractionKit",
        "path": "Extension.extension.extension",
        "sliceName": "dnaExtractionKit",
        "short": "DNA extraction kit",
        "definition": "Product and manufacturer’s name of the DNA extraction kit",
        "max": "1"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaExtractionKit.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "dnaExtractionKit"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaExtractionKit.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaPurity",
        "path": "Extension.extension.extension",
        "sliceName": "dnaPurity",
        "short": "DNA purity",
        "definition": "The ratio of optical density (OD 260/280, OD 260/230) is used as an indicator of the sample purity",
        "max": "1"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaPurity.extension",
        "path": "Extension.extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaPurity.extension:od260280",
        "path": "Extension.extension.extension.extension",
        "sliceName": "od260280",
        "short": "OD 260/280",
        "definition": "The ratio of optical density",
        "max": "1"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaPurity.extension:od260280.url",
        "path": "Extension.extension.extension.extension.url",
        "fixedUri": "od260280"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaPurity.extension:od260280.value[x]",
        "path": "Extension.extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaPurity.extension:od260230",
        "path": "Extension.extension.extension.extension",
        "sliceName": "od260230",
        "short": "OD 260/230",
        "definition": "The ratio of optical density",
        "max": "1"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaPurity.extension:od260230.url",
        "path": "Extension.extension.extension.extension.url",
        "fixedUri": "od260230"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaPurity.extension:od260230.value[x]",
        "path": "Extension.extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaPurity.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "dnaPurity"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaPurity.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaIntegrity",
        "path": "Extension.extension.extension",
        "sliceName": "dnaIntegrity",
        "short": "DNA integrity",
        "definition": "The absence of both single or double strand and breaks absence of nucleotide modifications in the DNA, which could be represented by the size and distribution of DNA fragments",
        "max": "1"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaIntegrity.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "dnaIntegrity"
      },
      {
        "id": "Extension.extension:dnaExtraction.extension:dnaIntegrity.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:dnaExtraction.url",
        "path": "Extension.extension.url",
        "fixedUri": "dnaExtraction"
      },
      {
        "id": "Extension.extension:dnaExtraction.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:libraryConstruction",
        "path": "Extension.extension",
        "sliceName": "libraryConstruction",
        "short": "Library construction",
        "definition": "Library preparation is the process of generating DNA fragments to meet the input requirement of sequencing platforms. In general, this workflow involves DNA extraction, DNA quality measurement and library construction. Depending on the purposes of sequencing, library construction methods can vary and sequencing results will be affected. Therefore, for quality control of the data, it is very important to specify the conditions used in each library preparation step.",
        "max": "1"
      },
      {
        "id": "Extension.extension:libraryConstruction.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:libraryConstruction.extension:libraryInputAmount",
        "path": "Extension.extension.extension",
        "sliceName": "libraryInputAmount",
        "short": "Library input amount",
        "definition": "Initial input DNA amount for library construction",
        "max": "1"
      },
      {
        "id": "Extension.extension:libraryConstruction.extension:libraryInputAmount.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "libraryInputAmount"
      },
      {
        "id": "Extension.extension:libraryConstruction.extension:libraryInputAmount.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:libraryConstruction.extension:libraryInsertSize",
        "path": "Extension.extension.extension",
        "sliceName": "libraryInsertSize",
        "short": "Library insert size",
        "definition": "Library insert size used to construct the library, which can be confirmed by QC at the desired size",
        "max": "1"
      },
      {
        "id": "Extension.extension:libraryConstruction.extension:libraryInsertSize.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "libraryInsertSize"
      },
      {
        "id": "Extension.extension:libraryConstruction.extension:libraryInsertSize.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:libraryConstruction.extension:libraryConstructionKit",
        "path": "Extension.extension.extension",
        "sliceName": "libraryConstructionKit",
        "short": "Library construction kit",
        "definition": "Product and manufacturer’s name of the library construction kit",
        "max": "1"
      },
      {
        "id": "Extension.extension:libraryConstruction.extension:libraryConstructionKit.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "libraryConstructionKit"
      },
      {
        "id": "Extension.extension:libraryConstruction.extension:libraryConstructionKit.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:libraryConstruction.url",
        "path": "Extension.extension.url",
        "fixedUri": "libraryConstruction"
      },
      {
        "id": "Extension.extension:libraryConstruction.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:sequencingInformation",
        "path": "Extension.extension",
        "sliceName": "sequencingInformation",
        "short": "Sequencing information",
        "definition": "Sequencing is the process to run actually NGS platform with pre-processed DNA fragments. Currently available sequencing platforms have different chemistries for sequencing that include sequencing by synthesis (Illumina NGS platforms) and semi-conductor-based sequencing (ThermoFisher’s Ion systems), as well as different detection methods. Despite the similarities in technical performance, differences between platforms exist, notably different DNA input requirements, different cost of reagents, run time, read length, and cost per sample. These differences have implications to the instruments’ capacity to handle low-quality samples, capability of detecting insertions/deletions, and sample throughput. Targeted sequencing technology is used for testing in a part of genomic region, specified with BED format.",
        "max": "1"
      },
      {
        "id": "Extension.extension:sequencingInformation.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:sequencingInstrument",
        "path": "Extension.extension.extension",
        "sliceName": "sequencingInstrument",
        "short": "Sequencing instrument",
        "definition": "Sequencing device for NGS",
        "max": "1"
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:sequencingInstrument.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "sequencingInstrument"
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:sequencingInstrument.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:readLength",
        "path": "Extension.extension.extension",
        "sliceName": "readLength",
        "short": "Read length",
        "definition": "Read length in bp",
        "max": "1"
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:readLength.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "readLength"
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:readLength.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:sequencingDirection",
        "path": "Extension.extension.extension",
        "sliceName": "sequencingDirection",
        "short": "Sequencing direction",
        "definition": "Single end sequencing (reading in one direction in sequencing) or paired end sequencing (reading in both directions in sequencing)",
        "max": "1"
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:sequencingDirection.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "sequencingDirection"
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:sequencingDirection.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:runningMode",
        "path": "Extension.extension.extension",
        "sliceName": "runningMode",
        "short": "Running mode",
        "definition": "V4, rapid mode, etc.",
        "max": "1"
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:runningMode.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "runningMode"
      },
      {
        "id": "Extension.extension:sequencingInformation.extension:runningMode.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:sequencingInformation.url",
        "path": "Extension.extension.url",
        "fixedUri": "sequencingInformation"
      },
      {
        "id": "Extension.extension:sequencingInformation.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:runningQuality",
        "path": "Extension.extension",
        "sliceName": "runningQuality",
        "short": "Running quality information",
        "definition": "Sequencing is the process to run actually NGS platform with pre-processed DNA fragments. Currently available sequencing platforms have different chemistries for sequencing that include sequencing by synthesis (Illumina NGS platforms) and semi-conductor-based sequencing (ThermoFisher’s Ion systems), as well as different detection methods. Despite the similarities in technical performance, differences between platforms exist, notably different DNA input requirements, different cost of reagents, run time, read length, and cost per sample. These differences have implications to the instruments’ capacity to handle low-quality samples, capability of detecting insertions/deletions, and sample throughput. Targeted sequencing technology is used for testing in a part of genomic region, specified with BED format.",
        "max": "1"
      },
      {
        "id": "Extension.extension:runningQuality.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:runningQuality.extension:errorRate",
        "path": "Extension.extension.extension",
        "sliceName": "errorRate",
        "short": "Error rate",
        "definition": "The rate of spiking in phiX DNA",
        "max": "1"
      },
      {
        "id": "Extension.extension:runningQuality.extension:errorRate.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "errorRate"
      },
      {
        "id": "Extension.extension:runningQuality.extension:errorRate.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:runningQuality.extension:percentDataQualityQ30",
        "path": "Extension.extension.extension",
        "sliceName": "percentDataQualityQ30",
        "short": "Percent data quality >Q30",
        "definition": "The amount of data expressed as >Q30 in [%]",
        "max": "1"
      },
      {
        "id": "Extension.extension:runningQuality.extension:percentDataQualityQ30.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "percentDataQualityQ30"
      },
      {
        "id": "Extension.extension:runningQuality.extension:percentDataQualityQ30.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:runningQuality.url",
        "path": "Extension.extension.url",
        "fixedUri": "runningQuality"
      },
      {
        "id": "Extension.extension:runningQuality.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:dataQuality",
        "path": "Extension.extension",
        "sliceName": "dataQuality",
        "short": "Data quality measurement",
        "definition": "The data processing of NGS is the process to analyze data derived from sequencing platforms and entirely dependent on computing resources. This workflow consists of various processes, such as read alignment, deduplication, variant calling etc. There are many tools available for the purpose of sequencing. Sometimes, in-house tools are generated and used as needed. It is necessary to provide several Bioinformatics QC metrics for the final data to be used for detection of variation.",
        "max": "1"
      },
      {
        "id": "Extension.extension:dataQuality.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:dataQuality.extension:totalReads",
        "path": "Extension.extension.extension",
        "sliceName": "totalReads",
        "short": "Total reads",
        "definition": "The number of sequencing reads in the FASTQ file",
        "max": "1"
      },
      {
        "id": "Extension.extension:dataQuality.extension:totalReads.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "totalReads"
      },
      {
        "id": "Extension.extension:dataQuality.extension:totalReads.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:dataQuality.extension:meanCoverage",
        "path": "Extension.extension.extension",
        "sliceName": "meanCoverage",
        "short": "Mean coverage",
        "definition": "The mean number of sequencing depths aligned at each base of the target area. With hybridization-based capture and whole-genome sequencing, PCR duplicates should be removed from coverage calculations.",
        "max": "1"
      },
      {
        "id": "Extension.extension:dataQuality.extension:meanCoverage.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "meanCoverage"
      },
      {
        "id": "Extension.extension:dataQuality.extension:meanCoverage.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:dataQuality.extension:uniformity",
        "path": "Extension.extension.extension",
        "sliceName": "uniformity",
        "short": "Uniformity",
        "definition": "The proportion of base, among the target area, whose number of sequencing read is over x% of the mean coverage and greater than 20x",
        "max": "1"
      },
      {
        "id": "Extension.extension:dataQuality.extension:uniformity.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "uniformity"
      },
      {
        "id": "Extension.extension:dataQuality.extension:uniformity.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:dataQuality.extension:onTargetRate",
        "path": "Extension.extension.extension",
        "sliceName": "onTargetRate",
        "short": "On-target rate",
        "definition": "The proportion of reads being on target from total reads",
        "max": "1"
      },
      {
        "id": "Extension.extension:dataQuality.extension:onTargetRate.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "onTargetRate"
      },
      {
        "id": "Extension.extension:dataQuality.extension:onTargetRate.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:dataQuality.extension:q30",
        "path": "Extension.extension.extension",
        "sliceName": "q30",
        "short": "Q30 rate",
        "definition": "The Q30 rate is the proportion of Phred quality score over 30 for each base in the sequencing read of the alignment file in SAM, BAM, or CRAM format. A Phred quality score is a measure of the quality of the identification of the nucleobases generated by automated DNA sequencing. If Phred assigns a quality score of 30 to a base, the chances that this base is called incorrectly are 1 in 1000.",
        "max": "1"
      },
      {
        "id": "Extension.extension:dataQuality.extension:q30.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "q30"
      },
      {
        "id": "Extension.extension:dataQuality.extension:q30.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:dataQuality.extension:prScore",
        "path": "Extension.extension.extension",
        "sliceName": "prScore",
        "short": "PR score",
        "definition": "Pass rate (PR) score that represents a single unified measure",
        "comment": "Lee C, Bae JS, Ryu GH, Kim NKD, Park D, Chung J, et al. A Method to Evaluate the Quality of Clinical Gene-Panel Sequencing Data for Single-Nucleotide Variant Detection. J Mol Diagn. 2017;19(5):651-8.",
        "max": "1"
      },
      {
        "id": "Extension.extension:dataQuality.extension:prScore.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "prScore"
      },
      {
        "id": "Extension.extension:dataQuality.url",
        "path": "Extension.extension.url",
        "fixedUri": "dataQuality"
      },
      {
        "id": "Extension.extension:dataQuality.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:sequencingAlignment",
        "path": "Extension.extension",
        "sliceName": "sequencingAlignment",
        "short": "Sequencing alignment",
        "definition": "The data processing of NGS is the process to analyze data derived from sequencing platforms and entirely dependent on computing resources. This workflow consists of various processes, such as read alignment, deduplication, variant calling etc. There are many tools available for the purpose of sequencing. Sometimes, in-house tools are generated and used as needed. It is necessary to provide several Bioinformatics QC metrics for the final data to be used for detection of variation.",
        "max": "1"
      },
      {
        "id": "Extension.extension:sequencingAlignment.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:sequencingAlignment.extension:mappingAlgorithm",
        "path": "Extension.extension.extension",
        "sliceName": "mappingAlgorithm",
        "short": "Mapping algorithm",
        "definition": "Mapping algorithm used in read mapping step",
        "max": "1"
      },
      {
        "id": "Extension.extension:sequencingAlignment.extension:mappingAlgorithm.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "mappingAlgorithm"
      },
      {
        "id": "Extension.extension:sequencingAlignment.extension:mappingAlgorithm.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:sequencingAlignment.extension:software",
        "path": "Extension.extension.extension",
        "sliceName": "software",
        "short": "Local realignment software and version",
        "definition": "Software and version used in local realignment",
        "max": "1"
      },
      {
        "id": "Extension.extension:sequencingAlignment.extension:software.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "software"
      },
      {
        "id": "Extension.extension:sequencingAlignment.extension:software.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:sequencingAlignment.url",
        "path": "Extension.extension.url",
        "fixedUri": "sequencingAlignment"
      },
      {
        "id": "Extension.extension:sequencingAlignment.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:variantCalling",
        "path": "Extension.extension",
        "sliceName": "variantCalling",
        "short": "Variant calling",
        "definition": "The data processing of NGS is the process to analyze data derived from sequencing platforms and entirely dependent on computing resources. This workflow consists of various processes, such as read alignment, deduplication, variant calling etc. There are many tools available for the purpose of sequencing. Sometimes, in-house tools are generated and used as needed. It is necessary to provide several Bioinformatics QC metrics for the final data to be used for detection of variation."
      },
      {
        "id": "Extension.extension:variantCalling.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:variantCalling.extension:software",
        "path": "Extension.extension.extension",
        "sliceName": "software",
        "short": "Variant calling software and version",
        "definition": "Software and version used in variant calling",
        "max": "1"
      },
      {
        "id": "Extension.extension:variantCalling.extension:software.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "software"
      },
      {
        "id": "Extension.extension:variantCalling.extension:software.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:variantCalling.extension:qualityScore",
        "path": "Extension.extension.extension",
        "sliceName": "qualityScore",
        "short": "Variant call quality score",
        "definition": "Variant call quality score is an estimate of how confident the caller correctly identified that a given genome position displays variation in at least one sample. It is generated during the variant calling step and a requisite component of the VCF.",
        "max": "1"
      },
      {
        "id": "Extension.extension:variantCalling.extension:qualityScore.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "qualityScore"
      },
      {
        "id": "Extension.extension:variantCalling.extension:qualityScore.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:variantCalling.extension:allelicReadPercentage",
        "path": "Extension.extension.extension",
        "sliceName": "allelicReadPercentage",
        "short": "Allelic read percentage & ratio",
        "definition": "Allelic read percentages, including percentage of different variant types (e.g., heterozygous calls, indels, nonsense variants), and portion and ratios of base substitutions",
        "max": "1"
      },
      {
        "id": "Extension.extension:variantCalling.extension:allelicReadPercentage.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "allelicReadPercentage"
      },
      {
        "id": "Extension.extension:variantCalling.extension:allelicReadPercentage.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "decimal"
          }
        ]
      },
      {
        "id": "Extension.extension:variantCalling.url",
        "path": "Extension.extension.url",
        "fixedUri": "variantCalling"
      },
      {
        "id": "Extension.extension:variantCalling.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:variantFilteringAndAnnotation",
        "path": "Extension.extension",
        "sliceName": "variantFilteringAndAnnotation",
        "short": "Variant filtering and annotation",
        "definition": "Variant filtering is the process by which variants representing false-positive artifacts of the NGS method are flagged or filtered from the original VCF file on the basis of several sequence alignment and variant calling associated metadata.",
        "max": "1"
      },
      {
        "id": "Extension.extension:variantFilteringAndAnnotation.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:variantFilteringAndAnnotation.extension:germlineFilterCriteria",
        "path": "Extension.extension.extension",
        "sliceName": "germlineFilterCriteria",
        "short": "Germline filter criteria",
        "definition": "Criteria used to distinguish germline mutation from detected mutations",
        "max": "1"
      },
      {
        "id": "Extension.extension:variantFilteringAndAnnotation.extension:germlineFilterCriteria.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "germlineFilterCriteria"
      },
      {
        "id": "Extension.extension:variantFilteringAndAnnotation.extension:germlineFilterCriteria.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:variantFilteringAndAnnotation.extension:referenceDB",
        "path": "Extension.extension.extension",
        "sliceName": "referenceDB",
        "short": "Mutation and annotation database",
        "definition": "The database is used for identifying clinical relevant mutation, and includes information such as minor allele frequency in the population, predictions of variant effects on protein function or splicing.",
        "max": "1"
      },
      {
        "id": "Extension.extension:variantFilteringAndAnnotation.extension:referenceDB.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "referenceDB"
      },
      {
        "id": "Extension.extension:variantFilteringAndAnnotation.extension:referenceDB.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:variantFilteringAndAnnotation.url",
        "path": "Extension.extension.url",
        "fixedUri": "variantFilteringAndAnnotation"
      },
      {
        "id": "Extension.extension:variantFilteringAndAnnotation.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.extension:sampleInformation",
        "path": "Extension.extension",
        "sliceName": "sampleInformation",
        "max": "1"
      },
      {
        "id": "Extension.extension:sampleInformation.extension",
        "path": "Extension.extension.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Extension.extension:sampleInformation.extension:specimenType",
        "path": "Extension.extension.extension",
        "sliceName": "specimenType",
        "short": "Specimen type",
        "definition": "Type of specimen (e.g. whole blood, cell, urine, fresh cell & tissue) with related data during sample collection (e.g. biopsy, surgical excision, EDTA, heparin), processing (e.g. formalin, centrifugation), and storage (e.g. paraffin block, cryotube).",
        "max": "1"
      },
      {
        "id": "Extension.extension:sampleInformation.extension:specimenType.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "specimenType"
      },
      {
        "id": "Extension.extension:sampleInformation.extension:samplingDate",
        "path": "Extension.extension.extension",
        "sliceName": "samplingDate",
        "short": "Sampling date",
        "definition": "Sampling date is the date when the specimen was acquired.",
        "max": "1"
      },
      {
        "id": "Extension.extension:sampleInformation.extension:samplingDate.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "samplingDate"
      },
      {
        "id": "Extension.extension:sampleInformation.extension:samplingDate.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "date"
          }
        ]
      },
      {
        "id": "Extension.extension:sampleInformation.extension:cellline",
        "path": "Extension.extension.extension",
        "sliceName": "cellline",
        "short": "Cell Line",
        "definition": "Cell Line",
        "max": "1"
      },
      {
        "id": "Extension.extension:sampleInformation.extension:cellline.url",
        "path": "Extension.extension.extension.url",
        "fixedUri": "cellline"
      },
      {
        "id": "Extension.extension:sampleInformation.extension:cellline.value[x]",
        "path": "Extension.extension.extension.value[x]",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Extension.extension:sampleInformation.url",
        "path": "Extension.extension.url",
        "fixedUri": "sampleInformation"
      },
      {
        "id": "Extension.extension:sampleInformation.value[x]",
        "path": "Extension.extension.value[x]",
        "max": "0"
      },
      {
        "id": "Extension.url",
        "path": "Extension.url",
        "fixedUri": "http://example.org/fhir/StructureDefinition/QcMetrics"
      },
      {
        "id": "Extension.value[x]",
        "path": "Extension.value[x]",
        "max": "0"
      }
    ]
  }
}