From 36078a89e5e5efeba8dfc590a81cc42fd140c815 Mon Sep 17 00:00:00 2001 From: Emerson Farrugia Date: Sat, 17 Aug 2024 16:18:23 +0200 Subject: [PATCH] Restore IEEE schemas (#34) * Revert "Revert "Feature/reference ieee schemas"" This reverts commit fea0cd9ab4da95128b484c64d33dce2976faa412. * Update .gitignore --- .gitignore | 4 +- schema/omh/body-fat-percentage-2.0.json | 40 ++++++++++++ schema/omh/body-fat-percentage-2.x.json | 1 + schema/omh/body-height-2.0.json | 40 ++++++++++++ schema/omh/body-height-2.x.json | 1 + schema/omh/body-location-1.1.json | 27 ++++++++ schema/omh/body-location-1.x.json | 2 +- schema/omh/body-mass-index-3.0.json | 57 +++++++++++++++++ schema/omh/body-mass-index-3.x.json | 1 + schema/omh/body-temperature-4.0.json | 64 +++++++++++++++++++ schema/omh/body-temperature-4.x.json | 1 + schema/omh/body-weight-3.0.json | 41 ++++++++++++ schema/omh/body-weight-3.x.json | 1 + schema/omh/temperature-unit-value-1.0.json | 5 ++ .../2.0/shouldFail/empty-document.json | 1 + .../2.0/shouldFail/invalid-unit.json | 9 +++ .../2.0/shouldFail/missing-time-frame.json | 6 ++ .../shouldPass/body-fat-percentage-only.json | 9 +++ .../2.0/shouldPass/with-statistic.json | 13 ++++ .../2.0/shouldFail/empty-document.json | 1 + .../2.0/shouldFail/missing-time-frame.json | 6 ++ .../2.0/shouldFail/with-part-of-day.json | 12 ++++ .../2.0/shouldPass/body-height-only.json | 9 +++ .../with-descriptive-statistic.json | 13 ++++ .../3.0/shouldFail/empty-document.json | 1 + .../3.0/shouldFail/missing-time-frame.json | 6 ++ .../3.0/shouldPass/valid-body-mass-index.json | 9 +++ .../3.0/shouldPass/with-everything.json | 13 ++++ .../4.0/shouldFail/empty-document.json | 1 + .../4.0/shouldFail/invalid-unit.json | 9 +++ .../missing-effective-time-frame.json | 6 ++ .../4.0/shouldPass/basal-temperature.json | 10 +++ .../valid-temperature-with-statistic.json | 14 ++++ .../4.0/shouldPass/valid-temperature.json | 10 +++ .../3.0/shouldFail/empty-document.json | 1 + .../invalid-descriptive-statistic.json | 13 ++++ .../3.0/shouldFail/invalid-time-frame.json | 10 +++ .../3.0/shouldFail/invalid-time-interval.json | 12 ++++ .../3.0/shouldFail/invalid-unit.json | 9 +++ .../shouldFail/missing-body-weight-unit.json | 8 +++ .../shouldFail/missing-body-weight-value.json | 8 +++ .../3.0/shouldPass/body-weight-only.json | 9 +++ .../with-descriptive-statistic.json | 13 ++++ 43 files changed, 524 insertions(+), 2 deletions(-) create mode 100644 schema/omh/body-fat-percentage-2.0.json create mode 120000 schema/omh/body-fat-percentage-2.x.json create mode 100644 schema/omh/body-height-2.0.json create mode 120000 schema/omh/body-height-2.x.json create mode 100644 schema/omh/body-location-1.1.json create mode 100644 schema/omh/body-mass-index-3.0.json create mode 120000 schema/omh/body-mass-index-3.x.json create mode 100644 schema/omh/body-temperature-4.0.json create mode 120000 schema/omh/body-temperature-4.x.json create mode 100644 schema/omh/body-weight-3.0.json create mode 120000 schema/omh/body-weight-3.x.json create mode 100644 test-data/omh/body-fat-percentage/2.0/shouldFail/empty-document.json create mode 100644 test-data/omh/body-fat-percentage/2.0/shouldFail/invalid-unit.json create mode 100644 test-data/omh/body-fat-percentage/2.0/shouldFail/missing-time-frame.json create mode 100644 test-data/omh/body-fat-percentage/2.0/shouldPass/body-fat-percentage-only.json create mode 100644 test-data/omh/body-fat-percentage/2.0/shouldPass/with-statistic.json create mode 100644 test-data/omh/body-height/2.0/shouldFail/empty-document.json create mode 100644 test-data/omh/body-height/2.0/shouldFail/missing-time-frame.json create mode 100644 test-data/omh/body-height/2.0/shouldFail/with-part-of-day.json create mode 100644 test-data/omh/body-height/2.0/shouldPass/body-height-only.json create mode 100644 test-data/omh/body-height/2.0/shouldPass/with-descriptive-statistic.json create mode 100644 test-data/omh/body-mass-index/3.0/shouldFail/empty-document.json create mode 100644 test-data/omh/body-mass-index/3.0/shouldFail/missing-time-frame.json create mode 100644 test-data/omh/body-mass-index/3.0/shouldPass/valid-body-mass-index.json create mode 100644 test-data/omh/body-mass-index/3.0/shouldPass/with-everything.json create mode 100644 test-data/omh/body-temperature/4.0/shouldFail/empty-document.json create mode 100644 test-data/omh/body-temperature/4.0/shouldFail/invalid-unit.json create mode 100644 test-data/omh/body-temperature/4.0/shouldFail/missing-effective-time-frame.json create mode 100644 test-data/omh/body-temperature/4.0/shouldPass/basal-temperature.json create mode 100644 test-data/omh/body-temperature/4.0/shouldPass/valid-temperature-with-statistic.json create mode 100644 test-data/omh/body-temperature/4.0/shouldPass/valid-temperature.json create mode 100644 test-data/omh/body-weight/3.0/shouldFail/empty-document.json create mode 100644 test-data/omh/body-weight/3.0/shouldFail/invalid-descriptive-statistic.json create mode 100644 test-data/omh/body-weight/3.0/shouldFail/invalid-time-frame.json create mode 100644 test-data/omh/body-weight/3.0/shouldFail/invalid-time-interval.json create mode 100644 test-data/omh/body-weight/3.0/shouldFail/invalid-unit.json create mode 100644 test-data/omh/body-weight/3.0/shouldFail/missing-body-weight-unit.json create mode 100644 test-data/omh/body-weight/3.0/shouldFail/missing-body-weight-value.json create mode 100644 test-data/omh/body-weight/3.0/shouldPass/body-weight-only.json create mode 100644 test-data/omh/body-weight/3.0/shouldPass/with-descriptive-statistic.json diff --git a/.gitignore b/.gitignore index af9bb0b9..428b7f28 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ + .gradle/ -build/ __pycache__/ +build/ +/test-data-validator/venv/ ### macOS ### .DS_Store diff --git a/schema/omh/body-fat-percentage-2.0.json b/schema/omh/body-fat-percentage-2.0.json new file mode 100644 index 00000000..b1f98deb --- /dev/null +++ b/schema/omh/body-fat-percentage-2.0.json @@ -0,0 +1,40 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3id.org/openmhealth/schemas/omh/body-fat-percentage-2.0.json", + "description": "This schema represents a person's body fat percentage.", + "type": "object", + "references": [ + { + "description": "The LOINC code represents Body fat percentage:Mass Fraction:Point in time:^Patient:Quantitative:Measured", + "url": "http://purl.bioontology.org/ontology/LNC/41982-0" + } + ], + "definitions": { + "percent-unit_value": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/percent-unit-value-1.0.json" + }, + "time_frame": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/time-frame-1.0.json" + }, + "descriptive_statistic": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/descriptive-statistic-1.0.json" + } + }, + + "properties": { + "body_fat_percentage": { + "$ref": "#/definitions/percent-unit_value" + }, + "effective_time_frame": { + "$ref": "#/definitions/time_frame" + }, + "descriptive_statistic": { + "$ref": "#/definitions/descriptive_statistic" + } + }, + + "required": [ + "body_fat_percentage", + "effective_time_frame" + ] +} \ No newline at end of file diff --git a/schema/omh/body-fat-percentage-2.x.json b/schema/omh/body-fat-percentage-2.x.json new file mode 120000 index 00000000..310921a7 --- /dev/null +++ b/schema/omh/body-fat-percentage-2.x.json @@ -0,0 +1 @@ +body-fat-percentage-2.0.json \ No newline at end of file diff --git a/schema/omh/body-height-2.0.json b/schema/omh/body-height-2.0.json new file mode 100644 index 00000000..e740753f --- /dev/null +++ b/schema/omh/body-height-2.0.json @@ -0,0 +1,40 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3id.org/openmhealth/schemas/omh/body-height-2.0.json", + "description": "This schema represents a person's body height.", + "type": "object", + "references": [ + { + "description": "The SNOMED code represents Body height measure (observable entity)", + "url": "http://purl.bioontology.org/ontology/SNOMEDCT/50373000" + } + ], + "definitions": { + "length_unit_value": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/length-unit-value-1.0.json" + }, + "time_frame": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/time-frame-1.0.json" + }, + "descriptive_statistic": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/descriptive-statistic-1.0.json" + } + }, + + "properties": { + "body_height": { + "$ref": "#/definitions/length_unit_value" + }, + "effective_time_frame": { + "$ref": "#/definitions/time_frame" + }, + "descriptive_statistic": { + "$ref": "#/definitions/descriptive_statistic" + } + }, + + "required": [ + "body_height", + "effective_time_frame" + ] +} \ No newline at end of file diff --git a/schema/omh/body-height-2.x.json b/schema/omh/body-height-2.x.json new file mode 120000 index 00000000..58a1af07 --- /dev/null +++ b/schema/omh/body-height-2.x.json @@ -0,0 +1 @@ +body-height-2.0.json \ No newline at end of file diff --git a/schema/omh/body-location-1.1.json b/schema/omh/body-location-1.1.json new file mode 100644 index 00000000..60a5a08e --- /dev/null +++ b/schema/omh/body-location-1.1.json @@ -0,0 +1,27 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3id.org/openmhealth/schemas/omh/body-location-1.1.json", + "description": "A location on the body. This is an incomplete value set. Values from the Anatomical or acquired body structure hierarchy of SNOMED can be added as needed.", + "type": "string", + "references": [ + { + "description": "The SNOMED code represents Anatomical or acquired body structure (body structure)", + "url": "http://purl.bioontology.org/ontology/SNOMEDCT/442083009" + } + ], + + "enum": [ + "left ankle", + "right ankle", + "left hip", + "right hip", + "left thigh", + "right thigh", + "left thorax", + "middle left thorax", + "left upper arm", + "right upper arm", + "left wrist", + "right wrist" + ] +} \ No newline at end of file diff --git a/schema/omh/body-location-1.x.json b/schema/omh/body-location-1.x.json index 6e965753..887ed0b8 120000 --- a/schema/omh/body-location-1.x.json +++ b/schema/omh/body-location-1.x.json @@ -1 +1 @@ -body-location-1.0.json \ No newline at end of file +body-location-1.1.json \ No newline at end of file diff --git a/schema/omh/body-mass-index-3.0.json b/schema/omh/body-mass-index-3.0.json new file mode 100644 index 00000000..a3624c6e --- /dev/null +++ b/schema/omh/body-mass-index-3.0.json @@ -0,0 +1,57 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3id.org/openmhealth/schemas/omh/body-mass-index-3.0.json", + "description": "This schema represents a person's body mass index (BMI)", + "type": "object", + "references": [ + { + "description": "The SNOMED code represents Body mass index (observable entity)", + "url": "http://purl.bioontology.org/ontology/SNOMEDCT/60621009" + } + ], + "definitions": { + "unit_value": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/unit-value-1.0.json" + }, + "time_frame": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/time-frame-1.0.json" + }, + "descriptive_statistic": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/descriptive-statistic-1.0.json" + } + }, + + "properties": { + "body_mass_index": { + "allOf": [ + { + "$ref": "#/definitions/unit_value" + }, + { + "properties": { + "unit": { + "references": [ + { + "description": "The unit of measure the element. Allowed value is drawn from the Areic mass Units Common Synonyms (non-UCUM).", + "url": "http://download.hl7.de/documents/ucum/ucumdata.html" + } + ], + "enum": ["kg/m^2"] + } + } + } + ] + }, + "effective_time_frame": { + "$ref": "#/definitions/time_frame" + }, + "descriptive_statistic": { + "$ref": "#/definitions/descriptive_statistic" + } + }, + + "required": [ + "body_mass_index", + "effective_time_frame" + ] +} \ No newline at end of file diff --git a/schema/omh/body-mass-index-3.x.json b/schema/omh/body-mass-index-3.x.json new file mode 120000 index 00000000..670881ea --- /dev/null +++ b/schema/omh/body-mass-index-3.x.json @@ -0,0 +1 @@ +body-mass-index-3.0.json \ No newline at end of file diff --git a/schema/omh/body-temperature-4.0.json b/schema/omh/body-temperature-4.0.json new file mode 100644 index 00000000..3331eb22 --- /dev/null +++ b/schema/omh/body-temperature-4.0.json @@ -0,0 +1,64 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3id.org/openmhealth/schemas/omh/body-temperature-4.0.json", + "description": "This schema represents a person's body temperature.", + "type": "object", + "references": [ + { + "description": "The SNOMED code represents body temperature (observable entity)", + "url": "http://purl.bioontology.org/ontology/SNOMEDCT/386725007" + } + ], + + "definitions": { + "temperature_unit_value": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/temperature-unit-value-1.0.json" + }, + "time_frame": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/time-frame-1.0.json" + }, + "temporal_relationship_to_sleep": { + "$ref": "temporal-relationship-to-sleep-1.x.json" + }, + "descriptive_statistic": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/descriptive-statistic-1.0.json" + } + }, + + "properties": { + "body_temperature": { + "$ref": "#/definitions/temperature_unit_value" + }, + "effective_time_frame": { + "$ref": "#/definitions/time_frame" + }, + "descriptive_statistic": { + "$ref": "#/definitions/descriptive_statistic" + }, + "measurement_location": { + "description": "The value set is taken from SNOMED CT and LOINC. For common temperature locations, the adjective is used rather than the actual location name (e.g., axillary rather than armpit). Forehead indicates the use of a disposable strip.", + "type": "string", + "enum": [ + "axillary", + "finger", + "forehead", + "oral", + "rectal", + "temporal artery", + "toe", + "tympanic", + "wrist", + "vagina" + ] + }, + + "temporal_relationship_to_sleep": { + "description": "The temporal relationship to sleep of the temperature measurement(s). The lowest body temperature attained during rest, usually estimated by a temperature measurement immediately on waking up and before any physical activity has been undertaken is called basal temperature.", + "$ref": "#/definitions/temporal_relationship_to_sleep" + } + }, + "required": [ + "body_temperature", + "effective_time_frame" + ] +} \ No newline at end of file diff --git a/schema/omh/body-temperature-4.x.json b/schema/omh/body-temperature-4.x.json new file mode 120000 index 00000000..b9e3fbd2 --- /dev/null +++ b/schema/omh/body-temperature-4.x.json @@ -0,0 +1 @@ +body-temperature-4.0.json \ No newline at end of file diff --git a/schema/omh/body-weight-3.0.json b/schema/omh/body-weight-3.0.json new file mode 100644 index 00000000..de0f942a --- /dev/null +++ b/schema/omh/body-weight-3.0.json @@ -0,0 +1,41 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://w3id.org/openmhealth/schemas/omh/body-weight-2.0.json", + "description": "This schema represents a person's body weight.", + + "type": "object", + "references": [ + { + "description": "The SNOMED code represents Body weight measure (observable entity)", + "url": "http://purl.bioontology.org/ontology/SNOMEDCT/363808001" + } + ], + "definitions": { + "mass_unit_value": { + "$ref": "mass-unit-value-1.x.json" + }, + "time_frame": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/time-frame-1.0.json" + }, + "descriptive_statistic": { + "$ref": "https://w3id.org/ieee/ieee-1752-schema/descriptive-statistic-1.0.json" + } + }, + + "properties": { + "body_weight": { + "$ref": "#/definitions/mass_unit_value" + }, + "effective_time_frame": { + "$ref": "#/definitions/time_frame" + }, + "descriptive_statistic": { + "$ref": "#/definitions/descriptive_statistic" + } + }, + + "required": [ + "body_weight", + "effective_time_frame" + ] +} \ No newline at end of file diff --git a/schema/omh/body-weight-3.x.json b/schema/omh/body-weight-3.x.json new file mode 120000 index 00000000..7de0b0ff --- /dev/null +++ b/schema/omh/body-weight-3.x.json @@ -0,0 +1 @@ +body-weight-3.0.json \ No newline at end of file diff --git a/schema/omh/temperature-unit-value-1.0.json b/schema/omh/temperature-unit-value-1.0.json index 13333c15..74d90617 100644 --- a/schema/omh/temperature-unit-value-1.0.json +++ b/schema/omh/temperature-unit-value-1.0.json @@ -1,5 +1,10 @@ { "$schema": "http://json-schema.org/draft-04/schema#", + "deprecation": { + "reason": "This schema is now deprecated, in favor of the IEEE 1752.1 schema of the same name.", + "supersededBy": "https://w3id.org/ieee/ieee-1752-schema/temperature-unit-value.json", + "date": "2024-01-31" + }, "type": "object", "description": "This schema represents a temperature (intensity of heat)", "references": [ diff --git a/test-data/omh/body-fat-percentage/2.0/shouldFail/empty-document.json b/test-data/omh/body-fat-percentage/2.0/shouldFail/empty-document.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/test-data/omh/body-fat-percentage/2.0/shouldFail/empty-document.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test-data/omh/body-fat-percentage/2.0/shouldFail/invalid-unit.json b/test-data/omh/body-fat-percentage/2.0/shouldFail/invalid-unit.json new file mode 100644 index 00000000..d1c7fb30 --- /dev/null +++ b/test-data/omh/body-fat-percentage/2.0/shouldFail/invalid-unit.json @@ -0,0 +1,9 @@ +{ + "body_fat_percentage": { + "value": 16, + "unit": "kg" + }, + "effective_time_frame": { + "date_time": "2023-02-05T07:25:00Z" + } +} \ No newline at end of file diff --git a/test-data/omh/body-fat-percentage/2.0/shouldFail/missing-time-frame.json b/test-data/omh/body-fat-percentage/2.0/shouldFail/missing-time-frame.json new file mode 100644 index 00000000..eb45e678 --- /dev/null +++ b/test-data/omh/body-fat-percentage/2.0/shouldFail/missing-time-frame.json @@ -0,0 +1,6 @@ +{ + "body_fat_percentage": { + "value": 16, + "unit": "%" + } +} \ No newline at end of file diff --git a/test-data/omh/body-fat-percentage/2.0/shouldPass/body-fat-percentage-only.json b/test-data/omh/body-fat-percentage/2.0/shouldPass/body-fat-percentage-only.json new file mode 100644 index 00000000..60831b38 --- /dev/null +++ b/test-data/omh/body-fat-percentage/2.0/shouldPass/body-fat-percentage-only.json @@ -0,0 +1,9 @@ +{ + "body_fat_percentage": { + "value": 16, + "unit": "%" + }, + "effective_time_frame": { + "date_time": "2023-02-05T07:25:00-08:00" + } +} \ No newline at end of file diff --git a/test-data/omh/body-fat-percentage/2.0/shouldPass/with-statistic.json b/test-data/omh/body-fat-percentage/2.0/shouldPass/with-statistic.json new file mode 100644 index 00000000..d10f72c4 --- /dev/null +++ b/test-data/omh/body-fat-percentage/2.0/shouldPass/with-statistic.json @@ -0,0 +1,13 @@ +{ + "body_fat_percentage": { + "value": 16, + "unit": "%" + }, + "effective_time_frame": { + "time_interval": { + "start_date_time": "2023-01-01T00:00:00Z", + "end_date_time": "2023-12-31T23:59:59Z" + } + }, + "descriptive_statistic": "maximum" +} \ No newline at end of file diff --git a/test-data/omh/body-height/2.0/shouldFail/empty-document.json b/test-data/omh/body-height/2.0/shouldFail/empty-document.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/test-data/omh/body-height/2.0/shouldFail/empty-document.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test-data/omh/body-height/2.0/shouldFail/missing-time-frame.json b/test-data/omh/body-height/2.0/shouldFail/missing-time-frame.json new file mode 100644 index 00000000..16404a47 --- /dev/null +++ b/test-data/omh/body-height/2.0/shouldFail/missing-time-frame.json @@ -0,0 +1,6 @@ +{ + "body_height": { + "value": 180, + "unit": "cm" + } +} \ No newline at end of file diff --git a/test-data/omh/body-height/2.0/shouldFail/with-part-of-day.json b/test-data/omh/body-height/2.0/shouldFail/with-part-of-day.json new file mode 100644 index 00000000..40a764eb --- /dev/null +++ b/test-data/omh/body-height/2.0/shouldFail/with-part-of-day.json @@ -0,0 +1,12 @@ +{ + "body_height": { + "value": 180, + "unit": "cm" + }, + "effective_time_frame": { + "time_interval": { + "date": "2023-02-05", + "part_of_day": "morning" + } + } +} \ No newline at end of file diff --git a/test-data/omh/body-height/2.0/shouldPass/body-height-only.json b/test-data/omh/body-height/2.0/shouldPass/body-height-only.json new file mode 100644 index 00000000..c58a235e --- /dev/null +++ b/test-data/omh/body-height/2.0/shouldPass/body-height-only.json @@ -0,0 +1,9 @@ +{ + "body_height": { + "value": 180, + "unit": "cm" + }, + "effective_time_frame": { + "date_time": "2023-02-05T07:25:00Z" + } +} \ No newline at end of file diff --git a/test-data/omh/body-height/2.0/shouldPass/with-descriptive-statistic.json b/test-data/omh/body-height/2.0/shouldPass/with-descriptive-statistic.json new file mode 100644 index 00000000..77da5825 --- /dev/null +++ b/test-data/omh/body-height/2.0/shouldPass/with-descriptive-statistic.json @@ -0,0 +1,13 @@ +{ + "body_height": { + "value": 180, + "unit": "cm" + }, + "effective_time_frame": { + "time_interval": { + "start_date_time": "2023-01-01T00:00:00Z", + "end_date_time": "2023-12-31T23:59:59Z" + } + }, + "descriptive_statistic": "maximum" +} \ No newline at end of file diff --git a/test-data/omh/body-mass-index/3.0/shouldFail/empty-document.json b/test-data/omh/body-mass-index/3.0/shouldFail/empty-document.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/test-data/omh/body-mass-index/3.0/shouldFail/empty-document.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test-data/omh/body-mass-index/3.0/shouldFail/missing-time-frame.json b/test-data/omh/body-mass-index/3.0/shouldFail/missing-time-frame.json new file mode 100644 index 00000000..813f0fbb --- /dev/null +++ b/test-data/omh/body-mass-index/3.0/shouldFail/missing-time-frame.json @@ -0,0 +1,6 @@ +{ + "body_mass_index": { + "value": 16, + "unit": "kg/m^2" + } +} \ No newline at end of file diff --git a/test-data/omh/body-mass-index/3.0/shouldPass/valid-body-mass-index.json b/test-data/omh/body-mass-index/3.0/shouldPass/valid-body-mass-index.json new file mode 100644 index 00000000..f35920a0 --- /dev/null +++ b/test-data/omh/body-mass-index/3.0/shouldPass/valid-body-mass-index.json @@ -0,0 +1,9 @@ +{ + "body_mass_index": { + "value": 16, + "unit": "kg/m^2" + }, + "effective_time_frame": { + "date_time": "2024-01-01T00:00:00Z" + } +} \ No newline at end of file diff --git a/test-data/omh/body-mass-index/3.0/shouldPass/with-everything.json b/test-data/omh/body-mass-index/3.0/shouldPass/with-everything.json new file mode 100644 index 00000000..9751cc42 --- /dev/null +++ b/test-data/omh/body-mass-index/3.0/shouldPass/with-everything.json @@ -0,0 +1,13 @@ +{ + "body_mass_index": { + "value": 16, + "unit": "kg/m^2" + }, + "effective_time_frame": { + "time_interval": { + "start_date_time": "2023-01-01T00:00:00Z", + "end_date_time": "2023-12-31T23:59:59Z" + } + }, + "descriptive_statistic": "maximum" +} \ No newline at end of file diff --git a/test-data/omh/body-temperature/4.0/shouldFail/empty-document.json b/test-data/omh/body-temperature/4.0/shouldFail/empty-document.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/test-data/omh/body-temperature/4.0/shouldFail/empty-document.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test-data/omh/body-temperature/4.0/shouldFail/invalid-unit.json b/test-data/omh/body-temperature/4.0/shouldFail/invalid-unit.json new file mode 100644 index 00000000..2bbe6ad9 --- /dev/null +++ b/test-data/omh/body-temperature/4.0/shouldFail/invalid-unit.json @@ -0,0 +1,9 @@ +{ + "body_temperature": { + "value": 36, + "unit": "G" + }, + "effective_time_frame": { + "date_time": "2013-02-05T07:25:00Z" + } +} \ No newline at end of file diff --git a/test-data/omh/body-temperature/4.0/shouldFail/missing-effective-time-frame.json b/test-data/omh/body-temperature/4.0/shouldFail/missing-effective-time-frame.json new file mode 100644 index 00000000..4fb3237e --- /dev/null +++ b/test-data/omh/body-temperature/4.0/shouldFail/missing-effective-time-frame.json @@ -0,0 +1,6 @@ +{ + "body_temperature": { + "value": 36, + "unit": "C" + } +} \ No newline at end of file diff --git a/test-data/omh/body-temperature/4.0/shouldPass/basal-temperature.json b/test-data/omh/body-temperature/4.0/shouldPass/basal-temperature.json new file mode 100644 index 00000000..417d61a9 --- /dev/null +++ b/test-data/omh/body-temperature/4.0/shouldPass/basal-temperature.json @@ -0,0 +1,10 @@ +{ + "body_temperature": { + "value": 96.5, + "unit": "F" + }, + "effective_time_frame": { + "date_time": "2023-02-05T06:25:00Z" + }, + "temporal_relationship_to_sleep": "on waking" +} \ No newline at end of file diff --git a/test-data/omh/body-temperature/4.0/shouldPass/valid-temperature-with-statistic.json b/test-data/omh/body-temperature/4.0/shouldPass/valid-temperature-with-statistic.json new file mode 100644 index 00000000..f63886b2 --- /dev/null +++ b/test-data/omh/body-temperature/4.0/shouldPass/valid-temperature-with-statistic.json @@ -0,0 +1,14 @@ +{ + "body_temperature": { + "value": 96.5, + "unit": "F" + }, + "effective_time_frame": { + "time_interval": { + "start_date_time": "2023-02-05T06:00:00-08:00", + "end_date_time": "2020-03-06T06:00:00-08:00" + } + }, + "measurement_location": "oral", + "descriptive_statistic": "maximum" +} \ No newline at end of file diff --git a/test-data/omh/body-temperature/4.0/shouldPass/valid-temperature.json b/test-data/omh/body-temperature/4.0/shouldPass/valid-temperature.json new file mode 100644 index 00000000..54065675 --- /dev/null +++ b/test-data/omh/body-temperature/4.0/shouldPass/valid-temperature.json @@ -0,0 +1,10 @@ +{ + "body_temperature": { + "value": 97, + "unit": "F" + }, + "effective_time_frame": { + "date_time": "2023-02-05T07:25:00+01:00" + }, + "measurement_location": "forehead" +} \ No newline at end of file diff --git a/test-data/omh/body-weight/3.0/shouldFail/empty-document.json b/test-data/omh/body-weight/3.0/shouldFail/empty-document.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/test-data/omh/body-weight/3.0/shouldFail/empty-document.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test-data/omh/body-weight/3.0/shouldFail/invalid-descriptive-statistic.json b/test-data/omh/body-weight/3.0/shouldFail/invalid-descriptive-statistic.json new file mode 100644 index 00000000..07630468 --- /dev/null +++ b/test-data/omh/body-weight/3.0/shouldFail/invalid-descriptive-statistic.json @@ -0,0 +1,13 @@ +{ + "body_weight": { + "value": 115.5, + "unit": "lb" + }, + "effective_time_frame": { + "time_interval": { + "start_date_time": "2013-02-05T07:25:00Z", + "end_date_time": "2013-06-05T07:25:00Z" + } + }, + "descriptive_statistic": "minmum" +} \ No newline at end of file diff --git a/test-data/omh/body-weight/3.0/shouldFail/invalid-time-frame.json b/test-data/omh/body-weight/3.0/shouldFail/invalid-time-frame.json new file mode 100644 index 00000000..0fbc6a7d --- /dev/null +++ b/test-data/omh/body-weight/3.0/shouldFail/invalid-time-frame.json @@ -0,0 +1,10 @@ +{ + "body_weight": { + "value": 50, + "unit": "kg" + }, + "effective_time_frame": { + "start_date_time": "2013-02-05T07:25:00Z" + }, + "descriptive_statistic": "minimum" +} \ No newline at end of file diff --git a/test-data/omh/body-weight/3.0/shouldFail/invalid-time-interval.json b/test-data/omh/body-weight/3.0/shouldFail/invalid-time-interval.json new file mode 100644 index 00000000..43d255c2 --- /dev/null +++ b/test-data/omh/body-weight/3.0/shouldFail/invalid-time-interval.json @@ -0,0 +1,12 @@ +{ + "body_weight": { + "value": 50, + "unit": "kg" + }, + "effective_time_frame": { + "time_interval": { + "start_date_time": "2013-02-05T07:25:00Z" + } + }, + "descriptive_statistic": "minimum" +} \ No newline at end of file diff --git a/test-data/omh/body-weight/3.0/shouldFail/invalid-unit.json b/test-data/omh/body-weight/3.0/shouldFail/invalid-unit.json new file mode 100644 index 00000000..d2c6b5a5 --- /dev/null +++ b/test-data/omh/body-weight/3.0/shouldFail/invalid-unit.json @@ -0,0 +1,9 @@ +{ + "body_weight": { + "value": 50, + "unit": "km" + }, + "effective_time_frame": { + "date_time": "2020-02-05T09:25:00-08:00" + } +} \ No newline at end of file diff --git a/test-data/omh/body-weight/3.0/shouldFail/missing-body-weight-unit.json b/test-data/omh/body-weight/3.0/shouldFail/missing-body-weight-unit.json new file mode 100644 index 00000000..b92e94e4 --- /dev/null +++ b/test-data/omh/body-weight/3.0/shouldFail/missing-body-weight-unit.json @@ -0,0 +1,8 @@ +{ + "body_weight": { + "value": 50 + }, + "effective_time_frame": { + "date_time": "2020-02-05T09:25:00-08:00" + } +} \ No newline at end of file diff --git a/test-data/omh/body-weight/3.0/shouldFail/missing-body-weight-value.json b/test-data/omh/body-weight/3.0/shouldFail/missing-body-weight-value.json new file mode 100644 index 00000000..dc766f7e --- /dev/null +++ b/test-data/omh/body-weight/3.0/shouldFail/missing-body-weight-value.json @@ -0,0 +1,8 @@ +{ + "body_weight": { + "unit": "kg" + }, + "effective_time_frame": { + "date_time": "2020-02-05T09:25:00-08:00" + } +} \ No newline at end of file diff --git a/test-data/omh/body-weight/3.0/shouldPass/body-weight-only.json b/test-data/omh/body-weight/3.0/shouldPass/body-weight-only.json new file mode 100644 index 00000000..195b0e39 --- /dev/null +++ b/test-data/omh/body-weight/3.0/shouldPass/body-weight-only.json @@ -0,0 +1,9 @@ +{ + "body_weight": { + "value": 50, + "unit": "kg" + }, + "effective_time_frame": { + "date_time": "2020-02-05T09:45:00-08:00" + } +} \ No newline at end of file diff --git a/test-data/omh/body-weight/3.0/shouldPass/with-descriptive-statistic.json b/test-data/omh/body-weight/3.0/shouldPass/with-descriptive-statistic.json new file mode 100644 index 00000000..d4fcd21f --- /dev/null +++ b/test-data/omh/body-weight/3.0/shouldPass/with-descriptive-statistic.json @@ -0,0 +1,13 @@ +{ + "body_weight": { + "value": 49.5, + "unit": "kg" + }, + "effective_time_frame": { + "time_interval": { + "start_date_time": "2020-02-05T09:45:00-08:00", + "end_date_time": "2020-03-05T10:40:00-08:00" + } + }, + "descriptive_statistic": "minimum" +} \ No newline at end of file