{
  "openapi": "3.1.0",
  "info": {
    "title": "RCPCH Digital Growth API",
    "description": "Returns SDS and centiles for child growth measurements using growth references. Currently provides calculations based on the UK-WHO, Turner's Syndrome and Trisomy-21 references.",
    "version": "4.3.5"
  },
  "paths": {
    "/uk-who/calculation": {
      "post": {
        "tags": [
          "uk-who"
        ],
        "summary": "Uk Who Calculation",
        "description": "## UK-WHO Centile and SDS Calculations\n\n* These are the 'standard' centiles for children in the UK. It uses a hybrid of the WHO and UK90 datasets.\n* For non-UK use you may need the WHO-only or CDC charts which we do not yet support, but we may add if demand is there.  Please contact us.\n* Returns a single centile/SDS calculation for the selected `measurement_method`.\n* Gestational age correction will be applied automatically if appropriate according to the gestational age at birth data supplied.\n* Available `measurement_method`s are: `height`, `weight`, `bmi`, or `ofc` (OFC = occipitofrontal circumference = 'head circumference').\n* Note that BMI must be precalculated for the `bmi` function.\n* Dates will discard anything after first 'T' in `YYYY-MM-DDTHH:MM:SS.milliseconds+TZ` etc\n* Optional Bone age data associated with a height can be passed:\n*   - `bone_age` as a float in years\n*   - `bone_age_sds` and `bone_age_centile` as floats\n*   - `bone_age_type` as one of `greulich-pyle`, `tanner-whitehouse-ii`, `tanner-whitehouse-iiI`, `fels`, `bonexpert`\n* Optional events can be passed in as a list of strings - each list is associated with a measurement",
        "operationId": "uk_who_calculation_uk_who_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeasurementRequest",
                "examples": [
                  {
                    "birth_date": "2020-04-12",
                    "observation_date": "2028-06-12",
                    "observation_value": 115,
                    "sex": "female",
                    "gestation_weeks": 40,
                    "gestation_days": 0,
                    "measurement_method": "height",
                    "bone_age": 10,
                    "bone_age_centile": 98,
                    "bone_age_sds": 2,
                    "bone_age_text": "This bone age is advanced",
                    "bone_age_type": "greulich-pyle",
                    "events_text": [
                      "Growth hormone start",
                      "Growth Hormone Deficiency diagnosis"
                    ]
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/uk-who/bulk-calculation": {
      "post": {
        "tags": [
          "uk-who"
        ],
        "summary": "Uk Who Bulk Calculation",
        "operationId": "uk_who_bulk_calculation_uk_who_bulk_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkMeasurementRequest",
                "examples": [
                  {
                    "measurement_method": "height",
                    "birth_date": "2020-04-12",
                    "sex": "female",
                    "observations": [
                      {
                        "observation_date": "2028-06-12",
                        "observation_value": 115
                      },
                      {
                        "observation_date": "2028-12-12",
                        "observation_value": 130
                      }
                    ]
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkMeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/uk-who/chart-coordinates": {
      "post": {
        "tags": [
          "uk-who"
        ],
        "summary": "Uk Who Chart Coordinates",
        "description": "## UK-WHO Chart Coordinates data.\n\n* Returns coordinates for constructing the lines of a traditional growth chart, in JSON format\n* Requires a sex ('male' or 'female' lowercase) and a measurement_method ('height', 'weight' ,'bmi', 'ofc')\n* If custom centiles/sds collections (individually or as a collection) are required, accepts a list of float values (up to 15) as centile_format parameter\n* The is_sds boolean flag (default false) specifies if the custom list is of SDS or centiles.\n* In addition to the custom list, \"cole-nine-centiles\" or \"three-percent-centiles\" can be specified which are standard collections.\n* If no centile_format is supplied, \"cole-nine-centiles\" are returned as a default.",
        "operationId": "uk_who_chart_coordinates_uk_who_chart_coordinates_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChartCoordinateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Centile_Data"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/uk-who/fictional-child-data": {
      "post": {
        "tags": [
          "uk-who"
        ],
        "summary": "Fictional Child Data",
        "description": "## UK-WHO Fictional Child Data Endpoint\n\n* Generates synthetic data for demonstration or testing purposes",
        "operationId": "fictional_child_data_uk_who_fictional_child_data_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FictionalChildRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/MeasurementObject"
                  },
                  "type": "array",
                  "title": "Response Fictional Child Data Uk Who Fictional Child Data Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/turner/calculation": {
      "post": {
        "tags": [
          "turners-syndrome"
        ],
        "summary": "Turner Calculation",
        "description": "## Turner's Syndrome Centile and SDS Calculations.\n\n* This endpoint MUST ONLY be used for **female** children with the chromosomal disorder Turner's Syndrome (45,XO karyotype).\n* Returns a single centile/SDS calculation for the selected `measurement_method`.\n* Gestational age correction will be applied automatically if appropriate, according to the gestational age at birth data supplied.\n* Available `measurement_method`s are: `height` **only** because this reference data is all that exists.\n* Dates will discard anything after first 'T' in YYYY-MM-DDTHH:MM:SS.milliseconds+TZ etc\n* Optional Bone age data associated with a height can be passed:\n*   - `bone_age` as a float in years\n*   - `bone_age_sds` and `bone_age_centile` as floats\n*   - `bone_age_type` as one of `greulich-pyle`, `tanner-whitehouse-ii`, `tanner-whitehouse-iiI`, `fels`, `bonexpert`\n* Optional events can be passed in as a list of strings - each list is associated with a measurement",
        "operationId": "turner_calculation_turner_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeasurementRequest",
                "examples": [
                  {
                    "birth_date": "2020-04-12",
                    "observation_date": "2024-06-12",
                    "observation_value": 78,
                    "measurement_method": "height",
                    "sex": "female",
                    "gestation_weeks": 39,
                    "gestation_days": 2
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/turner/bulk-calculation": {
      "post": {
        "tags": [
          "turners-syndrome"
        ],
        "summary": "Turner Bulk Calculation",
        "operationId": "turner_bulk_calculation_turner_bulk_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkMeasurementRequest",
                "examples": [
                  {
                    "measurement_method": "height",
                    "birth_date": "2020-04-12",
                    "sex": "female",
                    "gestation_weeks": 39,
                    "gestation_days": 2,
                    "observations": [
                      {
                        "observation_date": "2024-06-12",
                        "observation_value": 78
                      },
                      {
                        "observation_date": "2024-08-12",
                        "observation_value": 80
                      }
                    ]
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkMeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/turner/chart-coordinates": {
      "post": {
        "tags": [
          "turners-syndrome"
        ],
        "summary": "Turner Chart Coordinates",
        "description": "## Turner's Syndrome Chart Coordinates data.\n\n* Returns coordinates for constructing the lines of a traditional growth chart, in JSON format\n* Note height in girls conly be only returned. It is a post request to maintain consistency with other routes.\n* If custom centiles/sds collections (individually or as a collection) are required, accepts a list of float values (up to 15) as centile_format parameter\n* The is_sds boolean flag (default false) specifies if the custom list is of SDS or centiles.\n* In addition to the custom list, \"cole-nine-centiles\" or \"three-percent-centiles\" can be specified which are standard collections.\n* If no centile_format is supplied, \"cole-nine-centiles\" are returned as a default.",
        "operationId": "turner_chart_coordinates_turner_chart_coordinates_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChartCoordinateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Centile_Data"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/turner/fictional-child-data": {
      "post": {
        "tags": [
          "turners-syndrome"
        ],
        "summary": "Fictional Child Data",
        "description": "## Turner's Fictional Child Data Endpoint\n\n* Generates synthetic data for demonstration or testing purposes",
        "operationId": "fictional_child_data_turner_fictional_child_data_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FictionalChildRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/MeasurementObject"
                  },
                  "type": "array",
                  "title": "Response Fictional Child Data Turner Fictional Child Data Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/trisomy-21/calculation": {
      "post": {
        "tags": [
          "trisomy-21"
        ],
        "summary": "Trisomy 21 Calculation",
        "description": "# Trisomy-21 Centile and SDS Calculations.\n\n* This endpoint MUST ONLY be used for children with Trisomy 21 (Down's Syndrome).\n* Returns a single centile/SDS calculation for the selected `measurement_method`.\n* Gestational age correction will be applied automatically if appropriate according to the gestational age at birth data supplied.\n* Available `measurement_method`s are: `height`, `weight`, `bmi`, or `ofc` (OFC = occipitofrontal circumference = 'head circumference').\n* Note that BMI must be precalculated for the `bmi` function.\n* Dates will discard anything after first 'T' in YYYY-MM-DDTHH:MM:SS.milliseconds+TZ etc\n* Optional Bone age data associated with a height can be passed:\n*   - `bone_age` as a float in years\n*   - `bone_age_sds` and `bone_age_centile` as floats\n*   - `bone_age_type` as one of `greulich-pyle`, `tanner-whitehouse-ii`, `tanner-whitehouse-iiI`, `fels`, `bonexpert`\n* Optional events can be passed in as a list of strings - each list is associated with a measurement",
        "operationId": "trisomy_21_calculation_trisomy_21_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeasurementRequest",
                "examples": [
                  {
                    "birth_date": "2020-04-12",
                    "observation_date": "2020-06-12",
                    "observation_value": 60,
                    "measurement_method": "height",
                    "sex": "male",
                    "gestation_weeks": 40,
                    "gestation_days": 4
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/trisomy-21/bulk-calculation": {
      "post": {
        "tags": [
          "trisomy-21"
        ],
        "summary": "Trisomy 21 Bulk Calculation",
        "operationId": "trisomy_21_bulk_calculation_trisomy_21_bulk_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkMeasurementRequest",
                "examples": [
                  {
                    "measurement_method": "height",
                    "birth_date": "2020-04-12",
                    "sex": "male",
                    "gestation_weeks": 40,
                    "gestation_days": 4,
                    "observations": [
                      {
                        "observation_date": "2020-06-12",
                        "observation_value": 60
                      },
                      {
                        "observation_date": "2020-08-12",
                        "observation_value": 65
                      }
                    ]
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkMeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/trisomy-21/chart-coordinates": {
      "post": {
        "tags": [
          "trisomy-21"
        ],
        "summary": "Trisomy 21 Chart Coordinates",
        "description": "## Trisomy-21 Chart Coordinates Data.\n\n* Returns coordinates for constructing the lines of a traditional growth chart, in JSON format\n* Requires a sex ('male' or 'female' lowercase) and a measurement_method ('height', 'weight' ,'bmi', 'ofc')\n* If custom centiles/sds collections (individually or as a collection) are required, accepts a list of float values (up to 15) as centile_format parameter\n* The is_sds boolean flag (default false) specifies if the custom list is of SDS or centiles.\n* In addition to the custom list, \"cole-nine-centiles\" or \"three-percent-centiles\" can be specified which are standard collections.\n* If no centile_format is supplied, \"cole-nine-centiles\" are returned as a default.",
        "operationId": "trisomy_21_chart_coordinates_trisomy_21_chart_coordinates_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChartCoordinateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Centile_Data"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/trisomy-21/fictional-child-data": {
      "post": {
        "tags": [
          "trisomy-21"
        ],
        "summary": "Fictional Child Data",
        "description": "## Trisomy-21 Fictional Child Data Endpoint\n\n* Generates synthetic data for demonstration or testing purposes",
        "operationId": "fictional_child_data_trisomy_21_fictional_child_data_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FictionalChildRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/MeasurementObject"
                  },
                  "type": "array",
                  "title": "Response Fictional Child Data Trisomy 21 Fictional Child Data Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/trisomy-21-aap/calculation": {
      "post": {
        "tags": [
          "trisomy-21-aap"
        ],
        "summary": "Trisomy 21 Aap Calculation",
        "description": "## Trisomy-21 AAP Centile and SDS Calculations\n\n* These are the 'standard' centiles for US children with trisomy-21. It uses the American Academy of Pediatrics dataset (American Academy of Pediatrics (AAP) Trisomy 21 reference. Zemel BS, Pipan M, Stallings VA, Hall W, Schgadt K, Freedman DS, Thorpe P. Growth Charts for Children with Down Syndrome in the U.S. Pediatrics, 2015).\n* UK users should use the UK Down Syndrome Growth Charts included in the RCPCHGrowth package and provide on a separate endpoint.\n* Returns a single centile/SDS calculation for the selected `measurement_method`.\n* Gestational age correction will be applied automatically if appropriate according to the gestational age at birth data supplied.\n* Available `measurement_method`s are: `height`, `weight`, `bmi`, or `ofc` (OFC = occipitofrontal circumference = 'head circumference').\n* Note that BMI must be precalculated for the `bmi` function.\n* Dates will discard anything after first 'T' in `YYYY-MM-DDTHH:MM:SS.milliseconds+TZ` etc\n* Bone ages are not supported for this reference.\n* Optional events can be passed in as a list of strings - each list is associated with a measurement",
        "operationId": "trisomy_21_aap_calculation_trisomy_21_aap_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeasurementRequest",
                "examples": [
                  {
                    "birth_date": "2020-04-12",
                    "observation_date": "2028-06-12",
                    "observation_value": 115,
                    "sex": "female",
                    "gestation_weeks": 40,
                    "gestation_days": 0,
                    "measurement_method": "height",
                    "bone_age": 10,
                    "bone_age_centile": 98,
                    "bone_age_sds": 2,
                    "bone_age_text": "This bone age is advanced",
                    "bone_age_type": "greulich-pyle",
                    "events_text": [
                      "Growth hormone start",
                      "Growth Hormone Deficiency diagnosis"
                    ]
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/trisomy-21-aap/bulk-calculation": {
      "post": {
        "tags": [
          "trisomy-21-aap"
        ],
        "summary": "Trisomy 21 Aap Bulk Calculation",
        "operationId": "trisomy_21_aap_bulk_calculation_trisomy_21_aap_bulk_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkMeasurementRequest",
                "examples": [
                  {
                    "measurement_method": "height",
                    "birth_date": "2020-04-12",
                    "sex": "female",
                    "gestation_weeks": 40,
                    "gestation_days": 0,
                    "observations": [
                      {
                        "observation_date": "2028-06-12",
                        "observation_value": 115
                      },
                      {
                        "observation_date": "2028-12-12",
                        "observation_value": 130
                      }
                    ]
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkMeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/trisomy-21-aap/chart-coordinates": {
      "post": {
        "tags": [
          "trisomy-21-aap"
        ],
        "summary": "Trisomy 21 Aap Chart Coordinates",
        "description": "## trisomy-21-aap Chart Coordinates data.\n\n* Returns coordinates for constructing the lines of a traditional growth chart, in JSON format\n* Requires a sex ('male' or 'female' lowercase) and a measurement_method ('height', 'weight' ,'bmi', 'ofc')\n* If custom centiles/sds collections (individually or as a collection) are required, accepts a list of float values (up to 15) as centile_format parameter\n* The is_sds boolean flag (default false) specifies if the custom list is of SDS or centiles.\n* In addition to the custom list, \"cole-nine-centiles\" or \"three-percent-centiles\" can be specified which are standard collections.\n* If no centile_format is supplied, \"cole-nine-centiles\" are returned as a default.",
        "operationId": "trisomy_21_aap_chart_coordinates_trisomy_21_aap_chart_coordinates_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChartCoordinateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Centile_Data"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/trisomy-21-aap/fictional-child-data": {
      "post": {
        "tags": [
          "trisomy-21-aap"
        ],
        "summary": "Fictional Child Data",
        "description": "## trisomy-21-aap Fictional Child Data Endpoint\n\n* Generates synthetic data for demonstration or testing purposes",
        "operationId": "fictional_child_data_trisomy_21_aap_fictional_child_data_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FictionalChildRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/MeasurementObject"
                  },
                  "type": "array",
                  "title": "Response Fictional Child Data Trisomy 21 Aap Fictional Child Data Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/cdc/calculation": {
      "post": {
        "tags": [
          "cdc"
        ],
        "summary": "Cdc Calculation",
        "description": "## CDC Centile and SDS Calculations\n\n* These are the 'standard' centiles for children in North America. It uses a hybrid of the WHO and CDC datasets.\n* Returns a single centile/SDS calculation for the selected `measurement_method`.\n* Gestational age correction will be applied automatically if appropriate according to the gestational age at birth data supplied.\n* Available `measurement_method`s are: `height`, `weight`, `bmi`, or `ofc` (OFC = occipitofrontal circumference = 'head circumference').\n* Note that BMI must be precalculated for the `bmi` function.\n* Dates will discard anything after first 'T' in `YYYY-MM-DDTHH:MM:SS.milliseconds+TZ` etc\n* Optional Bone age data associated with a height can be passed:\n*   - `bone_age` as a float in years\n*   - `bone_age_sds` and `bone_age_centile` as floats\n*   - `bone_age_type` as one of `greulich-pyle`, `tanner-whitehouse-ii`, `tanner-whitehouse-iiI`, `fels`, `bonexpert`\n* Optional events can be passed in as a list of strings - each list is associated with a measurement",
        "operationId": "cdc_calculation_cdc_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeasurementRequest",
                "examples": [
                  {
                    "birth_date": "2020-04-12",
                    "observation_date": "2028-06-12",
                    "observation_value": 115,
                    "sex": "female",
                    "gestation_weeks": 40,
                    "gestation_days": 0,
                    "measurement_method": "height",
                    "bone_age": 10,
                    "bone_age_centile": 98,
                    "bone_age_sds": 2,
                    "bone_age_text": "This bone age is advanced",
                    "bone_age_type": "greulich-pyle",
                    "events_text": [
                      "Growth hormone start",
                      "Growth Hormone Deficiency diagnosis"
                    ]
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/cdc/bulk-calculation": {
      "post": {
        "tags": [
          "cdc"
        ],
        "summary": "Cdc Bulk Calculation",
        "operationId": "cdc_bulk_calculation_cdc_bulk_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkMeasurementRequest",
                "examples": [
                  {
                    "measurement_method": "height",
                    "birth_date": "2020-04-12",
                    "sex": "female",
                    "gestation_weeks": 40,
                    "gestation_days": 0,
                    "observations": [
                      {
                        "observation_date": "2028-06-12",
                        "observation_value": 115
                      },
                      {
                        "observation_date": "2028-12-12",
                        "observation_value": 130
                      }
                    ]
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkMeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/cdc/chart-coordinates": {
      "post": {
        "tags": [
          "cdc"
        ],
        "summary": "Cdc Chart Coordinates",
        "description": "## CDC Chart Coordinates data.\n\n* Returns coordinates for constructing the lines of a traditional growth chart, in JSON format\n* Requires a sex ('male' or 'female' lowercase) and a measurement_method ('height', 'weight' ,'bmi', 'ofc')\n* If custom centiles/sds collections (individually or as a collection) are required, accepts a list of float values (up to 15) as centile_format parameter\n* The is_sds boolean flag (default false) specifies if the custom list is of SDS or centiles.\n* In addition to the custom list, \"cole-nine-centiles\" or \"three-percent-centiles\" can be specified which are standard collections.\n* If no centile_format is supplied, \"cole-nine-centiles\" are returned as a default.",
        "operationId": "cdc_chart_coordinates_cdc_chart_coordinates_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChartCoordinateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Centile_Data"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/cdc/fictional-child-data": {
      "post": {
        "tags": [
          "cdc"
        ],
        "summary": "Fictional Child Data",
        "description": "## CDC Fictional Child Data Endpoint\n\n* Generates synthetic data for demonstration or testing purposes",
        "operationId": "fictional_child_data_cdc_fictional_child_data_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FictionalChildRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/MeasurementObject"
                  },
                  "type": "array",
                  "title": "Response Fictional Child Data Cdc Fictional Child Data Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/who/calculation": {
      "post": {
        "tags": [
          "who"
        ],
        "summary": "Who Calculation",
        "description": "## WHO Centile and SDS Calculations\n\n* These are the 'standard' centiles for children in North America.\n* Returns a single centile/SDS calculation for the selected `measurement_method`.\n* Gestational age correction will be applied automatically if appropriate according to the gestational age at birth data supplied.\n* Available `measurement_method`s are: `height`, `weight`, `bmi`, or `ofc` (OFC = occipitofrontal circumference = 'head circumference').\n* Note that BMI must be precalculated for the `bmi` function.\n* Dates will discard anything after first 'T' in `YYYY-MM-DDTHH:MM:SS.milliseconds+TZ` etc\n* Optional Bone age data associated with a height can be passed:\n*   - `bone_age` as a float in years\n*   - `bone_age_sds` and `bone_age_centile` as floats\n*   - `bone_age_type` as one of `greulich-pyle`, `tanner-whitehouse-ii`, `tanner-whitehouse-iiI`, `fels`, `bonexpert`\n* Optional events can be passed in as a list of strings - each list is associated with a measurement",
        "operationId": "who_calculation_who_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeasurementRequest",
                "examples": [
                  {
                    "birth_date": "2020-04-12",
                    "observation_date": "2028-06-12",
                    "observation_value": 115,
                    "sex": "female",
                    "gestation_weeks": 40,
                    "gestation_days": 0,
                    "measurement_method": "height",
                    "bone_age": 10,
                    "bone_age_centile": 98,
                    "bone_age_sds": 2,
                    "bone_age_text": "This bone age is advanced",
                    "bone_age_type": "greulich-pyle",
                    "events_text": [
                      "Growth hormone start",
                      "Growth Hormone Deficiency diagnosis"
                    ]
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/who/bulk-calculation": {
      "post": {
        "tags": [
          "who"
        ],
        "summary": "Who Bulk Calculation",
        "operationId": "who_bulk_calculation_who_bulk_calculation_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkMeasurementRequest",
                "examples": [
                  {
                    "measurement_method": "height",
                    "birth_date": "2020-04-12",
                    "sex": "female",
                    "gestation_weeks": 40,
                    "gestation_days": 0,
                    "observations": [
                      {
                        "observation_date": "2028-06-12",
                        "observation_value": 115
                      },
                      {
                        "observation_date": "2028-12-12",
                        "observation_value": 130
                      }
                    ]
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkMeasurementObject"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/who/chart-coordinates": {
      "post": {
        "tags": [
          "who"
        ],
        "summary": "Who Chart Coordinates",
        "description": "## WHO Chart Coordinates data.\n\n* Returns coordinates for constructing the lines of a traditional growth chart, in JSON format\n* Requires a sex ('male' or 'female' lowercase) and a measurement_method ('height', 'weight' ,'bmi', 'ofc')\n* If custom centiles/sds collections (individually or as a collection) are required, accepts a list of float values (up to 15) as centile_format parameter\n* The is_sds boolean flag (default false) specifies if the custom list is of SDS or centiles.\n* In addition to the custom list, \"cole-nine-centiles\" or \"three-percent-centiles\" can be specified which are standard collections.\n* If no centile_format is supplied, \"cole-nine-centiles\" are returned as a default.",
        "operationId": "who_chart_coordinates_who_chart_coordinates_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChartCoordinateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Centile_Data"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/who/fictional-child-data": {
      "post": {
        "tags": [
          "who"
        ],
        "summary": "Fictional Child Data",
        "description": "## WHO Fictional Child Data Endpoint\n\n* Generates synthetic data for demonstration or testing purposes",
        "operationId": "fictional_child_data_who_fictional_child_data_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FictionalChildRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/MeasurementObject"
                  },
                  "type": "array",
                  "title": "Response Fictional Child Data Who Fictional Child Data Post"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/utilities/mid-parental-height": {
      "post": {
        "tags": [
          "utilities"
        ],
        "summary": "Mid Parental Height Endpoint",
        "description": "## Mid-parental-height Endpoint\n\n* Calculates mid-parental-height\n* Returns mid-parental centile and SDS, as well as centile lines for mid-parental height\n* and +2 SD and -SD\n\nNote any paternal height above 253cm or maternal height above 250cm in a boy or\nany maternal height above 237 cm or any paternal height above 249 cm in a girl will return\na midparental height whose centile is 100 which generates an error when calculating a plottable centile\n(since 100% is not technically plottable)\nGiven that the tallest woman ever to live is Rumeysa Gelgi (born 1979) is 215.16 cm\nand the tallest man was 272 cm it seems reasonable to cap the upper limit for validation purposes\nto 245 cm in either parent (which is over 8 foot).\n\nif this function is called outside of the API and heights above those detailed above are higher,\nan empty array for that centile is returned. This is likely not compatible with the charting component\nas it will not be possible to render the area between the centiles if one is empty.",
        "operationId": "mid_parental_height_endpoint_utilities_mid_parental_height_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MidParentalHeightRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MidParentalHeightResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/": {
      "get": {
        "tags": [
          "openapi3"
        ],
        "summary": "Root",
        "description": "# API spec endpoint\n* The root `/` API endpoint returns the openAPI3 specification in JSON format\n* This spec is also available in the root of the server code repository",
        "operationId": "root__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "BirthData": {
        "properties": {
          "birth_date": {
            "type": "string",
            "format": "date",
            "title": "Birth Date"
          },
          "gestation_weeks": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gestation Weeks"
          },
          "gestation_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Gestation Days"
          },
          "estimated_date_delivery": {
            "anyOf": [
              {
                "type": "string",
                "format": "date"
              },
              {
                "type": "null"
              }
            ],
            "title": "Estimated Date Delivery"
          },
          "estimated_date_delivery_string": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Estimated Date Delivery String"
          },
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "title": "Sex"
          }
        },
        "type": "object",
        "required": [
          "birth_date",
          "estimated_date_delivery",
          "estimated_date_delivery_string",
          "sex"
        ],
        "title": "BirthData"
      },
      "BoneAge": {
        "properties": {
          "bone_age": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age"
          },
          "bone_age_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Type"
          },
          "bone_age_sds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Sds"
          },
          "bone_age_centile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Centile"
          },
          "bone_age_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Text"
          }
        },
        "type": "object",
        "title": "BoneAge"
      },
      "BulkMeasurementObject": {
        "properties": {
          "results": {
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/MeasurementObject"
                },
                {
                  "$ref": "#/components/schemas/ErrorDetails"
                }
              ]
            },
            "type": "array",
            "title": "Results"
          }
        },
        "type": "object",
        "required": [
          "results"
        ],
        "title": "BulkMeasurementObject"
      },
      "BulkMeasurementRequest": {
        "properties": {
          "gestation_days": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 6,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Gestation Days",
            "description": "The number of additional days _beyond the completed weeks of gestation_ at which the patient was born, passed as an integer. Supplying this data enables Gestational Age correction if the child was not born at term. If no gestational age is passed then term is assumed. IMPORTANT: See also the other parameter `gestation_weeks` - both are usually required.",
            "default": 0
          },
          "gestation_weeks": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 44,
                "minimum": 22
              },
              {
                "type": "null"
              }
            ],
            "title": "Gestation Weeks",
            "description": "The number of completed weeks of gestation at which the patient was born, passed as an integer. Supplying this data enables Gestational Age correction if the child was not born at term. If no gestational age is passed then 40 weeks (term) is assumed. **IMPORTANT: See also the other parameter `gestation_days` - both are usually required.**",
            "default": 40
          },
          "measurement_method": {
            "type": "string",
            "enum": [
              "height",
              "weight",
              "ofc",
              "bmi"
            ],
            "title": "Measurement Method",
            "description": "The type of measurement performed on the infant or child as a string which can be `height`, `weight`, `bmi` or `ofc`. The value of this measurement is supplied as the `observation_value` parameter. The measurements represent height **in centimetres**, weight *in kilograms**, body mass index **in kilograms/metre²** and occipitofrontal circumference (head circumference, OFC) **in centimetres**."
          },
          "birth_date": {
            "type": "string",
            "format": "date",
            "title": "Birth Date",
            "description": "Date of birth of the patient, in the format YYYY-MM-DD"
          },
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "title": "Sex",
            "description": "The sex of the patient, as a string value which can either be `male` or `female`. Abbreviations or alternatives are not accepted."
          },
          "observations": {
            "items": {
              "$ref": "#/components/schemas/ObservationMeasurement"
            },
            "type": "array",
            "title": "Observations",
            "description": "A list of observation objects"
          }
        },
        "type": "object",
        "required": [
          "measurement_method",
          "birth_date",
          "sex",
          "observations"
        ],
        "title": "BulkMeasurementRequest"
      },
      "Centile": {
        "properties": {
          "sds": {
            "type": "number",
            "title": "Sds"
          },
          "centile": {
            "type": "number",
            "title": "Centile"
          },
          "data": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Data"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data"
          }
        },
        "type": "object",
        "required": [
          "sds",
          "centile",
          "data"
        ],
        "title": "Centile"
      },
      "CentileData": {
        "properties": {
          "chronological_decimal_age_data": {
            "$ref": "#/components/schemas/ChronologicalDecimalAgeData"
          },
          "corrected_decimal_age_data": {
            "$ref": "#/components/schemas/CorrectedDecimalAgeData"
          }
        },
        "type": "object",
        "required": [
          "chronological_decimal_age_data",
          "corrected_decimal_age_data"
        ],
        "title": "CentileData"
      },
      "Centile_Data": {
        "properties": {
          "centile_data": {
            "items": {
              "$ref": "#/components/schemas/ReferenceCreate"
            },
            "type": "array",
            "title": "Centile Data"
          }
        },
        "type": "object",
        "required": [
          "centile_data"
        ],
        "title": "Centile_Data"
      },
      "ChartCoordinateRequest": {
        "properties": {
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "title": "Sex",
            "description": "The sex of the patient, as a string value which can either be `male` or `female`. Abbreviations or alternatives are not accepted."
          },
          "measurement_method": {
            "type": "string",
            "enum": [
              "height",
              "weight",
              "ofc",
              "bmi"
            ],
            "title": "Measurement Method",
            "description": "The type of measurement performed on the infant or child as a string which can be `height`, `weight`, `bmi` or `ofc`. The value of this measurement is supplied as the `observation_value` parameter. The measurements represent height **in centimetres**, weight *in kilograms**, body mass index **in kilograms/metre²** and occipitofrontal circumference (head circumference, OFC) **in centimetres**."
          },
          "is_sds": {
            "type": "boolean",
            "title": "Is Sds",
            "description": "Boolean flag (default False) referring to centile_format. If custom lines requested as SDS, rather than as centiles, set this to True.",
            "default": false
          },
          "centile_format": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "cole-nine-centiles",
                  "extended-who-centiles",
                  "three-percent-centiles",
                  "five-percent-centiles",
                  "eighty-five-percent-centiles"
                ]
              },
              {
                "items": {
                  "type": "number"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Centile Format",
            "description": "Optional selection of centile format using 9 centile standard ['cole-nine-centiles'], or 'extended-who-centiles' [1, 3, 5, 10, 15, 50, 85, 90, 95, 97, 99], 'three-percent-centiles' [3.0, 10.0, 25.0, 50.0, 75.0, 90.0, 97.0], five-percent-centiles [5.0, 10.0, 25.0, 50.0, 75.0, 90.0, 95.0] or eight-five-percent-centiles as used in CDC BMI [3.0, 5.0, 10.0, 25.0, 50.0, 75.0, 85, 90.0, 95, 98.0, 99.0, 99.9, 99.99] or accepts a list of floats as a custom centile format e.g. [7/10/20/30/40/50/60/70/80/90/93]. Defaults to cole-nine-centiles",
            "default": "cole-nine-centiles"
          }
        },
        "type": "object",
        "required": [
          "sex",
          "measurement_method"
        ],
        "title": "ChartCoordinateRequest"
      },
      "ChildObservationValue": {
        "properties": {
          "measurement_method": {
            "type": "string",
            "enum": [
              "height",
              "weight",
              "ofc",
              "bmi"
            ],
            "title": "Measurement Method"
          },
          "observation_value": {
            "type": "number",
            "title": "Observation Value"
          },
          "observation_value_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Observation Value Error"
          }
        },
        "type": "object",
        "required": [
          "measurement_method",
          "observation_value"
        ],
        "title": "ChildObservationValue"
      },
      "ChronologicalDecimalAgeData": {
        "properties": {
          "x": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "X"
          },
          "y": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Y"
          },
          "b": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "B"
          },
          "centile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Centile"
          },
          "sds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sds"
          },
          "bone_age_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Label"
          },
          "events_text": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Events Text"
          },
          "bone_age_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "greulich-pyle",
                  "tanner-whitehouse-ii",
                  "tanner-whitehouse-iii",
                  "fels",
                  "bonexpert"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Type"
          },
          "bone_age_sds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Sds"
          },
          "bone_age_centile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Centile"
          },
          "observation_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Observation Error"
          },
          "age_type": {
            "type": "string",
            "enum": [
              "chronological_age",
              "corrected_age"
            ],
            "title": "Age Type"
          },
          "calendar_age": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Calendar Age"
          },
          "lay_comment": {
            "type": "string",
            "title": "Lay Comment"
          },
          "clinician_comment": {
            "type": "string",
            "title": "Clinician Comment"
          },
          "age_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Age Error"
          },
          "centile_band": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Centile Band"
          },
          "observation_value_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Observation Value Error"
          }
        },
        "type": "object",
        "required": [
          "bone_age_type",
          "age_type",
          "lay_comment",
          "clinician_comment"
        ],
        "title": "ChronologicalDecimalAgeData"
      },
      "Comments": {
        "properties": {
          "clinician_corrected_decimal_age_comment": {
            "type": "string",
            "title": "Clinician Corrected Decimal Age Comment"
          },
          "lay_corrected_decimal_age_comment": {
            "type": "string",
            "title": "Lay Corrected Decimal Age Comment"
          },
          "clinician_chronological_decimal_age_comment": {
            "type": "string",
            "title": "Clinician Chronological Decimal Age Comment"
          },
          "lay_chronological_decimal_age_comment": {
            "type": "string",
            "title": "Lay Chronological Decimal Age Comment"
          }
        },
        "type": "object",
        "required": [
          "clinician_corrected_decimal_age_comment",
          "lay_corrected_decimal_age_comment",
          "clinician_chronological_decimal_age_comment",
          "lay_chronological_decimal_age_comment"
        ],
        "title": "Comments"
      },
      "CorrectedDecimalAgeData": {
        "properties": {
          "x": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "X"
          },
          "y": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Y"
          },
          "b": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "B"
          },
          "centile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Centile"
          },
          "sds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sds"
          },
          "bone_age_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Label"
          },
          "events_text": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Events Text"
          },
          "bone_age_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "greulich-pyle",
                  "tanner-whitehouse-ii",
                  "tanner-whitehouse-iii",
                  "fels",
                  "bonexpert"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Type"
          },
          "bone_age_sds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Sds"
          },
          "bone_age_centile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Centile"
          },
          "observation_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Observation Error"
          },
          "age_type": {
            "type": "string",
            "enum": [
              "chronological_age",
              "corrected_age"
            ],
            "title": "Age Type"
          },
          "calendar_age": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Calendar Age"
          },
          "corrected_gestational_age": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Corrected Gestational Age"
          },
          "lay_comment": {
            "type": "string",
            "title": "Lay Comment"
          },
          "clinician_comment": {
            "type": "string",
            "title": "Clinician Comment"
          },
          "age_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Age Error"
          },
          "centile_band": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Centile Band"
          },
          "observation_value_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Observation Value Error"
          }
        },
        "type": "object",
        "required": [
          "bone_age_type",
          "age_type",
          "lay_comment",
          "clinician_comment"
        ],
        "title": "CorrectedDecimalAgeData"
      },
      "CorrectedGestationalAge": {
        "properties": {
          "corrected_gestation_weeks": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Corrected Gestation Weeks",
            "default": 40
          },
          "corrected_gestation_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Corrected Gestation Days",
            "default": 0
          }
        },
        "type": "object",
        "title": "CorrectedGestationalAge"
      },
      "Data": {
        "properties": {
          "l": {
            "type": "number",
            "title": "L"
          },
          "x": {
            "type": "number",
            "title": "X"
          },
          "y": {
            "type": "number",
            "title": "Y"
          }
        },
        "type": "object",
        "required": [
          "l",
          "x",
          "y"
        ],
        "title": "Data"
      },
      "ErrorDetails": {
        "properties": {
          "type": {
            "type": "string",
            "title": "Type"
          },
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "string"
                }
              ]
            },
            "type": "array",
            "title": "Loc"
          },
          "msg": {
            "type": "string",
            "title": "Msg"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "additionalProperties": true,
            "type": "object",
            "title": "Ctx"
          },
          "url": {
            "type": "string",
            "title": "Url"
          }
        },
        "type": "object",
        "required": [
          "type",
          "loc",
          "msg",
          "input"
        ],
        "title": "ErrorDetails"
      },
      "EventsData": {
        "properties": {
          "events_text": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Events Text"
          }
        },
        "type": "object",
        "title": "EventsData"
      },
      "FictionalChildRequest": {
        "properties": {
          "measurement_method": {
            "type": "string",
            "enum": [
              "height",
              "weight",
              "ofc",
              "bmi"
            ],
            "title": "Measurement Method",
            "description": "The type of measurement performed on the infant or child as a string which can be `height`, `weight`, `bmi` or `ofc`. The value of this measurement is supplied as the `observation_value` parameter. The measurements represent height **in centimetres**, weight *in kilograms**, body mass index **in kilograms/metre²** and occipitofrontal circumference (head circumference, OFC) **in centimetres**."
          },
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "title": "Sex",
            "description": "The sex of the patient, as a string value which can either be `male` or `female`. Abbreviations or alternatives are not accepted."
          },
          "start_chronological_age": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Chronological Age",
            "description": "Decimal age as a float. The age from which fictional data is to be generated.",
            "default": 0
          },
          "end_age": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "End Age",
            "description": "Decimal age as float. Age until which fictional data is returned.",
            "default": 20
          },
          "gestation_weeks": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 44,
                "minimum": 22
              },
              {
                "type": "null"
              }
            ],
            "title": "Gestation Weeks",
            "description": "The number of completed weeks of gestation at which the patient was born, passed as an integer. Supplying this data enables Gestational Age correction if the child was not born at term. If no gestational age is passed then 40 weeks (term) is assumed. **IMPORTANT: See also the other parameter `gestation_days` - both are usually required.**",
            "default": 40
          },
          "gestation_days": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 6,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Gestation Days",
            "description": "The number of additional days _beyond the completed weeks of gestation_ at which the patient was born, passed as an integer. Supplying this data enables Gestational Age correction if the child was not born at term. If no gestational age is passed then term is assumed. IMPORTANT: See also the other parameter `gestation_weeks` - both are usually required.",
            "default": 0
          },
          "measurement_interval_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "d",
                  "day",
                  "days",
                  "w",
                  "week",
                  "weeks",
                  "m",
                  "month",
                  "months",
                  "y",
                  "year",
                  "years"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Measurement Interval Type",
            "description": "Interval type between fictional measurements as integer. Accepts days as ['d', 'day', 'days'], weeks as ['w', 'weeks', 'weeks'], months as ['m', 'month', 'months'] or years as ['y', 'year', 'years']",
            "default": "months"
          },
          "measurement_interval_number": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Measurement Interval Number",
            "description": "Interval length as integer between fictional measurements returned.",
            "default": 20
          },
          "start_sds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Sds",
            "description": "Starting SDS as float. SDS value at which fictional data starts.",
            "default": 0
          },
          "drift": {
            "type": "boolean",
            "title": "Drift",
            "description": "Drift as boolean value. Default true. Selected if fictional measurements are intended to drift from starting SDS.",
            "default": false
          },
          "drift_range": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Drift Range",
            "description": "Drift range as float. Default is -0.05. The SDS drift expected over the requested age period.",
            "default": -0.05
          },
          "noise": {
            "type": "boolean",
            "title": "Noise",
            "description": "Noise as boolean. Default is false. Simulates measurement error.",
            "default": false
          },
          "noise_range": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Noise Range",
            "description": "Noise range as float. Prescribes the amount of measurement error generated randomly. Default is 0.5%",
            "default": 0.005
          }
        },
        "type": "object",
        "required": [
          "measurement_method",
          "sex"
        ],
        "title": "FictionalChildRequest"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "MeasurementCalculatedValues": {
        "properties": {
          "corrected_sds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Corrected Sds"
          },
          "corrected_centile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Corrected Centile"
          },
          "corrected_centile_band": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Corrected Centile Band"
          },
          "chronological_sds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chronological Sds"
          },
          "chronological_centile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chronological Centile"
          },
          "chronological_centile_band": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chronological Centile Band"
          },
          "corrected_measurement_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Corrected Measurement Error"
          },
          "chronological_measurement_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chronological Measurement Error"
          },
          "corrected_percentage_median_bmi": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Corrected Percentage Median Bmi"
          },
          "chronological_percentage_median_bmi": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chronological Percentage Median Bmi"
          }
        },
        "type": "object",
        "title": "MeasurementCalculatedValues"
      },
      "MeasurementDates": {
        "properties": {
          "observation_date": {
            "type": "string",
            "format": "date",
            "title": "Observation Date"
          },
          "chronological_decimal_age": {
            "type": "number",
            "title": "Chronological Decimal Age"
          },
          "corrected_decimal_age": {
            "type": "number",
            "title": "Corrected Decimal Age"
          },
          "chronological_calendar_age": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chronological Calendar Age"
          },
          "corrected_calendar_age": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Corrected Calendar Age"
          },
          "corrected_gestational_age": {
            "$ref": "#/components/schemas/CorrectedGestationalAge"
          },
          "comments": {
            "$ref": "#/components/schemas/Comments"
          },
          "corrected_decimal_age_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Corrected Decimal Age Error"
          },
          "chronological_decimal_age_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Chronological Decimal Age Error"
          }
        },
        "type": "object",
        "required": [
          "observation_date",
          "chronological_decimal_age",
          "corrected_decimal_age",
          "corrected_gestational_age",
          "comments"
        ],
        "title": "MeasurementDates"
      },
      "MeasurementMethod": {
        "properties": {
          "height": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Centile"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Height"
          },
          "weight": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Centile"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Weight"
          },
          "ofc": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Centile"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ofc"
          },
          "bmi": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Centile"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bmi"
          }
        },
        "type": "object",
        "title": "MeasurementMethod"
      },
      "MeasurementObject": {
        "properties": {
          "birth_data": {
            "$ref": "#/components/schemas/BirthData"
          },
          "measurement_dates": {
            "$ref": "#/components/schemas/MeasurementDates"
          },
          "child_observation_value": {
            "$ref": "#/components/schemas/ChildObservationValue"
          },
          "measurement_calculated_values": {
            "$ref": "#/components/schemas/MeasurementCalculatedValues"
          },
          "plottable_data": {
            "$ref": "#/components/schemas/PlottableData"
          },
          "bone_age": {
            "$ref": "#/components/schemas/BoneAge"
          },
          "events_data": {
            "$ref": "#/components/schemas/EventsData"
          }
        },
        "type": "object",
        "required": [
          "birth_data",
          "measurement_dates",
          "child_observation_value",
          "measurement_calculated_values",
          "plottable_data",
          "bone_age",
          "events_data"
        ],
        "title": "MeasurementObject"
      },
      "MeasurementRequest": {
        "properties": {
          "observation_date": {
            "type": "string",
            "format": "date",
            "title": "Observation Date",
            "description": "Date of the observation, in the format YYYY-MM-DD."
          },
          "observation_value": {
            "type": "number",
            "title": "Observation Value",
            "description": "The value of the measurement supplied. This is supplied as a floating point number. All measurements should be supplied as **centimetres**, with the exception of Body Mass Index which is supplied as kilograms per metre squared (kg/m²)."
          },
          "bone_age": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age",
            "description": "Bone age in years. Age is paired with measurement taken at chronological age."
          },
          "bone_age_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "greulich-pyle",
                  "tanner-whitehouse-ii",
                  "tanner-whitehouse-iii",
                  "fels",
                  "bonexpert"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Type",
            "description": "Method used to calculate bone age. Must be one of `'greulich-pyle`, `tanner-whitehouse-ii`, `tanner-whitehouse-iii`, `fels`,`bonexpert`"
          },
          "bone_age_sds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Sds",
            "description": "The SDS of the bone age based on reference tables."
          },
          "bone_age_centile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Centile",
            "description": "The centile for the bone age based on reference tables."
          },
          "bone_age_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Text",
            "description": "Any report or contextual information relating to the bone age."
          },
          "events_text": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Events Text",
            "description": "A list of strings. Contextual text which are associated with each measurement."
          },
          "gestation_days": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 6,
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Gestation Days",
            "description": "The number of additional days _beyond the completed weeks of gestation_ at which the patient was born, passed as an integer. Supplying this data enables Gestational Age correction if the child was not born at term. If no gestational age is passed then term is assumed. IMPORTANT: See also the other parameter `gestation_weeks` - both are usually required.",
            "default": 0
          },
          "gestation_weeks": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 44,
                "minimum": 22
              },
              {
                "type": "null"
              }
            ],
            "title": "Gestation Weeks",
            "description": "The number of completed weeks of gestation at which the patient was born, passed as an integer. Supplying this data enables Gestational Age correction if the child was not born at term. If no gestational age is passed then 40 weeks (term) is assumed. **IMPORTANT: See also the other parameter `gestation_days` - both are usually required.**",
            "default": 40
          },
          "measurement_method": {
            "type": "string",
            "enum": [
              "height",
              "weight",
              "ofc",
              "bmi"
            ],
            "title": "Measurement Method",
            "description": "The type of measurement performed on the infant or child as a string which can be `height`, `weight`, `bmi` or `ofc`. The value of this measurement is supplied as the `observation_value` parameter. The measurements represent height **in centimetres**, weight *in kilograms**, body mass index **in kilograms/metre²** and occipitofrontal circumference (head circumference, OFC) **in centimetres**."
          },
          "birth_date": {
            "type": "string",
            "format": "date",
            "title": "Birth Date",
            "description": "Date of birth of the patient, in the format YYYY-MM-DD"
          },
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "title": "Sex",
            "description": "The sex of the patient, as a string value which can either be `male` or `female`. Abbreviations or alternatives are not accepted."
          }
        },
        "type": "object",
        "required": [
          "observation_date",
          "observation_value",
          "measurement_method",
          "birth_date",
          "sex"
        ],
        "title": "MeasurementRequest",
        "description": "This class definition creates a Python model which can be converted by FastAPI to openAPI3 schema.\nWe aim to specify all textual information, constraints, and validation here.\nIt all ends up in the openAPI documentation, automagically."
      },
      "MidParentalHeightRequest": {
        "properties": {
          "height_paternal": {
            "type": "number",
            "title": "Height Paternal",
            "description": "The height of the child's biological father, passed as float, measured in centimeters"
          },
          "height_maternal": {
            "type": "number",
            "title": "Height Maternal",
            "description": "The height of the child's biological mother, passed as float, measured in centimeters"
          },
          "sex": {
            "type": "string",
            "enum": [
              "male",
              "female"
            ],
            "title": "Sex",
            "description": "The sex of the patient, as a string value which can either be 'male' or 'female'. Abbreviations or alternatives are not accepted."
          },
          "reference": {
            "type": "string",
            "enum": [
              "uk-who",
              "cdc",
              "who"
            ],
            "title": "Reference",
            "description": "Selected reference as string. Case sensitive and accepts only one of ['uk-who', 'cdc']",
            "default": "uk-who"
          }
        },
        "type": "object",
        "required": [
          "height_paternal",
          "height_maternal",
          "sex"
        ],
        "title": "MidParentalHeightRequest"
      },
      "MidParentalHeightResponse": {
        "properties": {
          "mid_parental_height": {
            "type": "number",
            "title": "Mid Parental Height"
          },
          "mid_parental_height_sds": {
            "type": "number",
            "title": "Mid Parental Height Sds"
          },
          "mid_parental_height_centile": {
            "type": "number",
            "title": "Mid Parental Height Centile"
          },
          "mid_parental_height_centile_data": {
            "items": {
              "$ref": "#/components/schemas/ReferenceCreate"
            },
            "type": "array",
            "title": "Mid Parental Height Centile Data"
          },
          "mid_parental_height_lower_centile_data": {
            "items": {
              "$ref": "#/components/schemas/ReferenceCreate"
            },
            "type": "array",
            "title": "Mid Parental Height Lower Centile Data"
          },
          "mid_parental_height_upper_centile_data": {
            "items": {
              "$ref": "#/components/schemas/ReferenceCreate"
            },
            "type": "array",
            "title": "Mid Parental Height Upper Centile Data"
          },
          "mid_parental_height_upper_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mid Parental Height Upper Value"
          },
          "mid_parental_height_lower_value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Mid Parental Height Lower Value"
          }
        },
        "type": "object",
        "required": [
          "mid_parental_height",
          "mid_parental_height_sds",
          "mid_parental_height_centile",
          "mid_parental_height_centile_data",
          "mid_parental_height_lower_centile_data",
          "mid_parental_height_upper_centile_data"
        ],
        "title": "MidParentalHeightResponse"
      },
      "ObservationMeasurement": {
        "properties": {
          "observation_date": {
            "type": "string",
            "format": "date",
            "title": "Observation Date",
            "description": "Date of the observation, in the format YYYY-MM-DD."
          },
          "observation_value": {
            "type": "number",
            "title": "Observation Value",
            "description": "The value of the measurement supplied. This is supplied as a floating point number. All measurements should be supplied as **centimetres**, with the exception of Body Mass Index which is supplied as kilograms per metre squared (kg/m²)."
          },
          "bone_age": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age",
            "description": "Bone age in years. Age is paired with measurement taken at chronological age."
          },
          "bone_age_type": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "greulich-pyle",
                  "tanner-whitehouse-ii",
                  "tanner-whitehouse-iii",
                  "fels",
                  "bonexpert"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Type",
            "description": "Method used to calculate bone age. Must be one of `'greulich-pyle`, `tanner-whitehouse-ii`, `tanner-whitehouse-iii`, `fels`,`bonexpert`"
          },
          "bone_age_sds": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Sds",
            "description": "The SDS of the bone age based on reference tables."
          },
          "bone_age_centile": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Centile",
            "description": "The centile for the bone age based on reference tables."
          },
          "bone_age_text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bone Age Text",
            "description": "Any report or contextual information relating to the bone age."
          },
          "events_text": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Events Text",
            "description": "A list of strings. Contextual text which are associated with each measurement."
          }
        },
        "type": "object",
        "required": [
          "observation_date",
          "observation_value"
        ],
        "title": "ObservationMeasurement"
      },
      "PlottableData": {
        "properties": {
          "centile_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CentileData"
              },
              {
                "type": "null"
              }
            ]
          },
          "sds_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SDSData"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "PlottableData"
      },
      "ReferenceCreate": {
        "additionalProperties": {
          "$ref": "#/components/schemas/Sex"
        },
        "type": "object",
        "title": "ReferenceCreate"
      },
      "SDSData": {
        "properties": {
          "chronological_decimal_age_data": {
            "$ref": "#/components/schemas/ChronologicalDecimalAgeData"
          },
          "corrected_decimal_age_data": {
            "$ref": "#/components/schemas/CorrectedDecimalAgeData"
          }
        },
        "type": "object",
        "required": [
          "chronological_decimal_age_data",
          "corrected_decimal_age_data"
        ],
        "title": "SDSData"
      },
      "Sex": {
        "properties": {
          "male": {
            "$ref": "#/components/schemas/MeasurementMethod"
          },
          "female": {
            "$ref": "#/components/schemas/MeasurementMethod"
          }
        },
        "type": "object",
        "title": "Sex"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    }
  }
}