Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • C Cspec Registry
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Incidents
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • ClinGenClinGen
  • cspec
  • Cspec Registry
  • Wiki
  • CSpec Registry API

CSpec Registry API · Changes

Page history
Update CSpec Registry API authored Aug 16, 2023 by Neethu Shah's avatar Neethu Shah
Hide whitespace changes
Inline Side-by-side
CSpec-Registry-API.md
View page @ f5be116c
......@@ -470,14 +470,36 @@ As per the ClinGen Variant Curation Working Group recommendation a VCEP should b
A legacy document with multiple gene specifications will be fully archived when the attribute `legacyReplaced` is set to `true`. This property will be true only AFTER all the linked specification documents are re-released. For example API to access a legacy document is given here. - `https://genboree.org/cspec/SequenceVariantInterpretation/id/GN023?fields=entContent.legacyReplaced`. All the corresponding individual, single gene specific documents can be accessed via - `https://genboree.org/cspec/SequenceVariantInterpretation/id/GN023?fields=ld.SequenceVariantInterpretation`. A superseded document fully replaces its legacy document only when the property `entContent.legacyFullySuperseded` is set to true. Identifiers for all the legacy documents in the Registry include - `GN014,GN016,GN004,GN005,GN011,GN018,GN023`
#### Current versions
#### Current Approved Versions
- Cspec Registry API on SequenceVariantInterpretation will return all the specifications that are both approved and under review.To get the current "Released" (SVI approved) versions do the following:
> 1. Get the SequenceVariantInterpretation documents, say for instance from the following endpoint - _https://cspec.genome.network/cspec/SequenceVariantInterpretation/id?detail=high&fields=entContent.states,entContent.legacyFullySuperseded,entContent.legacyReplaced,entId,ldhId,entContent.title_
> 2. Now drop the ones that
a) have never been approved, that is _entContent.states_ has NO item where name === 'Released'
b) is a legacy document which have been replaced, that is, _entContent.legacyReplaced_ is true
c) is a document that have not been superseded yet, that is _entContent.legacyFullySuperseded_
For instance, given below is an example where the above logic is applied to the end point mentioned in step(1).
<pre>let currentVersions = []
if( respObj && respObj.status && respObj.status === 200 ) {
const sviObj = respObj.data.data
let released = undefined
for(const svi of sviObj){
if(svi.entContent.states) {
const stateNames = svi.entContent.states.map((x) => x.name);
if(stateNames.includes("Released")) {
if(svi.entContent.legacyFullySuperseded === false || svi.entContent.legacyReplaced === true) {
// drop the ones that have not been superseded yet or the ones that have been fully replaced.
continue
}
else {
currentVersions.push(svi.entId)
}
}
}
}
}
global.brl.log( 'info', __filename, 'main', `CURRENT VERSION. ${global.brl.inspc(currentVersions.length)}` )</pre>
A specification document is valid and has the current version if it meets the following criteria in this order
a) `entContent.states` has an item where name === 'Released' AND `entContent.legacyFullySuperseded` === true. Example - https://cspec.genome.network/cspec/SequenceVariantInterpretation/id/GN037
b) `entContent.states` has an item where name ==='Released' AND `entContent.legacyReplaced` === false. Example - https://cspec.genome.network/cspec/SequenceVariantInterpretation/id/GN016
c) `entContent.states` has an item where name ==='Released'. Example - https://cspec.genome.network/cspec/SequenceVariantInterpretation/id/GN002
### [Markdown support for Criteria Code Specifications](Markdown-and-Citations)
\ No newline at end of file
Clone repository
  • ACMG+AMP+CAP+ClinGen v4 Specifications
  • CSpec Registry API
    • Versions
  • CSpec Registry Data Streams
  • Markdown and Citations
  • Home