checkup detail

This commit is contained in:
dderbentsov
2023-07-22 16:57:20 +03:00
parent 9c5b389849
commit 54cd6872e4
4 changed files with 47 additions and 31 deletions

View File

@@ -1 +1,2 @@
from .medical_card import *
from .checkup import *

View File

@@ -0,0 +1,34 @@
from pydantic import BaseModel
from pydantic.types import UUID4, Json
from typing import List, Optional, Any
from datetime import datetime
class CheckupBase(BaseModel):
id: UUID4
medic_id: UUID4
created_at: datetime
class Config:
orm_mode = True
class CheckupDetail(CheckupBase):
claims: Optional[List[str]]
allergies: Optional[List[str]]
diseases: Optional[List[str]]
medicines: Optional[List[str]]
disease_process: Optional[str]
visual_inspection: Optional[str]
dental_formula: Optional[Any]
dental_formula_ext: Optional[Json]
class CheckupCreate(BaseModel):
medical_card_id: UUID4
medic_id: UUID4
claims: Optional[List[str]]
allergies: Optional[List[str]]
diseases: Optional[List[str]]
medicines: Optional[List[str]]
disease_process: Optional[str]
visual_inspection: Optional[str]
dental_formula: Optional[Any]
dental_formula_ext: Optional[Json]

View File

@@ -11,29 +11,3 @@ class MedicalCardResponse(BaseModel):
class MedicalCardCreate(BaseModel):
number: str
person_id: UUID4
class CheckupDetail(BaseModel):
id: UUID4
medical_card_id: UUID4
medic_id: UUID4
claims: Optional[List[str]]
allergies: Optional[List[str]]
diseases: Optional[List[str]]
medicines: Optional[List[str]]
disease_process: Optional[str]
visual_inspection: Optional[str]
dental_formula: Optional[Any]
dental_formula_ext: Optional[Json]
class Config:
orm_mode = True
class CheckupCreate(BaseModel):
medical_card_id: UUID4
medic_id: UUID4
claims: Optional[List[str]]
allergies: Optional[List[str]]
diseases: Optional[List[str]]
medicines: Optional[List[str]]
disease_process: Optional[str]
visual_inspection: Optional[str]
dental_formula: Optional[Any]
dental_formula_ext: Optional[Json]

View File

@@ -1,20 +1,27 @@
from fastapi import Depends
from fastapi.routing import APIRouter
from typing import List
from typing import List, Optional
from pydantic.types import UUID4
from medical_info.db import models
from medical_info.db.schemas import CheckupDetail, CheckupCreate
from medical_info.db.schemas import CheckupCreate, CheckupBase, CheckupDetail
from medical_info.services import CheckupService, get_checkups_service
router = APIRouter(prefix='/checkups')
@router.get('/', response_model=List[CheckupDetail])
@router.get('/', response_model=List[CheckupBase])
def list_checkups(
checkups_service: CheckupService = Depends(get_checkups_service)
) -> List[models.Checkup]:
return checkups_service.list()
@router.post('/', status_code=201, response_model=CheckupDetail)
@router.get('/{checkup_id}', response_model=CheckupDetail)
async def get_checkup(
checkup_id: UUID4, checkups_service: CheckupService = Depends(get_checkups_service)
) -> Optional[models.Checkup]:
return checkups_service.get(checkup_id)
@router.post('/', status_code=201, response_model=CheckupBase)
async def create_checkup(
checkup: CheckupCreate, checkups_service: CheckupService = Depends(get_checkups_service)
) -> models.Checkup: