That looks very verbose if you are looking for streamlined formats and a single level model. I’d guess most developers would consider the e.g. structSDT format described in Simplified Data Template (SDT) simpler to work with, see example below. It is autogenerated from templates and has sensible defaults for many use cases.
{
"ctx": {
"language": "en",
"territory": "SI",
"composer_name": "matijak_test"
},
"vitals": {
"vitals": [
{
"body_temperature": [
{
"any_event": [
{
"description_of_thermal_stress": [
"Test description of symptoms"
],
"temperature": [
{
"|magnitude": 37.2,
"|unit": "°C"
}
],
"symptoms": [
{
"|code": "at0.64",
"|value": "Chills / rigor / shivering",
"|terminology": "local"
}
],
"time": [
"2014-01-22T15:18:07.339+01:00"
]
}
]
}
]
}
],
"context": [
{
"setting": [
{
"|code": "238",
"|value": "other care",
"|terminology": "openehr"
}
],
"start_time": [
"2014-01-22T15:18:07.339+01:00"
]
}
]
}
}
You can play with it in e.g. https://www.ehrscape.com/api-explorer.html as shown in post 61 in Separating Models from Implementation - #61 by erik.sundvall
Also see post #12 in Separating Models from Implementation - #12 by erik.sundvall