mm-sdk
Advanced tools
+1
-1
| Metadata-Version: 2.1 | ||
| Name: mm-sdk | ||
| Version: 0.1.455 | ||
| Version: 0.1.464 | ||
| Summary: | ||
@@ -5,0 +5,0 @@ Author: dyus |
+1
-1
| [tool.poetry] | ||
| name = "mm-sdk" | ||
| version = "0.1.455" | ||
| version = "0.1.464" | ||
| description = "" | ||
@@ -5,0 +5,0 @@ authors = ["dyus <dyuuus@gmail.com>"] |
+87
-8
@@ -33,3 +33,3 @@ from datetime import date as datetime_date | ||
| class GenderType(IntEnum): | ||
| any = 0 | ||
| any = 0 # не для ЭЛМК | ||
| male = 1 | ||
@@ -99,8 +99,57 @@ female = 2 | ||
| class NamedRef(BaseModel): | ||
| id: int = Field(description="Идентификатор") | ||
| name: Optional[str] = Field(description="Название") | ||
| external_id: str = Field(description="Идентификатор по справочнику") | ||
| class DoctorResponse(BaseModel): | ||
| id: int = Field(description="ID врача") | ||
| lastname: str = Field(description="Фамилия") | ||
| firstname: str = Field(description="Имя") | ||
| patronymic: Optional[str] = Field(description="Отчество") | ||
| default: int = Field( | ||
| description="Флаг: добавляется в медицинское исследование по умолчанию (0/1)" | ||
| ) | ||
| commission_chairman: int = Field( | ||
| description="Флаг: автор и председатель комиссии (0/1)" | ||
| ) | ||
| main: int = Field( | ||
| description="Флаг: главный врач (0/1)" | ||
| ) | ||
| speciality: Optional[NamedRef] = Field( | ||
| description="Специальность врача" | ||
| ) | ||
| position: Optional[NamedRef] = Field( | ||
| description="Должность врача" | ||
| ) | ||
| medical_researches: Optional[List[NamedRef]] = Field( | ||
| description="Список медицинских исследований" | ||
| ) | ||
| # КЛИЕНТ | ||
| class SearchClientRequest(BaseModel): | ||
| medbook_number: str = Field(description="Номер ЛМК") | ||
| lastname: str = Field(description="Фамилия") | ||
| medbook_number: Optional[str] = Field(None, description="Номер ЛМК") | ||
| lastname: Optional[str] = Field(None, description="Фамилия") | ||
| snils: Optional[str] = Field(None, description="СНИЛС") | ||
| @root_validator | ||
| def validate_search_params(cls, values): | ||
| snils = values.get("snils") | ||
| medbook = values.get("medbook_number") | ||
| lastname = values.get("lastname") | ||
| if snils: | ||
| return values | ||
| if medbook and lastname: | ||
| return values | ||
| raise ValueError( | ||
| "Для поиска укажите либо СНИЛС, либо номер ЛМК и фамилию вместе" | ||
| ) | ||
| class ClientInfo(BaseModel): | ||
@@ -112,2 +161,16 @@ home_address: Optional[str] = Field(description="Адрес") | ||
| birthday: Optional[datetime_date] = Field(description="Дата рождения") | ||
| snils: Optional[str] = Field(description="СНИЛС") | ||
| address_state_code: Optional[str] = Field( | ||
| description="Код региона адреса проживания заявителя (required для ЭЛМК)" | ||
| ) | ||
| gender: Optional[GenderType] = Field(description="пол (required для ЭЛМК)") | ||
| first_name: Optional[str] = Field( | ||
| description="Имя заявителя (required для ЭЛМК)" | ||
| ) | ||
| last_name: Optional[str] = Field( | ||
| description="Фамилия заявителя (required для ЭЛМК)" | ||
| ) | ||
| patronymic: Optional[str] = Field( | ||
| description="Отчество заявителя (required для ЭЛМК)" | ||
| ) | ||
@@ -118,3 +181,6 @@ | ||
| birthday: datetime_date = Field(description="Дата рождения") | ||
| country_id: int = Field(description="Id страны по справочнику") | ||
| country_id: Optional[int] = Field(description="Id страны по справочнику") | ||
| home_address: str = Field(description="Адрес") | ||
| company_name: str = Field(description="Название организации") | ||
| position: str = Field(description="Должность") | ||
@@ -133,10 +199,12 @@ | ||
| class MedicalBookRequest(BaseModel): | ||
| number: str = Field(description="Номер ЛМК") | ||
| regnum: str = Field(description="Рег.номер ЛМК") | ||
| date: datetime_date = Field(description="Дата выдачи ЛМК") | ||
| number: Optional[str] = Field(description="Номер ЛМК") | ||
| date: Optional[datetime_date] = Field(description="Дата выдачи ЛМК") | ||
| user_id: int = Field(description="Id гигтест клиента") | ||
| activity_keys: list = Field(description="Ключи типов деятельности") | ||
| activity_keys: list[str] = Field(description="Ключи типов деятельности") | ||
| is_elmk: Optional[MedBookType] = Field(description="Тип мед. книжки") | ||
| #todo в доке Создание ЛМК/Обновление ЛМК больше нет такого поля | ||
| regnum: Optional[str] = Field(description="Рег.номер ЛМК") | ||
| class UserExtended(ClientInfo): | ||
@@ -213,2 +281,5 @@ fio: str = Field(description="ФИО") | ||
| ) | ||
| doctor_id: Optional[int] = Field( | ||
| description="id врача (required для ЭЛМК)" | ||
| ) | ||
@@ -400,2 +471,3 @@ | ||
| self._get_medical_researches_url = "/api/v2/medical-researches" | ||
| self._get_doctors_url = "/api/v2/doctors" | ||
| # КЛИЕНТ | ||
@@ -439,2 +511,9 @@ self._search_client_url = "/api/v2/users/search" | ||
| def doctors(self, token: str) -> SDKResponse[List[DoctorResponse]]: | ||
| return self._client.get( | ||
| self._full_url(self._get_doctors_url, token), | ||
| DoctorResponse, | ||
| timeout=COMMON_GIGTEST_TIMEOUT, | ||
| ) | ||
| def medical_research( | ||
@@ -441,0 +520,0 @@ self, token: str |
+1
-1
@@ -15,3 +15,3 @@ # -*- coding: utf-8 -*- | ||
| 'name': 'mm-sdk', | ||
| 'version': '0.1.455', | ||
| 'version': '0.1.464', | ||
| 'description': '', | ||
@@ -18,0 +18,0 @@ 'long_description': 'None', |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
147124
2.31%3972
1.74%