Описание доступно на развернутом сервисе в виде swagger-ui.

Тестовый сервис - https://2drtest.softrust.ru/vs/swagger/index.html

Либо здесь в виде описания сервиса в формате open-api - swagger.json. Можно просматривать на https://editor.swagger.io/, скопировав туда содержимое или загрузив в виде файла.

{
  "openapi": "3.0.1",
  "info": {
    "title": "VirtualSchool - Сервис интеграции с виртуальной школой",
    "contact": {
      "name": "Confluence docs",
      "url": "https://confluence.softrust.ru/pages/viewpage.action?pageId=24379505"
    },
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://2drtest.softrust.ru/vs"
    }
  ],
  "paths": {
    "/disp/conclusions/{dispCardGuid}": {
      "get": {
        "tags": [
          "DispConclusions"
        ],
        "summary": "Получение заключения по гуиду карты диспансеризации.",
        "parameters": [
          {
            "name": "dispCardGuid",
            "in": "path",
            "description": "Гуид карты диспансеризации.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": "8bd52d36-775f-498d-9ca3-3c66298dbf20"
          }
        ],
        "responses": {
          "200": {
            "description": "Заключение.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Conclusion"
                }
              }
            }
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/disp/conclusions": {
      "get": {
        "tags": [
          "DispConclusions"
        ],
        "summary": "Получение списка заключений по диспансеризации.",
        "parameters": [
          {
            "name": "Snils",
            "in": "query",
            "description": "СНИЛС пациента/обучающегося.\r\nДолжен соответствовать регулярному выражению ^\\d{3}-\\d{3}-\\d{3} \\d{2}$",
            "schema": {
              "type": "string",
              "nullable": true,
              "example": "670-250-918 83"
            },
            "example": "670-250-918 83"
          },
          {
            "name": "DispTypeCode",
            "in": "query",
            "description": "Коды типов диспансеризации. Можно указывать как 1 так и несколько через ';'. По умолчанию 514н;72н;216н;302н;834н.",
            "schema": {
              "type": "string",
              "nullable": true,
              "example": "514н;72н;216н;302н;834н"
            },
            "example": "514н;72н;216н;302н;834н"
          },
          {
            "name": "StartDate",
            "in": "query",
            "description": "Начало периода.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2021-01-01"
            },
            "example": "2021-01-01"
          },
          {
            "name": "EndDate",
            "in": "query",
            "description": "Окончание периода. По умолчанию сегодня.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Take",
            "in": "query",
            "description": "Постраничный вывод. Размер страницы. По умолчанию 10.",
            "schema": {
              "maximum": 200,
              "minimum": 0,
              "exclusiveMinimum": true,
              "type": "integer",
              "format": "int32",
              "example": 10
            },
            "example": 10
          },
          {
            "name": "Skip",
            "in": "query",
            "description": "Постраничный вывод. Пропуск.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderDesc",
            "in": "query",
            "description": "Сортировка по убыванию. По умолчанию true.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Список заключений.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConclusionPaginationDto"
                }
              }
            }
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/educational-records": {
      "get": {
        "tags": [
          "EducationalRecords"
        ],
        "summary": "Получение записей об обучении.",
        "parameters": [
          {
            "name": "Snils",
            "in": "query",
            "description": "СНИЛС обучающегося.",
            "schema": {
              "pattern": "^\\d{3}-\\d{3}-\\d{3} \\d{2}$",
              "type": "string",
              "nullable": true,
              "example": "170-283-536 55"
            },
            "example": "170-283-536 55"
          },
          {
            "name": "OrderDesc",
            "in": "query",
            "description": "Фильтровать по убыванию.",
            "schema": {
              "type": "boolean",
              "example": false
            },
            "example": false
          },
          {
            "name": "Take",
            "in": "query",
            "description": "Постраничный вывод. Размер страницы.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "example": 10
            },
            "example": 10
          },
          {
            "name": "Skip",
            "in": "query",
            "description": "Постраничный вывод. Пропуск элементов.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "example": 0
            },
            "example": 0
          }
        ],
        "responses": {
          "200": {
            "description": "Список записей об обучении.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EducationalRecordDtoPaginationDto"
                }
              }
            }
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/educational-records/{id}": {
      "get": {
        "tags": [
          "EducationalRecords"
        ],
        "summary": "Получение записи об обучении.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Идентификатор записи.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Запись об обучении.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EducationalRecordDto"
                }
              }
            }
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "EducationalRecords"
        ],
        "summary": "Создание или обновление записи об обучении.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Идентификатор записи об обучении.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Запись.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EducationalRecordDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Успех."
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EducationalRecords"
        ],
        "summary": "Удаление записи об обучении.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Идентификатор записи.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Успех."
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Получение списка организаций.",
        "parameters": [
          {
            "name": "take",
            "in": "query",
            "description": "Постраничный вывод. Размер страницы.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Постраничный вывод. Пропуск элементов.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "orderDesc",
            "in": "query",
            "description": "Сортировать по убыванию.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Список организаций.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDtoPaginationDto"
                }
              }
            }
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{id}": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Получение организации по идентификатору.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Идентификатор организации.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Организация.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDto"
                }
              }
            }
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Обновление или создание организации.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Идентификатор организации.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Организация.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Успех."
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Удаление организации.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Идентификатор организации.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Успех."
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{id}/groups/{groupId}": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Получение группы в организации.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Идентификатор организации.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "in": "path",
            "description": "Идентификатор группы.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Группа.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupDto"
                }
              }
            }
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Удаление группы из организации.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Идентификатор организации.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "in": "path",
            "description": "Идентификатор группы.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Успех."
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{orgId}/groups/{groupId}": {
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Обновление или создание группы в организации.",
        "parameters": [
          {
            "name": "orgId",
            "in": "path",
            "description": "Идентификатор организации.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "in": "path",
            "description": "Идентификатор группы.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Группа.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupDto"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Успех."
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/treatments/{id}": {
      "get": {
        "tags": [
          "Treatments"
        ],
        "summary": "Получение случая лечения.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Идентификатор случая лечения.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Случай лечения.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TreatmentWithoutDatesDto"
                }
              }
            }
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/treatments": {
      "get": {
        "tags": [
          "Treatments"
        ],
        "summary": "Получение списка случаев лечения.",
        "parameters": [
          {
            "name": "Snils",
            "in": "query",
            "description": "СНИЛС пациента/обучающегося.\r\nДолжен соответствовать регулярному выражению ^\\d{3}-\\d{3}-\\d{3} \\d{2}$",
            "schema": {
              "type": "string",
              "nullable": true,
              "example": "670-250-918 83"
            },
            "example": "670-250-918 83"
          },
          {
            "name": "StartDate",
            "in": "query",
            "description": "Начало периода.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "example": "2021-01-01"
            },
            "example": "2021-01-01"
          },
          {
            "name": "EndDate",
            "in": "query",
            "description": "Окончание периода.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Take",
            "in": "query",
            "description": "Постраничный вывод. Размер страницы. По умолчанию 50.",
            "schema": {
              "maximum": 200,
              "minimum": 0,
              "exclusiveMinimum": true,
              "type": "integer",
              "format": "int32",
              "example": 50
            },
            "example": 50
          },
          {
            "name": "Skip",
            "in": "query",
            "description": "Постраничный вывод. Пропуск.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "OrderDesc",
            "in": "query",
            "description": "Сортировка по убыванию. По умолчанию true.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Delivered",
            "in": "query",
            "description": "Фильтр по признаку доставки.\r\ntrue - только те что доставлены.\r\nfalse - те что не доставлены.\r\nОтсутствие параметра или null - все.",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "OnlyWithExemptions",
            "in": "query",
            "description": "Только с освобождениями.\r\nЕсли параметр не указан, то берем значение из конфига - может быть настроенно по умолчанию получать только с освобождениями.\r\ntrue - только с освобождениями.\r\nfalse или отсутствие параметра - все.",
            "schema": {
              "type": "boolean",
              "nullable": true
            }
          },
          {
            "name": "OnlyWithoutExemptions",
            "in": "query",
            "description": "Только без освобождений. \r\nНужно для отладки и поиска справок без освобождений.\r\ntrue - только без освобождений.\r\nfalse или отсутствие параметра - все.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "OnlyWithEducationalRecord",
            "in": "query",
            "description": "Только те у кого есть актуальные записи об обучении.\r\ntrue - только с записями.\r\nfalse, отсутствие параметра - все.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "OnlyWithoutEducationalRecord",
            "in": "query",
            "description": "Только те у кого нет актуальных записей об обучении. \r\nНужно для отладки и поиска справок без записей об обучении.\r\ntrue - только без записей.\r\nfalse или отсутствие параметра - все.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "pg",
            "in": "query",
            "description": "Выводить результат в виде паджинации. По умолчанию false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Список случаев лечения.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TreatmentWithoutDatesDtoPaginationDto"
                }
              }
            }
          },
          "400": {
            "description": "Ошибка формата запроса.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Ошибка авторизации.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Ошибка сервера.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Conclusion": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Дата.",
            "format": "date-time"
          },
          "doctor": {
            "type": "string",
            "description": "Врач. \r\nФИО (Должность).",
            "nullable": true
          },
          "medicalOrganisation": {
            "type": "string",
            "description": "ЛПУ.\r\nКраткое имя ЛПУ - Мкод.",
            "nullable": true
          },
          "dispCardGuid": {
            "type": "string",
            "description": "Идентификатор карты диспансеризации.",
            "format": "uuid"
          },
          "dispTypeName": {
            "type": "string",
            "description": "Имя типа диспансеризации.",
            "nullable": true
          },
          "dispTypeCode": {
            "type": "string",
            "description": "Код типа диспансеризации.",
            "nullable": true
          },
          "snils": {
            "type": "string",
            "description": "СНИЛС пациента.",
            "nullable": true
          },
          "detalization": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Detalization"
            },
            "description": "Детализация заключения.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Заключение по диспансеризации."
      },
      "ConclusionPaginationDto": {
        "type": "object",
        "properties": {
          "take": {
            "type": "integer",
            "description": "Размер страницы.",
            "format": "int32"
          },
          "skip": {
            "type": "integer",
            "description": "Пропуск объектов.",
            "format": "int32"
          },
          "totalCount": {
            "type": "integer",
            "description": "Всего объектов по заданному фильтру.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Conclusion"
            },
            "description": "Объекты.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Постраничный вывод."
      },
      "Detalization": {
        "type": "object",
        "properties": {
          "guid": {
            "type": "string",
            "description": "Идентификатор вопроса.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Наименование вопроса.",
            "nullable": true
          },
          "value": {
            "type": "string",
            "description": "Значение ответа.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Детализация заключения."
      },
      "DispConclusionsRequestParams": {
        "type": "object",
        "properties": {
          "snils": {
            "type": "string",
            "description": "СНИЛС пациента/обучающегося.\r\nДолжен соответствовать регулярному выражению ^\\d{3}-\\d{3}-\\d{3} \\d{2}$",
            "nullable": true,
            "example": "670-250-918 83"
          },
          "dispTypeCode": {
            "type": "string",
            "description": "Коды типов диспансеризации. Можно указывать как 1 так и несколько через ';'. По умолчанию 514н;72н;216н;302н;834н.",
            "nullable": true,
            "example": "514н;72н;216н;302н;834н"
          },
          "startDate": {
            "type": "string",
            "description": "Начало периода.",
            "format": "date-time",
            "example": "2021-01-01"
          },
          "endDate": {
            "type": "string",
            "description": "Окончание периода. По умолчанию сегодня.",
            "format": "date-time"
          },
          "take": {
            "maximum": 200,
            "minimum": 0,
            "exclusiveMinimum": true,
            "type": "integer",
            "description": "Постраничный вывод. Размер страницы. По умолчанию 10.",
            "format": "int32",
            "example": 10
          },
          "skip": {
            "minimum": 0,
            "type": "integer",
            "description": "Постраничный вывод. Пропуск.",
            "format": "int32"
          },
          "orderDesc": {
            "type": "boolean",
            "description": "Сортировка по убыванию. По умолчанию true."
          }
        },
        "additionalProperties": false,
        "description": "Параметры запроса списка заключений по диспансеризации."
      },
      "EducationalRecordDto": {
        "required": [
          "groupId",
          "id",
          "levelId",
          "snils"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maxLength": 10,
            "minLength": 1,
            "type": "string",
            "description": "Идентификатор. Код записи об обучении.",
            "example": "8190"
          },
          "snils": {
            "minLength": 1,
            "pattern": "^\\d{3}-\\d{3}-\\d{3} \\d{2}$",
            "type": "string",
            "description": "СНИЛС обучающегося.",
            "example": "170-283-536 55"
          },
          "levelId": {
            "maximum": 2,
            "minimum": 1,
            "type": "integer",
            "description": "Уровень обучения (1 - ДОО, 2 - ОО).",
            "format": "int32",
            "example": 2
          },
          "startDate": {
            "type": "string",
            "description": "Дата начала обучения.",
            "format": "date-time",
            "nullable": true,
            "example": "2020-10-15"
          },
          "endDate": {
            "type": "string",
            "description": "Дата окончания обучения.",
            "format": "date-time",
            "nullable": true,
            "example": null
          },
          "groupId": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Идентификатор группы.",
            "example": "1540"
          },
          "organizationId": {
            "type": "string",
            "description": "Идентификатор образовательной организации.\r\nОпределяется по группе. Игнорируется при создании/обновлении.",
            "nullable": true,
            "example": "1081"
          }
        },
        "additionalProperties": false,
        "description": "Запись об обучении. Группы и учащиеся."
      },
      "EducationalRecordDtoPaginationDto": {
        "type": "object",
        "properties": {
          "take": {
            "type": "integer",
            "description": "Размер страницы.",
            "format": "int32"
          },
          "skip": {
            "type": "integer",
            "description": "Пропуск объектов.",
            "format": "int32"
          },
          "totalCount": {
            "type": "integer",
            "description": "Всего объектов по заданному фильтру.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EducationalRecordDto"
            },
            "description": "Объекты.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Постраничный вывод."
      },
      "EducationalRecordsRequestDto": {
        "type": "object",
        "properties": {
          "snils": {
            "pattern": "^\\d{3}-\\d{3}-\\d{3} \\d{2}$",
            "type": "string",
            "description": "СНИЛС обучающегося.",
            "nullable": true,
            "example": "170-283-536 55"
          },
          "orderDesc": {
            "type": "boolean",
            "description": "Фильтровать по убыванию.",
            "example": false
          },
          "take": {
            "type": "integer",
            "description": "Постраничный вывод. Размер страницы.",
            "format": "int32",
            "example": 10
          },
          "skip": {
            "type": "integer",
            "description": "Постраничный вывод. Пропуск элементов.",
            "format": "int32",
            "example": 0
          }
        },
        "additionalProperties": false,
        "description": "Записи об обучении. Группы и учащиеся."
      },
      "ExemptionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Идентификатор освобождения.",
            "format": "uuid"
          },
          "treatmentId": {
            "type": "string",
            "description": "Идентификатор случая лечения.",
            "format": "uuid"
          },
          "typeId": {
            "type": "integer",
            "description": "Тип освобождения.",
            "format": "int32"
          },
          "startDate": {
            "type": "string",
            "description": "Дата начала освобождения.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Дата окончания освобождения.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Освобождение."
      },
      "GroupDto": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Идентификатор группы.",
            "example": "1081"
          },
          "name": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string",
            "description": "Наименование группы.",
            "example": "Еще одна какая-то группа"
          }
        },
        "additionalProperties": false,
        "description": "Группа обучающегося."
      },
      "OrganizationDto": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Идентификатор образовательной организации.",
            "example": "10010"
          },
          "inn": {
            "type": "string",
            "description": "ИНН образовательной организации.",
            "nullable": true,
            "example": "3123207258"
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string",
            "description": "Наименование образовательной организации.",
            "example": "МБДОУ № 14"
          },
          "address": {
            "type": "string",
            "description": "Адрес организации.",
            "nullable": true,
            "example": "Щорса 8"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupDto"
            },
            "description": "Массив групп, входящих в организацию.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Образовательная организация."
      },
      "OrganizationDtoPaginationDto": {
        "type": "object",
        "properties": {
          "take": {
            "type": "integer",
            "description": "Размер страницы.",
            "format": "int32"
          },
          "skip": {
            "type": "integer",
            "description": "Пропуск объектов.",
            "format": "int32"
          },
          "totalCount": {
            "type": "integer",
            "description": "Всего объектов по заданному фильтру.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationDto"
            },
            "description": "Объекты.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Постраничный вывод."
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "TreatmentRequestParams": {
        "type": "object",
        "properties": {
          "snils": {
            "type": "string",
            "description": "СНИЛС пациента/обучающегося.\r\nДолжен соответствовать регулярному выражению ^\\d{3}-\\d{3}-\\d{3} \\d{2}$",
            "nullable": true,
            "example": "670-250-918 83"
          },
          "startDate": {
            "type": "string",
            "description": "Начало периода.",
            "format": "date-time",
            "example": "2021-01-01"
          },
          "endDate": {
            "type": "string",
            "description": "Окончание периода.",
            "format": "date-time"
          },
          "take": {
            "maximum": 200,
            "minimum": 0,
            "exclusiveMinimum": true,
            "type": "integer",
            "description": "Постраничный вывод. Размер страницы. По умолчанию 50.",
            "format": "int32",
            "example": 50
          },
          "skip": {
            "minimum": 0,
            "type": "integer",
            "description": "Постраничный вывод. Пропуск.",
            "format": "int32"
          },
          "orderDesc": {
            "type": "boolean",
            "description": "Сортировка по убыванию. По умолчанию true."
          },
          "delivered": {
            "type": "boolean",
            "description": "Фильтр по признаку доставки.\r\ntrue - только те что доставлены.\r\nfalse - те что не доставлены.\r\nОтсутствие параметра или null - все.",
            "nullable": true
          },
          "onlyWithExemptions": {
            "type": "boolean",
            "description": "Только с освобождениями.\r\nЕсли параметр не указан, то берем значение из конфига - может быть настроенно по умолчанию получать только с освобождениями.\r\ntrue - только с освобождениями.\r\nfalse или отсутствие параметра - все.",
            "nullable": true
          },
          "onlyWithoutExemptions": {
            "type": "boolean",
            "description": "Только без освобождений. \r\nНужно для отладки и поиска справок без освобождений.\r\ntrue - только без освобождений.\r\nfalse или отсутствие параметра - все."
          },
          "onlyWithEducationalRecord": {
            "type": "boolean",
            "description": "Только те у кого есть актуальные записи об обучении.\r\ntrue - только с записями.\r\nfalse, отсутствие параметра - все."
          },
          "onlyWithoutEducationalRecord": {
            "type": "boolean",
            "description": "Только те у кого нет актуальных записей об обучении. \r\nНужно для отладки и поиска справок без записей об обучении.\r\ntrue - только без записей.\r\nfalse или отсутствие параметра - все."
          }
        },
        "additionalProperties": false,
        "description": "Параметры запроса списка случаев лечения."
      },
      "TreatmentWithoutDatesDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Идентификатор случая лечения.",
            "format": "uuid"
          },
          "snils": {
            "type": "string",
            "description": "СНИЛС обучающегося.",
            "nullable": true
          },
          "snilsSource": {
            "type": "string",
            "description": "Откуда СНИЛС.",
            "nullable": true
          },
          "date": {
            "type": "string",
            "description": "Дата формирования справки.",
            "format": "date-time"
          },
          "typeId": {
            "type": "integer",
            "description": "Тип случая лечения.",
            "format": "int32"
          },
          "opened": {
            "type": "boolean",
            "description": "Открытый случай лечения"
          },
          "delivered": {
            "type": "boolean",
            "description": "Признак доставки фоновой службой."
          },
          "docPRVDGUID": {
            "type": "string",
            "description": "Идентификатор должности сотрудника.",
            "format": "uuid"
          },
          "docSnils": {
            "type": "string",
            "description": "СНИЛС сотрудника.",
            "nullable": true
          },
          "docFIO": {
            "type": "string",
            "description": "ФИО сотрудника.",
            "nullable": true
          },
          "exemptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExemptionDto"
            },
            "description": "Массив освобождений по случаю.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Усеченная модель для выдачи апи. Особенности москвы - им не нужны даты StartDate и EndDate"
      },
      "TreatmentWithoutDatesDtoPaginationDto": {
        "type": "object",
        "properties": {
          "take": {
            "type": "integer",
            "description": "Размер страницы.",
            "format": "int32"
          },
          "skip": {
            "type": "integer",
            "description": "Пропуск объектов.",
            "format": "int32"
          },
          "totalCount": {
            "type": "integer",
            "description": "Всего объектов по заданному фильтру.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TreatmentWithoutDatesDto"
            },
            "description": "Объекты.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Постраничный вывод."
      }
    },
    "securitySchemes": {
      "Basic": {
        "type": "http",
        "description": "Basic Authorization header using the Bearer scheme.",
        "scheme": "Basic"
      }
    }
  },
  "tags": [
    {
      "name": "DispConclusions",
      "description": "Методы заключений по диспансеризации."
    },
    {
      "name": "EducationalRecords",
      "description": "Методы записей об обучении."
    },
    {
      "name": "Organizations",
      "description": "Методы организаций."
    },
    {
      "name": "Treatments",
      "description": "Методы случаев лечения."
    }
  ]
}