Difference between revisions of "Study JSON v1"

From ECRIN-MDR Wiki
Jump to navigation Jump to search
(Created page with "Version 1 of the JSON schema for the Study file is shown below. <br> This version was created in January 2019 as an initial proposal. <br><br> <div style="font-family: monos...")
 
 
Line 5: Line 5:
 
<div style="font-family: monospace; font-size: 13px" >
 
<div style="font-family: monospace; font-size: 13px" >
 
<pre>
 
<pre>
 +
{
 +
    "$schema": "http://json-schema.org/draft-07/schema#",
 +
    "$id": "http://ecrin.org/json_schemas/mdrstudy/v1.json",
 +
    "title": "XDC Study definition",
 +
    "description": "ECRIN Metadata Repository for clinical research objects, Study JSON definition, version 1 January 2019",
 +
 +
    "type": "object",
 +
    "required": ["Id", "ScientificTitle"],
 +
    "additionalProperties": false,
 +
    "properties": {
 +
 +
        "Id": {
 +
            "type": "integer",
 +
            "description": "Internal accession number of the study within MDR database"
 +
        },
 +
 +
        "ScientificTitle": {
 +
            "type": "string",
 +
            "description": "The full scientific title, as used on the protocol document"
 +
        },
 +
 +
        "StudyIdentifiers": {
 +
            "type": "array",
 +
            "items": {
 +
                "type": "object",
 +
                "description": "A composite object that indicates the value and type of the identifier, and optionally its date and organisation of origin",
 +
                "required": ["Id", "IdentifierValue", "IdentifierTypeId"],
 +
                "properties": {
 +
                    "Id": {
 +
                        "type": "integer",
 +
                        "description": "Study identifier record primary key, generated automatically in database"
 +
                    },
 +
                    "IdentifierValue": {
 +
                        "type": "string",
 +
                        "description": "The identifier value, in a standardised format (for each identifier type)"
 +
                    },
 +
                    "IdentifierTypeId": {
 +
                        "type": "integer",
 +
                        "description": "An integer referencing the relevant record in the identifier_types enumeration / lookup table"
 +
                    },
 +
                    "DateApplied": {
 +
                        "type": "string",
 +
                        "format": "date",
 +
                        "description": "The date the identifier was allocated, if known"
 +
                    },
 +
                    "OrgId": {
 +
                        "type": "integer",
 +
                        "description": "An integer referencing an organisation record in the ECRIN context database"
 +
                    }
 +
                }
 +
            }
 +
        },
 +
 +
        "StudyTopics": {
 +
            "type": "array",
 +
            "items": {
 +
                "type": "object",
 +
                "description": "A composite object that indicates the topic name or keyword, and - if applicable - how it was classified in the source data",
 +
                "required": ["Id", "Topic"],
 +
                "properties": {
 +
                    "Id": {
 +
                        "type": "integer",
 +
                        "description": "Study topic record primary key, generated automatically in database"
 +
                    },
 +
                    "Topic": {
 +
                        "type": "string",
 +
                        "description": "The topic name, as provided in the source data"
 +
                    },
 +
                    "TopicTypeId": {
 +
                        "type": "integer",
 +
                        "description": "An integer referencing the relevant record in the topic_source_types enumeration / lookup table"
 +
                    }
 +
                }
 +
            }
 +
        },
 +
 +
        "StudyOtherTitles": {
 +
            "type": "array",
 +
            "items": {
 +
                "type": "object",
 +
                "description": "A composite object that indicates the type and value of the 'other title'",
 +
                "required": ["Id", "TitleTypeId", "TitleText"],
 +
                "properties": {
 +
                    "Id": {
 +
                        "type": "integer",
 +
                        "description": "Other title record primary key, generated automatically in database"
 +
                    },
 +
                    "TitleTypeId": {
 +
                        "type": "integer",
 +
                        "description": "An integer referencing the relevant record in the title_types enumeration / lookup table"
 +
                    },
 +
                    "TitleText": {
 +
                        "type": "string"
 +
                    }
 +
                }
 +
            }
 +
        },
 +
       
 +
        "StudyRelationships": {
 +
            "type": "array",
 +
            "items": {
 +
                "type": "object",
 +
                "description": "A composite object that indicates the type and value of the 'other title'",
 +
                "required": ["Id", "StudyBId", "RelationshipId"],
 +
                "properties": {
 +
                    "Id": {
 +
                        "type": "integer",
 +
                        "description": "Study relationships record primary key, generated automatically in database"
 +
                    },
 +
                    "StudyBId": {
 +
                        "type": "integer",
 +
                        "description": "An integer referencing the id, i.e. internal accession number, of the related study"
 +
                    },
 +
                    "RelationshipId": {
 +
                        "type": "integer",
 +
                        "description": "An integer referencing the relevant record in the study_relationship_types enumeration / lookup table"
 +
                    },
 +
                    "Comments": {
 +
                        "type": "string",
 +
                        "description": "Optional comments providing further details of the relationship"
 +
                    }
 +
                }
 +
            }
 +
        },
 +
       
 +
       
 +
        "LinkedDataObjects": {
 +
            "type": "array",
 +
            "items": {
 +
                "type": "object",
 +
                "properties": {
 +
                    "DataObjectId": {
 +
                        "type": "integer",
 +
                        "description": "The id, i.e. internal accession number, of the linked data object"
 +
                    }
 +
                }
 +
            }
 +
        }
 +
       
 +
    }
 +
}
  
 
</pre>
 
</pre>
 
</div>
 
</div>

Latest revision as of 11:30, 9 September 2019

Version 1 of the JSON schema for the Study file is shown below.
This version was created in January 2019 as an initial proposal.

{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "http://ecrin.org/json_schemas/mdrstudy/v1.json",
    "title": "XDC Study definition",
    "description": "ECRIN Metadata Repository for clinical research objects, Study JSON definition, version 1 January 2019",

    "type": "object",
    "required": ["Id", "ScientificTitle"],
    "additionalProperties": false,
    "properties": {

        "Id": {
            "type": "integer",
            "description": "Internal accession number of the study within MDR database"
        },

        "ScientificTitle": {
            "type": "string",
            "description": "The full scientific title, as used on the protocol document"
        },

        "StudyIdentifiers": {
            "type": "array",
            "items": {
                "type": "object",
                "description": "A composite object that indicates the value and type of the identifier, and optionally its date and organisation of origin",
                "required": ["Id", "IdentifierValue", "IdentifierTypeId"],
                "properties": {
                    "Id": {
                        "type": "integer",
                        "description": "Study identifier record primary key, generated automatically in database"
                    },
                    "IdentifierValue": {
                        "type": "string",
                        "description": "The identifier value, in a standardised format (for each identifier type)"
                    },
                    "IdentifierTypeId": {
                        "type": "integer",
                         "description": "An integer referencing the relevant record in the identifier_types enumeration / lookup table"
                    },
                    "DateApplied": {
                        "type": "string",
                        "format": "date",
                        "description": "The date the identifier was allocated, if known"
                    },
                    "OrgId": {
                        "type": "integer",
                         "description": "An integer referencing an organisation record in the ECRIN context database"
                    }
                }
            }
        },

        "StudyTopics": {
            "type": "array",
            "items": {
                "type": "object",
                "description": "A composite object that indicates the topic name or keyword, and - if applicable - how it was classified in the source data",
                "required": ["Id", "Topic"],
                "properties": {
                    "Id": {
                        "type": "integer",
                        "description": "Study topic record primary key, generated automatically in database"
                    },
                    "Topic": {
                        "type": "string",
                        "description": "The topic name, as provided in the source data"
                    },
                    "TopicTypeId": {
                        "type": "integer",
                         "description": "An integer referencing the relevant record in the topic_source_types enumeration / lookup table"
                    }
                }
            }
        },

        "StudyOtherTitles": {
            "type": "array",
            "items": {
                "type": "object",
                "description": "A composite object that indicates the type and value of the 'other title'",
                "required": ["Id", "TitleTypeId", "TitleText"],
                "properties": {
                    "Id": {
                        "type": "integer",
                        "description": "Other title record primary key, generated automatically in database"
                    },
                    "TitleTypeId": {
                        "type": "integer",
                        "description": "An integer referencing the relevant record in the title_types enumeration / lookup table"
                    },
                    "TitleText": {
                        "type": "string"
                    }
                }
            }
        },
        
        "StudyRelationships": {
            "type": "array",
            "items": {
                "type": "object",
                "description": "A composite object that indicates the type and value of the 'other title'",
                "required": ["Id", "StudyBId", "RelationshipId"],
                "properties": {
                    "Id": {
                        "type": "integer",
                        "description": "Study relationships record primary key, generated automatically in database"
                    },
                    "StudyBId": {
                        "type": "integer",
                        "description": "An integer referencing the id, i.e. internal accession number, of the related study"
                    },
                    "RelationshipId": {
                        "type": "integer",
                        "description": "An integer referencing the relevant record in the study_relationship_types enumeration / lookup table"
                    },
                    "Comments": {
                        "type": "string",
                        "description": "Optional comments providing further details of the relationship"
                    }
                }
            }
        },
        
        
        "LinkedDataObjects": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "DataObjectId": {
                        "type": "integer",
                        "description": "The id, i.e. internal accession number, of the linked data object"
                    }
                }
            }
        }
        
    }
}