{
"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": "Методы случаев лечения."
}
]
} |