Source code for bqss.bqss.models.documents_stats
import typing
from enum import Enum
# pylint: disable=no-name-in-module
from pydantic import BaseModel
[docs]
class ClasseEnum(str, Enum):
"""
Valeurs possibles pour la classe d'un indicateur
"""
A = "A"
B = "B"
C = "C"
D = "D"
[docs]
class BinaryClasseEnum(int, Enum):
"""
Valeurs possibles pour les classes binaires
"""
ZERO = 0
ONE = 1
[docs]
class MissingClasseEnum(str, Enum):
"""
Valeurs manquantes possibles
"""
NC = "Non concerné"
NR = "Non répondant"
NV = "Non validé"
DI = "Données insuffisantes"
NA = "Non applicable"
# pylint: disable=too-few-public-methods
[docs]
class DistributionModel(BaseModel):
"""
Distribution des valeurs recueillies
"""
classe: typing.Union[ClasseEnum, BinaryClasseEnum]
nb_etablissements: int
part_etablissements: float
[docs]
class MissingDistributionModel(BaseModel):
"""
Distribution des valeurs manquantes
"""
classe: MissingClasseEnum
[docs]
class IndicateurYearStatsModel(BaseModel):
"""
Statistiques d'un indicateur donné pour une année de recueil donnée
"""
annee_recueil: int
distribution: typing.List[DistributionModel]
missing_distribution: typing.List[MissingDistributionModel]
[docs]
class IndicateurStatsModel(BaseModel):
"""
Statistiques nationales d'un indicateur donné
"""
indicateur: str
statistiques_annuelles: typing.List[IndicateurYearStatsModel]
[docs]
class StatsModel(BaseModel):
"""
Statistiques sur les établissements de santé
"""
distributions_nationales_indicateurs: typing.List[IndicateurStatsModel]