From 4b7894cc3a7ead2099e7385a06c2ec31cd8dbb20 Mon Sep 17 00:00:00 2001 From: Loki Sinclair Date: Mon, 23 Sep 2024 16:27:12 +0100 Subject: [PATCH 1/2] URI to contain actual regex as pattern to rely on existing FE functionality --- docs/GWDM/1.0.form.json | 17 +++--- docs/GWDM/1.0.md | 23 +++---- docs/GWDM/1.0.structure.json | 13 ++-- docs/GWDM/1.1.form.json | 19 +++--- docs/GWDM/1.1.md | 29 ++++----- docs/GWDM/1.1.structure.json | 15 ++--- docs/GWDM/1.2.form.json | 19 +++--- docs/GWDM/1.2.md | 29 ++++----- docs/GWDM/1.2.structure.json | 15 ++--- docs/GWDM/2.0.form.json | 18 +++--- docs/GWDM/2.0.md | 24 ++++---- docs/GWDM/2.0.structure.json | 8 +-- docs/HDRUK/2.1.2.form.json | 12 ++-- docs/HDRUK/2.1.2.md | 24 ++++---- docs/HDRUK/2.1.2.structure.json | 8 +-- docs/HDRUK/2.1.3.form.json | 12 ++-- docs/HDRUK/2.1.3.md | 24 ++++---- docs/HDRUK/2.1.3.structure.json | 8 +-- docs/HDRUK/2.2.0.form.json | 12 ++-- docs/HDRUK/2.2.0.md | 24 ++++---- docs/HDRUK/2.2.0.structure.json | 8 +-- docs/HDRUK/2.2.1.form.json | 15 ++--- docs/HDRUK/2.2.1.md | 30 +++++----- docs/HDRUK/2.2.1.structure.json | 10 ++-- docs/HDRUK/3.0.0.form.json | 27 +++------ docs/HDRUK/3.0.0.md | 66 ++++++++++----------- docs/HDRUK/3.0.0.structure.json | 22 +++---- hdr_schemata/definitions/HDRUK/Url.py | 4 +- hdr_schemata/models/HDRUK/2.1.2/schema.json | 3 +- hdr_schemata/models/HDRUK/2.1.3/schema.json | 3 +- hdr_schemata/models/HDRUK/2.2.0/schema.json | 3 +- hdr_schemata/models/HDRUK/2.2.1/schema.json | 3 +- hdr_schemata/models/HDRUK/3.0.0/schema.json | 3 +- 33 files changed, 266 insertions(+), 284 deletions(-) diff --git a/docs/GWDM/1.0.form.json b/docs/GWDM/1.0.form.json index 5a7a726..d03b0a5 100644 --- a/docs/GWDM/1.0.form.json +++ b/docs/GWDM/1.0.form.json @@ -69,8 +69,7 @@ "is_optional": false, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "required.revisions.url" @@ -309,9 +308,9 @@ }, { "required": false, - "title": "Follow-up", - "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period). In a prospective cohort study, after baseline information is collected, participants are followed \u201clongitudinally\u201d i.e. new information is collected about them for a period of time afterward. This is known as the \u201cfollow up period\u201d. What is the typical time span of follow up, e.g. 1 year, 5 years? If there are multiple cohorts in the dataset with varying follow up periods, please provide the longest follow up period.", - "guidance": "If known, please indicate the typical time span that a patient appears in the dataset (follow up period).\\n-**0 - 6 MONTHS**: Data typically available for a patient over a 0-6 month period.\\n-**6 - 12 MONTHS**: Data typically available for a patient over a 6-12 month period.\\n-**1 - 10 YEARS**: Data typically available for a patient over a 1-10 year period.\\n-**> 10 YEARS**: Data typically available for a patient for over a 10 year period.\\n-**CONTINUOUS**: Data for patients is being regularly added to and updated.\\n-**UNKNOWN**: Timespan is Unknown.\\n-**OTHER**: Data available for a patient over another time period.", + "title": "Followup", + "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period)", + "guidance": "", "examples": null, "is_list": false, "is_optional": true, @@ -550,7 +549,8 @@ "description": "Please provide a brief description of the data access services that are available including: environment that is currently available to researchers; additional consultancy and services; any indication of costs associated. If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers Note: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "guidance": "Please provide a brief description of the data access services that are available including:\\n- environment that is currently available to researchers\\n- additional consultancy and services\\n- any indication of costs associated\\n\\n If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers.\\n **Note**: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "examples": [ - "https://cnfl.extge.co.uk/display/GERE/Research+Environment+User+Guide" + "https://re-docs.genomicsengland.co.uk/tutorials/", + "https://publichealthscotland.scot/services/data-research-and-innovation-services/electronic-data-research-and-innovation-service-edris/national-safe-haven-nsh/" ], "is_list": false, "is_optional": true, @@ -622,7 +622,7 @@ "required": true, "title": "Data Controller", "description": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.", - "guidance": "- Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.\\n- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.\\n- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.\\n- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.\\n- Example: NHS England'", + "guidance": "- Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.\\n- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.\\n- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.\\n- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.\\n- Example: NHS England", "examples": [ "NHS England" ], @@ -956,5 +956,6 @@ }, "location": "observations.measuredProperty" } - ] + ], + "url_regex": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\n)?)+$" } \ No newline at end of file diff --git a/docs/GWDM/1.0.md b/docs/GWDM/1.0.md index 935d986..a615f6b 100644 --- a/docs/GWDM/1.0.md +++ b/docs/GWDM/1.0.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | Examples: @@ -296,11 +296,11 @@ Please indicate if the dataset is representative of the patient pathway and any ### followup -If known, what is the typical time span that a patient appears in the dataset (follow up period). In a prospective cohort study, after baseline information is collected, participants are followed “longitudinally” i.e. new information is collected about them for a period of time afterward. This is known as the “follow up period”. What is the typical time span of follow up, e.g. 1 year, 5 years? If there are multiple cohorts in the dataset with varying follow up periods, please provide the longest follow up period. +If known, what is the typical time span that a patient appears in the dataset (follow up period) -| title | guidance | is_list | required | type | -|:----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------| -| Follow-up | If known, please indicate the typical time span that a patient appears in the dataset (follow up period).
-**0 - 6 MONTHS**: Data typically available for a patient over a 0-6 month period.
-**6 - 12 MONTHS**: Data typically available for a patient over a 6-12 month period.
-**1 - 10 YEARS**: Data typically available for a patient over a 1-10 year period.
-**> 10 YEARS**: Data typically available for a patient for over a 10 year period.
-**CONTINUOUS**: Data for patients is being regularly added to and updated.
-**UNKNOWN**: Timespan is Unknown.
-**OTHER**: Data available for a patient over another time period. | False | False | ["Followup['0 - 6 MONTHS','6 - 12 MONTHS','1 - 10 YEARS','> 10 YEARS','UNKNOWN','CONTINUOUS','OTHER',null]", 'null'] | +| title | guidance | is_list | required | type | +|:---------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------| +| Followup | | False | False | ["Followup['0 - 6 MONTHS','6 - 12 MONTHS','1 - 10 YEARS','> 10 YEARS','UNKNOWN','CONTINUOUS','OTHER',null]", 'null'] | @@ -516,7 +516,8 @@ Please provide a brief description of the data access services that are availabl Examples: - * https://cnfl.extge.co.uk/display/GERE/Research+Environment+User+Guide + * https://re-docs.genomicsengland.co.uk/tutorials/ + * https://publichealthscotland.scot/services/data-research-and-innovation-services/electronic-data-research-and-innovation-service-edris/national-safe-haven-nsh/ #### accessRequestCost @@ -556,9 +557,9 @@ Please use country code from ISO 3166-1 country codes and the associated ISO 316 Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed. -| title | guidance | is_list | required | type | -|:----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------| -| Data Controller | - Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.
- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.
- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.
- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.
- Example: NHS England' | False | True | ["LongDescription[{'anyOf': [{'maxLength': 50000, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:----------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------| +| Data Controller | - Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.
- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.
- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.
- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.
- Example: NHS England | False | True | ["LongDescription[{'anyOf': [{'maxLength': 50000, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: diff --git a/docs/GWDM/1.0.structure.json b/docs/GWDM/1.0.structure.json index 52f4ce6..c00e14b 100644 --- a/docs/GWDM/1.0.structure.json +++ b/docs/GWDM/1.0.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": false, "is_optional": false, @@ -392,9 +392,9 @@ { "name": "followup", "required": false, - "title": "Follow-up", - "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period). In a prospective cohort study, after baseline information is collected, participants are followed \u201clongitudinally\u201d i.e. new information is collected about them for a period of time afterward. This is known as the \u201cfollow up period\u201d. What is the typical time span of follow up, e.g. 1 year, 5 years? If there are multiple cohorts in the dataset with varying follow up periods, please provide the longest follow up period.", - "guidance": "If known, please indicate the typical time span that a patient appears in the dataset (follow up period).-0 - 6 MONTHS: Data typically available for a patient over a 0-6 month period.-6 - 12 MONTHS: Data typically available for a patient over a 6-12 month period.-1 - 10 YEARS: Data typically available for a patient over a 1-10 year period.-> 10 YEARS: Data typically available for a patient for over a 10 year period.-CONTINUOUS: Data for patients is being regularly added to and updated.-UNKNOWN: Timespan is Unknown.-OTHER: Data available for a patient over another time period.", + "title": "Followup", + "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period)", + "guidance": "", "examples": null, "type": [ "Followup['0 - 6 MONTHS','6 - 12 MONTHS','1 - 10 YEARS','> 10 YEARS','UNKNOWN','CONTINUOUS','OTHER',null]", @@ -696,7 +696,8 @@ "description": "Please provide a brief description of the data access services that are available including: environment that is currently available to researchers; additional consultancy and services; any indication of costs associated. If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers Note: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "guidance": "Please provide a brief description of the data access services that are available including:- environment that is currently available to researchers- additional consultancy and services- any indication of costs associated If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers. Note: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "examples": [ - "https://cnfl.extge.co.uk/display/GERE/Research+Environment+User+Guide" + "https://re-docs.genomicsengland.co.uk/tutorials/", + "https://publichealthscotland.scot/services/data-research-and-innovation-services/electronic-data-research-and-innovation-service-edris/national-safe-haven-nsh/" ], "type": [ "LongDescription[{'anyOf': [{'maxLength': 50000, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", @@ -755,7 +756,7 @@ "required": true, "title": "Data Controller", "description": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.", - "guidance": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.- Example: NHS England'", + "guidance": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.- Example: NHS England", "examples": [ "NHS England" ], diff --git a/docs/GWDM/1.1.form.json b/docs/GWDM/1.1.form.json index c1c6c6a..5560715 100644 --- a/docs/GWDM/1.1.form.json +++ b/docs/GWDM/1.1.form.json @@ -69,8 +69,7 @@ "is_optional": false, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "required.revisions.url" @@ -341,9 +340,9 @@ }, { "required": false, - "title": "Follow-up", - "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period). In a prospective cohort study, after baseline information is collected, participants are followed \u201clongitudinally\u201d i.e. new information is collected about them for a period of time afterward. This is known as the \u201cfollow up period\u201d. What is the typical time span of follow up, e.g. 1 year, 5 years? If there are multiple cohorts in the dataset with varying follow up periods, please provide the longest follow up period.", - "guidance": "If known, please indicate the typical time span that a patient appears in the dataset (follow up period).\\n-**0 - 6 MONTHS**: Data typically available for a patient over a 0-6 month period.\\n-**6 - 12 MONTHS**: Data typically available for a patient over a 6-12 month period.\\n-**1 - 10 YEARS**: Data typically available for a patient over a 1-10 year period.\\n-**> 10 YEARS**: Data typically available for a patient for over a 10 year period.\\n-**CONTINUOUS**: Data for patients is being regularly added to and updated.\\n-**UNKNOWN**: Timespan is Unknown.\\n-**OTHER**: Data available for a patient over another time period.", + "title": "Followup", + "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period)", + "guidance": "", "examples": null, "is_list": false, "is_optional": true, @@ -383,7 +382,7 @@ "required": false, "title": "Gender", "description": "Cohort description: Male, Female, Other", - "guidance": "Options are limited to Male/Female/Other.", + "guidance": "", "examples": null, "is_list": false, "is_optional": true, @@ -704,7 +703,8 @@ "description": "Please provide a brief description of the data access services that are available including: environment that is currently available to researchers; additional consultancy and services; any indication of costs associated. If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers Note: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "guidance": "Please provide a brief description of the data access services that are available including:\\n- environment that is currently available to researchers\\n- additional consultancy and services\\n- any indication of costs associated\\n\\n If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers.\\n **Note**: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "examples": [ - "https://cnfl.extge.co.uk/display/GERE/Research+Environment+User+Guide" + "https://re-docs.genomicsengland.co.uk/tutorials/", + "https://publichealthscotland.scot/services/data-research-and-innovation-services/electronic-data-research-and-innovation-service-edris/national-safe-haven-nsh/" ], "is_list": false, "is_optional": true, @@ -776,7 +776,7 @@ "required": true, "title": "Data Controller", "description": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.", - "guidance": "- Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.\\n- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.\\n- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.\\n- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.\\n- Example: NHS England'", + "guidance": "- Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.\\n- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.\\n- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.\\n- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.\\n- Example: NHS England", "examples": [ "NHS England" ], @@ -1401,5 +1401,6 @@ }, "location": "tissuesSampleCollection.tissueSampleMetadata.useRestrictions" } - ] + ], + "url_regex": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\n)?)+$" } \ No newline at end of file diff --git a/docs/GWDM/1.1.md b/docs/GWDM/1.1.md index 3bd5c02..8a966aa 100644 --- a/docs/GWDM/1.1.md +++ b/docs/GWDM/1.1.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | Examples: @@ -327,11 +327,11 @@ Please indicate if the dataset is representative of the patient pathway and any ### followup -If known, what is the typical time span that a patient appears in the dataset (follow up period). In a prospective cohort study, after baseline information is collected, participants are followed “longitudinally” i.e. new information is collected about them for a period of time afterward. This is known as the “follow up period”. What is the typical time span of follow up, e.g. 1 year, 5 years? If there are multiple cohorts in the dataset with varying follow up periods, please provide the longest follow up period. +If known, what is the typical time span that a patient appears in the dataset (follow up period) -| title | guidance | is_list | required | type | -|:----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------| -| Follow-up | If known, please indicate the typical time span that a patient appears in the dataset (follow up period).
-**0 - 6 MONTHS**: Data typically available for a patient over a 0-6 month period.
-**6 - 12 MONTHS**: Data typically available for a patient over a 6-12 month period.
-**1 - 10 YEARS**: Data typically available for a patient over a 1-10 year period.
-**> 10 YEARS**: Data typically available for a patient for over a 10 year period.
-**CONTINUOUS**: Data for patients is being regularly added to and updated.
-**UNKNOWN**: Timespan is Unknown.
-**OTHER**: Data available for a patient over another time period. | False | False | ["Followup['0 - 6 MONTHS','6 - 12 MONTHS','1 - 10 YEARS','> 10 YEARS','UNKNOWN','CONTINUOUS','OTHER',null]", 'null'] | +| title | guidance | is_list | required | type | +|:---------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------| +| Followup | | False | False | ["Followup['0 - 6 MONTHS','6 - 12 MONTHS','1 - 10 YEARS','> 10 YEARS','UNKNOWN','CONTINUOUS','OTHER',null]", 'null'] | @@ -353,9 +353,9 @@ Examples: Cohort description: Male, Female, Other -| title | guidance | is_list | required | type | -|:--------|:------------------------------------------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------| -| Gender | Options are limited to Male/Female/Other. | False | False | ["CommaSeparatedValues[{'anyOf': [{'pattern': '([^,]+)', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:--------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------| +| Gender | | False | False | ["CommaSeparatedValues[{'anyOf': [{'pattern': '([^,]+)', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -655,7 +655,8 @@ Please provide a brief description of the data access services that are availabl Examples: - * https://cnfl.extge.co.uk/display/GERE/Research+Environment+User+Guide + * https://re-docs.genomicsengland.co.uk/tutorials/ + * https://publichealthscotland.scot/services/data-research-and-innovation-services/electronic-data-research-and-innovation-service-edris/national-safe-haven-nsh/ #### accessRequestCost @@ -695,9 +696,9 @@ Please use country code from ISO 3166-1 country codes and the associated ISO 316 Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed. -| title | guidance | is_list | required | type | -|:----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------| -| Data Controller | - Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.
- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.
- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.
- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.
- Example: NHS England' | False | True | ["LongDescription[{'anyOf': [{'maxLength': 50000, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:----------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------| +| Data Controller | - Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.
- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.
- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.
- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.
- Example: NHS England | False | True | ["LongDescription[{'anyOf': [{'maxLength': 50000, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: diff --git a/docs/GWDM/1.1.structure.json b/docs/GWDM/1.1.structure.json index fb756ff..50abea4 100644 --- a/docs/GWDM/1.1.structure.json +++ b/docs/GWDM/1.1.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": false, "is_optional": false, @@ -431,9 +431,9 @@ { "name": "followup", "required": false, - "title": "Follow-up", - "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period). In a prospective cohort study, after baseline information is collected, participants are followed \u201clongitudinally\u201d i.e. new information is collected about them for a period of time afterward. This is known as the \u201cfollow up period\u201d. What is the typical time span of follow up, e.g. 1 year, 5 years? If there are multiple cohorts in the dataset with varying follow up periods, please provide the longest follow up period.", - "guidance": "If known, please indicate the typical time span that a patient appears in the dataset (follow up period).-0 - 6 MONTHS: Data typically available for a patient over a 0-6 month period.-6 - 12 MONTHS: Data typically available for a patient over a 6-12 month period.-1 - 10 YEARS: Data typically available for a patient over a 1-10 year period.-> 10 YEARS: Data typically available for a patient for over a 10 year period.-CONTINUOUS: Data for patients is being regularly added to and updated.-UNKNOWN: Timespan is Unknown.-OTHER: Data available for a patient over another time period.", + "title": "Followup", + "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period)", + "guidance": "", "examples": null, "type": [ "Followup['0 - 6 MONTHS','6 - 12 MONTHS','1 - 10 YEARS','> 10 YEARS','UNKNOWN','CONTINUOUS','OTHER',null]", @@ -464,7 +464,7 @@ "required": false, "title": "Gender", "description": "Cohort description: Male, Female, Other", - "guidance": "Options are limited to Male/Female/Other.", + "guidance": "", "examples": null, "type": [ "CommaSeparatedValues[{'anyOf': [{'pattern': '([^,]+)', 'type': 'string'}, {'type': 'null'}]}]", @@ -884,7 +884,8 @@ "description": "Please provide a brief description of the data access services that are available including: environment that is currently available to researchers; additional consultancy and services; any indication of costs associated. If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers Note: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "guidance": "Please provide a brief description of the data access services that are available including:- environment that is currently available to researchers- additional consultancy and services- any indication of costs associated If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers. Note: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "examples": [ - "https://cnfl.extge.co.uk/display/GERE/Research+Environment+User+Guide" + "https://re-docs.genomicsengland.co.uk/tutorials/", + "https://publichealthscotland.scot/services/data-research-and-innovation-services/electronic-data-research-and-innovation-service-edris/national-safe-haven-nsh/" ], "type": [ "LongDescription[{'anyOf': [{'maxLength': 50000, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", @@ -943,7 +944,7 @@ "required": true, "title": "Data Controller", "description": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.", - "guidance": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.- Example: NHS England'", + "guidance": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.- Example: NHS England", "examples": [ "NHS England" ], diff --git a/docs/GWDM/1.2.form.json b/docs/GWDM/1.2.form.json index 6bd3d92..4d1b88e 100644 --- a/docs/GWDM/1.2.form.json +++ b/docs/GWDM/1.2.form.json @@ -69,8 +69,7 @@ "is_optional": false, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "required.revisions.url" @@ -341,9 +340,9 @@ }, { "required": false, - "title": "Follow-up", - "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period). In a prospective cohort study, after baseline information is collected, participants are followed \u201clongitudinally\u201d i.e. new information is collected about them for a period of time afterward. This is known as the \u201cfollow up period\u201d. What is the typical time span of follow up, e.g. 1 year, 5 years? If there are multiple cohorts in the dataset with varying follow up periods, please provide the longest follow up period.", - "guidance": "If known, please indicate the typical time span that a patient appears in the dataset (follow up period).\\n-**0 - 6 MONTHS**: Data typically available for a patient over a 0-6 month period.\\n-**6 - 12 MONTHS**: Data typically available for a patient over a 6-12 month period.\\n-**1 - 10 YEARS**: Data typically available for a patient over a 1-10 year period.\\n-**> 10 YEARS**: Data typically available for a patient for over a 10 year period.\\n-**CONTINUOUS**: Data for patients is being regularly added to and updated.\\n-**UNKNOWN**: Timespan is Unknown.\\n-**OTHER**: Data available for a patient over another time period.", + "title": "Followup", + "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period)", + "guidance": "", "examples": null, "is_list": false, "is_optional": true, @@ -383,7 +382,7 @@ "required": false, "title": "Gender", "description": "Cohort description: Male, Female, Other", - "guidance": "Options are limited to Male/Female/Other.", + "guidance": "", "examples": null, "is_list": false, "is_optional": true, @@ -704,7 +703,8 @@ "description": "Please provide a brief description of the data access services that are available including: environment that is currently available to researchers; additional consultancy and services; any indication of costs associated. If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers Note: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "guidance": "Please provide a brief description of the data access services that are available including:\\n- environment that is currently available to researchers\\n- additional consultancy and services\\n- any indication of costs associated\\n\\n If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers.\\n **Note**: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "examples": [ - "https://cnfl.extge.co.uk/display/GERE/Research+Environment+User+Guide" + "https://re-docs.genomicsengland.co.uk/tutorials/", + "https://publichealthscotland.scot/services/data-research-and-innovation-services/electronic-data-research-and-innovation-service-edris/national-safe-haven-nsh/" ], "is_list": false, "is_optional": true, @@ -776,7 +776,7 @@ "required": true, "title": "Data Controller", "description": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.", - "guidance": "- Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.\\n- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.\\n- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.\\n- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.\\n- Example: NHS England'", + "guidance": "- Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.\\n- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.\\n- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.\\n- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.\\n- Example: NHS England", "examples": [ "NHS England" ], @@ -1433,5 +1433,6 @@ }, "location": "tissuesSampleCollection.tissueSampleMetadata.useRestrictions" } - ] + ], + "url_regex": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\n)?)+$" } \ No newline at end of file diff --git a/docs/GWDM/1.2.md b/docs/GWDM/1.2.md index 88f0f59..9ec6a85 100644 --- a/docs/GWDM/1.2.md +++ b/docs/GWDM/1.2.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | Examples: @@ -327,11 +327,11 @@ Please indicate if the dataset is representative of the patient pathway and any ### followup -If known, what is the typical time span that a patient appears in the dataset (follow up period). In a prospective cohort study, after baseline information is collected, participants are followed “longitudinally” i.e. new information is collected about them for a period of time afterward. This is known as the “follow up period”. What is the typical time span of follow up, e.g. 1 year, 5 years? If there are multiple cohorts in the dataset with varying follow up periods, please provide the longest follow up period. +If known, what is the typical time span that a patient appears in the dataset (follow up period) -| title | guidance | is_list | required | type | -|:----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------| -| Follow-up | If known, please indicate the typical time span that a patient appears in the dataset (follow up period).
-**0 - 6 MONTHS**: Data typically available for a patient over a 0-6 month period.
-**6 - 12 MONTHS**: Data typically available for a patient over a 6-12 month period.
-**1 - 10 YEARS**: Data typically available for a patient over a 1-10 year period.
-**> 10 YEARS**: Data typically available for a patient for over a 10 year period.
-**CONTINUOUS**: Data for patients is being regularly added to and updated.
-**UNKNOWN**: Timespan is Unknown.
-**OTHER**: Data available for a patient over another time period. | False | False | ["Followup['0 - 6 MONTHS','6 - 12 MONTHS','1 - 10 YEARS','> 10 YEARS','UNKNOWN','CONTINUOUS','OTHER',null]", 'null'] | +| title | guidance | is_list | required | type | +|:---------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------| +| Followup | | False | False | ["Followup['0 - 6 MONTHS','6 - 12 MONTHS','1 - 10 YEARS','> 10 YEARS','UNKNOWN','CONTINUOUS','OTHER',null]", 'null'] | @@ -353,9 +353,9 @@ Examples: Cohort description: Male, Female, Other -| title | guidance | is_list | required | type | -|:--------|:------------------------------------------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------| -| Gender | Options are limited to Male/Female/Other. | False | False | ["CommaSeparatedValues[{'anyOf': [{'pattern': '([^,]+)', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:--------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------| +| Gender | | False | False | ["CommaSeparatedValues[{'anyOf': [{'pattern': '([^,]+)', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -655,7 +655,8 @@ Please provide a brief description of the data access services that are availabl Examples: - * https://cnfl.extge.co.uk/display/GERE/Research+Environment+User+Guide + * https://re-docs.genomicsengland.co.uk/tutorials/ + * https://publichealthscotland.scot/services/data-research-and-innovation-services/electronic-data-research-and-innovation-service-edris/national-safe-haven-nsh/ #### accessRequestCost @@ -695,9 +696,9 @@ Please use country code from ISO 3166-1 country codes and the associated ISO 316 Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed. -| title | guidance | is_list | required | type | -|:----------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------| -| Data Controller | - Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.
- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.
- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.
- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.
- Example: NHS England' | False | True | ["LongDescription[{'anyOf': [{'maxLength': 50000, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:----------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------| +| Data Controller | - Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.
- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.
- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.
- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.
- Example: NHS England | False | True | ["LongDescription[{'anyOf': [{'maxLength': 50000, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: diff --git a/docs/GWDM/1.2.structure.json b/docs/GWDM/1.2.structure.json index 91db6f3..13d45ef 100644 --- a/docs/GWDM/1.2.structure.json +++ b/docs/GWDM/1.2.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": false, "is_optional": false, @@ -431,9 +431,9 @@ { "name": "followup", "required": false, - "title": "Follow-up", - "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period). In a prospective cohort study, after baseline information is collected, participants are followed \u201clongitudinally\u201d i.e. new information is collected about them for a period of time afterward. This is known as the \u201cfollow up period\u201d. What is the typical time span of follow up, e.g. 1 year, 5 years? If there are multiple cohorts in the dataset with varying follow up periods, please provide the longest follow up period.", - "guidance": "If known, please indicate the typical time span that a patient appears in the dataset (follow up period).-0 - 6 MONTHS: Data typically available for a patient over a 0-6 month period.-6 - 12 MONTHS: Data typically available for a patient over a 6-12 month period.-1 - 10 YEARS: Data typically available for a patient over a 1-10 year period.-> 10 YEARS: Data typically available for a patient for over a 10 year period.-CONTINUOUS: Data for patients is being regularly added to and updated.-UNKNOWN: Timespan is Unknown.-OTHER: Data available for a patient over another time period.", + "title": "Followup", + "description": "If known, what is the typical time span that a patient appears in the dataset (follow up period)", + "guidance": "", "examples": null, "type": [ "Followup['0 - 6 MONTHS','6 - 12 MONTHS','1 - 10 YEARS','> 10 YEARS','UNKNOWN','CONTINUOUS','OTHER',null]", @@ -464,7 +464,7 @@ "required": false, "title": "Gender", "description": "Cohort description: Male, Female, Other", - "guidance": "Options are limited to Male/Female/Other.", + "guidance": "", "examples": null, "type": [ "CommaSeparatedValues[{'anyOf': [{'pattern': '([^,]+)', 'type': 'string'}, {'type': 'null'}]}]", @@ -884,7 +884,8 @@ "description": "Please provide a brief description of the data access services that are available including: environment that is currently available to researchers; additional consultancy and services; any indication of costs associated. If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers Note: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "guidance": "Please provide a brief description of the data access services that are available including:- environment that is currently available to researchers- additional consultancy and services- any indication of costs associated If no environment is currently available, please indicate the current plans and timelines when and how data will be made available to researchers. Note: This value will be used as default access environment for all datasets submitted by the organisation. However, there will be the opportunity to overwrite this value for each dataset.", "examples": [ - "https://cnfl.extge.co.uk/display/GERE/Research+Environment+User+Guide" + "https://re-docs.genomicsengland.co.uk/tutorials/", + "https://publichealthscotland.scot/services/data-research-and-innovation-services/electronic-data-research-and-innovation-service-edris/national-safe-haven-nsh/" ], "type": [ "LongDescription[{'anyOf': [{'maxLength': 50000, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", @@ -943,7 +944,7 @@ "required": true, "title": "Data Controller", "description": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.", - "guidance": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.- Example: NHS England'", + "guidance": "Data Controller means a person/entity who (either alone or jointly or in common with other persons/entities) determines the purposes for which and the way any Data Subject data, specifically personal data or are to be processed.- Notes: For most organisations this will be the same as the Data Custodian of the dataset. If this is not the case, please indicate that there is a different controller.- If there is a different controller please complete the Data Processor attribute to indicate if the Data Custodian is a Processor rather than the Data Controller.- In some cases, there may be multiple Data Controllers i.e. GP data. If this is the case, please indicate the fact in a free-text field and describe the data sharing arrangement or a link to it, so that this can be understood by research users.- Example: NHS England", "examples": [ "NHS England" ], diff --git a/docs/GWDM/2.0.form.json b/docs/GWDM/2.0.form.json index 82a72eb..4357021 100644 --- a/docs/GWDM/2.0.form.json +++ b/docs/GWDM/2.0.form.json @@ -69,8 +69,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "required.revisions.url" @@ -213,9 +212,8 @@ "is_list": false, "is_optional": true, "types": { - "title": "DatasetType", - "maxLength": 100, - "minLength": 2, + "title": "CommaSeparatedValues", + "pattern": "([^,]+)", "type": "string" }, "location": "summary.datasetType" @@ -293,9 +291,8 @@ "is_list": false, "is_optional": true, "types": { - "title": "DatasetType", - "maxLength": 100, - "minLength": 2, + "title": "CommaSeparatedValues", + "pattern": "([^,]+)", "type": "string" }, "location": "summary.datasetSubType" @@ -402,8 +399,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "coverage.datasetCompleteness" @@ -1594,5 +1590,5 @@ "location": "omics.platform" } ], - "url_regex": "(https?:\\/\\/)?([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?$" + "url_regex": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\n)?)+$" } \ No newline at end of file diff --git a/docs/GWDM/2.0.md b/docs/GWDM/2.0.md index 84df875..55eeec9 100644 --- a/docs/GWDM/2.0.md +++ b/docs/GWDM/2.0.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -202,9 +202,9 @@ Examples: What type of dataset is this? -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------| -| Dataset type | | False | False | ["DatasetType[{'anyOf': [{'maxLength': 100, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------| +| Dataset type | | False | False | ["CommaSeparatedValues[{'anyOf': [{'pattern': '([^,]+)', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -279,9 +279,9 @@ Summary population size of the cohort Placeholder for dataset sub-type -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------| -| Dataset Sub-type | | False | False | ["DatasetType[{'anyOf': [{'maxLength': 100, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------| +| Dataset Sub-type | | False | False | ["CommaSeparatedValues[{'anyOf': [{'pattern': '([^,]+)', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -358,9 +358,9 @@ Examples: The URL where a Researcher can learn more about the completeness of the dataset. -| title | guidance | is_list | required | type | -|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: diff --git a/docs/GWDM/2.0.structure.json b/docs/GWDM/2.0.structure.json index e7a7c47..7bebcfa 100644 --- a/docs/GWDM/2.0.structure.json +++ b/docs/GWDM/2.0.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -263,7 +263,7 @@ "guidance": "", "examples": null, "type": [ - "DatasetType[{'anyOf': [{'maxLength': 100, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", + "CommaSeparatedValues[{'anyOf': [{'pattern': '([^,]+)', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -368,7 +368,7 @@ "guidance": "", "examples": null, "type": [ - "DatasetType[{'anyOf': [{'maxLength': 100, 'minLength': 2, 'type': 'string'}, {'type': 'null'}]}]", + "CommaSeparatedValues[{'anyOf': [{'pattern': '([^,]+)', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -478,7 +478,7 @@ "https://bhfdatasciencecentre.org/dashboard/" ], "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.1.2.form.json b/docs/HDRUK/2.1.2.form.json index 3e246e5..e67ecde 100644 --- a/docs/HDRUK/2.1.2.form.json +++ b/docs/HDRUK/2.1.2.form.json @@ -66,8 +66,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "revisions.url" @@ -140,8 +139,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "summary.publisher.identifier" @@ -172,8 +170,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "summary.publisher.logo" @@ -944,5 +941,6 @@ }, "location": "observations.measuredProperty" } - ] + ], + "url_regex": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\n)?)+$" } \ No newline at end of file diff --git a/docs/HDRUK/2.1.2.md b/docs/HDRUK/2.1.2.md index ec51f07..1a0a98b 100644 --- a/docs/HDRUK/2.1.2.md +++ b/docs/HDRUK/2.1.2.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | diff --git a/docs/HDRUK/2.1.2.structure.json b/docs/HDRUK/2.1.2.structure.json index c46c6b1..2860888 100644 --- a/docs/HDRUK/2.1.2.structure.json +++ b/docs/HDRUK/2.1.2.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.1.3.form.json b/docs/HDRUK/2.1.3.form.json index 12980df..cdd6002 100644 --- a/docs/HDRUK/2.1.3.form.json +++ b/docs/HDRUK/2.1.3.form.json @@ -66,8 +66,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "revisions.url" @@ -140,8 +139,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "summary.publisher.identifier" @@ -172,8 +170,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "summary.publisher.logo" @@ -944,5 +941,6 @@ }, "location": "observations.measuredProperty" } - ] + ], + "url_regex": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\n)?)+$" } \ No newline at end of file diff --git a/docs/HDRUK/2.1.3.md b/docs/HDRUK/2.1.3.md index d40f8bd..a6cfedf 100644 --- a/docs/HDRUK/2.1.3.md +++ b/docs/HDRUK/2.1.3.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | diff --git a/docs/HDRUK/2.1.3.structure.json b/docs/HDRUK/2.1.3.structure.json index 3fe2edb..e522d88 100644 --- a/docs/HDRUK/2.1.3.structure.json +++ b/docs/HDRUK/2.1.3.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.2.0.form.json b/docs/HDRUK/2.2.0.form.json index 0e3c85c..e68f6bb 100644 --- a/docs/HDRUK/2.2.0.form.json +++ b/docs/HDRUK/2.2.0.form.json @@ -66,8 +66,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "revisions.url" @@ -140,8 +139,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "summary.publisher.identifier" @@ -172,8 +170,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "summary.publisher.logo" @@ -1209,5 +1206,6 @@ }, "location": "tissuesSampleCollection.collectionType" } - ] + ], + "url_regex": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\n)?)+$" } \ No newline at end of file diff --git a/docs/HDRUK/2.2.0.md b/docs/HDRUK/2.2.0.md index 19921c2..efe0106 100644 --- a/docs/HDRUK/2.2.0.md +++ b/docs/HDRUK/2.2.0.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | diff --git a/docs/HDRUK/2.2.0.structure.json b/docs/HDRUK/2.2.0.structure.json index 33aeac4..04b34f4 100644 --- a/docs/HDRUK/2.2.0.structure.json +++ b/docs/HDRUK/2.2.0.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.2.1.form.json b/docs/HDRUK/2.2.1.form.json index b0e8c13..adb9a6d 100644 --- a/docs/HDRUK/2.2.1.form.json +++ b/docs/HDRUK/2.2.1.form.json @@ -66,8 +66,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "revisions.url" @@ -140,8 +139,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "summary.publisher.identifier" @@ -172,8 +170,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "summary.publisher.logo" @@ -1098,8 +1095,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "enrichmentAndLinkage.syntheticDataWebLink" @@ -1280,5 +1276,6 @@ }, "location": "tissuesSampleCollection.collectionType" } - ] + ], + "url_regex": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\n)?)+$" } \ No newline at end of file diff --git a/docs/HDRUK/2.2.1.md b/docs/HDRUK/2.2.1.md index 1e112dd..3bb43ed 100644 --- a/docs/HDRUK/2.2.1.md +++ b/docs/HDRUK/2.2.1.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -846,9 +846,9 @@ Please provide the URL of any analysis tools or models that have been created fo Links to locations of information and or raw downloads of synthetic data associated with this dataset -| title | guidance | is_list | required | type | -|:-------------------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| -| Synthetic Data Web Links | | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Synthetic Data Web Links | | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | diff --git a/docs/HDRUK/2.2.1.structure.json b/docs/HDRUK/2.2.1.structure.json index 3521d25..6815f0e 100644 --- a/docs/HDRUK/2.2.1.structure.json +++ b/docs/HDRUK/2.2.1.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1169,7 +1169,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, diff --git a/docs/HDRUK/3.0.0.form.json b/docs/HDRUK/3.0.0.form.json index 258aa93..9fe704e 100644 --- a/docs/HDRUK/3.0.0.form.json +++ b/docs/HDRUK/3.0.0.form.json @@ -66,8 +66,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "revisions.url" @@ -168,8 +167,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "summary.dataCustodian.logo" @@ -412,8 +410,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "coverage.datasetCompleteness" @@ -1363,8 +1360,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "enrichmentAndLinkage.derivedFrom.url" @@ -1411,8 +1407,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "enrichmentAndLinkage.isPartOf.url" @@ -1459,8 +1454,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "enrichmentAndLinkage.linkableDatasets.url" @@ -1507,8 +1501,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "enrichmentAndLinkage.similarToDatasets.url" @@ -1523,8 +1516,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "enrichmentAndLinkage.investigations" @@ -1539,8 +1531,7 @@ "is_optional": true, "types": { "title": "Url", - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, "location": "enrichmentAndLinkage.tools" diff --git a/docs/HDRUK/3.0.0.md b/docs/HDRUK/3.0.0.md index 0e05c89..f3b8de0 100644 --- a/docs/HDRUK/3.0.0.md +++ b/docs/HDRUK/3.0.0.md @@ -3,9 +3,9 @@ System dataset identifier. -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | N/A | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | N/A | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| revision url | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| revision url | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -154,9 +154,9 @@ The organisation responsible for running or supporting the data access request p Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. If a logo is not submitted this will default to the logo for the team submitting the metadata. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -356,9 +356,9 @@ Examples: The URL where a Researcher can learn more about the completeness of the dataset. -| title | guidance | is_list | required | type | -|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -810,9 +810,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -854,9 +854,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -896,9 +896,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -938,9 +938,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -949,9 +949,9 @@ None Please provide link to any active projects that are using the dataset. -| title | guidance | is_list | required | type | -|:---------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:--------------------------------------------------------------------------------------------| -| Investigations | - Please provide the website address(es) which document information related to active projects utilising the dataset.
- Please split your existing list of citations into separate fields.
- To add multiple entries, type in each website and press enter to add it to the list.
- **Example**: | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:---------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Investigations | - Please provide the website address(es) which document information related to active projects utilising the dataset.
- Please split your existing list of citations into separate fields.
- To add multiple entries, type in each website and press enter to add it to the list.
- **Example**: | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | @@ -960,9 +960,9 @@ Please provide link to any active projects that are using the dataset. Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use. Multiple tools may be provided. Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/ -| title | guidance | is_list | required | type | -|:--------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:--------------------------------------------------------------------------------------------| -| Tools | - Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use.
- Multiple tools may be provided.
- Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/ | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:--------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Tools | - Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use.
- Multiple tools may be provided.
- Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/ | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | @@ -1198,9 +1198,9 @@ The frequency of occurrance of a value in a column. Links to locations of information and or raw downloads of synthetic data associated with this dataset. -| title | guidance | is_list | required | type | -|:-------------------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| -| Synthetic data web links | | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Synthetic data web links | | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | diff --git a/docs/HDRUK/3.0.0.structure.json b/docs/HDRUK/3.0.0.structure.json index aa60ec0..02920fb 100644 --- a/docs/HDRUK/3.0.0.structure.json +++ b/docs/HDRUK/3.0.0.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -203,7 +203,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -476,7 +476,7 @@ "https://bhfdatasciencecentre.org/dashboard/" ], "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1081,7 +1081,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1143,7 +1143,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1203,7 +1203,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1263,7 +1263,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1280,7 +1280,7 @@ "guidance": "Please provide the website address(es) which document information related to active projects utilising the dataset.- Please split your existing list of citations into separate fields.- To add multiple entries, type in each website and press enter to add it to the list.- Example: https://dataloch.org/insights/projects-delivered/data-driven-innovation-multi-morbidity-report-partner-gps", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, @@ -1294,7 +1294,7 @@ "guidance": "Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use.- Multiple tools may be provided.- Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, @@ -1611,7 +1611,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, diff --git a/hdr_schemata/definitions/HDRUK/Url.py b/hdr_schemata/definitions/HDRUK/Url.py index c740c8d..6d9864b 100644 --- a/hdr_schemata/definitions/HDRUK/Url.py +++ b/hdr_schemata/definitions/HDRUK/Url.py @@ -1,7 +1,7 @@ from typing import Optional -from pydantic import AnyUrl, RootModel +from pydantic import constr, RootModel class Url(RootModel): - root: Optional[AnyUrl] + root: Optional[constr(pattern=r'^\s*((https?:\/\/)*([a-zA-Z0-9-]+\.?)+[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?(\n)?)+$')] diff --git a/hdr_schemata/models/HDRUK/2.1.2/schema.json b/hdr_schemata/models/HDRUK/2.1.2/schema.json index f849a31..c4bcae6 100644 --- a/hdr_schemata/models/HDRUK/2.1.2/schema.json +++ b/hdr_schemata/models/HDRUK/2.1.2/schema.json @@ -1736,8 +1736,7 @@ "Url": { "anyOf": [ { - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/2.1.3/schema.json b/hdr_schemata/models/HDRUK/2.1.3/schema.json index d5cc01d..93b0ede 100644 --- a/hdr_schemata/models/HDRUK/2.1.3/schema.json +++ b/hdr_schemata/models/HDRUK/2.1.3/schema.json @@ -1738,8 +1738,7 @@ "Url": { "anyOf": [ { - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/2.2.0/schema.json b/hdr_schemata/models/HDRUK/2.2.0/schema.json index 08b4e5c..39882e3 100644 --- a/hdr_schemata/models/HDRUK/2.2.0/schema.json +++ b/hdr_schemata/models/HDRUK/2.2.0/schema.json @@ -2118,8 +2118,7 @@ "Url": { "anyOf": [ { - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/2.2.1/schema.json b/hdr_schemata/models/HDRUK/2.2.1/schema.json index b8e7a76..d1ba1d2 100644 --- a/hdr_schemata/models/HDRUK/2.2.1/schema.json +++ b/hdr_schemata/models/HDRUK/2.2.1/schema.json @@ -2159,8 +2159,7 @@ "Url": { "anyOf": [ { - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/3.0.0/schema.json b/hdr_schemata/models/HDRUK/3.0.0/schema.json index 9310515..0b7f297 100644 --- a/hdr_schemata/models/HDRUK/3.0.0/schema.json +++ b/hdr_schemata/models/HDRUK/3.0.0/schema.json @@ -2341,8 +2341,7 @@ "Url": { "anyOf": [ { - "format": "uri", - "minLength": 1, + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, { From 2d3ef6429d679011f8753f84f1f640dddcb1e225 Mon Sep 17 00:00:00 2001 From: Loki Sinclair Date: Mon, 23 Sep 2024 16:54:29 +0100 Subject: [PATCH 2/2] updates to do things properly --- docs/GWDM/1.0.form.json | 3 +- docs/GWDM/1.0.md | 6 +- docs/GWDM/1.0.structure.json | 2 +- docs/GWDM/1.1.form.json | 3 +- docs/GWDM/1.1.md | 6 +- docs/GWDM/1.1.structure.json | 2 +- docs/GWDM/1.2.form.json | 3 +- docs/GWDM/1.2.md | 6 +- docs/GWDM/1.2.structure.json | 2 +- docs/GWDM/2.0.form.json | 6 +- docs/GWDM/2.0.md | 12 ++-- docs/GWDM/2.0.structure.json | 4 +- docs/HDRUK/2.1.2.form.json | 9 ++- docs/HDRUK/2.1.2.md | 24 +++---- docs/HDRUK/2.1.2.structure.json | 8 +-- docs/HDRUK/2.1.3.form.json | 9 ++- docs/HDRUK/2.1.3.md | 24 +++---- docs/HDRUK/2.1.3.structure.json | 8 +-- docs/HDRUK/2.2.0.form.json | 9 ++- docs/HDRUK/2.2.0.md | 24 +++---- docs/HDRUK/2.2.0.structure.json | 8 +-- docs/HDRUK/2.2.1.form.json | 12 ++-- docs/HDRUK/2.2.1.md | 30 ++++----- docs/HDRUK/2.2.1.structure.json | 10 +-- docs/HDRUK/3.0.0.form.json | 26 +++++--- docs/HDRUK/3.0.0.md | 66 ++++++++++---------- docs/HDRUK/3.0.0.structure.json | 22 +++---- hdr_schemata/definitions/HDRUK/Url.py | 5 +- hdr_schemata/definitions/HDRUK/__init__.py | 2 +- hdr_schemata/models/HDRUK/2.1.2/schema.json | 3 +- hdr_schemata/models/HDRUK/2.1.3/schema.json | 3 +- hdr_schemata/models/HDRUK/2.2.0/schema.json | 3 +- hdr_schemata/models/HDRUK/2.2.1/schema.json | 3 +- hdr_schemata/models/HDRUK/3.0.0/schema.json | 17 ++++- hdr_schemata/models/HDRUK/v3_0_0/Revision.py | 4 +- 35 files changed, 215 insertions(+), 169 deletions(-) diff --git a/docs/GWDM/1.0.form.json b/docs/GWDM/1.0.form.json index d03b0a5..a374b8e 100644 --- a/docs/GWDM/1.0.form.json +++ b/docs/GWDM/1.0.form.json @@ -69,7 +69,8 @@ "is_optional": false, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "required.revisions.url" diff --git a/docs/GWDM/1.0.md b/docs/GWDM/1.0.md index a615f6b..93f1ede 100644 --- a/docs/GWDM/1.0.md +++ b/docs/GWDM/1.0.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | Examples: diff --git a/docs/GWDM/1.0.structure.json b/docs/GWDM/1.0.structure.json index c00e14b..8e99b26 100644 --- a/docs/GWDM/1.0.structure.json +++ b/docs/GWDM/1.0.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": false, "is_optional": false, diff --git a/docs/GWDM/1.1.form.json b/docs/GWDM/1.1.form.json index 5560715..c9dd331 100644 --- a/docs/GWDM/1.1.form.json +++ b/docs/GWDM/1.1.form.json @@ -69,7 +69,8 @@ "is_optional": false, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "required.revisions.url" diff --git a/docs/GWDM/1.1.md b/docs/GWDM/1.1.md index 8a966aa..c3edbb3 100644 --- a/docs/GWDM/1.1.md +++ b/docs/GWDM/1.1.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | Examples: diff --git a/docs/GWDM/1.1.structure.json b/docs/GWDM/1.1.structure.json index 50abea4..fb9b233 100644 --- a/docs/GWDM/1.1.structure.json +++ b/docs/GWDM/1.1.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": false, "is_optional": false, diff --git a/docs/GWDM/1.2.form.json b/docs/GWDM/1.2.form.json index 4d1b88e..13ed582 100644 --- a/docs/GWDM/1.2.form.json +++ b/docs/GWDM/1.2.form.json @@ -69,7 +69,8 @@ "is_optional": false, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "required.revisions.url" diff --git a/docs/GWDM/1.2.md b/docs/GWDM/1.2.md index 9ec6a85..ba3dc8d 100644 --- a/docs/GWDM/1.2.md +++ b/docs/GWDM/1.2.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | Examples: diff --git a/docs/GWDM/1.2.structure.json b/docs/GWDM/1.2.structure.json index 13d45ef..6136834 100644 --- a/docs/GWDM/1.2.structure.json +++ b/docs/GWDM/1.2.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": false, "is_optional": false, diff --git a/docs/GWDM/2.0.form.json b/docs/GWDM/2.0.form.json index 4357021..403d29a 100644 --- a/docs/GWDM/2.0.form.json +++ b/docs/GWDM/2.0.form.json @@ -69,7 +69,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "required.revisions.url" @@ -399,7 +400,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "coverage.datasetCompleteness" diff --git a/docs/GWDM/2.0.md b/docs/GWDM/2.0.md index 55eeec9..e4d3a59 100644 --- a/docs/GWDM/2.0.md +++ b/docs/GWDM/2.0.md @@ -78,9 +78,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -358,9 +358,9 @@ Examples: The URL where a Researcher can learn more about the completeness of the dataset. -| title | guidance | is_list | required | type | -|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: diff --git a/docs/GWDM/2.0.structure.json b/docs/GWDM/2.0.structure.json index 7bebcfa..8bd3945 100644 --- a/docs/GWDM/2.0.structure.json +++ b/docs/GWDM/2.0.structure.json @@ -102,7 +102,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -478,7 +478,7 @@ "https://bhfdatasciencecentre.org/dashboard/" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.1.2.form.json b/docs/HDRUK/2.1.2.form.json index e67ecde..109b3f8 100644 --- a/docs/HDRUK/2.1.2.form.json +++ b/docs/HDRUK/2.1.2.form.json @@ -66,7 +66,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "revisions.url" @@ -139,7 +140,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.identifier" @@ -170,7 +172,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.logo" diff --git a/docs/HDRUK/2.1.2.md b/docs/HDRUK/2.1.2.md index 1a0a98b..ec51f07 100644 --- a/docs/HDRUK/2.1.2.md +++ b/docs/HDRUK/2.1.2.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | diff --git a/docs/HDRUK/2.1.2.structure.json b/docs/HDRUK/2.1.2.structure.json index 2860888..c46c6b1 100644 --- a/docs/HDRUK/2.1.2.structure.json +++ b/docs/HDRUK/2.1.2.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.1.3.form.json b/docs/HDRUK/2.1.3.form.json index cdd6002..f58ebbd 100644 --- a/docs/HDRUK/2.1.3.form.json +++ b/docs/HDRUK/2.1.3.form.json @@ -66,7 +66,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "revisions.url" @@ -139,7 +140,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.identifier" @@ -170,7 +172,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.logo" diff --git a/docs/HDRUK/2.1.3.md b/docs/HDRUK/2.1.3.md index a6cfedf..d40f8bd 100644 --- a/docs/HDRUK/2.1.3.md +++ b/docs/HDRUK/2.1.3.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | diff --git a/docs/HDRUK/2.1.3.structure.json b/docs/HDRUK/2.1.3.structure.json index e522d88..3fe2edb 100644 --- a/docs/HDRUK/2.1.3.structure.json +++ b/docs/HDRUK/2.1.3.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.2.0.form.json b/docs/HDRUK/2.2.0.form.json index e68f6bb..63d2500 100644 --- a/docs/HDRUK/2.2.0.form.json +++ b/docs/HDRUK/2.2.0.form.json @@ -66,7 +66,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "revisions.url" @@ -139,7 +140,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.identifier" @@ -170,7 +172,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.logo" diff --git a/docs/HDRUK/2.2.0.md b/docs/HDRUK/2.2.0.md index efe0106..19921c2 100644 --- a/docs/HDRUK/2.2.0.md +++ b/docs/HDRUK/2.2.0.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | diff --git a/docs/HDRUK/2.2.0.structure.json b/docs/HDRUK/2.2.0.structure.json index 04b34f4..33aeac4 100644 --- a/docs/HDRUK/2.2.0.structure.json +++ b/docs/HDRUK/2.2.0.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, diff --git a/docs/HDRUK/2.2.1.form.json b/docs/HDRUK/2.2.1.form.json index adb9a6d..0c4e92f 100644 --- a/docs/HDRUK/2.2.1.form.json +++ b/docs/HDRUK/2.2.1.form.json @@ -66,7 +66,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "revisions.url" @@ -139,7 +140,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.identifier" @@ -170,7 +172,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.publisher.logo" @@ -1095,7 +1098,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.syntheticDataWebLink" diff --git a/docs/HDRUK/2.2.1.md b/docs/HDRUK/2.2.1.md index 3bb43ed..1e112dd 100644 --- a/docs/HDRUK/2.2.1.md +++ b/docs/HDRUK/2.2.1.md @@ -3,9 +3,9 @@ System dataset identifier -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | True | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| revision url | | False | True | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -131,9 +131,9 @@ This is the organisation responsible for running or supporting the data access r Please provide a Grid.ac identifier (see https://www.grid.ac/institutes) for your organisation. If your organisation does not have a Grid.ac identifier please use the “suggest and institute” function here: https://www.grid.ac/institutes# -| title | guidance | is_list | required | type | -|:------------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Identifier | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -153,9 +153,9 @@ Name of the organisation Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -846,9 +846,9 @@ Please provide the URL of any analysis tools or models that have been created fo Links to locations of information and or raw downloads of synthetic data associated with this dataset -| title | guidance | is_list | required | type | -|:-------------------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Synthetic Data Web Links | | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| Synthetic Data Web Links | | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | diff --git a/docs/HDRUK/2.2.1.structure.json b/docs/HDRUK/2.2.1.structure.json index 6815f0e..3521d25 100644 --- a/docs/HDRUK/2.2.1.structure.json +++ b/docs/HDRUK/2.2.1.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -175,7 +175,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -204,7 +204,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1169,7 +1169,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, diff --git a/docs/HDRUK/3.0.0.form.json b/docs/HDRUK/3.0.0.form.json index 9fe704e..b8fe386 100644 --- a/docs/HDRUK/3.0.0.form.json +++ b/docs/HDRUK/3.0.0.form.json @@ -65,7 +65,7 @@ "is_list": false, "is_optional": true, "types": { - "title": "Url", + "title": "UrlV2", "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", "type": "string" }, @@ -167,7 +167,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "summary.dataCustodian.logo" @@ -410,7 +411,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "coverage.datasetCompleteness" @@ -1360,7 +1362,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.derivedFrom.url" @@ -1407,7 +1410,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.isPartOf.url" @@ -1454,7 +1458,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.linkableDatasets.url" @@ -1501,7 +1506,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.similarToDatasets.url" @@ -1516,7 +1522,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.investigations" @@ -1531,7 +1538,8 @@ "is_optional": true, "types": { "title": "Url", - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, "location": "enrichmentAndLinkage.tools" diff --git a/docs/HDRUK/3.0.0.md b/docs/HDRUK/3.0.0.md index f3b8de0..facc8d0 100644 --- a/docs/HDRUK/3.0.0.md +++ b/docs/HDRUK/3.0.0.md @@ -3,9 +3,9 @@ System dataset identifier. -| title | guidance | is_list | required | type | -|:-------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset identifier | N/A | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Dataset identifier | N/A | False | True | ["Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -52,9 +52,9 @@ Examples: Some url with a reference to the record of a previous version of this dataset -| title | guidance | is_list | required | type | -|:-------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| revision url | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-------------|:-----------|:----------|:-----------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| revision url | | False | False | ["UrlV2[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -154,9 +154,9 @@ The organisation responsible for running or supporting the data access request p Please provide a logo associated with the Gateway Organisation using a valid URL. The following formats will be accepted .jpg, .png or .svg. If a logo is not submitted this will default to the logo for the team submitting the metadata. -| title | guidance | is_list | required | type | -|:------------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Organisation Logo | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:------------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Organisation Logo | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -356,9 +356,9 @@ Examples: The URL where a Researcher can learn more about the completeness of the dataset. -| title | guidance | is_list | required | type | -|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:--------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Dataset coverage/completeness/quality | If your organisation has a publicly available site which contains information on the completeness of a dataset, add that URL here.
**Example**: https://bhfdatasciencecentre.org/dashboard/ | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | Examples: @@ -810,9 +810,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -854,9 +854,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -896,9 +896,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -938,9 +938,9 @@ None None -| title | guidance | is_list | required | type | -|:-----------------|:-----------|:----------|:-----------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Url of a dataset | | False | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]", 'null'] | +| title | guidance | is_list | required | type | +|:-----------------|:-----------|:----------|:-----------|:----------------------------------------------------------------------------------------------------| +| Url of a dataset | | False | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", 'null'] | @@ -949,9 +949,9 @@ None Please provide link to any active projects that are using the dataset. -| title | guidance | is_list | required | type | -|:---------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Investigations | - Please provide the website address(es) which document information related to active projects utilising the dataset.
- Please split your existing list of citations into separate fields.
- To add multiple entries, type in each website and press enter to add it to the list.
- **Example**: | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:---------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| Investigations | - Please provide the website address(es) which document information related to active projects utilising the dataset.
- Please split your existing list of citations into separate fields.
- To add multiple entries, type in each website and press enter to add it to the list.
- **Example**: | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | @@ -960,9 +960,9 @@ Please provide link to any active projects that are using the dataset. Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use. Multiple tools may be provided. Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/ -| title | guidance | is_list | required | type | -|:--------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Tools | - Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use.
- Multiple tools may be provided.
- Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/ | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:--------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| Tools | - Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use.
- Multiple tools may be provided.
- Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/ | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | @@ -1198,9 +1198,9 @@ The frequency of occurrance of a value in a column. Links to locations of information and or raw downloads of synthetic data associated with this dataset. -| title | guidance | is_list | required | type | -|:-------------------------|:-----------|:----------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Synthetic data web links | | True | False | ["Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\
)?)+$', 'type': 'string'}, {'type': 'null'}]}]"] | +| title | guidance | is_list | required | type | +|:-------------------------|:-----------|:----------|:-----------|:--------------------------------------------------------------------------------------------| +| Synthetic data web links | | True | False | ["Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]"] | diff --git a/docs/HDRUK/3.0.0.structure.json b/docs/HDRUK/3.0.0.structure.json index 02920fb..36ac2b2 100644 --- a/docs/HDRUK/3.0.0.structure.json +++ b/docs/HDRUK/3.0.0.structure.json @@ -11,7 +11,7 @@ ], "type": [ "Uuidv4[{'maxLength': 36, 'minLength': 36, 'pattern': '^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$', 'type': 'string'}]", - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -73,7 +73,7 @@ "https://api.service.nhs.uk/health-research-data-catalogue/datasetrevisions/841f7da2-b018-41f6-b4ae-2e0aadab6561" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "UrlV2[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -203,7 +203,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -476,7 +476,7 @@ "https://bhfdatasciencecentre.org/dashboard/" ], "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1081,7 +1081,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1143,7 +1143,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1203,7 +1203,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1263,7 +1263,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]", + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]", "null" ], "is_list": false, @@ -1280,7 +1280,7 @@ "guidance": "Please provide the website address(es) which document information related to active projects utilising the dataset.- Please split your existing list of citations into separate fields.- To add multiple entries, type in each website and press enter to add it to the list.- Example: https://dataloch.org/insights/projects-delivered/data-driven-innovation-multi-morbidity-report-partner-gps", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, @@ -1294,7 +1294,7 @@ "guidance": "Please provide the URL of any analysis tools or models that have been created for this dataset and are available for further use.- Multiple tools may be provided.- Note: We encourage users to adopt a model along the lines of https://www.ga4gh.org/news/tool-registry-service-api-enabling-an-interoperable-library-of-genomics-analysis-tools/", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, @@ -1611,7 +1611,7 @@ "guidance": "", "examples": null, "type": [ - "Url[{'anyOf': [{'pattern': '^\\\\s*((https?:\\\\/\\\\/)*([a-zA-Z0-9-]+\\\\.?)+[a-zA-Z]{2,}(:\\\\d+)?(\\\\/[^\\\\s]*)?(\\\\n)?)+$', 'type': 'string'}, {'type': 'null'}]}]" + "Url[{'anyOf': [{'format': 'uri', 'minLength': 1, 'type': 'string'}, {'type': 'null'}]}]" ], "is_list": true, "is_optional": true, diff --git a/hdr_schemata/definitions/HDRUK/Url.py b/hdr_schemata/definitions/HDRUK/Url.py index 6d9864b..99d7f20 100644 --- a/hdr_schemata/definitions/HDRUK/Url.py +++ b/hdr_schemata/definitions/HDRUK/Url.py @@ -1,7 +1,10 @@ from typing import Optional -from pydantic import constr, RootModel +from pydantic import AnyUrl, constr, RootModel class Url(RootModel): + root: Optional[AnyUrl] + +class UrlV2(RootModel): root: Optional[constr(pattern=r'^\s*((https?:\/\/)*([a-zA-Z0-9-]+\.?)+[a-zA-Z]{2,}(:\d+)?(\/[^\s]*)?(\n)?)+$')] diff --git a/hdr_schemata/definitions/HDRUK/__init__.py b/hdr_schemata/definitions/HDRUK/__init__.py index a7cad8a..098832e 100644 --- a/hdr_schemata/definitions/HDRUK/__init__.py +++ b/hdr_schemata/definitions/HDRUK/__init__.py @@ -54,5 +54,5 @@ from .TissueCollectionTypeEnum import TissueCollectionTypeEnum from .TissueDataCategoriesEnum import TissueDataCategoriesEnum from .TwoHundredFiftyFiveCharacters import TwoHundredFiftyFiveCharacters -from .Url import Url +from .Url import Url, UrlV2 from .Uuidv4 import Uuidv4 diff --git a/hdr_schemata/models/HDRUK/2.1.2/schema.json b/hdr_schemata/models/HDRUK/2.1.2/schema.json index c4bcae6..f849a31 100644 --- a/hdr_schemata/models/HDRUK/2.1.2/schema.json +++ b/hdr_schemata/models/HDRUK/2.1.2/schema.json @@ -1736,7 +1736,8 @@ "Url": { "anyOf": [ { - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/2.1.3/schema.json b/hdr_schemata/models/HDRUK/2.1.3/schema.json index 93b0ede..d5cc01d 100644 --- a/hdr_schemata/models/HDRUK/2.1.3/schema.json +++ b/hdr_schemata/models/HDRUK/2.1.3/schema.json @@ -1738,7 +1738,8 @@ "Url": { "anyOf": [ { - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/2.2.0/schema.json b/hdr_schemata/models/HDRUK/2.2.0/schema.json index 39882e3..08b4e5c 100644 --- a/hdr_schemata/models/HDRUK/2.2.0/schema.json +++ b/hdr_schemata/models/HDRUK/2.2.0/schema.json @@ -2118,7 +2118,8 @@ "Url": { "anyOf": [ { - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/2.2.1/schema.json b/hdr_schemata/models/HDRUK/2.2.1/schema.json index d1ba1d2..b8e7a76 100644 --- a/hdr_schemata/models/HDRUK/2.2.1/schema.json +++ b/hdr_schemata/models/HDRUK/2.2.1/schema.json @@ -2159,7 +2159,8 @@ "Url": { "anyOf": [ { - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, { diff --git a/hdr_schemata/models/HDRUK/3.0.0/schema.json b/hdr_schemata/models/HDRUK/3.0.0/schema.json index 0b7f297..566b543 100644 --- a/hdr_schemata/models/HDRUK/3.0.0/schema.json +++ b/hdr_schemata/models/HDRUK/3.0.0/schema.json @@ -1934,7 +1934,7 @@ "url": { "anyOf": [ { - "$ref": "#/$defs/Url" + "$ref": "#/$defs/UrlV2" }, { "type": "null" @@ -2341,7 +2341,8 @@ "Url": { "anyOf": [ { - "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "format": "uri", + "minLength": 1, "type": "string" }, { @@ -2350,6 +2351,18 @@ ], "title": "Url" }, + "UrlV2": { + "anyOf": [ + { + "pattern": "^\\s*((https?:\\/\\/)*([a-zA-Z0-9-]+\\.?)+[a-zA-Z]{2,}(:\\d+)?(\\/[^\\s]*)?(\\n)?)+$", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "UrlV2" + }, "Usage": { "additionalProperties": false, "properties": { diff --git a/hdr_schemata/models/HDRUK/v3_0_0/Revision.py b/hdr_schemata/models/HDRUK/v3_0_0/Revision.py index 243a183..63fcdb6 100644 --- a/hdr_schemata/models/HDRUK/v3_0_0/Revision.py +++ b/hdr_schemata/models/HDRUK/v3_0_0/Revision.py @@ -1,7 +1,7 @@ from typing import Optional from pydantic import BaseModel, Field -from hdr_schemata.definitions.HDRUK import Semver, Url +from hdr_schemata.definitions.HDRUK import Semver, UrlV2 from .annotations import annotations @@ -13,4 +13,4 @@ class Config: extra = "forbid" version: Semver = Field(..., **an.version.__dict__) - url: Optional[Url] = Field(None, **an.url.__dict__) + url: Optional[UrlV2] = Field(None, **an.url.__dict__)