-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
904f6a7
commit f5846aa
Showing
16 changed files
with
980 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,312 @@ | ||
{ | ||
"$id": "https://json.schemastore.org/mapehr.json", | ||
"$schema": "http://json-schema.org/draft-07/schema#", | ||
"$comment": "https://mapehr.com", | ||
"title": "MapEHR Mapping", | ||
"description": "Mapping for MapEHR.com v0.1.0", | ||
"type": "object", | ||
"properties": { | ||
"define": { | ||
"$ref": "#/definitions/define", | ||
"description": "Define keys used in the rules. Example: weight: http://loinc.org/29463-7" | ||
}, | ||
"vars": { | ||
"$ref": "#/definitions/vars", | ||
"description": "Define variables used in the rules. Example: default_bmi: randomNormalDistribution((27.6863+25.4960)/2, sqrt(18.65))" | ||
}, | ||
"rules": { | ||
"$ref": "#/definitions/rules", | ||
"description": "Rules for LOINC codes, archetypes, templates." | ||
} | ||
}, | ||
"additionalProperties": false, | ||
"definitions": { | ||
"rules": { | ||
"description": "Rules for a LOINC codes, archetypes, templates.", | ||
"type": "object", | ||
"patternProperties": { | ||
"^.+$": { | ||
"$ref": "#/definitions/rule", | ||
"$comment": "Rules for a LOINC codes, archetypes, templates.", | ||
"description": "Rules for a LOINC codes, archetypes, templates." | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"rule": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^.+$": { | ||
"$ref": "#/definitions/rule_code", | ||
"description": "Rule for a LOINC code, archetype, template." | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"rule_code": { | ||
"type": "object", | ||
"properties": { | ||
"set": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/set" | ||
}, | ||
"title": "Set values of elements." | ||
}, | ||
"define": { | ||
"$ref": "#/definitions/define", | ||
"description": "Define keys used in the rules. Example: weight: http://loinc.org/29463-7" | ||
}, | ||
"vars": { | ||
"$ref": "#/definitions/vars", | ||
"description": "Define variables used in the rules. Example: default_bmi: randomNormalDistribution((27.6863+25.4960)/2, sqrt(18.65))" | ||
}, | ||
"choices": { | ||
"$ref": "#/definitions/choices", | ||
"description": "Define a list of choices from which a random item will be used." | ||
} | ||
}, | ||
"additionalProperties": false, | ||
"required": [ | ||
"set" | ||
] | ||
}, | ||
"set": { | ||
"type": "object", | ||
"properties": { | ||
"attribute": { | ||
"type": "string", | ||
"description": "Used to specify an RM attribute." | ||
}, | ||
"path": { | ||
"type": "string", | ||
"description": "Used to specify an ADL path." | ||
}, | ||
"element": { | ||
"$ref": "#/definitions/element", | ||
"description": "An RM element." | ||
}, | ||
"elements": { | ||
"$ref": "#/definitions/elements", | ||
"description": "RM elements." | ||
}, | ||
"from": { | ||
"$ref": "#/definitions/from", | ||
"description": "Define elements from which the data will be sourced." | ||
}, | ||
"define": { | ||
"$ref": "#/definitions/define", | ||
"description": "Define keys used in the rules. Example: weight: http://loinc.org/29463-7" | ||
}, | ||
"vars": { | ||
"$ref": "#/definitions/vars", | ||
"description": "Define variables used in the rules. Example: default_bmi: randomNormalDistribution((27.6863+25.4960)/2, sqrt(18.65))" | ||
}, | ||
"choices": { | ||
"$ref": "#/definitions/choices", | ||
"description": "Define a list of choices from which a random item will be used." | ||
}, | ||
"value_intervals": { | ||
"$ref": "#/definitions/value_intervals", | ||
"description": "Value intervals for each key (e.g. units)." | ||
}, | ||
"interpretation_intervals": { | ||
"$ref": "#/definitions/interpretation_intervals", | ||
"description": "Interpretation intervals for each key (e.g. units)." | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"elements": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^.+$": { | ||
"oneOf": [ | ||
{ | ||
"$ref": "#/definitions/element", | ||
"description": "An RM element." | ||
}, | ||
{ | ||
"type": "null", | ||
"description": "Leave it empty if you just need to reference this element in a formula." | ||
} | ||
] | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"element": { | ||
"type": "object", | ||
"properties": { | ||
"attribute": { | ||
"type": "string", | ||
"description": "Used to specify an RM attribute." | ||
}, | ||
"path": { | ||
"type": "string", | ||
"description": "Used to specify an ADL path." | ||
}, | ||
"elements": { | ||
"$ref": "#/definitions/elements", | ||
"description": "RM elements." | ||
}, | ||
"value": { | ||
"type": "string", | ||
"description": "Value of the element. Can use formulas." | ||
}, | ||
"value_type": { | ||
"type": "string", | ||
"description": "RM type of the element." | ||
}, | ||
"value_interval": { | ||
"type": "string", | ||
"description": "Value interval." | ||
}, | ||
"value_intervals": { | ||
"$ref": "#/definitions/value_intervals", | ||
"description": "Value intervals for each key (e.g. units)." | ||
}, | ||
"choice_key": { | ||
"type": "string", | ||
"description": "The name of the key in the choices to use for this element." | ||
}, | ||
"interpretation_interval": { | ||
"$ref": "#/definitions/interpretation_interval", | ||
"description": "Interpretation interval for the value." | ||
}, | ||
"interpretation_intervals": { | ||
"$ref": "#/definitions/interpretation_intervals", | ||
"description": "Interpretation intervals for each key (e.g. units)." | ||
}, | ||
"one_of": { | ||
"$ref": "#/definitions/one_of", | ||
"description": "List of keys to look for." | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"value_intervals": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^.+$": { | ||
"$ref": "#/definitions/value_interval" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"value_interval": { | ||
"type": "string" | ||
}, | ||
"interpretation_intervals": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^.+$": { | ||
"$ref": "#/definitions/interpretation_interval" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"interpretation_interval": { | ||
"type": "object", | ||
"properties": { | ||
"low": { | ||
"type": "number", | ||
"description": "Low value of the interpretation interval." | ||
}, | ||
"high": { | ||
"type": "number", | ||
"description": "High value of the interpretation interval." | ||
} | ||
}, | ||
"additionalProperties": false, | ||
"required": [ | ||
"low", | ||
"high" | ||
] | ||
}, | ||
"one_of": { | ||
"type": "array", | ||
"items": { | ||
"type": "string" | ||
} | ||
}, | ||
"from": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/from_item" | ||
} | ||
}, | ||
"from_item": { | ||
"type": "object", | ||
"properties": { | ||
"element": { | ||
"$ref": "#/definitions/element", | ||
"description": "An RM element." | ||
}, | ||
"elements": { | ||
"$ref": "#/definitions/elements", | ||
"description": "RM elements." | ||
}, | ||
"define": { | ||
"$ref": "#/definitions/define", | ||
"description": "Define keys used in the rules. Example: weight: http://loinc.org/29463-7" | ||
}, | ||
"vars": { | ||
"$ref": "#/definitions/vars", | ||
"description": "Define variables used in the rules. Example: default_bmi: randomNormalDistribution((27.6863+25.4960)/2, sqrt(18.65))" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"choices": { | ||
"type": "array", | ||
"items": { | ||
"$ref": "#/definitions/choices_map" | ||
} | ||
}, | ||
"choices_map": { | ||
"type": "object", | ||
"$ref": "#/definitions/choices_map_entry" | ||
}, | ||
"choices_map_entry": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^.+$": { | ||
"anyOf": [ | ||
{ | ||
"type": "boolean" | ||
}, | ||
{ | ||
"type": "number" | ||
}, | ||
{ | ||
"type": "string" | ||
}, | ||
{ | ||
"$ref": "#/definitions/choices_map_entry" | ||
} | ||
] | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"define": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^.+$": { | ||
"type": "string" | ||
} | ||
}, | ||
"additionalProperties": false | ||
}, | ||
"vars": { | ||
"type": "object", | ||
"patternProperties": { | ||
"^.+$": { | ||
"type": "string" | ||
} | ||
}, | ||
"additionalProperties": false | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
rules: | ||
loinc: | ||
# Blood pressure (with ranges) | ||
35094-2: # http://loinc.org/35094-2 | ||
set: | ||
- attribute: data | ||
elements: | ||
systolic: | ||
value_type: Measured<Quantity> | ||
diastolic: | ||
value_type: Measured<Quantity> | ||
define: | ||
systolic: http://loinc.org/8480-6 | ||
diastolic: http://loinc.org/8462-4 | ||
choices: | ||
- systolic: 140..180 | ||
diastolic: 95..115 | ||
- systolic: 115..130 | ||
diastolic: 80.. 90 | ||
- systolic: 90..110 | ||
diastolic: 55.. 75 | ||
interpretation_intervals: | ||
systolic: | ||
low: 110 | ||
high: 160 | ||
diastolic: | ||
low: 70 | ||
high: 105 | ||
- attribute: qualifiers | ||
elements: | ||
device: | ||
attribute: items | ||
elements: | ||
device_name: | ||
value_type: Plain_text | ||
choice_key: description | ||
medical_device_type: | ||
value_type: Coded_text | ||
define: | ||
device: http://loinc.org/82307-0 | ||
device_name: http://loinc.org/74720-4 | ||
medical_device_type: http://loinc.org/66464-9 | ||
choices: | ||
- code: http://snomed.info/id/309641003 | ||
description: Aneroid sphygmomanometer | ||
- code: http://snomed.info/id/466093008 | ||
description: Automatic-inflation electronic sphygmomanometer, non-portable | ||
- code: http://snomed.info/id/466086009 | ||
description: Automatic-inflation electronic sphygmomanometer, portable, arm/wrist | ||
- code: http://snomed.info/id/466139008 | ||
description: Automatic-inflation electronic sphygmomanometer, portable, finger | ||
- code: http://snomed.info/id/43770009 | ||
description: Doppler device | ||
- code: http://snomed.info/id/469801002 | ||
description: Invasive blood pressure monitor | ||
- code: http://snomed.info/id/469311001 | ||
description: Manual-inflation electronic sphygmomanometer, non-portable | ||
- code: http://snomed.info/id/469676006 | ||
description: Manual-inflation electronic sphygmomanometer, portable | ||
- code: http://snomed.info/id/309642005 | ||
description: Mercury sphygmomanometer | ||
- code: http://snomed.info/id/258057004 | ||
description: Non-invasive blood pressure monitor |
Oops, something went wrong.