Skip to content

Biomarker

Dereferenced schema · Source · Referenced version

A Cat-VRS CategoricalVariant whose allele, location, genes, function, and copy change are shaped into constraints. Root type Biomarker with one subtype per biomarker_type extension value.

Root type shared by every biomarker. Subtypes below are selected by the biomarker_type extension; the top-level schema closes the record.

Fields

Field Type Required Description
id string matching ^bmkr:\d+$ yes
type always CategoricalVariant yes
name string yes
constraints array of DefiningAlleleConstraint or DefiningLocationConstraint or FeatureContextConstraint or AdjacencyConstraint or FunctionConstraint or CopyChangeConstraint yes
extensions array of extensions (see Extensions) yes

Extensions

Each extension is an object with a name, a value, and an optional description (see Extension).

Name Value Required
biomarker_type one of Copy number, Copy number (arm level), Gene fusion, Germline variant, Haplotype genotype, Homologous recombination, Microsatellite stability, Mismatch repair, Protein expression, Rearrangement, Somatic variant, Translocation, Tumor mutational burden, Wild type yes

Subtypes

Every record matches exactly one subtype, which adds to the fields above.

Subtype Applies when Description
Copy Number biomarker_type extension is Copy number Gene-level copy number change: a gene and a copy change.
Copy Number (arm level) biomarker_type extension is Copy number (arm level) Arm-level copy number change: a location and a copy change.
Gene fusion biomarker_type extension is Gene fusion Gene fusion, represented by a single AdjacencyConstraint. A fusion with one known partner has an UnspecifiedElement for the other.
Germline Variant biomarker_type extension is Germline variant Germline variant: a location and a FeatureContextConstraint.
Haplotype genotype biomarker_type extension is Haplotype genotype Haplotype genotype. No constraints.
Homologous Recombination biomarker_type extension is Homologous recombination Homologous recombination status. No constraints.
Microsatellite Stability biomarker_type extension is Microsatellite stability Microsatellite instability status. No constraints.
Mismatch Repair biomarker_type extension is Mismatch repair Mismatch repair status. No constraints.
Protein expression biomarker_type extension is Protein expression Protein expression, e.g. PD-L1 TPS >= 1%. No constraints.
Rearrangement biomarker_type extension is Rearrangement Chromosomal rearrangement that is neither a gene fusion nor a translocation (see Gene fusion, Translocation). Shares NonFusionRearrangement's shape.
Translocation biomarker_type extension is Translocation Chromosomal translocation between one or two partner genes, or between one or two chromosomes. Shares NonFusionRearrangement's shape, but also allows a DefiningLocationConstraint per chromosome when the translocation is named by cytogenetic band rather than gene.
Somatic Variant biomarker_type extension is Somatic variant Somatic variant: a FeatureContextConstraint, plus an allele or location and optionally a function.
Tumor mutational burden biomarker_type extension is Tumor mutational burden Tumor mutational burden classification. No constraints.
Wild type biomarker_type extension is Wild type Absence of variants in a gene: a location and a gene.

Copy Number

Gene-level copy number change: a gene and a copy change.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Copy number, required), cytoband (string or null, required)
constraints array of FeatureContextConstraint or CopyChangeConstraint, containing FeatureContextConstraint and containing CopyChangeConstraint

Copy Number (arm level)

Arm-level copy number change: a location and a copy change.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Copy number (arm level), required), chromosome (string, required), arm (one of p, q, required)
constraints array of DefiningLocationConstraint or CopyChangeConstraint, containing DefiningLocationConstraint and containing CopyChangeConstraint

Gene fusion

Gene fusion, represented by a single AdjacencyConstraint. A fusion with one known partner has an UnspecifiedElement for the other.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Gene fusion, required)
constraints array of AdjacencyConstraint (exactly 1 item)

Germline Variant

Germline variant: a location and a FeatureContextConstraint.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Germline variant, required), chromosome (string, required), start_position (integer or null, required), end_position (integer or null, required), reference_allele (string or null, required), alternate_allele (string or null, required), cdna_change (string or null, required), protein_change (string or null, required), variant_annotation (string or null, required), exon (integer or string or null, required), rsid (string or null, required), hgvsg (string or null, required), hgvsc (string or null, required), requires_pathogenic (boolean, required)
constraints array of DefiningLocationConstraint or FeatureContextConstraint, containing DefiningLocationConstraint and containing FeatureContextConstraint

Haplotype genotype

Haplotype genotype. No constraints.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Haplotype genotype, required)
constraints array (at most 0 items)

Homologous Recombination

Homologous recombination status. No constraints.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Homologous recombination, required), status (string, required)
constraints array (at most 0 items)

Microsatellite Stability

Microsatellite instability status. No constraints.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Microsatellite stability, required), status (one of Microsatellite instability-high (MSI-H), Microsatellite instability-low (MSI-L), Microsatellite stable (MSS), required)
constraints array (at most 0 items)

Mismatch Repair

Mismatch repair status. No constraints.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Mismatch repair, required), status (one of Deficient, Proficient, required)
constraints array (at most 0 items)

Protein expression

Protein expression, e.g. PD-L1 TPS >= 1%. No constraints.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Protein expression, required), marker (string, required), unit (string, required), equality (one of =, >=, <=, <, >, required), value (number or string, required)
constraints array (at most 0 items)

Rearrangement

Chromosomal rearrangement that is neither a gene fusion nor a translocation (see Gene fusion, Translocation). Shares NonFusionRearrangement's shape.

Builds on NonFusionRearrangement.

Field Type Required Description
extensions array of extensions: biomarker_type (always Rearrangement, required)

Translocation

Chromosomal translocation between one or two partner genes, or between one or two chromosomes. Shares NonFusionRearrangement's shape, but also allows a DefiningLocationConstraint per chromosome when the translocation is named by cytogenetic band rather than gene.

Builds on NonFusionRearrangement.

Field Type Required Description
extensions array of extensions: biomarker_type (always Translocation, required)

Somatic Variant

Somatic variant: a FeatureContextConstraint, plus an allele or location and optionally a function.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Somatic variant, required), chromosome (string, required), start_position (integer or null, required), end_position (integer or null, required), reference_allele (string or null, required), alternate_allele (string or null, required), cdna_change (string or null, required), protein_change (string or null, required), variant_annotation (string or null, required), exon (integer or string or null, required), hgvsg (string or null, required), hgvsc (string or null, required), rsid (string or null), requires_oncogenic (boolean)
constraints array of DefiningAlleleConstraint or DefiningLocationConstraint or FeatureContextConstraint or FunctionConstraint, containing FeatureContextConstraint

Tumor mutational burden

Tumor mutational burden classification. No constraints.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Tumor mutational burden, required), classification (string, required), minimum_mutations (number or null, required), minimum_mutations_per_megabase (number or null, required)
constraints array (at most 0 items)

Wild type

Absence of variants in a gene: a location and a gene.

Builds on Biomarker.

Field Type Required Description
extensions array of extensions: biomarker_type (always Wild type, required)
constraints array of DefiningLocationConstraint or FeatureContextConstraint, containing DefiningLocationConstraint and containing FeatureContextConstraint

Definitions

DefiningAlleleConstraint

Field Type Required Description
type always DefiningAlleleConstraint yes
allele Allele yes
relations array of any yes

DefiningLocationConstraint

Field Type Required Description
type always DefiningLocationConstraint yes
location SequenceLocation yes
relations array of any yes
matchCharacteristic object yes
matchCharacteristic.primaryCoding object yes
matchCharacteristic.primaryCoding.code string yes
matchCharacteristic.primaryCoding.system string yes

FeatureContextConstraint

Field Type Required Description
type always FeatureContextConstraint yes
featureContext Gene without extensions yes

AdjacencyConstraint

Field Type Required Description
type always AdjacencyConstraint yes
orderKnown boolean yes True only when both partners are known.
adjoinedElements array of Gene without extensions or UnspecifiedElement (exactly 2 items) yes

FunctionConstraint

Field Type Required Description
type always FunctionConstraint yes
functionConsequence FunctionConsequence yes

CopyChangeConstraint

Field Type Required Description
type always CopyChangeConstraint yes
copyChange string yes

UnspecifiedElement

Field Type Required Description
type always UnspecifiedElement yes

NonFusionRearrangement

Structural shape shared by Rearrangement and Translocation: a gene fusion's genes collapse into a single AdjacencyConstraint, while these use one FeatureContextConstraint per gene instead. A Translocation may also carry a DefiningLocationConstraint per chromosome when it's named by cytogenetic band rather than gene (Rearrangement's location is always empty, so it can never actually produce one).

Builds on Biomarker.

Field Type Required Description
constraints array of FeatureContextConstraint or DefiningLocationConstraint

JSON Schema

Full JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://moalmanac.org/schemas/dereferenced/biomarkers.schema.json",
  "title": "Biomarker",
  "description": "A Cat-VRS CategoricalVariant whose allele, location, genes, function, and copy change are shaped into `constraints`. Root type `Biomarker` with one subtype per `biomarker_type` extension value.",
  "$ref": "#/$defs/Biomarker",
  "allOf": [
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Copy number"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Copy Number"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Copy number (arm level)"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Copy Number (arm level)"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Gene fusion"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Gene fusion"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Germline variant"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Germline Variant"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Haplotype genotype"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Haplotype genotype"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Homologous recombination"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Homologous Recombination"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Microsatellite stability"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Microsatellite Stability"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Mismatch repair"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Mismatch Repair"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Protein expression"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Protein expression"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Rearrangement"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Rearrangement"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Translocation"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Translocation"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Somatic variant"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Somatic Variant"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Tumor mutational burden"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Tumor mutational burden"
      }
    },
    {
      "if": {
        "required": [
          "extensions"
        ],
        "properties": {
          "extensions": {
            "contains": {
              "properties": {
                "name": {
                  "const": "biomarker_type"
                },
                "value": {
                  "const": "Wild type"
                }
              },
              "required": [
                "name",
                "value"
              ]
            }
          }
        }
      },
      "then": {
        "$ref": "#/$defs/Wild type"
      }
    }
  ],
  "unevaluatedProperties": false,
  "$defs": {
    "Biomarker": {
      "description": "Root type shared by every biomarker. Subtypes below are selected by the `biomarker_type` extension; the top-level schema closes the record.",
      "type": "object",
      "required": [
        "id",
        "type",
        "name",
        "constraints",
        "extensions"
      ],
      "properties": {
        "id": {
          "type": "string",
          "pattern": "^bmkr:\\d+$"
        },
        "type": {
          "const": "CategoricalVariant"
        },
        "name": {
          "type": "string"
        },
        "constraints": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/DefiningAlleleConstraint"
              },
              {
                "$ref": "#/$defs/DefiningLocationConstraint"
              },
              {
                "$ref": "#/$defs/FeatureContextConstraint"
              },
              {
                "$ref": "#/$defs/AdjacencyConstraint"
              },
              {
                "$ref": "#/$defs/FunctionConstraint"
              },
              {
                "$ref": "#/$defs/CopyChangeConstraint"
              }
            ]
          }
        },
        "extensions": {
          "type": "array",
          "items": {
            "$ref": "extension.schema.json"
          },
          "allOf": [
            {
              "contains": {
                "$ref": "extension.schema.json",
                "properties": {
                  "name": {
                    "const": "biomarker_type"
                  },
                  "value": {
                    "enum": [
                      "Copy number",
                      "Copy number (arm level)",
                      "Gene fusion",
                      "Germline variant",
                      "Haplotype genotype",
                      "Homologous recombination",
                      "Microsatellite stability",
                      "Mismatch repair",
                      "Protein expression",
                      "Rearrangement",
                      "Somatic variant",
                      "Translocation",
                      "Tumor mutational burden",
                      "Wild type"
                    ]
                  }
                }
              }
            }
          ]
        }
      }
    },
    "DefiningAlleleConstraint": {
      "type": "object",
      "properties": {
        "type": {
          "const": "DefiningAlleleConstraint"
        },
        "allele": {
          "$ref": "alleles.schema.json"
        },
        "relations": {
          "type": "array",
          "items": {}
        }
      },
      "required": [
        "type",
        "allele",
        "relations"
      ],
      "additionalProperties": false
    },
    "DefiningLocationConstraint": {
      "type": "object",
      "properties": {
        "type": {
          "const": "DefiningLocationConstraint"
        },
        "location": {
          "$ref": "sequence_locations.schema.json"
        },
        "relations": {
          "type": "array",
          "items": {}
        },
        "matchCharacteristic": {
          "type": "object",
          "properties": {
            "primaryCoding": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "system": {
                  "type": "string"
                }
              },
              "required": [
                "code",
                "system"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "primaryCoding"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "type",
        "location",
        "relations",
        "matchCharacteristic"
      ],
      "additionalProperties": false
    },
    "FeatureContextConstraint": {
      "type": "object",
      "properties": {
        "type": {
          "const": "FeatureContextConstraint"
        },
        "featureContext": {
          "$ref": "genes.schema.json#/$defs/Gene",
          "not": {
            "required": [
              "extensions"
            ]
          }
        }
      },
      "required": [
        "type",
        "featureContext"
      ],
      "additionalProperties": false
    },
    "AdjacencyConstraint": {
      "type": "object",
      "properties": {
        "type": {
          "const": "AdjacencyConstraint"
        },
        "orderKnown": {
          "type": "boolean",
          "description": "True only when both partners are known."
        },
        "adjoinedElements": {
          "type": "array",
          "items": {
            "anyOf": [
              {
                "$ref": "genes.schema.json#/$defs/Gene",
                "not": {
                  "required": [
                    "extensions"
                  ]
                }
              },
              {
                "$ref": "#/$defs/UnspecifiedElement"
              }
            ]
          },
          "minItems": 2,
          "maxItems": 2
        }
      },
      "required": [
        "type",
        "orderKnown",
        "adjoinedElements"
      ],
      "additionalProperties": false
    },
    "FunctionConstraint": {
      "type": "object",
      "properties": {
        "type": {
          "const": "FunctionConstraint"
        },
        "functionConsequence": {
          "$ref": "function_consequences.schema.json"
        }
      },
      "required": [
        "type",
        "functionConsequence"
      ],
      "additionalProperties": false
    },
    "CopyChangeConstraint": {
      "type": "object",
      "properties": {
        "type": {
          "const": "CopyChangeConstraint"
        },
        "copyChange": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "copyChange"
      ],
      "additionalProperties": false
    },
    "UnspecifiedElement": {
      "type": "object",
      "properties": {
        "type": {
          "const": "UnspecifiedElement"
        }
      },
      "required": [
        "type"
      ],
      "additionalProperties": false
    },
    "Copy Number": {
      "description": "Gene-level copy number change: a gene and a copy change.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Copy number"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "cytoband"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Copy number"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "cytoband"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/FeatureContextConstraint"
                  },
                  {
                    "$ref": "#/$defs/CopyChangeConstraint"
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "#/$defs/FeatureContextConstraint"
                  },
                  "minContains": 1,
                  "maxContains": 1
                },
                {
                  "contains": {
                    "$ref": "#/$defs/CopyChangeConstraint"
                  },
                  "minContains": 1,
                  "maxContains": 1
                }
              ]
            }
          }
        }
      ]
    },
    "Copy Number (arm level)": {
      "description": "Arm-level copy number change: a location and a copy change.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Copy number (arm level)"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "chromosome"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "arm"
                      },
                      "value": {
                        "enum": [
                          "p",
                          "q"
                        ]
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Copy number (arm level)"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "chromosome"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "arm"
                      },
                      "value": {
                        "enum": [
                          "p",
                          "q"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/DefiningLocationConstraint"
                  },
                  {
                    "$ref": "#/$defs/CopyChangeConstraint"
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "#/$defs/DefiningLocationConstraint"
                  },
                  "minContains": 1,
                  "maxContains": 1
                },
                {
                  "contains": {
                    "$ref": "#/$defs/CopyChangeConstraint"
                  },
                  "minContains": 1,
                  "maxContains": 1
                }
              ]
            }
          }
        }
      ]
    },
    "Gene fusion": {
      "description": "Gene fusion, represented by a single AdjacencyConstraint. A fusion with one known partner has an UnspecifiedElement for the other.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Gene fusion"
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Gene fusion"
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "minItems": 1,
              "maxItems": 1,
              "items": {
                "$ref": "#/$defs/AdjacencyConstraint"
              }
            }
          }
        }
      ]
    },
    "Germline Variant": {
      "description": "Germline variant: a location and a FeatureContextConstraint.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Germline variant"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "chromosome"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "start_position"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "end_position"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "reference_allele"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "alternate_allele"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "cdna_change"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "protein_change"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "variant_annotation"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "exon"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "rsid"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "hgvsg"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "hgvsc"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "requires_pathogenic"
                      },
                      "value": {
                        "type": "boolean"
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Germline variant"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "chromosome"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "start_position"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "end_position"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "reference_allele"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "alternate_allele"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "cdna_change"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "protein_change"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "variant_annotation"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "exon"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "rsid"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "hgvsg"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "hgvsc"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "requires_pathogenic"
                      },
                      "value": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/DefiningLocationConstraint"
                  },
                  {
                    "$ref": "#/$defs/FeatureContextConstraint"
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "#/$defs/DefiningLocationConstraint"
                  },
                  "minContains": 1,
                  "maxContains": 1
                },
                {
                  "contains": {
                    "$ref": "#/$defs/FeatureContextConstraint"
                  },
                  "minContains": 1,
                  "maxContains": 1
                }
              ]
            }
          }
        }
      ]
    },
    "Haplotype genotype": {
      "description": "Haplotype genotype. No constraints.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Haplotype genotype"
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Haplotype genotype"
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "maxItems": 0
            }
          }
        }
      ]
    },
    "Homologous Recombination": {
      "description": "Homologous recombination status. No constraints.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Homologous recombination"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "status"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Homologous recombination"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "status"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "maxItems": 0
            }
          }
        }
      ]
    },
    "Microsatellite Stability": {
      "description": "Microsatellite instability status. No constraints.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Microsatellite stability"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "status"
                      },
                      "value": {
                        "enum": [
                          "Microsatellite instability-high (MSI-H)",
                          "Microsatellite instability-low (MSI-L)",
                          "Microsatellite stable (MSS)"
                        ]
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Microsatellite stability"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "status"
                      },
                      "value": {
                        "enum": [
                          "Microsatellite instability-high (MSI-H)",
                          "Microsatellite instability-low (MSI-L)",
                          "Microsatellite stable (MSS)"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "maxItems": 0
            }
          }
        }
      ]
    },
    "Mismatch Repair": {
      "description": "Mismatch repair status. No constraints.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Mismatch repair"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "status"
                      },
                      "value": {
                        "enum": [
                          "Deficient",
                          "Proficient"
                        ]
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Mismatch repair"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "status"
                      },
                      "value": {
                        "enum": [
                          "Deficient",
                          "Proficient"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "maxItems": 0
            }
          }
        }
      ]
    },
    "NonFusionRearrangement": {
      "description": "Structural shape shared by `Rearrangement` and `Translocation`: a gene fusion's genes collapse into a single AdjacencyConstraint, while these use one FeatureContextConstraint per gene instead. A `Translocation` may also carry a `DefiningLocationConstraint` per chromosome when it's named by cytogenetic band rather than gene (`Rearrangement`'s `location` is always empty, so it can never actually produce one).",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "constraints": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/FeatureContextConstraint"
                  },
                  {
                    "$ref": "#/$defs/DefiningLocationConstraint"
                  }
                ]
              }
            }
          }
        }
      ]
    },
    "Protein expression": {
      "description": "Protein expression, e.g. PD-L1 TPS >= 1%. No constraints.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Protein expression"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "marker"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "unit"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "equality"
                      },
                      "value": {
                        "enum": [
                          "=",
                          ">=",
                          "<=",
                          "<",
                          ">"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "value"
                      },
                      "value": {
                        "type": [
                          "number",
                          "string"
                        ]
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Protein expression"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "marker"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "unit"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "equality"
                      },
                      "value": {
                        "enum": [
                          "=",
                          ">=",
                          "<=",
                          "<",
                          ">"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "value"
                      },
                      "value": {
                        "type": [
                          "number",
                          "string"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "maxItems": 0
            }
          }
        }
      ]
    },
    "Rearrangement": {
      "description": "Chromosomal rearrangement that is neither a gene fusion nor a translocation (see `Gene fusion`, `Translocation`). Shares `NonFusionRearrangement`'s shape.",
      "allOf": [
        {
          "$ref": "#/$defs/NonFusionRearrangement"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Rearrangement"
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Rearrangement"
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "Translocation": {
      "description": "Chromosomal translocation between one or two partner genes, or between one or two chromosomes. Shares `NonFusionRearrangement`'s shape, but also allows a `DefiningLocationConstraint` per chromosome when the translocation is named by cytogenetic band rather than gene.",
      "allOf": [
        {
          "$ref": "#/$defs/NonFusionRearrangement"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Translocation"
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Translocation"
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "Somatic Variant": {
      "description": "Somatic variant: a FeatureContextConstraint, plus an allele or location and optionally a function.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Somatic variant"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "chromosome"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "start_position"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "end_position"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "reference_allele"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "alternate_allele"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "cdna_change"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "protein_change"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "variant_annotation"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "exon"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "hgvsg"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "hgvsc"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "rsid"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "requires_oncogenic"
                      },
                      "value": {
                        "type": "boolean"
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Somatic variant"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "chromosome"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "start_position"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "end_position"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "reference_allele"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "alternate_allele"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "cdna_change"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "protein_change"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "variant_annotation"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "exon"
                      },
                      "value": {
                        "type": [
                          "integer",
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "hgvsg"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "hgvsc"
                      },
                      "value": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/DefiningAlleleConstraint"
                  },
                  {
                    "$ref": "#/$defs/DefiningLocationConstraint"
                  },
                  {
                    "$ref": "#/$defs/FeatureContextConstraint"
                  },
                  {
                    "$ref": "#/$defs/FunctionConstraint"
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "#/$defs/FeatureContextConstraint"
                  },
                  "minContains": 1,
                  "maxContains": 1
                }
              ]
            }
          }
        }
      ]
    },
    "Tumor mutational burden": {
      "description": "Tumor mutational burden classification. No constraints.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Tumor mutational burden"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "classification"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "minimum_mutations"
                      },
                      "value": {
                        "type": [
                          "number",
                          "null"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "minimum_mutations_per_megabase"
                      },
                      "value": {
                        "type": [
                          "number",
                          "null"
                        ]
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Tumor mutational burden"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "classification"
                      },
                      "value": {
                        "type": "string"
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "minimum_mutations"
                      },
                      "value": {
                        "type": [
                          "number",
                          "null"
                        ]
                      }
                    }
                  }
                },
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "minimum_mutations_per_megabase"
                      },
                      "value": {
                        "type": [
                          "number",
                          "null"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "maxItems": 0
            }
          }
        }
      ]
    },
    "Wild type": {
      "description": "Absence of variants in a gene: a location and a gene.",
      "allOf": [
        {
          "$ref": "#/$defs/Biomarker"
        },
        {
          "properties": {
            "extensions": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Wild type"
                      }
                    }
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "extension.schema.json",
                    "properties": {
                      "name": {
                        "const": "biomarker_type"
                      },
                      "value": {
                        "const": "Wild type"
                      }
                    }
                  }
                }
              ]
            },
            "constraints": {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/DefiningLocationConstraint"
                  },
                  {
                    "$ref": "#/$defs/FeatureContextConstraint"
                  }
                ]
              },
              "allOf": [
                {
                  "contains": {
                    "$ref": "#/$defs/DefiningLocationConstraint"
                  },
                  "minContains": 1,
                  "maxContains": 1
                },
                {
                  "contains": {
                    "$ref": "#/$defs/FeatureContextConstraint"
                  },
                  "minContains": 1,
                  "maxContains": 1
                }
              ]
            }
          }
        }
      ]
    }
  }
}