{ "$schema": "http://json-schema.org/draft-07/schema#", "description" : "Message schema for the ClinGen Data Exchange Kafka topic actionability. This topic tracks the actionability curation events specific for a topic context within gene-condition and varaint-condition curation framework.", "title": "Actionability topic message schema - version 2.0.0", "definitions": { "affiliations": { "type": "object", "$id": "#affiliations", "properties": { "id": { "type": "string", "enum": [ "Adult AWG", "Pediatric AWG" ] }, "name": { "type": "string", "enum": [ "Adult Actionability Working Group", "Pediatric Actionability Working Group" ] } }, "required": [ "name" ] }, "genes": { "type": "array", "$id": "#genes", "items": { "type": "object", "properties": { "ontology": { "type": "string", "default": "HGNC" }, "symbol": { "type": "string" }, "curie": { "type": "string", "format": "regex", "pattern": "^HGNC:\\d+$" }, "uri": { "type": "string" } }, "required": [ "ontology", "symbol", "curie", "uri" ] }, "minItems": 1 }, "variants": { "type": "array", "$id": "#variants", "items": { "type": "object", "properties": { "variantId": { "type": "string", "description": "CAR IDs if present" }, "type": { "type": "string", "enum": [ "Aneuploidy", "Copy Number Variant", "Methylation", "Poly Nucleotide Repeat", "Structural Variant", "Triple Repeat", "Other" ], "description": "Type of variant" }, "description": { "type": "string", "description": "text description about the variant" }, "descriptor": { "type": "array", "items": { "type": "string", "format": "regex", "pattern": "/^(?:(?(?(?[^ \t\n:]+)(?:\.(?\d+))):(?[cgmnopr])\.(?\S+))|(?(?(?:GRCh38|GRCh37|NCBI36)) (?[^\s\(]*)\((?chr[^:\s]+((::?[^\s]+)*))\)(?(inv|ins|dup|del|::)*)(?\S*))))$/" }, "minItems": 1 } }, "required": [ "type", "descriptor" ] }, "minItems": 1 }, "conditions": { "type": "array", "$id": "#conditions", "description": "All the gene-condition pairs", "items": { "type": "object", "properties": { "ontology": { "type": "string", "default": "MONDO" }, "curie": { "type": "string", "format": "regex", "pattern": "^MONDO:\\d+$" }, "uri": { "type": "string" }, "iri": { "type": "string", "format": "uri", "description": "link to MONDO" }, "gene": { "type": "string", "format": "regex", "pattern": "^HGNC:\\d+$" }, "variantId": { "type": "string", "description": "CAR IDs if present" }, "type": { "type": "string", "enum": [ "Aneuploidy", "Copy Number Variant", "Methylation", "Poly Nucleotide Repeat", "Structural Variant", "Triple Repeat", "Other" ], "description": "Type of variant" }, "description": { "type": "string", "description": "text description about the variant" }, "descriptor": { "type": "array", "items": { "type": "string", "format": "regex", "pattern": "/^(?:(?(?(?[^ \t\n:]+)(?:\.(?\d+))):(?[cgmnopr])\.(?\S+))|(?(?(?:GRCh38|GRCh37|NCBI36)) (?[^\s\(]*)\((?chr[^:\s]+((::?[^\s]+)*))\)(?(inv|ins|dup|del|::)*)(?\S*))))$/" }, "minItems": 1 } }, "required": [ "ontology", "curie", "uri", "iri" ] }, "minItems": 1 }, "preferred_conditions": { "type": "array", "$id": "#conditions", "description": "All the gene-preferred MONDO condition pairs", "items": { "type": "object", "properties": { "ontology": { "type": "string", "default": "MONDO" }, "curie": { "type": "string", "format": "regex", "pattern": "^MONDO:\\d+$" }, "uri": { "type": "string" }, "iri": { "type": "string", "format": "uri", "description": "link to MONDO" }, "gene": { "type": "string", "format": "regex", "pattern": "^HGNC:\\d+$" }, "variantId": { "type": "string", "description": "CAR IDs if present" }, "type": { "type": "string", "enum": [ "Aneuploidy", "Copy Number Variant", "Methylation", "Poly Nucleotide Repeat", "Structural Variant", "Triple Repeat", "Other" ], "description": "Type of variant" }, "description": { "type": "string", "description": "text description about the variant" }, "descriptor": { "type": "array", "items": { "type": "string", "format": "regex", "pattern": "/^(?:(?(?(?[^ \t\n:]+)(?:\.(?\d+))):(?[cgmnopr])\.(?\S+))|(?(?(?:GRCh38|GRCh37|NCBI36)) (?[^\s\(]*)\((?chr[^:\s]+((::?[^\s]+)*))\)(?(inv|ins|dup|del|::)*)(?\S*))))$/" }, "minItems": 1 } }, "required": [ "ontology", "curie", "uri", "iri", "gene" ] }, "minItems": 1 }, "scores": { "type": "array", "$id": "#scores", "description": "scores for outcome intervention pair for a specific scoring group", "items": { "type": "object", "properties": { "Outcome": { "type": "string", "description": "outcome name" }, "ScoringGroups": { "type": "array", "items": { "type": "object", "properties": { "Severity": { "type": "string", "description": "outcome scoring category" }, "Likelihood": { "type": "string", "description": "outcome scoring category" }, "ScoringGroup": { "type": "object", "properties": { "variantId": { "type": "string", "description": "CAR IDs if present" }, "type": { "type": "string", "enum": [ "Aneuploidy", "Copy Number Variant", "Methylation", "Poly Nucleotide Repeat", "Structural Variant", "Triple Repeat", "Other" ], "description": "Type of variant" }, "description": { "type": "string", "description": "text description about the variant" }, "descriptor": { "type": "array", "items": { "type": "string", "format": "regex", "pattern": "/^(?:(?(?(?[^ \t\n:]+)(?:.(?d+))):(?[cgmnopr]).(?S+))|(?(?(?:GRCh38|GRCh37|NCBI36)) (?[^s(]*)((?chr[^:s]+::?[^s)]+))(?S*)))$/" }, "minItems": 1 }, "vuuid": { "type": "string", "description": "uuuid for the variant object" }, "disOmim": { "type": "string", "description": "Condition OMIM ID" }, "geneOmim": { "type": "string", "description": "Gene OMIM ID" }, "preferredMondo": { "type": "string", "description": "Preferred Mondo ID" }, "gene": { "type": "string", "description": "Gene HGNC name" } } }, "Interventions": { "type": "array", "items": { "type": "object", "properties": { "Intervention": { "type": "string", "description": "intervention name" }, "ScoringGroups": { "type": "array", "items": { "type": "object", "properties": { "Effectiveness": { "type": "string", "description": "intervention scoring category" }, "Total": { "type": "string", "description": "total score" }, "Nature of Intervention": { "type": "string", "description": "intervention scoring category" }, "ScoringGroup": { "type": "array", "items": { "type": "string", "format": "regex", "pattern": "^HGNC:\\d+$" }, "minItems": 1 } }, "required": [ "Effectiveness", "Total", "Nature of Intervention" ] }, "minItems": 1 } }, "required": [ "Intervention" ] }, "minItems": 1 } }, "required": [ "Severity", "Likelihood" ] }, "minItems": 1 } }, "required": [ "Outcome" ] }, "minItems": 0 }, "assertions": { "type": "array", "$id": "#assertions", "description": "Assertion for each gene-condition", "items": { "type": "object", "properties": { "ontology": { "type": "string", "default": "MONDO" }, "curie": { "type": "string", "format": "regex", "pattern": "^MONDO:\\d+$" }, "uri": { "type": "string" }, "iri": { "type": "string", "format": "uri", "description": "link to MONDO" }, "gene": { "type": "string", "format": "regex", "pattern": "^HGNC:\\d+$" }, "assertions": { "type": "string", "enum": [ "Definitive Actionability", "Strong Actionability", "Moderate Actionability", "Limited Actionability", "Insufficient Actionability", "No Actionability", "N/A - Insufficient evidence: early rule-out", "N/A - Insufficient evidence: expert review", "Assertion Pending", "No Assertion: scoring group absence" ] }, "variantId": { "type": "string", "description": "CAR IDs if present" }, "type": { "type": "string", "enum": [ "Aneuploidy", "Copy Number Variant", "Methylation", "Poly Nucleotide Repeat", "Structural Variant", "Triple Repeat", "Other" ], "description": "Type of variant" }, "description": { "type": "string", "description": "text description about the variant" }, "descriptor": { "type": "array", "items": { "type": "string", "format": "regex", "pattern": "/^(?:(?(?(?[^ \t\n:]+)(?:\.(?\d+))):(?[cgmnopr])\.(?\S+))|(?(?(?:GRCh38|GRCh37|NCBI36)) (?[^\s\(]*)\((?chr[^:\s]+((::?[^\s]+)*))\)(?(inv|ins|dup|del|::)*)(?\S*))))$/" }, "minItems": 1 } }, "required": [ "ontology", "curie", "uri", "iri", "gene", "assertions" ] }, "minItems": 0 } }, "type": "object", "properties": { "jsonMessageVersion": { "type": "string", "pattern": "^\\d+.\\d+.\\d+$", "format": "regex", "description": "Semantic versioning with major minor and patch versions" }, "statusPublishFlag": { "type": "string", "default": "Publish" }, "curationType": { "type": "string", "default": "Gene-Condition", "enum": [ "Gene-Condition", "Variant-Condition" ] }, "type": { "type": "string", "description": "Note that this will be deprecated from 2.0.0+ versions", "default": "actionability" }, "iri": { "type": "string", "format": "uri", "description": "Iri to context specific sepio link. Example: https://actionability.clinicalgenome.org/ac/Adult/api/sepio/doc/AC002" }, "title": { "type": "string", "description": "Condition - comma separated genes" }, "curationVersion": { "type": "string", "pattern": "^\\d+.\\d+.\\d+$", "format": "regex", "description": "Semantic versioning with major minor and patch versions" }, "statusFlag": { "type": "string", "enum": [ "Entered", "Collecting", "Reviewing", "Released", "In Preparation", "Released - Under Revision", "Retracted", "NA" ], "description": "Curation status of the topic" }, "dateISO8601": { "type": "string", "format": "date-time", "description": "time when the topic received this status" }, "releaseNotes": { "type": "string", "minLength": 0, "description": "Release notes entered when the status is Released" }, "earlyRuleOutStatus": { "type": "string", "enum": [ "Complete", "Incomplete" ], "description": "Early rule out survey status." }, "surveyDetails": { "type": "string", "format": "uri", "description": "Topic specific early rule out report link. Example: https://actionability.clinicalgenome.org/ac/ui/stg1RuleOutRpt?doc=AC1056" }, "scoreDetails": { "type": "string", "format": "uri", "description": "Context specific summary report. Example: https://actionability.clinicalgenome.org/ac/Adult/ui/stg2SummaryRpt?doc=AC1056" }, "affiliations": { "$ref": "#affiliations" }, "genes": { "$ref": "#genes" }, "variants": { "$ref": "#variants" }, "conditions": { "$ref": "#conditions" }, "preferred_conditions": { "$ref": "#preferred_conditions" }, "scores": { "$ref": "#scores" }, "assertions": { "$ref": "#assertions" }, "searchDates": { "type": "array", "items": { "type": "string", "format": "date-time", "description": "time when the topic literature search was done." }, "minItems": 0 } }, "required": [ "jsonMessageVersion", "statusPublishFlag", "curationType", "type", "iri", "title", "curationVersion", "statusFlag", "dateISO8601", "releaseNotes", "earlyRuleOutStatus", "surveyDetails", "scoreDetails", "affiliations", "conditions", "preferred_conditions", "scores", "assertions", "searchDates" ] }