$schema: 'https://json-schema.org/draft/2020-12/schema'

title: 'Variant Annotation Format'

description: >-
  The variant annotation/interpretation format stores associations of
  variation with annotations/intreptations.

type: 'object'
properties:
  _version: 
    $ref: "../../core.json#/definitions/Version"
  findings:
    items:
      $ref: '#/definitions/Interpretation'
    minItems: 1
    maxItems: 5
    type: 'array'
  
definitions:
  Observation:
    type: object
    properties:
      variation:
        $ref: "../../core.json#/definitions/HGVSExpression"
      zygosity:
        $ref: "../../core.json#/definitions/Zygosity"
        
  Interpretation:
    type: object
    properties:
      variation:
        $ref: "../../structs.json#/definitions/Variation"
      condition:
        type: string
        example:
          - "breast_cancer"
      mode_of_inheritance:
        $ref: "../../core.json#/definitions/FindingInheritance"
      source:
        type: string
        example: 'strand:STRAN-012-345-789'
      classification:
        type: object
        properties:
          scheme:
            type: string
            enum: [ACMG]
          value:
            anyOf:
              - $ref: "../../core.json#/definitions/ACMGClassification"
              - const: "NEGATIVE"
      evidence:
        type: object
        properties:
          summary:
            type: string
          # criteria: PM2, etc
          # concern: This makes the Interpretation block ACMG-specific
          references:
            type: array
            items:
              $ref: "../../structs.json#/definitions/Reference"
      last_updated:
        $ref: "../../core.json#/definitions/UTCTimestamp"
