From bea1dcc423dee43361edbe77e13a16b11fb1cd56 Mon Sep 17 00:00:00 2001 From: Simona Carini Date: Tue, 30 Jan 2024 17:13:40 -0800 Subject: [PATCH] Updated acceleration, diastolic blood pressure to reference IEEE schemas, deprecated ambient temperature schema --- schema/omh/acceleration-2.0.json | 47 +++++++++++++++++++ schema/omh/acceleration-2.x.json | 1 + schema/omh/activity-name-1.0.json | 4 +- schema/omh/ambient-temperature-1.0.json | 8 +++- schema/omh/diastolic-blood-pressure-1.1.json | 31 ++++++++++++ schema/omh/diastolic-blood-pressure-1.x.json | 2 +- .../shouldFail/invalid-acceleration-unit.json | 17 +++++++ .../2.0/shouldPass/valid-acceleration.json | 18 +++++++ 8 files changed, 123 insertions(+), 5 deletions(-) create mode 100644 schema/omh/acceleration-2.0.json create mode 120000 schema/omh/acceleration-2.x.json create mode 100644 schema/omh/diastolic-blood-pressure-1.1.json create mode 100644 test-data/omh/acceleration/2.0/shouldFail/invalid-acceleration-unit.json create mode 100644 test-data/omh/acceleration/2.0/shouldPass/valid-acceleration.json diff --git a/schema/omh/acceleration-2.0.json b/schema/omh/acceleration-2.0.json new file mode 100644 index 00000000..d422350f --- /dev/null +++ b/schema/omh/acceleration-2.0.json @@ -0,0 +1,47 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3id.org/openmhealth/schemas/omh/acceleration-1.1.json", + "description": "This schema represents accelerometer measurements. The assumption is a 2-axis accelerometer. For a 3-axis accelerometer, the z measurement should also be required.", + "type": "object", + + "definitions": { + "acceleration_unit_value": { + "$ref": "acceleration-unit-value-1.x.json" + }, + "time_frame": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/time-frame-1.0.json" + }, + "body_location": { + "$ref": "body-location-1.x.json" + }, + "descriptive_statistic": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/descriptive-statistic-1.0.json" + } + }, + + "properties": { + "acceleration_x": { + "$ref": "#/definitions/acceleration_unit_value" + }, + "acceleration_y": { + "$ref": "#/definitions/acceleration_unit_value" + }, + "acceleration_z": { + "$ref": "#/definitions/acceleration_unit_value" + }, + "effective_time_frame": { + "$ref": "#/definitions/time_frame" + }, + "sensor_body_location": { + "$ref": "#/definitions/body_location" + }, + "descriptive_statistic": { + "$ref": "#/definitions/descriptive_statistic" + } + }, + "required": [ + "acceleration_x", + "acceleration_y", + "effective_time_frame" + ] +} \ No newline at end of file diff --git a/schema/omh/acceleration-2.x.json b/schema/omh/acceleration-2.x.json new file mode 120000 index 00000000..6cbf4210 --- /dev/null +++ b/schema/omh/acceleration-2.x.json @@ -0,0 +1 @@ +acceleration-2.0.json \ No newline at end of file diff --git a/schema/omh/activity-name-1.0.json b/schema/omh/activity-name-1.0.json index 32fcc568..8a316f85 100644 --- a/schema/omh/activity-name-1.0.json +++ b/schema/omh/activity-name-1.0.json @@ -1,6 +1,6 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3id.org/openmhealth/schemas/omh/activity-name-1.0.json", "description": "The name(s) of the physical activity(ies) in which the person is engaged. It is recommended that the activity name be drawn from the CDC guidelines to facilitate mapping to standard energy expenditure values (METs)", "references": [ diff --git a/schema/omh/ambient-temperature-1.0.json b/schema/omh/ambient-temperature-1.0.json index 9c6ca098..59fbd4f5 100644 --- a/schema/omh/ambient-temperature-1.0.json +++ b/schema/omh/ambient-temperature-1.0.json @@ -1,6 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema#", - + "$schema": "http://json-schema.org/draft-07/schema#", + "deprecation": { + "reason": "This schema is now deprecated, in favor of the IEEE 1752.1 schema with the same name.", + "supersededBy": "https://w3id.org/ieee/ieee-1752-schema/ambient-temperature.json", + "date": "2022-12-01" + }, "description": "This schema represents the ambient temperature, either a single measurement, or the result of aggregating several measurements made over time (see Descriptive schema for a list of aggregate measures)", "type": "object", "references": [ diff --git a/schema/omh/diastolic-blood-pressure-1.1.json b/schema/omh/diastolic-blood-pressure-1.1.json new file mode 100644 index 00000000..6455dcf9 --- /dev/null +++ b/schema/omh/diastolic-blood-pressure-1.1.json @@ -0,0 +1,31 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3id.org/openmhealth/schemas/omh/diastolic-blood-pressure-1.1.json", + "description": "This schema represents a person's diastolic blood pressure.", + "type": "object", + "references": [ + { + "description": "The SNOMED code represents diastolic blood pressure (observable entity)", + "url": "http://purl.bioontology.org/ontology/SNOMEDCT/271650006" + } + ], + + "definitions": { + "unit_value": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/unit-value-1.0.json" + } + }, + + "allOf": [ + { + "$ref": "#/definitions/unit_value" + }, + { + "properties": { + "unit": { + "enum": ["mmHg"] + } + } + } + ] +} \ No newline at end of file diff --git a/schema/omh/diastolic-blood-pressure-1.x.json b/schema/omh/diastolic-blood-pressure-1.x.json index b9c3dc11..62b2b2b3 120000 --- a/schema/omh/diastolic-blood-pressure-1.x.json +++ b/schema/omh/diastolic-blood-pressure-1.x.json @@ -1 +1 @@ -diastolic-blood-pressure-1.0.json \ No newline at end of file +diastolic-blood-pressure-1.1.json \ No newline at end of file diff --git a/test-data/omh/acceleration/2.0/shouldFail/invalid-acceleration-unit.json b/test-data/omh/acceleration/2.0/shouldFail/invalid-acceleration-unit.json new file mode 100644 index 00000000..03ba5363 --- /dev/null +++ b/test-data/omh/acceleration/2.0/shouldFail/invalid-acceleration-unit.json @@ -0,0 +1,17 @@ +{ + "acceleration_x": { + "value": 0.0596923828125, + "unit": "m/s^2" + }, + "acceleration_y": { + "value": 0.0125, + "unit": "m/s" + }, + "acceleration_z": { + "value": 0.0001, + "unit": "m/s^2" + }, + "effective_time_frame": { + "date_time": "2015-08-18T07:25:00Z" + } +} \ No newline at end of file diff --git a/test-data/omh/acceleration/2.0/shouldPass/valid-acceleration.json b/test-data/omh/acceleration/2.0/shouldPass/valid-acceleration.json new file mode 100644 index 00000000..17cdd0d1 --- /dev/null +++ b/test-data/omh/acceleration/2.0/shouldPass/valid-acceleration.json @@ -0,0 +1,18 @@ +{ + "acceleration_x": { + "value": 0.0596923828125, + "unit": "m/s^2" + }, + "acceleration_y": { + "value": 0.0125, + "unit": "m/s^2" + }, + "acceleration_z": { + "value": 0.0001, + "unit": "m/s^2" + }, + "sensor_body_location": "right wrist", + "effective_time_frame": { + "date_time": "2015-08-18T07:25:00Z" + } +} \ No newline at end of file