{
    "$id": "http://json-schema-extension.readthedocs.io/1__0__0/2020-12/metaschema.json",
    "$schema": "http://json-schema-extension.readthedocs.io/1__0__0/2020-12/metaschema.json",
    "properties": {
      "deprecatedDetails": {
        "title": "Deprecated details",
        "description": "Information about the deprecation of the field.",
        "type": "object",
        "additionalProperties": false,
        "required": [
          "deprecatedVersion",
          "description"
        ],
        "properties": {
          "deprecatedVersion": {
            "title": "Version",
            "description": "The version in which the field was first deprecated.",
            "type": "string"
          },
          "description": {
            "title": "Description",
            "description": "A description of the reason for the field's deprecation and information about its replacement, if any.",
            "type": "string"
          }
        }
      },
      "codelist": {
        "title": "Codelist",
        "description": "The CSV file that defines the codes in the codelist that the field refers to.",
        "type": "string"
      },
      "openCodelist": {
        "title": "Open codelist",
        "description": "Whether the codelist that the field refers to is an open codelist.",
        "type": "boolean",
        "default": false,
        "deprecated": true,
        "deprecatedDetails": {
          "deprecatedVersion": "1.0",
          "description": "This keyword is deprecated favour of using `enum` to indicate a closed codelist. An field refers to an open codelist when `codelist` is set without the presence of `enum`."
        }
      }
    },
    "additionalProperties": false
  }