RCV Statements¶
Overview¶
RCV statement generation aggregates individual SCV (submission-level) classifications into condition-specific aggregate statements. Unlike VCV statements, which aggregate all submissions for a given variation regardless of condition, RCV statements aggregate submissions per (variation, condition) pair, using trait_set_id as the condition grouping key. Each RCV accession represents a unique combination of a variation and a condition set.
The pipeline is implemented across two stored procedures plus a JSON serialization step:
gks_rcv_proc-- builds the aggregation tables through a two-layer aggregation hierarchygks_rcv_statement_proc-- transforms the aggregation tables into GKS-formatted RCV statements with nested evidence lines and condition datagks_json_proc-- serializes the final statements to JSON with null/empty field stripping
Key Concepts¶
- Condition-specific aggregation -- RCV groups SCVs by (variation, condition) pair via
trait_set_id, producing one aggregate statement per RCV accession rather than one per variation - Submission levels -- PG, EP, CP, NOCP, NOCL, and FLAG -- same as VCV. PG and EP are separate top-tier submission levels with PG outranking EP at the Aggregate Contribution Layer winner-takes-all
- Two-layer hierarchy -- the Grouping Layer (Classification Grouping and Priority Grouping steps) aggregates individual SCVs, and the Aggregate Contribution Layer applies winner-takes-all across submission levels to produce final RCV-level summaries
- objectCondition -- RCV propositions use
objectConditionto carry the condition fromgks_scv_condition_sets-- either aConditionMappableConcept or aConditionSetConceptSet (extensions excluded). The classification lives on the statement, not in the proposition - Proposition type -- uses the same SCV-matching proposition types from
clinvar_proposition_types(e.g.,VariantPathogenicityPropositionwithisCausalFor) - Single classification form -- RCV uses only
classificationat every layer, consistent with VCV
Pipeline Flow¶
SCV Statements (gks_dict_scv)
|
v
+---------------------------------+
| gks_rcv_proc |
| Condition data: rcv_mapping | Resolve RCV -> SCV -> condition mappings
| + rcv_accession |
| Classification Grouping | Group by rcv_accession + group + prop + level [+ tier]
| Priority Grouping | Aggregate tiers within level (somatic only)
| Aggregate Contribution | Winner-takes-all across submission levels
+--------------+------------------+
|
v
+---------------------------------+
| gks_rcv_statement_proc |
| Condition data resolution | Build temp_rcv_condition_data from
| via rcv_mapping + | rcv_mapping + gks_scv_condition_sets
| gks_scv_condition_sets |
| BASE statements (3 steps) | Build statement structures from agg tables
| PRE: inline evidence (3 steps)| Inline lower layers as evidence items
| FINAL: select all | All Aggregate Contribution statements
+--------------+------------------+
|
v
gks_dict_rcv
Section Contents¶
- RCV Procedures -- detailed documentation of
gks_rcv_procandgks_rcv_statement_proc - RCV Extensions -- extensions and aggregate qualifiers on RCV statements
Examples¶
See RCV statement examples in the repository for annotated JSONC examples of germline and somatic aggregate condition classification statements.