Skip to content

Fix to disallow additional properties in nested fields, eg, constraints #21

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions heal/vlmd/schemas/heal_json.json
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@
},
"constraints": {
"type": "object",
"additionalProperties": false,
"properties": {
"required": {
"type": "boolean",
Expand Down Expand Up @@ -293,11 +294,13 @@
"description": "A set of instrument and item references to standardized data elements designed to document the [HEAL common data elements program](https://heal.nih.gov/data/common-data-elements) and other standardized/common element sources to facilitate cross-study comparison and interoperability of data. One can either map an individual data element or an instrument in which the field is a part of. __**All Fields Mapped (Both Instrument and Item)**__ ```json \"standardsMappings\": [ { \"instrument\": { \"url\": \"https://www.heal.nih.gov/files/CDEs/2023-05/adult-demographics-cdes.xlsx\", \"source\": \"heal-cde\", \"title\": \"adult-demographics\", \"id\": \"5141\" }, \"item\": { \"url\": \"https://evs.nci.nih.gov/ftp1/CDISC/SDTM/SDTM%20Terminology.html#CL.C74457.RACE\", \"source\": \"CDISC\", \"id\": \"C74457\" } } ] ``` __**Only Instrument Title of Form CDE File Mapped**__ In this scenario, especially as CDE variables do not have associated CDISC ids listed, only instrument information is given. ```json \"standardsMappings\": [ { \"instrument\": { \"source\": \"heal-cde\", \"title\": \"Adult demographics\" } } ] ``` __**Only Instrument ID of HEAL CDE Mapped**__ ```json \"standardsMappings\": [ { \"instrument\": { \"source\": \"heal-cde\", \"id\": \"5141\" } } ] ``` __**Other Non-HEAL CDE Use Cases**__ Only item matched (for example if found in the NIH (not HEAL) CDE repository). Folks would enter the information in the \"Identifier\" section. Similar to the above, they could also just enter the \"url\". ```json \"standardsMappings\": [ { \"item\": { \"source\": \"NLM\", \"id\": \"Fakc6Jy2x\" } } ] ``` __**Multiple CDE Mappings**__ Two separate records. If desired, multiple standard mappings can be entered, say from the NIH HEAL CDE repo and the NIH CDE lookup (NLM) by way of two separate records in the list. ```json \"standardsMappings\": [ { \"instrument\": { \"source\": \"heal-cde\", \"title\": \"Adult demographics\" }, \"item\": { \"source\": \"CDISC\", \"id\": \"C74457\" }, }, { \"item\": { \"source\": \"NLM\", \"id\": \"Fakc6Jy2x\" } } ] ```",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"instrument": {
"type": "object",
"title": "Standard mapping - instrument",
"description": "A standardized set of items which encompass a variable in this variable level metadata document (if at the root level or the document level) or the individual variable (if at the field level). !!! note \"NOTE\" If information is present at both the root and the field level, then the information at the field level would take precedence (i.e., it would cascade).",
"additionalProperties": false,
"properties": {
"url": {
"title": "Url",
Expand Down Expand Up @@ -338,6 +341,7 @@
"type": "object",
"title": "Standards mappings - Item",
"description": "A standardized item (i.e., field, variable etc) mapped to this individual variable.",
"additionalProperties": false,
"properties": {
"url": {
"title": "Standards mappings - Url",
Expand Down Expand Up @@ -375,6 +379,7 @@
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"url": {
"title": "Related Concepts - Url",
Expand Down