From 7b40d309f6ba215d4916873df7c1e715d8454c32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=A3=20Bida=20Vacaro?= Date: Tue, 26 May 2026 19:59:23 -0300 Subject: [PATCH 1/2] feat(ducklake): split the catalog.db into individual files for each dataset --- pysus/api/ducklake/catalog.py | 23 +- pysus/api/ducklake/catalog/__init__.py | 324 ++ pysus/api/ducklake/catalog/columns.py | 7235 ++++++++++++++++++++++++ pysus/api/ducklake/catalog/models.py | 307 + pysus/api/ducklake/catalog/parsers.py | 1 + 5 files changed, 7870 insertions(+), 20 deletions(-) create mode 100644 pysus/api/ducklake/catalog/__init__.py create mode 100644 pysus/api/ducklake/catalog/columns.py create mode 100644 pysus/api/ducklake/catalog/models.py create mode 100644 pysus/api/ducklake/catalog/parsers.py diff --git a/pysus/api/ducklake/catalog.py b/pysus/api/ducklake/catalog.py index a9c0fd05..ec79639f 100644 --- a/pysus/api/ducklake/catalog.py +++ b/pysus/api/ducklake/catalog.py @@ -4,7 +4,6 @@ in the pysus schema of the local DuckDB catalog. """ -import enum from datetime import datetime from typing import Optional @@ -12,7 +11,6 @@ Boolean, Column, DateTime, - Enum, ForeignKey, Index, Integer, @@ -55,21 +53,6 @@ class CatalogTable(Base): __table_args__: tuple = ({"schema": "pysus"},) -class Origin(enum.Enum): - """Origin type for a dataset. - - Attributes - ---------- - FTP : str - Dataset sourced from the FTP server. - API : str - Dataset sourced from an API. - """ - - FTP = "ftp" - API = "api" - - class CatalogDataset(CatalogTable): """ORM model for the datasets table, representing a dataset collection. @@ -83,8 +66,6 @@ class CatalogDataset(CatalogTable): Human-readable full name. description : str, optional Optional description of the dataset contents. - origin : Origin - Whether the dataset originates from FTP or an API. """ __tablename__ = "datasets" @@ -97,7 +78,6 @@ class CatalogDataset(CatalogTable): name = Column(String, nullable=False, unique=True, index=True) long_name = Column(String, nullable=False) description = Column(String, nullable=True) - origin = Column(Enum(Origin), nullable=False) groups = relationship( "DatasetGroup", @@ -234,6 +214,8 @@ class CatalogFile(CatalogTable): Timestamp of the last known modification. origin_modified : datetime, optional Original modification timestamp from the source. + origin_size : int + Original file size in bytes. origin_path : str Original source path of the file. sha256 : str, optional @@ -271,6 +253,7 @@ class CatalogFile(CatalogTable): DateTime, nullable=True, ) + origin_size: Mapped[int] = mapped_column(Integer, nullable=False) origin_path: Mapped[str] = mapped_column(String, nullable=False) sha256: Mapped[str | None] = mapped_column( String(64), diff --git a/pysus/api/ducklake/catalog/__init__.py b/pysus/api/ducklake/catalog/__init__.py new file mode 100644 index 00000000..a9c0fd05 --- /dev/null +++ b/pysus/api/ducklake/catalog/__init__.py @@ -0,0 +1,324 @@ +"""SQLAlchemy ORM models for the DuckLake catalog schema. + +Defines tables for datasets, groups, files, and columns stored +in the pysus schema of the local DuckDB catalog. +""" + +import enum +from datetime import datetime +from typing import Optional + +from sqlalchemy import ( + Boolean, + Column, + DateTime, + Enum, + ForeignKey, + Index, + Integer, + Sequence, + String, + Table, +) +from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship + + +class Base(DeclarativeBase): + """Base class for all DuckLake catalog ORM models.""" + + pass + + +file_columns = Table( + "file_columns", + Base.metadata, + Column( + "file_id", + Integer, + ForeignKey("pysus.files.id"), + primary_key=True, + ), + Column( + "column_id", + Integer, + ForeignKey("pysus.dataset_columns.id"), + primary_key=True, + ), + schema="pysus", +) + + +class CatalogTable(Base): + """Abstract base for catalog tables sharing the pysus schema.""" + + __abstract__ = True + __table_args__: tuple = ({"schema": "pysus"},) + + +class Origin(enum.Enum): + """Origin type for a dataset. + + Attributes + ---------- + FTP : str + Dataset sourced from the FTP server. + API : str + Dataset sourced from an API. + """ + + FTP = "ftp" + API = "api" + + +class CatalogDataset(CatalogTable): + """ORM model for the datasets table, representing a dataset collection. + + Parameters + ---------- + id : int, optional + Primary key (auto-generated by sequence). + name : str + Unique short name for the dataset. + long_name : str + Human-readable full name. + description : str, optional + Optional description of the dataset contents. + origin : Origin + Whether the dataset originates from FTP or an API. + """ + + __tablename__ = "datasets" + + id = Column( + Integer, + Sequence("datasets_id_seq", schema="pysus"), + primary_key=True, + ) + name = Column(String, nullable=False, unique=True, index=True) + long_name = Column(String, nullable=False) + description = Column(String, nullable=True) + origin = Column(Enum(Origin), nullable=False) + + groups = relationship( + "DatasetGroup", + back_populates="dataset", + cascade="all, delete-orphan", + ) + files = relationship( + "CatalogFile", + back_populates="dataset", + cascade="all, delete-orphan", + ) + columns = relationship( + "ColumnDefinition", + back_populates="dataset", + cascade="all, delete-orphan", + ) + + +class ColumnDefinition(CatalogTable): + """ORM model for dataset column metadata. + + Parameters + ---------- + id : int, optional + Primary key (auto-generated by sequence). + dataset_id : int + Foreign key referencing the parent dataset. + name : str + Column name. + type : str + Column data type string. + description : str, optional + Optional description of the column. + nullable : bool, optional + Whether the column allows null values. + """ + + __tablename__ = "dataset_columns" + + id = Column( + Integer, + Sequence("columns_id_seq", schema="pysus"), + primary_key=True, + ) + dataset_id = Column( + Integer, + ForeignKey("pysus.datasets.id"), + nullable=False, + index=True, + ) + name = Column(String, nullable=False) + type = Column(String, nullable=False) + description = Column(String, nullable=True) + nullable = Column(Boolean, nullable=False, default=True) + + dataset = relationship("CatalogDataset", back_populates="columns") + files = relationship( + "CatalogFile", + secondary=file_columns, + back_populates="columns", + ) + + __table_args__ = ( + Index("ix_columns_dataset_name", "dataset_id", "name"), + {"schema": "pysus"}, + ) + + +class DatasetGroup(CatalogTable): + """ORM model for dataset groups, grouping related files within a dataset. + + Parameters + ---------- + id : int, optional + Primary key (auto-generated by sequence). + name : str + Short name for the group. + dataset_id : int + Foreign key referencing the parent dataset. + long_name : str + Human-readable full name. + description : str, optional + Optional description of the group contents. + """ + + __tablename__ = "dataset_groups" + + id = Column( + Integer, + Sequence("groups_id_seq", schema="pysus"), + primary_key=True, + ) + name = Column(String, nullable=False) + dataset_id = Column( + Integer, + ForeignKey("pysus.datasets.id"), + nullable=False, + index=True, + ) + long_name = Column(String, nullable=False) + description = Column(String, nullable=True) + + dataset = relationship("CatalogDataset", back_populates="groups") + files = relationship( + "CatalogFile", + back_populates="group", + cascade="all, delete-orphan", + ) + + __table_args__ = ( + Index("ix_groups_dataset_name", "dataset_id", "name"), + {"schema": "pysus"}, + ) + + +class CatalogFile(CatalogTable): + """ORM model for the files table, representing individual data files. + + Parameters + ---------- + id : int, optional + Primary key (auto-generated by sequence). + dataset_id : int + Foreign key referencing the parent dataset. + group_id : int, optional + Foreign key referencing the parent group. + path : str + Object storage path to the file. + size : int + File size in bytes. + rows : int + Number of rows in the file. + modified : datetime + Timestamp of the last known modification. + origin_modified : datetime, optional + Original modification timestamp from the source. + origin_path : str + Original source path of the file. + sha256 : str, optional + SHA-256 hex digest for integrity verification. + year : int, optional + Data year associated with the file. + month : int, optional + Data month associated with the file. + state : str, optional + Two-letter state code associated with the file. + """ + + __tablename__ = "files" + + id: Mapped[int] = mapped_column( + Integer, + Sequence("files_id_seq", schema="pysus"), + primary_key=True, + ) + dataset_id: Mapped[int] = mapped_column( + Integer, ForeignKey("pysus.datasets.id"), nullable=False, index=True + ) + group_id: Mapped[int | None] = mapped_column( + Integer, + ForeignKey("pysus.dataset_groups.id"), + nullable=True, + index=True, + ) + + path: Mapped[str] = mapped_column(String, nullable=False, unique=True) + size: Mapped[int] = mapped_column(Integer, nullable=False) + rows: Mapped[int] = mapped_column(Integer, nullable=False) + modified: Mapped[datetime] = mapped_column(DateTime, nullable=False) + origin_modified: Mapped[datetime | None] = mapped_column( + DateTime, + nullable=True, + ) + origin_path: Mapped[str] = mapped_column(String, nullable=False) + sha256: Mapped[str | None] = mapped_column( + String(64), + nullable=True, + index=True, + ) + + year: Mapped[int | None] = mapped_column( + Integer, + nullable=True, + index=True, + ) + month: Mapped[int | None] = mapped_column( + Integer, + nullable=True, + index=True, + ) + state: Mapped[str | None] = mapped_column( + String(2), + nullable=True, + index=True, + ) + + dataset: Mapped["CatalogDataset"] = relationship( + "CatalogDataset", + back_populates="files", + ) + group: Mapped[Optional["DatasetGroup"]] = relationship( + "DatasetGroup", + back_populates="files", + ) + columns: Mapped[list["ColumnDefinition"]] = relationship( + "ColumnDefinition", + secondary=file_columns, + back_populates="files", + cascade="all, delete", + ) + + __table_args__ = ( + Index("ix_files_dataset_group", "dataset_id", "group_id"), + Index("ix_files_temporal", "year", "month"), + Index( + "ix_files_lookup", + "dataset_id", + "group_id", + "year", + "month", + "state", + ), + {"schema": "pysus"}, + ) diff --git a/pysus/api/ducklake/catalog/columns.py b/pysus/api/ducklake/catalog/columns.py new file mode 100644 index 00000000..d87e6a3a --- /dev/null +++ b/pysus/api/ducklake/catalog/columns.py @@ -0,0 +1,7235 @@ +"""Catalog column definitions extracted from catalog.db. + +Maps every column name to a dict of {dataset_name: description}. +""" + +ABAND = {"pni": ""} + +ABDOMINAL = {"sinan": ""} + +ABRANDAD = {"cnes": ""} + +AB_ANOACOM = {"sia": ""} + +AB_DTCIRG2 = {"sia": ""} + +AB_DTCIRUR = {"sia": ""} + +AB_IMC = {"sia": ""} + +AB_MESACOM = {"sia": ""} + +AB_NUMAIH = {"sia": ""} + +AB_NUMAIH2 = {"sia": ""} + +AB_PONTBAR = {"sia": ""} + +AB_PRCAIH2 = {"sia": ""} + +AB_PRCAIH3 = {"sia": ""} + +AB_PRCAIH4 = {"sia": ""} + +AB_PRCAIH5 = {"sia": ""} + +AB_PRCAIH6 = {"sia": ""} + +AB_PROCAIH = {"sia": ""} + +AB_TABBARR = {"sia": ""} + +AB_T_PRC2 = {"sia": ""} + +AB_T_PRC3 = {"sia": ""} + +AB_T_PRC4 = {"sia": ""} + +AB_T_PRC5 = {"sia": ""} + +AB_T_PRC6 = {"sia": ""} + +ACF_ARTDIA = {"sia": ""} + +ACF_DUPLEX = {"sia": ""} + +ACF_FLEBIT = {"sia": ""} + +ACF_FREMIT = {"sia": ""} + +ACF_HEMATO = {"sia": ""} + +ACF_PREFAV = {"sia": ""} + +ACF_PULSO = {"sia": ""} + +ACF_USOCAT = {"sia": ""} + +ACF_VEIAVI = {"sia": ""} + +ACF_VEIDIA = {"sia": ""} + +ACIDO_PEPT = {"sinan": ""} + +ACIDTRAB = {"sim": ""} + +ACONDIC = {"sinan": ""} + +ACUPUNTURA = {"sinan": ""} + +AEROFOBIA = {"sinan": ""} + +AFASTAMENT = {"sinan": ""} + +AFAST_DESG = {"sinan": ""} + +AFAST_RISC = {"sinan": ""} + +AFAST_TRAB = {"sinan": ""} + +AFIRMATIVO = {"sinan": ""} + +AGENTE = {"sinan": ""} + +AGENTE_1 = {"sinan": ""} + +AGENTE_2 = {"sinan": ""} + +AGENTE_3 = {"sinan": ""} + +AGENTE_DES = {"sinan": ""} + +AGENTE_ET0 = {"sinan": ""} + +AGENTE_ET1 = {"sinan": ""} + +AGENTE_ET2 = {"sinan": ""} + +AGENTE_ET3 = {"sinan": ""} + +AGENTE_ETI = {"sinan": ""} + +AGENTE_OUT = {"sinan": ""} + +AGENTE_TOX = {"sinan": ""} + +AGHBE = {"sinan": ""} + +AGHBS = {"sinan": ""} + +AGITACAO = {"sinan": ""} + +AGRAVAIDS = {"sinan": ""} + +AGRAVALCOO = {"sinan": ""} + +AGRAVDIABE = {"sinan": ""} + +AGRAVDOENC = {"sinan": ""} + +AGRAVDROGA = {"sinan": ""} + +AGRAVOUTDE = {"sinan": ""} + +AGRAVOUTRA = {"sinan": ""} + +AGRAVO_DES = {"sinan": ""} + +AGRAVTABAC = {"sinan": ""} + +AGRESSIVI = {"sinan": ""} + +AGUA_ALIME = {"sinan": ""} + +AG_AMEACA = {"sinan": ""} + +AG_CORTE = {"sinan": ""} + +AG_ENFOR = {"sinan": ""} + +AG_ENVEN = {"sinan": ""} + +AG_ESPEC = {"sinan": ""} + +AG_FOGO = {"sinan": ""} + +AG_FORCA = {"sinan": ""} + +AG_OBJETO = {"sinan": ""} + +AG_OUTROS = {"sinan": ""} + +AG_QUENTE = {"sinan": ""} + +AIH = {"sih": ""} + +ALCATRAO = {"sinan": ""} + +ALCOOL = {"sinan": ""} + +ALIMENTO_C = {"sinan": ""} + +ALRM_ABDOM = {"sinan": ""} + +ALRM_HEMAT = {"sinan": ""} + +ALRM_HEPAT = {"sinan": ""} + +ALRM_HIPOT = {"sinan": ""} + +ALRM_LETAR = {"sinan": ""} + +ALRM_LIQ = {"sinan": ""} + +ALRM_PLAQ = {"sinan": ""} + +ALRM_SANG = {"sinan": ""} + +ALRM_VOM = {"sinan": ""} + +ALTCAUSA = {"sim": ""} + +ALVARA = {"cnes": ""} + +AMALARIA = {"sinan": ""} + +AMBIENTE = {"sinan": ""} + +AMB_NSUS = {"cnes": ""} + +AMB_SUS = {"cnes": ""} + +AMINA = {"sinan": ""} + +AMOS_OUT = {"sinan": ""} + +AMOS_PCR = {"sinan": ""} + +AMPICILINA = {"sinan": ""} + +AMPOLAS = {"sinan": ""} + +AMP_ACEVAS = {"sia": ""} + +AMP_ALBUMI = {"sia": ""} + +AMP_CARACT = {"sia": ""} + +AMP_DTCLI = {"sia": ""} + +AMP_DTINI = {"sia": ""} + +AMP_FOSFOR = {"sia": ""} + +AMP_HB = {"sia": ""} + +AMP_HBSAG = {"sia": ""} + +AMP_HCV = {"sia": ""} + +AMP_HIV = {"sia": ""} + +AMP_INTERC = {"sia": ""} + +AMP_KTVSEM = {"sia": ""} + +AMP_MAISNE = {"sia": ""} + +AMP_PTH = {"sia": ""} + +AMP_SEAPTO = {"sia": ""} + +AMP_SEPERI = {"sia": ""} + +AMP_SITINI = {"sia": ""} + +AMP_SITTRA = {"sia": ""} + +AMP_TRU = {"sia": ""} + +AM_ALTURA = {"sia": ""} + +AM_GESTANT = {"sia": ""} + +AM_PESO = {"sia": ""} + +AM_QTDTRAN = {"sia": ""} + +AM_SANGUE = {"sinan": ""} + +AM_TRANSPL = {"sia": ""} + +ANIMAL = {"sinan": ""} + +ANIM_ESP = {"sinan": ""} + +ANI_ARANHA = {"sinan": ""} + +ANI_LAGART = {"sinan": ""} + +ANI_SERPEN = {"sinan": ""} + +ANI_TIPO_1 = {"sinan": ""} + +ANO = { + "ibge": "", + "pni": "", + "sih": "", + "sinan": "", +} + +ANOMES = {"pni": ""} + +ANOREXIA = {"sinan": ""} + +ANO_CMPT = { + "ciha": "", + "sih": "", +} + +ANO_DT_SIN = {"sinan": ""} + +ANO_NASC = {"sinan": ""} + +ANTDTTRANS = {"sinan": ""} + +ANTEC_POS = {"sinan": ""} + +ANTEC_PRE = {"sinan": ""} + +ANTIBIOTIC = {"sinan": ""} + +ANTIB_DES = {"sinan": ""} + +ANTIHAVIGM = {"sinan": ""} + +ANTIHBCIGM = {"sinan": ""} + +ANTIHBE = {"sinan": ""} + +ANTIHBS = {"sinan": ""} + +ANTIHCV = {"sinan": ""} + +ANTIHDV = {"sinan": ""} + +ANTIHDVIGM = {"sinan": ""} + +ANTIHEVIGM = {"sinan": ""} + +ANTI_HBS = {"sinan": ""} + +ANTI_HCV = {"sinan": ""} + +ANTI_HIV = {"sinan": ""} + +ANTI_RAB = {"sinan": ""} + +ANTMUNTRAN = {"sinan": ""} + +ANTRELSE_N = {"sinan": ""} + +ANTSIFIL_N = {"sinan": ""} + +ANTTRANS_M = {"sinan": ""} + +ANTUFTRANS = {"sinan": ""} + +ANT_30_DIA = {"sinan": ""} + +ANT_AC = {"sinan": ""} + +ANT_ACIDEN = {"sinan": ""} + +ANT_AIDS = {"sinan": ""} + +ANT_ANEMIA = {"sinan": ""} + +ANT_ANIMAI = {"sinan": ""} + +ANT_ARAGEM = {"sinan": ""} + +ANT_ARRANH = {"sinan": ""} + +ANT_ARRUMO = {"sinan": ""} + +ANT_ASTERI = {"sinan": ""} + +ANT_BC = {"sinan": ""} + +ANT_BCG = {"sinan": ""} + +ANT_CABECA = {"sinan": ""} + +ANT_CANCER = {"sinan": ""} + +ANT_CANDID = {"sinan": ""} + +ANT_CAQUEX = {"sinan": ""} + +ANT_CAT_EX = {"sinan": ""} + +ANT_CB_CAI = {"sinan": ""} + +ANT_CB_CAR = {"sinan": ""} + +ANT_CB_COR = {"sinan": ""} + +ANT_CB_CRI = {"sinan": ""} + +ANT_CB_FOS = {"sinan": ""} + +ANT_CB_GRA = {"sinan": ""} + +ANT_CB_LAM = {"sinan": ""} + +ANT_CB_LAV = {"sinan": ""} + +ANT_CB_LIM = {"sinan": ""} + +ANT_CB_LIX = {"sinan": ""} + +ANT_CB_OUT = {"sinan": ""} + +ANT_CB_PLA = {"sinan": ""} + +ANT_CB_ROE = {"sinan": ""} + +ANT_CB_SIN = {"sinan": ""} + +ANT_CB_TER = {"sinan": ""} + +ANT_CHAGAS = {"sinan": ""} + +ANT_CITO = {"sinan": ""} + +ANT_COLHEI = {"sinan": ""} + +ANT_CONJ_C = {"sinan": ""} + +ANT_CONTAG = {"sinan": ""} + +ANT_CONTAT = {"sinan": ""} + +ANT_CONT_N = {"sinan": ""} + +ANT_CORTE = {"sinan": ""} + +ANT_CRIPTO = {"sinan": ""} + +ANT_CRIP_1 = {"sinan": ""} + +ANT_DERMAT = {"sinan": ""} + +ANT_DESMAT = {"sinan": ""} + +ANT_DIARRE = {"sinan": ""} + +ANT_DILACE = {"sinan": ""} + +ANT_DISFUN = {"sinan": ""} + +ANT_DOSES = {"sinan": ""} + +ANT_DOSES_ = {"sinan": ""} + +ANT_DOSE_3 = {"sinan": ""} + +ANT_DOSE_4 = {"sinan": ""} + +ANT_DOSE_5 = {"sinan": ""} + +ANT_DOSE_7 = {"sinan": ""} + +ANT_DOSE_C = {"sinan": ""} + +ANT_DOSE_T = {"sinan": ""} + +ANT_DOS_N = {"sinan": ""} + +ANT_DROGA = {"sinan": ""} + +ANT_DTULT_ = {"sinan": ""} + +ANT_DTUL_3 = {"sinan": ""} + +ANT_DTUL_4 = {"sinan": ""} + +ANT_DTUL_5 = {"sinan": ""} + +ANT_DTUL_7 = {"sinan": ""} + +ANT_DTUL_8 = {"sinan": ""} + +ANT_DTUL_C = {"sinan": ""} + +ANT_DTUL_T = {"sinan": ""} + +ANT_DT_ACI = {"sinan": ""} + +ANT_DT_EXP = {"sinan": ""} + +ANT_DT_INV = {"sinan": ""} + +ANT_DT_VAC = {"sinan": ""} + +ANT_ESOF_N = {"sinan": ""} + +ANT_EVLABO = {"sinan": ""} + +ANT_EXPOSI = {"sinan": ""} + +ANT_FEBRE = {"sinan": ""} + +ANT_HEMOLF = {"sinan": ""} + +ANT_HEMO_T = {"sinan": ""} + +ANT_HERPES = {"sinan": ""} + +ANT_HISTO = {"sinan": ""} + +ANT_HUMANO = {"sinan": ""} + +ANT_H_SIMP = {"sinan": ""} + +ANT_IDADE = {"sinan": ""} + +ANT_IMUNO = {"sinan": ""} + +ANT_INF_HO = {"sinan": ""} + +ANT_INVEST = {"sinan": ""} + +ANT_IRA = {"sinan": ""} + +ANT_ISOPOR = {"sinan": ""} + +ANT_LAMBED = {"sinan": ""} + +ANT_LAZER = {"sinan": ""} + +ANT_LEUCO = {"sinan": ""} + +ANT_LIMPEZ = {"sinan": ""} + +ANT_LINFO = {"sinan": ""} + +ANT_LINFOM = {"sinan": ""} + +ANT_LINFO_ = {"sinan": ""} + +ANT_LOCA_1 = {"sinan": ""} + +ANT_MAOS = {"sinan": ""} + +ANT_MEMBRO = {"sinan": ""} + +ANT_MEMB_1 = {"sinan": ""} + +ANT_MICRO = {"sinan": ""} + +ANT_MOAGEM = {"sinan": ""} + +ANT_MORDED = {"sinan": ""} + +ANT_MUCOSA = {"sinan": ""} + +ANT_MUNIC_ = {"sinan": ""} + +ANT_MUNI_C = {"sinan": ""} + +ANT_OCUPAC = {"sinan": ""} + +ANT_OUTR = {"sinan": ""} + +ANT_OUTRA = {"sinan": ""} + +ANT_OUTRO = {"sinan": ""} + +ANT_OUTROS = {"sinan": ""} + +ANT_OUTRO_ = {"sinan": ""} + +ANT_OUTR_D = {"sinan": ""} + +ANT_OUT_D = {"sinan": ""} + +ANT_OU_DE = {"sinan": ""} + +ANT_OU_DES = {"sinan": ""} + +ANT_PAIS = {"sinan": ""} + +ANT_PERINA = {"sinan": ""} + +ANT_PLANTI = {"sinan": ""} + +ANT_PNEUMO = {"sinan": ""} + +ANT_PRE_NA = {"sinan": ""} + +ANT_PROFUN = {"sinan": ""} + +ANT_PULMON = {"sinan": ""} + +ANT_PULM_N = {"sinan": ""} + +ANT_RACA = {"sinan": ""} + +ANT_REL_CA = {"sinan": ""} + +ANT_REL_N = {"sinan": ""} + +ANT_RETRO = {"sinan": ""} + +ANT_ROEDOR = {"sinan": ""} + +ANT_SALMO = {"sinan": ""} + +ANT_SARCOM = {"sinan": ""} + +ANT_SECUND = {"sinan": ""} + +ANT_SENTIN = {"sinan": ""} + +ANT_SUPERF = {"sinan": ""} + +ANT_TEMPO_ = {"sinan": ""} + +ANT_TIPOCO = {"sinan": ""} + +ANT_TOSSE = {"sinan": ""} + +ANT_TOXO = {"sinan": ""} + +ANT_TRANS_ = {"sinan": ""} + +ANT_TRASMI = {"sinan": ""} + +ANT_TRATAD = {"sinan": ""} + +ANT_TRAUMA = {"sinan": ""} + +ANT_TRIPLI = {"sinan": ""} + +ANT_TRONCO = {"sinan": ""} + +ANT_TUBE = {"sinan": ""} + +ANT_TUBERC = {"sinan": ""} + +ANT_T_HEMO = {"sinan": ""} + +ANT_UF = {"sinan": ""} + +ANT_UF_1 = {"sinan": ""} + +ANT_UF_2 = {"sinan": ""} + +ANT_UF_3 = {"sinan": ""} + +ANT_UF_CRI = {"sinan": ""} + +ANT_ULTI_D = {"sinan": ""} + +ANT_VACINA = {"sinan": ""} + +AN_ACEVAS = {"sia": ""} + +AN_ALBUMI = {"sia": ""} + +AN_ALTURA = {"sia": ""} + +AN_CNCDO = {"sia": ""} + +AN_DIURES = {"sia": ""} + +AN_DTPDR = {"sia": ""} + +AN_GLICOS = {"sia": ""} + +AN_HB = {"sia": ""} + +AN_HBSAG = {"sia": ""} + +AN_HCV = {"sia": ""} + +AN_HIV = {"sia": ""} + +AN_INTFIS = {"sia": ""} + +AN_PESO = {"sia": ""} + +AN_QUALI = {"sinan": ""} + +AN_QUANT = {"sinan": ""} + +AN_TRU = {"sia": ""} + +AN_ULSOAB = {"sia": ""} + +AP01CV01 = {"cnes": ""} + +AP01CV02 = {"cnes": ""} + +AP01CV03 = {"cnes": ""} + +AP01CV04 = {"cnes": ""} + +AP01CV05 = {"cnes": ""} + +AP01CV06 = {"cnes": ""} + +AP01CV07 = {"cnes": ""} + +AP02CV01 = {"cnes": ""} + +AP02CV02 = {"cnes": ""} + +AP02CV03 = {"cnes": ""} + +AP02CV04 = {"cnes": ""} + +AP02CV05 = {"cnes": ""} + +AP02CV06 = {"cnes": ""} + +AP02CV07 = {"cnes": ""} + +AP03CV01 = {"cnes": ""} + +AP03CV02 = {"cnes": ""} + +AP03CV03 = {"cnes": ""} + +AP03CV04 = {"cnes": ""} + +AP03CV05 = {"cnes": ""} + +AP03CV06 = {"cnes": ""} + +AP03CV07 = {"cnes": ""} + +AP04CV01 = {"cnes": ""} + +AP04CV02 = {"cnes": ""} + +AP04CV03 = {"cnes": ""} + +AP04CV04 = {"cnes": ""} + +AP04CV05 = {"cnes": ""} + +AP04CV06 = {"cnes": ""} + +AP04CV07 = {"cnes": ""} + +AP05CV01 = {"cnes": ""} + +AP05CV02 = {"cnes": ""} + +AP05CV03 = {"cnes": ""} + +AP05CV04 = {"cnes": ""} + +AP05CV05 = {"cnes": ""} + +AP05CV06 = {"cnes": ""} + +AP05CV07 = {"cnes": ""} + +AP06CV01 = {"cnes": ""} + +AP06CV02 = {"cnes": ""} + +AP06CV03 = {"cnes": ""} + +AP06CV04 = {"cnes": ""} + +AP06CV05 = {"cnes": ""} + +AP06CV06 = {"cnes": ""} + +AP06CV07 = {"cnes": ""} + +AP07CV01 = {"cnes": ""} + +AP07CV02 = {"cnes": ""} + +AP07CV03 = {"cnes": ""} + +AP07CV04 = {"cnes": ""} + +AP07CV05 = {"cnes": ""} + +AP07CV06 = {"cnes": ""} + +AP07CV07 = {"cnes": ""} + +APGAR1 = {"sinasc": ""} + +APGAR5 = {"sinasc": ""} + +AP_ADESAO = {"sia": ""} + +AP_ALTA = {"sia": ""} + +AP_APACAN = {"sia": ""} + +AP_APACANT = {"sia": ""} + +AP_ATV_FIS = {"sia": ""} + +AP_AUTORIZ = {"sia": ""} + +AP_CATEND = {"sia": ""} + +AP_CEPPCN = {"sia": ""} + +AP_CIDCAS = {"sia": ""} + +AP_CIDPRI = {"sia": ""} + +AP_CIDSEC = {"sia": ""} + +AP_CID_C1 = {"sia": ""} + +AP_CID_C2 = {"sia": ""} + +AP_CID_C3 = {"sia": ""} + +AP_CID_C4 = {"sia": ""} + +AP_CID_C5 = {"sia": ""} + +AP_CID_CO = {"sia": ""} + +AP_CMP = {"sia": ""} + +AP_CNPJCPF = {"sia": ""} + +AP_CNPJMNT = {"sia": ""} + +AP_CNSPCN = {"sia": ""} + +AP_CODEMI = {"sia": ""} + +AP_CODUNI = {"sia": ""} + +AP_COIDADE = {"sia": ""} + +AP_COMORB = {"sia": ""} + +AP_CONDIC = {"sia": ""} + +AP_DTAUT = {"sia": ""} + +AP_DTFIM = {"sia": ""} + +AP_DTINIC = {"sia": ""} + +AP_DTOCOR = {"sia": ""} + +AP_DTOOCOR = {"sia": ""} + +AP_DTSOLIC = {"sia": ""} + +AP_ENCERR = {"sia": ""} + +AP_ETNIA = {"sia": ""} + +AP_GESTAO = {"sia": ""} + +AP_MEDICAM = {"sia": ""} + +AP_MNDIF = {"sia": ""} + +AP_MN_IND = {"sia": ""} + +AP_MOTSAI = {"sia": ""} + +AP_MUNPCN = {"sia": ""} + +AP_MVM = {"sia": ""} + +AP_NATJUR = {"sia": ""} + +AP_NUIDADE = {"sia": ""} + +AP_OBITO = {"sia": ""} + +AP_PERMAN = {"sia": ""} + +AP_POLIVIT = {"sia": ""} + +AP_PRIPAL = {"sia": ""} + +AP_RACACOR = {"sia": ""} + +AP_REG_PES = {"sia": ""} + +AP_SEXO = {"sia": ""} + +AP_TIPPRE = {"sia": ""} + +AP_TPAPAC = {"sia": ""} + +AP_TPATEN = {"sia": ""} + +AP_TPATEND = {"sia": ""} + +AP_TPPRE = {"sia": ""} + +AP_TPUPS = {"sia": ""} + +AP_TRANSF = {"sia": ""} + +AP_UFDIF = {"sia": ""} + +AP_UFMUN = {"sia": ""} + +AP_UFNACIO = {"sia": ""} + +AP_UNISOL = {"sia": ""} + +AP_VL_AP = {"sia": ""} + +AQ_CID10 = {"sia": ""} + +AQ_CIDINI1 = {"sia": ""} + +AQ_CIDINI2 = {"sia": ""} + +AQ_CIDINI3 = {"sia": ""} + +AQ_CONTTR = {"sia": ""} + +AQ_DTIDEN = {"sia": ""} + +AQ_DTINI1 = {"sia": ""} + +AQ_DTINI2 = {"sia": ""} + +AQ_DTINI3 = {"sia": ""} + +AQ_DTINTR = {"sia": ""} + +AQ_ESQU_P1 = {"sia": ""} + +AQ_ESQU_P2 = {"sia": ""} + +AQ_ESTADI = {"sia": ""} + +AQ_GRAHIS = {"sia": ""} + +AQ_LINFIN = {"sia": ""} + +AQ_MED01 = {"sia": ""} + +AQ_MED02 = {"sia": ""} + +AQ_MED03 = {"sia": ""} + +AQ_MED04 = {"sia": ""} + +AQ_MED05 = {"sia": ""} + +AQ_MED06 = {"sia": ""} + +AQ_MED07 = {"sia": ""} + +AQ_MED08 = {"sia": ""} + +AQ_MED09 = {"sia": ""} + +AQ_MED10 = {"sia": ""} + +AQ_TOTMAU = {"sia": ""} + +AQ_TOTMPL = {"sia": ""} + +AQ_TRANTE = {"sia": ""} + +AREA = {"sinasc": ""} + +AREARES = {"sim": ""} + +ARMAZ_FT = {"cnes": ""} + +ARRANHAO = {"sinan": ""} + +ARRITMIAS = {"sinan": ""} + +ARTEI = {"sinan": ""} + +ARTEM = {"sinan": ""} + +ARTEMI = {"sinan": ""} + +ARTESU = {"sinan": ""} + +ARTRALGIA = {"sinan": ""} + +ARTRITE = {"sinan": ""} + +AR_CID10 = {"sia": ""} + +AR_CIDINI1 = {"sia": ""} + +AR_CIDINI2 = {"sia": ""} + +AR_CIDINI3 = {"sia": ""} + +AR_CIDTR1 = {"sia": ""} + +AR_CIDTR2 = {"sia": ""} + +AR_CIDTR3 = {"sia": ""} + +AR_CONTTR = {"sia": ""} + +AR_DTIDEN = {"sia": ""} + +AR_DTINI1 = {"sia": ""} + +AR_DTINI2 = {"sia": ""} + +AR_DTINI3 = {"sia": ""} + +AR_DTINTR = {"sia": ""} + +AR_ESTADI = {"sia": ""} + +AR_FIMAR1 = {"sia": ""} + +AR_FIMAR2 = {"sia": ""} + +AR_FIMAR3 = {"sia": ""} + +AR_FINALI = {"sia": ""} + +AR_GRAHIS = {"sia": ""} + +AR_INIAR1 = {"sia": ""} + +AR_INIAR2 = {"sia": ""} + +AR_INIAR3 = {"sia": ""} + +AR_LINFIN = {"sia": ""} + +AR_NUMC1 = {"sia": ""} + +AR_NUMC2 = {"sia": ""} + +AR_NUMC3 = {"sia": ""} + +AR_SMRD = {"sia": ""} + +AR_TRANTE = {"sia": ""} + +ASBESTO = {"sinan": ""} + +ASCITE = {"sinan": ""} + +ASMA = {"sinan": ""} + +ASSENTAD = {"cnes": ""} + +ASSINTOM = {"sinan": ""} + +ASSINTOMA = {"sinan": ""} + +ASSINTOMAT = {"sinan": ""} + +ASSISTMED = {"sim": ""} + +ASSIST_SOC = {"sinan": ""} + +ASTENIA = {"sinan": ""} + +ATD_ACEVAS = {"sia": ""} + +ATD_ALBUMI = {"sia": ""} + +ATD_CARACT = {"sia": ""} + +ATD_DTCLI = {"sia": ""} + +ATD_DTPDR = {"sia": ""} + +ATD_FOSFOR = {"sia": ""} + +ATD_HB = {"sia": ""} + +ATD_HBSAG = {"sia": ""} + +ATD_HCV = {"sia": ""} + +ATD_HIV = {"sia": ""} + +ATD_INTERC = {"sia": ""} + +ATD_KTVSEM = {"sia": ""} + +ATD_MAISNE = {"sia": ""} + +ATD_PTH = {"sia": ""} + +ATD_SEAPTO = {"sia": ""} + +ATD_SEPERI = {"sia": ""} + +ATD_SITINI = {"sia": ""} + +ATD_SITTRA = {"sia": ""} + +ATD_TRU = {"sia": ""} + +ATENDAMB = {"cnes": ""} + +ATENDE_MED = {"sinan": ""} + +ATENDHOS = {"cnes": ""} + +ATENDIMENT = {"sinan": ""} + +ATEND_MULH = {"sinan": ""} + +ATEND_PR = {"cnes": ""} + +ATESTADO = {"sim": ""} + +ATESTANTE = {"sim": ""} + +ATE_DT_ALT = {"sinan": ""} + +ATE_DT_INT = {"sinan": ""} + +ATE_HIPOTE = {"sinan": ""} + +ATE_HOSP = {"sinan": ""} + +ATE_HOSPIT = {"sinan": ""} + +ATE_INTERN = {"sinan": ""} + +ATE_MUNICI = {"sinan": ""} + +ATE_UF = {"sinan": ""} + +ATE_UF_HOS = {"sinan": ""} + +ATE_UF_INT = {"sinan": ""} + +ATIVIDAD = {"cnes": ""} + +ATIVIDA_1 = {"sinan": ""} + +ATIVIDA_2 = {"sinan": ""} + +ATIVIDA_3 = {"sinan": ""} + +AT_ATIVIDA = {"sinan": ""} + +AT_LAMINA = {"sinan": ""} + +AT_SINTOMA = {"sinan": ""} + +AUDITIVA = {"sinan": ""} + +AUD_JUST = {"sih": ""} + +AUMENTO = {"sinan": ""} + +AUTORIZ = {"sia": ""} + +AUTOR_ALCO = {"sinan": ""} + +AUTOR_SEXO = {"sinan": ""} + +AUTO_IMUNE = {"sinan": ""} + +AVALIA_N = {"sinan": ""} + +AVAL_ATU_N = {"sinan": ""} + +AVENTAL = {"sinan": ""} + +AV_ACRED = {"cnes": ""} + +AV_PNASS = {"cnes": ""} + +AZT3TC = {"sinan": ""} + +AZT3TC_IND = {"sinan": ""} + +AZT3TC_NFV = {"sinan": ""} + +BACILOSCOP = {"sinan": ""} + +BACILOSC_1 = {"sinan": ""} + +BACILOSC_2 = {"sinan": ""} + +BACILOSC_3 = {"sinan": ""} + +BACILOSC_4 = {"sinan": ""} + +BACILOSC_5 = {"sinan": ""} + +BACILOSC_6 = {"sinan": ""} + +BACILOSC_E = {"sinan": ""} + +BACILOSC_O = {"sinan": ""} + +BACILOS_E2 = {"sinan": ""} + +BACO = {"sinan": ""} + +BACTERIA = {"sinan": ""} + +BAC_APOS_6 = {"sinan": ""} + +BAIRES = {"sim": ""} + +BAIRRO_MAE = {"sinasc": ""} + +BANCOSANGU = {"sinan": ""} + +BENEF_GOV = {"sinan": ""} + +BENZENO = {"sinan": ""} + +BERILIO = {"sinan": ""} + +BIOPSIA = {"sinan": ""} + +BIOSSEG = {"sinan": ""} + +BLOCOPER = {"cnes": ""} + +BLOQUEIO = {"sinan": ""} + +BOTA = {"sinan": ""} + +BOVINO = {"sinan": ""} + +BUSCA_ATIV = {"sinan": ""} + +CABECA = {"sinan": ""} + +CADMIO = {"sinan": ""} + +CALAFRIO = {"sinan": ""} + +CANCER = {"sinan": ""} + +CAO_GATO = {"sinan": ""} + +CAPES = {"sinan": ""} + +CAPIVARA = {"sinan": ""} + +CARACTER = {"cnes": ""} + +CARDIOPATI = {"sinan": ""} + +CARRAPATO = {"sinan": ""} + +CARTORIO = { + "sim": "", + "sinasc": "", +} + +CARVAO = {"sinan": ""} + +CAR_INT = { + "ciha": "", + "sih": "", +} + +CASO = {"sinan": ""} + +CASO_ISOLA = {"sinan": ""} + +CAT = {"sinan": ""} + +CATARATA = {"sinan": ""} + +CATEND = {"sia": ""} + +CAUSABAS = {"sim": ""} + +CAUSABAS_O = {"sim": ""} + +CAUSAMAT = {"sim": ""} + +CBO = {"cnes": ""} + +CBOPROF = {"sia": ""} + +CBOR = {"sih": ""} + +CBOUNICO = {"cnes": ""} + +CB_PRE = {"sim": ""} + +CD_OUTRO = {"sinan": ""} + +CEFALEIA = {"sinan": ""} + +CENTRCIR = {"cnes": ""} + +CENTRNEO = {"cnes": ""} + +CENTROBS = {"cnes": ""} + +CEP = {"sih": ""} + +CGC_CONSOR = {"ciha": ""} + +CGC_HOSP = { + "ciha": "", + "sih": "", +} + +CGC_MANT = {"sih": ""} + +CHAGOMA = {"sinan": ""} + +CHOQUE = {"sinan": ""} + +CICL_VID = {"sinan": ""} + +CIDASSOC = {"sia": ""} + +CIDPRI = {"sia": ""} + +CID_ACID = {"sinan": ""} + +CID_ASSO = {"sih": ""} + +CID_LESAO = {"sinan": ""} + +CID_MORTE = {"sih": ""} + +CID_NOTIF = {"sih": ""} + +CIRCOBITO = {"sim": ""} + +CIRCUNSTAN = {"sinan": ""} + +CIRCUN_DES = {"sinan": ""} + +CIRC_LESAO = {"sinan": ""} + +CIRURGIA = {"sim": ""} + +CIRURGICO = {"sinan": ""} + +CLASAVAL = {"cnes": ""} + +CLASSATUAL = {"sinan": ""} + +CLASSI_FIN = {"sinan": ""} + +CLASSOPERA = {"sinan": ""} + +CLASS_SR = {"cnes": ""} + +CLAS_FORMA = {"sinan": ""} + +CLAS_TIPO_ = {"sinan": ""} + +CLA_ME_ASS = {"sinan": ""} + +CLA_ME_BAC = {"sinan": ""} + +CLA_ME_ETI = {"sinan": ""} + +CLA_SOROGR = {"sinan": ""} + +CLA_TIPO_N = {"sinan": ""} + +CLICDCCA_N = {"sinan": ""} + +CLIENTEL = {"cnes": ""} + +CLINC_CHIK = {"sinan": ""} + +CLIND = {"sinan": ""} + +CLINDI = {"sinan": ""} + +CLI_ABAULA = {"sinan": ""} + +CLI_ABDOMI = {"sinan": ""} + +CLI_AGUDA = {"sinan": ""} + +CLI_AMIGDA = {"sinan": ""} + +CLI_ANEMIA = {"sinan": ""} + +CLI_ANGUST = {"sinan": ""} + +CLI_AQ_D_N = {"sinan": ""} + +CLI_AQ_E_N = {"sinan": ""} + +CLI_ARRITM = {"sinan": ""} + +CLI_ASCEND = {"sinan": ""} + +CLI_ASSIME = {"sinan": ""} + +CLI_ASTENI = {"sinan": ""} + +CLI_A_FMID = {"sinan": ""} + +CLI_A_FMIE = {"sinan": ""} + +CLI_A_FMSD = {"sinan": ""} + +CLI_A_FMSE = {"sinan": ""} + +CLI_A_SMID = {"sinan": ""} + +CLI_A_SMIE = {"sinan": ""} + +CLI_A_SMSD = {"sinan": ""} + +CLI_A_SMSE = {"sinan": ""} + +CLI_A_S_FA = {"sinan": ""} + +CLI_A_TMID = {"sinan": ""} + +CLI_A_TMIE = {"sinan": ""} + +CLI_A_TMSD = {"sinan": ""} + +CLI_A_TMSE = {"sinan": ""} + +CLI_A_T_CE = {"sinan": ""} + +CLI_A_T_FA = {"sinan": ""} + +CLI_BICD_N = {"sinan": ""} + +CLI_BICE_N = {"sinan": ""} + +CLI_BRUDZ = {"sinan": ""} + +CLI_CANDIA = {"sinan": ""} + +CLI_CARDIA = {"sinan": ""} + +CLI_CAVIDA = {"sinan": ""} + +CLI_CDCCRE = {"sinan": ""} + +CLI_CDCLIH = {"sinan": ""} + +CLI_CDC_CI = {"sinan": ""} + +CLI_CDC_CR = {"sinan": ""} + +CLI_CDC_EN = {"sinan": ""} + +CLI_CDC_GE = {"sinan": ""} + +CLI_CDC_HE = {"sinan": ""} + +CLI_CDC_HI = {"sinan": ""} + +CLI_CDC_IN = {"sinan": ""} + +CLI_CDC_IS = {"sinan": ""} + +CLI_CDC_LE = {"sinan": ""} + +CLI_CDC_LI = {"sinan": ""} + +CLI_CDC_ME = {"sinan": ""} + +CLI_CDC_MI = {"sinan": ""} + +CLI_CDC_PC = {"sinan": ""} + +CLI_CDC_PN = {"sinan": ""} + +CLI_CDC_SA = {"sinan": ""} + +CLI_CDC_SI = {"sinan": ""} + +CLI_CDC_SK = {"sinan": ""} + +CLI_CDC_TO = {"sinan": ""} + +CLI_CEFALE = {"sinan": ""} + +CLI_CERVIC = {"sinan": ""} + +CLI_CHOQUE = {"sinan": ""} + +CLI_CICATR = {"sinan": ""} + +CLI_COMA = {"sinan": ""} + +CLI_CONDUT = {"sinan": ""} + +CLI_CONGES = {"sinan": ""} + +CLI_CONJUN = {"sinan": ""} + +CLI_CONTAT = {"sinan": ""} + +CLI_CONVUL = {"sinan": ""} + +CLI_CON_ES = {"sinan": ""} + +CLI_CORDAO = {"sinan": ""} + +CLI_CO_HIV = {"sinan": ""} + +CLI_CRONIC = {"sinan": ""} + +CLI_CUTANE = {"sinan": ""} + +CLI_CUT_DI = {"sinan": ""} + +CLI_DERMA = {"sinan": ""} + +CLI_DESCEN = {"sinan": ""} + +CLI_DESC_O = {"sinan": ""} + +CLI_DIARRE = {"sinan": ""} + +CLI_DISPNE = {"sinan": ""} + +CLI_DISSEM = {"sinan": ""} + +CLI_DOR = {"sinan": ""} + +CLI_DORES = {"sinan": ""} + +CLI_DT = {"sinan": ""} + +CLI_DT_ATE = {"sinan": ""} + +CLI_DT_EXA = {"sinan": ""} + +CLI_EDEMA = {"sinan": ""} + +CLI_EDEMAG = {"sinan": ""} + +CLI_EQUIMO = {"sinan": ""} + +CLI_ESPECI = {"sinan": ""} + +CLI_ESPLEN = {"sinan": ""} + +CLI_EXT_D = {"sinan": ""} + +CLI_EXT_E = {"sinan": ""} + +CLI_FACE = {"sinan": ""} + +CLI_FARING = {"sinan": ""} + +CLI_FEBRE = {"sinan": ""} + +CLI_FLACID = {"sinan": ""} + +CLI_FLE_D = {"sinan": ""} + +CLI_FLE_E = {"sinan": ""} + +CLI_F_MID = {"sinan": ""} + +CLI_F_MIE = {"sinan": ""} + +CLI_F_MSD = {"sinan": ""} + +CLI_F_MSE = {"sinan": ""} + +CLI_GARGAN = {"sinan": ""} + +CLI_H = {"sinan": ""} + +CLI_HEMO = {"sinan": ""} + +CLI_HEMOPU = {"sinan": ""} + +CLI_HEMORR = {"sinan": ""} + +CLI_HEPATI = {"sinan": ""} + +CLI_HEPATO = {"sinan": ""} + +CLI_HERPEG = {"sinan": ""} + +CLI_HERPES = {"sinan": ""} + +CLI_HIPOTE = {"sinan": ""} + +CLI_H_DESC = {"sinan": ""} + +CLI_ICTERI = {"sinan": ""} + +CLI_INFCIT = {"sinan": ""} + +CLI_INJECA = {"sinan": ""} + +CLI_KERNIG = {"sinan": ""} + +CLI_LARING = {"sinan": ""} + +CLI_LEIOMI = {"sinan": ""} + +CLI_LINFA = {"sinan": ""} + +CLI_LINFO = {"sinan": ""} + +CLI_LOCAL = {"sinan": ""} + +CLI_LOCAL_ = {"sinan": ""} + +CLI_LOCA_1 = {"sinan": ""} + +CLI_LOMBAR = {"sinan": ""} + +CLI_MENING = {"sinan": ""} + +CLI_MIALGI = {"sinan": ""} + +CLI_MIAL_D = {"sinan": ""} + +CLI_MIAL_G = {"sinan": ""} + +CLI_MIOCAR = {"sinan": ""} + +CLI_MIOLIT = {"sinan": ""} + +CLI_MUCOSA = {"sinan": ""} + +CLI_MUNICI = {"sinan": ""} + +CLI_NECROS = {"sinan": ""} + +CLI_NEFRIT = {"sinan": ""} + +CLI_NEFRO = {"sinan": ""} + +CLI_NEURO = {"sinan": ""} + +CLI_NEUROL = {"sinan": ""} + +CLI_NOCAR = {"sinan": ""} + +CLI_NUCA = {"sinan": ""} + +CLI_OBSTIP = {"sinan": ""} + +CLI_ORGAOS = {"sinan": ""} + +CLI_OSTEO = {"sinan": ""} + +CLI_OTITE = {"sinan": ""} + +CLI_OTRDES = {"sinan": ""} + +CLI_OUTRAS = {"sinan": ""} + +CLI_OUTRO = {"sinan": ""} + +CLI_OUTROS = {"sinan": ""} + +CLI_OUTR_2 = {"sinan": ""} + +CLI_OUTR_3 = {"sinan": ""} + +CLI_OUT_D = {"sinan": ""} + +CLI_PALATO = {"sinan": ""} + +CLI_PALIDE = {"sinan": ""} + +CLI_PANTUR = {"sinan": ""} + +CLI_PARALB = {"sinan": ""} + +CLI_PARALM = {"sinan": ""} + +CLI_PARALP = {"sinan": ""} + +CLI_PAROTI = {"sinan": ""} + +CLI_PATD_N = {"sinan": ""} + +CLI_PATE_N = {"sinan": ""} + +CLI_PELE = {"sinan": ""} + +CLI_PESCOC = {"sinan": ""} + +CLI_PETEQU = {"sinan": ""} + +CLI_PROGRE = {"sinan": ""} + +CLI_PROST = {"sinan": ""} + +CLI_PROSTR = {"sinan": ""} + +CLI_PSEUDO = {"sinan": ""} + +CLI_PULMAO = {"sinan": ""} + +CLI_RENAL = {"sinan": ""} + +CLI_RESPI = {"sinan": ""} + +CLI_RESPIR = {"sinan": ""} + +CLI_RIGIDE = {"sinan": ""} + +CLI_RINITE = {"sinan": ""} + +CLI_RINORR = {"sinan": ""} + +CLI_SINTOM = {"sinan": ""} + +CLI_TEMPER = {"sinan": ""} + +CLI_TEMPO_ = {"sinan": ""} + +CLI_TONTUR = {"sinan": ""} + +CLI_TORACI = {"sinan": ""} + +CLI_TOSSE = {"sinan": ""} + +CLI_TOX1M = {"sinan": ""} + +CLI_TRAQUE = {"sinan": ""} + +CLI_TRID_N = {"sinan": ""} + +CLI_TRIE_N = {"sinan": ""} + +CLI_TUBERC = {"sinan": ""} + +CLI_TUPULM = {"sinan": ""} + +CLI_VAGAIS = {"sinan": ""} + +CLI_VARICE = {"sinan": ""} + +CLI_VOMITO = {"sinan": ""} + +CLORAFEN = {"sinan": ""} + +CLOROQ = {"sinan": ""} + +CLOROQI = {"sinan": ""} + +CMPT = {"sih": ""} + +CMPT_FIM = {"cnes": ""} + +CMPT_INI = {"cnes": ""} + +CNAE = {"sinan": ""} + +CNAER = {"sih": ""} + +CNAE_PRIN = {"sinan": ""} + +CNES = { + "ciha": "", + "cnes": "", + "sih": "", +} + +CNESTERC = {"cnes": ""} + +CNES_ESF = {"sia": ""} + +CNES_EXEC = {"sia": ""} + +CNPJCPF = {"sia": ""} + +CNPJMNT = {"sia": ""} + +CNPJ_CC = {"sia": ""} + +CNPJ_MAN = {"cnes": ""} + +CNPJ_MANT = {"sih": ""} + +CNSPROF = {"sia": ""} + +CNS_ADM = {"cnes": ""} + +CNS_CONC = {"cnes": ""} + +CNS_CRES = {"cnes": ""} + +CNS_FNUC = {"cnes": ""} + +CNS_HMTL = {"cnes": ""} + +CNS_HMTR = {"cnes": ""} + +CNS_MRAD = {"cnes": ""} + +CNS_NEFR = {"cnes": ""} + +CNS_OCLIN = {"cnes": ""} + +CNS_OPED = {"cnes": ""} + +CNS_PAC = {"sia": ""} + +CNS_PROF = {"cnes": ""} + +CNS_RTEC = {"cnes": ""} + +COAGTOXMA1 = {"sinan": ""} + +COAGTOXMA2 = {"sinan": ""} + +COAGTOXMA3 = {"sinan": ""} + +COBERT = {"pni": ""} + +COBRANCA = { + "ciha": "", + "sih": "", +} + +COB_ESF = {"sia": ""} + +CODANOMAL = {"sinasc": ""} + +CODBAINASC = {"sinasc": ""} + +CODBAIOCOR = {"sim": ""} + +CODBAIRES = { + "sim": "", + "sinasc": "", +} + +CODCART = { + "sim": "", + "sinasc": "", +} + +CODEQUIP = {"cnes": ""} + +CODESTAB = { + "sim": "", + "sinasc": "", +} + +CODIFICADO = {"sim": ""} + +CODIGO = { + "sim": "", + "sinasc": "", +} + +CODINST = {"sinasc": ""} + +CODISINF = {"sinan": ""} + +CODLEITO = {"cnes": ""} + +CODMUNCART = { + "sim": "", + "sinasc": "", +} + +CODMUNNASC = {"sinasc": ""} + +CODMUNNATU = { + "sim": "", + "sinasc": "", +} + +CODMUNOCOR = {"sim": ""} + +CODMUNRES = { + "sim": "", + "sinasc": "", +} + +CODOCUPMAE = {"sinasc": ""} + +CODPAISRES = {"sinasc": ""} + +CODUFMUN = {"cnes": ""} + +CODUFNATU = {"sinasc": ""} + +CODUNI = {"sia": ""} + +COD_ARQ = {"sih": ""} + +COD_CEP = {"cnes": ""} + +COD_IDADE = { + "ciha": "", + "sih": "", +} + +COD_IR = {"cnes": ""} + +COD_MUN_HO = {"sinan": ""} + +COD_SEG = {"sih": ""} + +COD_UF_HOS = {"sinan": ""} + +COLETAMARC = {"sinan": ""} + +COLETIVA = {"sinan": ""} + +COLETRES = {"cnes": ""} + +COLET_COMU = {"sinan": ""} + +COMA = {"sinan": ""} + +COMISS01 = {"cnes": ""} + +COMISS02 = {"cnes": ""} + +COMISS03 = {"cnes": ""} + +COMISS04 = {"cnes": ""} + +COMISS05 = {"cnes": ""} + +COMISS06 = {"cnes": ""} + +COMISS07 = {"cnes": ""} + +COMISS08 = {"cnes": ""} + +COMISS09 = {"cnes": ""} + +COMISS10 = {"cnes": ""} + +COMISS11 = {"cnes": ""} + +COMISS12 = {"cnes": ""} + +COMISSAO = {"cnes": ""} + +COMPET = {"sih": ""} + +COMPETEN = {"cnes": ""} + +COMPLEX = { + "sia": "", + "sih": "", +} + +COMPLICA = {"sinan": ""} + +COMP_OUT = {"sinan": ""} + +COMP_OUT_D = {"sinan": ""} + +COMUNHOSP = {"sinan": ""} + +COMUNINF = {"sinan": ""} + +COMUNSVOIM = {"sim": ""} + +COM_APUTAC = {"sinan": ""} + +COM_CHOQUE = {"sinan": ""} + +COM_COMPOR = {"sinan": ""} + +COM_DEFICT = {"sinan": ""} + +COM_EDEMA = {"sinan": ""} + +COM_LOC = {"sinan": ""} + +COM_NECROS = {"sinan": ""} + +COM_PEST = {"sinan": ""} + +COM_RENAL = {"sinan": ""} + +COM_SECUND = {"sinan": ""} + +COM_SEPTIC = {"sinan": ""} + +COM_SISTEM = {"sinan": ""} + +CONDIC = {"sia": ""} + +CONDIC_ANI = {"sinan": ""} + +CONDUTA = {"sinan": ""} + +CONDUTA_DE = {"sinan": ""} + +CONDUT_DES = {"sinan": ""} + +CONFIRMA = {"sinan": ""} + +CONFIRMAD = {"sinan": ""} + +CONFPESO = {"sinasc": ""} + +CONF_INF_M = {"sinan": ""} + +CONF_INF_U = {"sinan": ""} + +CONF_MAS = {"cnes": ""} + +CONJUNTVIT = {"sinan": ""} + +CONSELHO = {"cnes": ""} + +CONSPRENAT = {"sinasc": ""} + +CONSTIPA = {"sinan": ""} + +CONSULTAS = {"sinasc": ""} + +CONS_ABORT = {"sinan": ""} + +CONS_COMP = {"sinan": ""} + +CONS_DST = {"sinan": ""} + +CONS_ESPEC = {"sinan": ""} + +CONS_ESTRE = {"sinan": ""} + +CONS_GRAV = {"sinan": ""} + +CONS_IDO = {"sinan": ""} + +CONS_MENT = {"sinan": ""} + +CONS_OUTR = {"sinan": ""} + +CONS_SUIC = {"sinan": ""} + +CONS_TUTEL = {"sinan": ""} + +CONT = {"sih": ""} + +CONTADOR = { + "sim": "", + "sinasc": "", +} + +CONTATO = {"sinan": ""} + +CONTEXAM = {"sinan": ""} + +CONTRACEP1 = {"sih": ""} + +CONTRACEP2 = {"sih": ""} + +CONTRATE = {"cnes": ""} + +CONTRATM = {"cnes": ""} + +CONTREG = {"sinan": ""} + +CONTROLE = {"sinan": ""} + +CONTSRVU = {"cnes": ""} + +CONT_OUT = {"sinan": ""} + +CONVULSAO = {"sinan": ""} + +CON_ALIMEN = {"sinan": ""} + +CON_AMBIEN = {"sinan": ""} + +CON_AMB_DE = {"sinan": ""} + +CON_ANIMAI = {"sinan": ""} + +CON_AREA = {"sinan": ""} + +CON_AUTOPS = {"sinan": ""} + +CON_AUTO_M = {"sinan": ""} + +CON_AUTO_U = {"sinan": ""} + +CON_CLASSI = {"sinan": ""} + +CON_CLASS_ = {"sinan": ""} + +CON_CLAS_E = {"sinan": ""} + +CON_CONFIR = {"sinan": ""} + +CON_CRITER = {"sinan": ""} + +CON_DESCAR = {"sinan": ""} + +CON_DIAGES = {"sinan": ""} + +CON_DIAGNO = {"sinan": ""} + +CON_DIAG_D = {"sinan": ""} + +CON_DOENCA = {"sinan": ""} + +CON_DT_ENC = {"sinan": ""} + +CON_DT_OBI = {"sinan": ""} + +CON_ENCHEN = {"sinan": ""} + +CON_ENTULH = {"sinan": ""} + +CON_ESGOTO = {"sinan": ""} + +CON_EVOLUC = {"sinan": ""} + +CON_FHD = {"sinan": ""} + +CON_FORMA = {"sinan": ""} + +CON_GRAVID = {"sinan": ""} + +CON_IMPORT = {"sinan": ""} + +CON_INFECC = {"sinan": ""} + +CON_INF_BA = {"sinan": ""} + +CON_INF_DI = {"sinan": ""} + +CON_INF_MU = {"sinan": ""} + +CON_INF_OU = {"sinan": ""} + +CON_INF_PA = {"sinan": ""} + +CON_INF_UF = {"sinan": ""} + +CON_LOCAL = {"sinan": ""} + +CON_LOCAL2 = {"sinan": ""} + +CON_LOCALI = {"sinan": ""} + +CON_MUNICI = {"sinan": ""} + +CON_OUTRA = {"sinan": ""} + +CON_PAIS = {"sinan": ""} + +CON_PROVAV = {"sinan": ""} + +CON_RIO = {"sinan": ""} + +CON_ROEDOR = {"sinan": ""} + +CON_SOROTE = {"sinan": ""} + +CON_TERREN = {"sinan": ""} + +CON_TRIAT = {"sinan": ""} + +CON_UF = {"sinan": ""} + +COPAISINF = {"sinan": ""} + +COPRO_D_1 = {"sinan": ""} + +COPRO_D_2 = {"sinan": ""} + +COPRO_D_3 = {"sinan": ""} + +COPRO_R1 = {"sinan": ""} + +COPRO_R2 = {"sinan": ""} + +COPRO_R3 = {"sinan": ""} + +CORRACA = {"ibge": ""} + +COUFHOSP = {"sinan": ""} + +COUFINF = {"sinan": ""} + +COUNIDINF = {"sinan": ""} + +CO_AGENC = {"cnes": ""} + +CO_BANCO = {"cnes": ""} + +CO_CIDPRIM = {"sia": ""} + +CO_CIDSEC = {"sia": ""} + +CO_ERRO = {"sih": ""} + +CO_FOCAL = {"sinan": ""} + +CO_INE = {"sia": ""} + +CO_MUN_EX2 = {"sinan": ""} + +CO_MUN_EX3 = {"sinan": ""} + +CO_MUN_EXP = {"sinan": ""} + +CO_MUN_R1 = {"sinan": ""} + +CO_MUN_R2 = {"sinan": ""} + +CO_MUN_R3 = {"sinan": ""} + +CO_MUN_R4 = {"sinan": ""} + +CO_PAIS_1 = {"sinan": ""} + +CO_PAIS_2 = {"sinan": ""} + +CO_PAIS_3 = {"sinan": ""} + +CO_RISCO = {"sinan": ""} + +CO_UF_1 = {"sinan": ""} + +CO_UF_2 = {"sinan": ""} + +CO_UF_3 = {"sinan": ""} + +CO_UF_DES1 = {"sinan": ""} + +CO_UF_DES2 = {"sinan": ""} + +CO_UF_DES3 = {"sinan": ""} + +CO_UF_EX2 = {"sinan": ""} + +CO_UF_EX3 = {"sinan": ""} + +CO_UF_EXP = {"sinan": ""} + +CO_UF_R1 = {"sinan": ""} + +CO_UF_R2 = {"sinan": ""} + +CO_UF_R3 = {"sinan": ""} + +CO_UF_R4 = {"sinan": ""} + +CPFUNICO = {"cnes": ""} + +CPF_AUT = {"sih": ""} + +CPF_CNPJ = {"cnes": ""} + +CPF_PROF = {"cnes": ""} + +CPF_UNICO = {"cnes": ""} + +CRITERIO = {"sinan": ""} + +CRITICA = { + "sim": "", + "sinasc": "", +} + +CRI_1000 = {"sinan": ""} + +CRI_1500 = {"sinan": ""} + +CRI_500 = {"sinan": ""} + +CRM = {"sim": ""} + +CROMO = {"sinan": ""} + +CRSOCOR = {"sim": ""} + +CRSRES = {"sim": ""} + +CRS_MAE = {"sinasc": ""} + +CRS_OCOR = {"sinasc": ""} + +CS_ABDOMEN = {"sinan": ""} + +CS_ABDOMIN = {"sinan": ""} + +CS_ANALISE = {"sinan": ""} + +CS_ANTIB = {"sinan": ""} + +CS_ANTIBIO = {"sinan": ""} + +CS_ANTIB_T = {"sinan": ""} + +CS_APNEIA = {"sinan": ""} + +CS_ASSINTO = {"sinan": ""} + +CS_ATEND_N = {"sinan": ""} + +CS_BUSCAAT = {"sinan": ""} + +CS_CADASTR = {"sinan": ""} + +CS_CAIMBRA = {"sinan": ""} + +CS_CHOQUE = {"sinan": ""} + +CS_CHORO = {"sinan": ""} + +CS_CIANOSE = {"sinan": ""} + +CS_COBERTU = {"sinan": ""} + +CS_COLETA = {"sinan": ""} + +CS_CRISE = {"sinan": ""} + +CS_CRISES = {"sinan": ""} + +CS_CULTURA = {"sinan": ""} + +CS_DESCART = {"sinan": ""} + +CS_DESIT = {"sinan": ""} + +CS_DESITRA = {"sinan": ""} + +CS_DESNUTR = {"sinan": ""} + +CS_DIARRE = {"sinan": ""} + +CS_DIVULGA = {"sinan": ""} + +CS_DOR = {"sinan": ""} + +CS_ENCEFAL = {"sinan": ""} + +CS_ESCOLAR = {"sinan": ""} + +CS_ESCOL_N = {"sinan": ""} + +CS_FEBRE = {"sinan": ""} + +CS_FLXRET = {"sinan": ""} + +CS_FONTE = {"sinan": ""} + +CS_FREQUEN = {"sinan": ""} + +CS_GESTANT = {"sinan": ""} + +CS_HOSPITA = {"sinan": ""} + +CS_INF_COT = {"sinan": ""} + +CS_INQUERI = {"sinan": ""} + +CS_LIQUOR = {"sinan": ""} + +CS_LOCAL = {"sinan": ""} + +CS_MAMAR = {"sinan": ""} + +CS_MATERIA = {"sinan": ""} + +CS_MEMBROS = {"sinan": ""} + +CS_MENING = {"sinan": ""} + +CS_MUCO = {"sinan": ""} + +CS_NASCIDO = {"sinan": ""} + +CS_NEG_ESP = {"sinan": ""} + +CS_NUCA = {"sinan": ""} + +CS_OPISTOT = {"sinan": ""} + +CS_ORIENTA = {"sinan": ""} + +CS_ORIGEM = {"sinan": ""} + +CS_OTITE = {"sinan": ""} + +CS_OUTRAS = {"sinan": ""} + +CS_OUTROS = {"sinan": ""} + +CS_OUT_COM = {"sinan": ""} + +CS_OUT_SIN = {"sinan": ""} + +CS_PNEUMON = {"sinan": ""} + +CS_POSITIV = {"sinan": ""} + +CS_RACA = {"sinan": ""} + +CS_REIDRAT = {"sinan": ""} + +CS_RESULTA = {"sinan": ""} + +CS_RISO = {"sinan": ""} + +CS_SANGUE = {"sinan": ""} + +CS_SECRECA = {"sinan": ""} + +CS_SEXO = {"sinan": ""} + +CS_SIN_OUT = {"sinan": ""} + +CS_SUGOU = {"sinan": ""} + +CS_SUSPEIT = {"sinan": ""} + +CS_TEMP37 = {"sinan": ""} + +CS_TEMP_38 = {"sinan": ""} + +CS_TIPO = {"sinan": ""} + +CS_TOSSE_E = {"sinan": ""} + +CS_TOSSE_P = {"sinan": ""} + +CS_TRANS = {"sinan": ""} + +CS_TRISMO = {"sinan": ""} + +CS_URINA = {"sinan": ""} + +CS_VACINA = {"sinan": ""} + +CS_VACINAC = {"sinan": ""} + +CS_VACINAL = {"sinan": ""} + +CS_VACTETA = {"sinan": ""} + +CS_VAC_N = {"sinan": ""} + +CS_VOMITO = {"sinan": ""} + +CS_VOMITOS = {"sinan": ""} + +CS_ZONA = {"sinan": ""} + +CULTURA_ES = {"sinan": ""} + +CULTURA_OU = {"sinan": ""} + +C_CORREN = {"cnes": ""} + +C_D = {"sinan": ""} + +C_M = {"sinan": ""} + +DATANASC = {"sim": ""} + +DATAOBITO = {"sim": ""} + +DATAREG = {"sim": ""} + +DATA_CART = {"sinasc": ""} + +DATA_NASC = {"sinasc": ""} + +DE15A39ANO = {"sinan": ""} + +DE5A14ANOS = {"sinan": ""} + +DEFEN_PUBL = {"sinan": ""} + +DEF_AUDITI = {"sinan": ""} + +DEF_DIAGNO = {"sinan": ""} + +DEF_ESPEC = {"sinan": ""} + +DEF_FISICA = {"sinan": ""} + +DEF_MENTAL = {"sinan": ""} + +DEF_OUT = {"sinan": ""} + +DEF_TRANS = {"sinan": ""} + +DEF_VISUAL = {"sinan": ""} + +DEIONIZA = {"cnes": ""} + +DELEG = {"sinan": ""} + +DELEG_CRIA = {"sinan": ""} + +DELEG_IDOS = {"sinan": ""} + +DELEG_MULH = {"sinan": ""} + +DENCRIREND = {"ibge": ""} + +DENDESOCUP = {"ibge": ""} + +DENGUE = {"sinan": ""} + +DENRENDA = {"ibge": ""} + +DENTARIO = {"sinan": ""} + +DENTRABINF = {"ibge": ""} + +DESCSEGM = {"cnes": ""} + +DESMATA_N = {"sinan": ""} + +DESTINOPAC = {"sia": ""} + +DEXAME = {"sinan": ""} + +DG_OUT_N = {"sinan": ""} + +DIABETES = {"sinan": ""} + +DIAGNO_LAB = {"sinan": ""} + +DIAGSEC1 = {"sih": ""} + +DIAGSEC2 = {"sih": ""} + +DIAGSEC3 = {"sih": ""} + +DIAGSEC4 = {"sih": ""} + +DIAGSEC5 = {"sih": ""} + +DIAGSEC6 = {"sih": ""} + +DIAGSEC7 = {"sih": ""} + +DIAGSEC8 = {"sih": ""} + +DIAGSEC9 = {"sih": ""} + +DIAG_CONF = {"sinan": ""} + +DIAG_DESCA = {"sinan": ""} + +DIAG_ESP = {"sinan": ""} + +DIAG_MAE = {"sinan": ""} + +DIAG_PARA = {"sinan": ""} + +DIAG_PAR_N = {"sinan": ""} + +DIAG_PRINC = { + "ciha": "", + "sih": "", +} + +DIAG_SEC = {"sih": ""} + +DIAG_SECUN = { + "ciha": "", + "sih": "", +} + +DIALISE = {"cnes": ""} + +DIARREIA = {"sinan": ""} + +DIAR_ACOM = {"sih": ""} + +DIAS = {"sinan": ""} + +DIAS_PERM = { + "ciha": "", + "sih": "", +} + +DIFDATA = { + "sim": "", + "sinasc": "", +} + +DIFER = {"pni": ""} + +DILACERANT = {"sinan": ""} + +DINTERNA = {"sinan": ""} + +DIR_HUMAN = {"sinan": ""} + +DISFAGIA = {"sinan": ""} + +DISTRADM = {"cnes": ""} + +DISTRSAN = {"cnes": ""} + +DOENCA_TRA = {"sinan": ""} + +DOMICILI = {"sinan": ""} + +DOR = {"sinan": ""} + +DORMIU_N = {"sinan": ""} + +DOR_COSTAS = {"sinan": ""} + +DOR_RETRO = {"sinan": ""} + +DOSAGEM = {"sinan": ""} + +DOSE = { + "pni": "", + "sinan": "", +} + +DOSE1 = {"pni": ""} + +DOSEN = {"pni": ""} + +DOSES = {"sinan": ""} + +DOSES_A = {"sinan": ""} + +DOSE_RECEB = {"sinan": ""} + +DOXOCI = {"sinan": ""} + +DROGA = {"sinan": ""} + +DROGAS = {"sinan": ""} + +DSALIMENTO = {"sinan": ""} + +DSCARDIOP = {"sinan": ""} + +DSCAUSALIM = {"sinan": ""} + +DSFONTE = {"sinan": ""} + +DSMOTIVO = {"sinan": ""} + +DSTITULO1 = {"sinan": ""} + +DSTRAESQUE = {"sinan": ""} + +DS_ALI1 = {"sinan": ""} + +DS_ALI1OUT = {"sinan": ""} + +DS_ALI2 = {"sinan": ""} + +DS_ALI2OUT = {"sinan": ""} + +DS_ESQUEMA = {"sinan": ""} + +DS_FIM_GES = {"sinan": ""} + +DS_FORMA = {"sinan": ""} + +DS_F_OUTRO = {"sinan": ""} + +DS_INDUS = {"sinan": ""} + +DS_INF_LOC = {"sinan": ""} + +DS_INF_OUT = {"sinan": ""} + +DS_INGEST = {"sinan": ""} + +DS_INI_GES = {"sinan": ""} + +DS_LOCAL1 = {"sinan": ""} + +DS_LOCAL2 = {"sinan": ""} + +DS_MUN_1 = {"sinan": ""} + +DS_MUN_2 = {"sinan": ""} + +DS_MUN_3 = {"sinan": ""} + +DS_OUTRO = {"sinan": ""} + +DS_OUTROSI = {"sinan": ""} + +DS_OUTR_LO = {"sinan": ""} + +DS_OUT_AMB = {"sinan": ""} + +DS_PARES = {"sinan": ""} + +DS_RESU_OU = {"sinan": ""} + +DS_TRANS1 = {"sinan": ""} + +DS_TRANS2 = {"sinan": ""} + +DS_TRANS3 = {"sinan": ""} + +DS_TRANS_1 = {"sinan": ""} + +DS_TRANS_2 = {"sinan": ""} + +DS_TRAT = {"sinan": ""} + +DTALTA = {"sinan": ""} + +DTALTA_N = {"sinan": ""} + +DTATEND = {"sinan": ""} + +DTATESTADO = {"sim": ""} + +DTCADASTRO = { + "sim": "", + "sinasc": "", +} + +DTCADINF = {"sim": ""} + +DTCADINV = {"sim": ""} + +DTCONCASO = {"sim": ""} + +DTCONFIRMA = {"sinan": ""} + +DTCONINV = {"sim": ""} + +DTDECLARAC = {"sinasc": ""} + +DTDIASINAC = {"sinan": ""} + +DTELETRO = {"sinan": ""} + +DTFEZESCOL = {"sinan": ""} + +DTIMUNO = {"sinan": ""} + +DTINICTRAT = {"sinan": ""} + +DTINTERNA = {"sinan": ""} + +DTINVESTIG = {"sim": ""} + +DTISOLA = {"sinan": ""} + +DTMICRO1 = {"sinan": ""} + +DTMICRO2 = {"sinan": ""} + +DTMUDESQ = {"sinan": ""} + +DTNASC = { + "sia": "", + "sim": "", + "sinasc": "", +} + +DTNASCMAE = {"sinasc": ""} + +DTOBITO = {"sim": ""} + +DTPORTAR = {"cnes": ""} + +DTPRICONS = {"sinan": ""} + +DTRAPIDO1 = {"sinan": ""} + +DTRATA = {"sinan": ""} + +DTRECEBIM = { + "sim": "", + "sinasc": "", +} + +DTRECORIG = { + "sim": "", + "sinasc": "", +} + +DTRECORIGA = { + "sim": "", + "sinasc": "", +} + +DTREGCART = { + "sim": "", + "sinasc": "", +} + +DTS1 = {"sinan": ""} + +DTS2 = {"sinan": ""} + +DTSORO = {"sinan": ""} + +DTSOROCOL = {"sinan": ""} + +DTSUSPEIC = {"sinan": ""} + +DTTESTE1 = {"sinan": ""} + +DTTRANSDM = {"sinan": ""} + +DTTRANSFU = {"sinan": ""} + +DTTRANSRM = {"sinan": ""} + +DTTRANSRS = {"sinan": ""} + +DTTRANSSE = {"sinan": ""} + +DTTRANSSM = {"sinan": ""} + +DTTRANSUS = {"sinan": ""} + +DTTRAT = {"sinan": ""} + +DTTRIAGEM = {"sinan": ""} + +DTULTCOMP = {"sinan": ""} + +DTULTMENST = {"sinasc": ""} + +DT_1VAC = {"sinan": ""} + +DT_1_DOSE = {"sinan": ""} + +DT_2VAC = {"sinan": ""} + +DT_2_DOSE = {"sinan": ""} + +DT_3_DOSE = {"sinan": ""} + +DT_ACID = {"sinan": ""} + +DT_ACIDENT = {"sinan": ""} + +DT_ACRED = {"cnes": ""} + +DT_ADM_ANT = {"sinan": ""} + +DT_ALI1COL = {"sinan": ""} + +DT_ALI2COL = {"sinan": ""} + +DT_ALRM = {"sinan": ""} + +DT_APLI_SO = {"sinan": ""} + +DT_ATEND = { + "ciha": "", + "sia": "", +} + +DT_ATENDE = {"sinan": ""} + +DT_ATENDIM = {"sinan": ""} + +DT_ATIVA = {"cnes": ""} + +DT_ATUAL = {"cnes": ""} + +DT_CATARRA = {"sinan": ""} + +DT_CHIK_S1 = {"sinan": ""} + +DT_CHIK_S2 = {"sinan": ""} + +DT_CHOQUE = {"sinan": ""} + +DT_COL1 = {"sinan": ""} + +DT_COL2 = {"sinan": ""} + +DT_COL3 = {"sinan": ""} + +DT_COLETA = {"sinan": ""} + +DT_COLOUT = {"sinan": ""} + +DT_COL_1 = {"sinan": ""} + +DT_COL_2 = {"sinan": ""} + +DT_COL_DIR = {"sinan": ""} + +DT_COL_HE2 = {"sinan": ""} + +DT_COL_HEM = {"sinan": ""} + +DT_COL_IGM = {"sinan": ""} + +DT_COL_IND = {"sinan": ""} + +DT_COL_PL2 = {"sinan": ""} + +DT_COL_PLQ = {"sinan": ""} + +DT_COL_S1 = {"sinan": ""} + +DT_COL_S2 = {"sinan": ""} + +DT_CONFIRM = {"sinan": ""} + +DT_COPRO = {"sinan": ""} + +DT_COPRO1 = {"sinan": ""} + +DT_COPRO2 = {"sinan": ""} + +DT_COPRO3 = {"sinan": ""} + +DT_DESAT = {"cnes": ""} + +DT_DESC1 = {"sinan": ""} + +DT_DESC2 = {"sinan": ""} + +DT_DESC3 = {"sinan": ""} + +DT_DESLC1 = {"sinan": ""} + +DT_DESLC2 = {"sinan": ""} + +DT_DESLC3 = {"sinan": ""} + +DT_DIAG = {"sinan": ""} + +DT_DIGITA = {"sinan": ""} + +DT_DOSE = {"sinan": ""} + +DT_DOSE_1 = {"sinan": ""} + +DT_DOSE_2 = {"sinan": ""} + +DT_DOSE_3 = {"sinan": ""} + +DT_DOSE_4 = {"sinan": ""} + +DT_DOSE_5 = {"sinan": ""} + +DT_DOSE_N = {"sinan": ""} + +DT_ENCERRA = {"sinan": ""} + +DT_ENVIO = {"sinan": ""} + +DT_EVOLUC = {"sinan": ""} + +DT_EXPED = {"cnes": ""} + +DT_EXPO = {"sinan": ""} + +DT_FEBRE = {"sinan": ""} + +DT_FEZES = {"sinan": ""} + +DT_FIM = {"sia": ""} + +DT_GRAV = {"sinan": ""} + +DT_HEMO1 = {"sinan": ""} + +DT_HEMO2 = {"sinan": ""} + +DT_HEMO3 = {"sinan": ""} + +DT_INICIO = {"sia": ""} + +DT_INICIO_ = {"sinan": ""} + +DT_INIC_TR = {"sinan": ""} + +DT_INI_EPI = {"sinan": ""} + +DT_INTER = {"sih": ""} + +DT_INTERNA = {"sinan": ""} + +DT_INVEST = {"sinan": ""} + +DT_LIQUOR = {"sinan": ""} + +DT_MOTCOB = {"sia": ""} + +DT_MUDANCA = {"sinan": ""} + +DT_NASC = {"sinan": ""} + +DT_NOTIFIC = {"sinan": ""} + +DT_NOTI_AT = {"sinan": ""} + +DT_NS1 = {"sinan": ""} + +DT_OBITO = {"sinan": ""} + +DT_OCOR = {"sinan": ""} + +DT_OUTR1 = {"sinan": ""} + +DT_OUTR2 = {"sinan": ""} + +DT_OUTR3 = {"sinan": ""} + +DT_PCR = {"sinan": ""} + +DT_PCR_1 = {"sinan": ""} + +DT_PCR_2 = {"sinan": ""} + +DT_PCR_3 = {"sinan": ""} + +DT_PNASS = {"cnes": ""} + +DT_PRNT = {"sinan": ""} + +DT_PROCESS = {"sia": ""} + +DT_PUBLE = {"cnes": ""} + +DT_PUBLM = {"cnes": ""} + +DT_RAPIDO = {"sinan": ""} + +DT_REFORCO = {"sinan": ""} + +DT_RESU3 = {"sinan": ""} + +DT_RISCO1 = {"sinan": ""} + +DT_RISCO2 = {"sinan": ""} + +DT_RISCO3 = {"sinan": ""} + +DT_RISCO4 = {"sinan": ""} + +DT_RTPCR = {"sinan": ""} + +DT_R_TRA = {"sinan": ""} + +DT_S1 = {"sinan": ""} + +DT_S2 = {"sinan": ""} + +DT_SAIDA = { + "ciha": "", + "sih": "", +} + +DT_SIN_PRI = {"sinan": ""} + +DT_SORO = {"sinan": ""} + +DT_SORO1 = {"sinan": ""} + +DT_SORO2 = {"sinan": ""} + +DT_SOROR1 = {"sinan": ""} + +DT_SOROR2 = {"sinan": ""} + +DT_TRANSDM = {"sinan": ""} + +DT_TRANSRM = {"sinan": ""} + +DT_TRANSRS = {"sinan": ""} + +DT_TRANSSE = {"sinan": ""} + +DT_TRANSSM = {"sinan": ""} + +DT_TRANSUS = {"sinan": ""} + +DT_TRIA_11 = {"sinan": ""} + +DT_TRISMO = {"sinan": ""} + +DT_TRNASRM = {"sinan": ""} + +DT_TRNASRS = {"sinan": ""} + +DT_TR_RAB = {"sinan": ""} + +DT_ULT_DOS = {"sinan": ""} + +DT_URO = {"sinan": ""} + +DT_URO2 = {"sinan": ""} + +DT_URO3 = {"sinan": ""} + +DT_VAC1 = {"sinan": ""} + +DT_VACINA = {"sinan": ""} + +DT_VAC_1 = {"sinan": ""} + +DT_VAC_2 = {"sinan": ""} + +DT_VAC_3 = {"sinan": ""} + +DT_VAC_4 = {"sinan": ""} + +DT_VAC_5 = {"sinan": ""} + +DT_VAC_ULT = {"sinan": ""} + +DT_VENCIM = {"sinan": ""} + +DT_VIRAL = {"sinan": ""} + +DT_VOP = {"sinan": ""} + +DURACAO = {"sinan": ""} + +D_DIAR = {"sinan": ""} + +D_VOMITO = {"sinan": ""} + +ECG = {"sinan": ""} + +ECG_RESULT = {"sinan": ""} + +EDEMA = {"sinan": ""} + +ELISA = {"sinan": ""} + +ELISA1 = {"sinan": ""} + +ELISA2 = {"sinan": ""} + +ELI_IGG_S1 = {"sinan": ""} + +ELI_IGG_S2 = {"sinan": ""} + +ELI_IGM_S1 = {"sinan": ""} + +ELI_IGM_S2 = {"sinan": ""} + +EMAGRA = {"sinan": ""} + +ENCAMINHA = {"sinan": ""} + +ENC_ABRIGO = {"sinan": ""} + +ENC_CREAS = {"sinan": ""} + +ENC_DEAM = {"sinan": ""} + +ENC_DELEG = {"sinan": ""} + +ENC_DPCA = {"sinan": ""} + +ENC_ESPEC = {"sinan": ""} + +ENC_IML = {"sinan": ""} + +ENC_MPU = {"sinan": ""} + +ENC_MULHER = {"sinan": ""} + +ENC_OUTR = {"sinan": ""} + +ENC_SAUDE = {"sinan": ""} + +ENC_SENTIN = {"sinan": ""} + +ENC_TUTELA = {"sinan": ""} + +ENC_VARA = {"sinan": ""} + +ENDEMICO = {"sinan": ""} + +ENDRES = {"sinasc": ""} + +ENTERO = {"sinan": ""} + +ENTO_ANIMA = {"sinan": ""} + +ENTO_CAO = {"sinan": ""} + +ENTO_CAPTU = {"sinan": ""} + +ENTO_EQUIN = {"sinan": ""} + +ENTO_EXIST = {"sinan": ""} + +ENTO_EXI_1 = {"sinan": ""} + +ENTO_EXI_2 = {"sinan": ""} + +ENTO_EXI_3 = {"sinan": ""} + +ENTO_EXI_4 = {"sinan": ""} + +ENTO_EXTRA = {"sinan": ""} + +ENTO_FLEBO = {"sinan": ""} + +ENTO_INSET = {"sinan": ""} + +ENTO_INTRA = {"sinan": ""} + +ENTO_LOCAL = {"sinan": ""} + +ENTO_OUTRO = {"sinan": ""} + +ENTO_PERID = {"sinan": ""} + +ENTO_PROXI = {"sinan": ""} + +ENTO_TRANS = {"sinan": ""} + +ENTRADA = {"sinan": ""} + +EPICUTA = {"sinan": ""} + +EPISTAXE = {"sinan": ""} + +EPIS_RACIO = {"sinan": ""} + +EPI_PESTE = {"sinan": ""} + +EQBRALTA = {"cnes": ""} + +EQBRBAIX = {"cnes": ""} + +EQBRMEDI = {"cnes": ""} + +EQDOSCLI = {"cnes": ""} + +EQFONSEL = {"cnes": ""} + +EQSISPLN = {"cnes": ""} + +EQUINOS = {"sinan": ""} + +EQ_MAREA = {"cnes": ""} + +EQ_MINDI = {"cnes": ""} + +ESC = {"sim": ""} + +ESC2010 = {"sim": ""} + +ESCFALAGR1 = {"sim": ""} + +ESCMAE = { + "sim": "", + "sinasc": "", +} + +ESCMAE2010 = { + "sim": "", + "sinasc": "", +} + +ESCMAEAGR1 = { + "sim": "", + "sinasc": "", +} + +ESCOLA = {"cnes": ""} + +ESCOLARID = {"ibge": ""} + +ESCOLMAE = {"sinan": ""} + +ESCOLMAE_N = {"sinan": ""} + +ESC_MAE_N = {"sinan": ""} + +ESFERA_A = {"cnes": ""} + +ESPEC = { + "ciha": "", + "sih": "", +} + +ESPECIE = {"sinan": ""} + +ESPECIE_N = {"sinan": ""} + +ESPECIFICO = {"sinan": ""} + +ESPLENO = {"sinan": ""} + +ESPLENOM = {"sinan": ""} + +ESP_OUT = {"sinan": ""} + +ESQ_ATU_N = {"sinan": ""} + +ESQ_INI_N = {"sinan": ""} + +ESTABDESCR = {"sim": ""} + +ESTAB_OCOR = {"sinasc": ""} + +ESTCIV = {"sim": ""} + +ESTCIVIL = {"sim": ""} + +ESTCIVMAE = {"sinasc": ""} + +ESTREPTOMI = {"sinan": ""} + +ETAMBUTOL = {"sinan": ""} + +ETIOL_OUTR = {"sinan": ""} + +ETIONAMIDA = {"sinan": ""} + +ETNIA = { + "sia": "", + "sih": "", + "sim": "", + "sinasc": "", +} + +EVIDENCIA = {"sinan": ""} + +EVOLUCAO = {"sinan": ""} + +EVOL_AFAST = {"sinan": ""} + +EVOR1_DT_R = {"sinan": ""} + +EVOR_A_MID = {"sinan": ""} + +EVOR_A_MIE = {"sinan": ""} + +EVOR_A_MSD = {"sinan": ""} + +EVOR_A_MSE = {"sinan": ""} + +EVOR_DT_RE = {"sinan": ""} + +EVOR_F_MID = {"sinan": ""} + +EVOR_F_MIE = {"sinan": ""} + +EVOR_F_MSD = {"sinan": ""} + +EVOR_F_MSE = {"sinan": ""} + +EVOR_RC_ED = {"sinan": ""} + +EVOR_RC_EE = {"sinan": ""} + +EVOR_RC_FD = {"sinan": ""} + +EVOR_RC_FE = {"sinan": ""} + +EVOR_S_FAC = {"sinan": ""} + +EVOR_S_MID = {"sinan": ""} + +EVOR_S_MIE = {"sinan": ""} + +EVOR_S_MSD = {"sinan": ""} + +EVOR_S_MSE = {"sinan": ""} + +EVO_DIAG = {"sinan": ""} + +EVO_DIAG_N = {"sinan": ""} + +EVO_DT_OBI = {"sinan": ""} + +EVO_OUTR = {"sinan": ""} + +EXAME = { + "sim": "", + "sinan": "", +} + +EXANTEMA = {"sinan": ""} + +EXPDIFDATA = {"sim": ""} + +EXPO_N = {"sinan": ""} + +EXTRAPU1_N = {"sinan": ""} + +EXTRAPU2_N = {"sinan": ""} + +EXTRAPUL_O = {"sinan": ""} + +FACIAL = {"sinan": ""} + +FAEC_TP = {"sih": ""} + +FALA = {"sinan": ""} + +FALENCIA = {"sinan": ""} + +FC_CONTATO = {"sinan": ""} + +FC_CONT_DE = {"sinan": ""} + +FEBRE = {"sinan": ""} + +FEN_HEMORR = {"sinan": ""} + +FERIMENTO = {"sinan": ""} + +FERIMENT_N = {"sinan": ""} + +FEZES = {"sinan": ""} + +FIGADO = {"sinan": ""} + +FILHMORT = {"sim": ""} + +FILHVIVOS = {"sim": ""} + +FIL_ABORT = {"sinasc": ""} + +FIL_MORTOS = {"sinasc": ""} + +FIL_VIVOS = {"sinasc": ""} + +FIM = {"sia": ""} + +FIM_ANIMAL = {"sinan": ""} + +FINANC = {"sih": ""} + +FISCALIZA = {"sinan": ""} + +FLOGISTICO = {"sinan": ""} + +FLUXO_AERE = {"sinan": ""} + +FLXRECEBI = {"sinan": ""} + +FOI_MATA = {"sinan": ""} + +FONTE = { + "ciha": "", + "sim": "", + "sinan": "", +} + +FONTEINV = {"sim": ""} + +FONTES = {"sim": ""} + +FONTESINF = {"sim": ""} + +FONTE_ORC = {"sih": ""} + +FONTINFO = {"sim": ""} + +FORMA = {"sinan": ""} + +FORMACLINI = {"sinan": ""} + +FORMA_CO = {"sinan": ""} + +FORMA_TF = {"sinan": ""} + +FORMA_TI = {"sinan": ""} + +FORMA_TS = {"sinan": ""} + +FORMA_TT = {"sinan": ""} + +FO_ANT_HBC = {"sinan": ""} + +FO_ANT_HCV = {"sinan": ""} + +FO_ANT_HIV = {"sinan": ""} + +FO_HBSAG = {"sinan": ""} + +FRAQUEZA = {"sinan": ""} + +FUMA = {"sinan": ""} + +FXETARIA = {"ibge": ""} + +FX_ETARIA = {"pni": ""} + +F_AREIA = {"cnes": ""} + +F_CARVAO = {"cnes": ""} + +GANGLIOS = {"sinan": ""} + +GASES = {"sinan": ""} + +GENGIVO = {"sinan": ""} + +GENOT_G = {"sinan": ""} + +GENOT_P = {"sinan": ""} + +GEN_VHC = {"sinan": ""} + +GESPRG1E = {"cnes": ""} + +GESPRG1M = {"cnes": ""} + +GESPRG2E = {"cnes": ""} + +GESPRG2M = {"cnes": ""} + +GESPRG3E = {"cnes": ""} + +GESPRG3M = {"cnes": ""} + +GESPRG4E = {"cnes": ""} + +GESPRG4M = {"cnes": ""} + +GESPRG5E = {"cnes": ""} + +GESPRG5M = {"cnes": ""} + +GESPRG6E = {"cnes": ""} + +GESPRG6M = {"cnes": ""} + +GESTACAO = { + "sim": "", + "sinasc": "", +} + +GESTANTE = {"sinan": ""} + +GESTAO = { + "ciha": "", + "sia": "", + "sih": "", +} + +GESTOR_COD = {"sih": ""} + +GESTOR_CPF = {"sih": ""} + +GESTOR_DT = {"sih": ""} + +GESTOR_TP = {"sih": ""} + +GESTRISCO = {"sih": ""} + +GLAUCOMA = {"sinan": ""} + +GRAVIDEZ = { + "sim": "", + "sinasc": "", +} + +GRAV_AST = {"sinan": ""} + +GRAV_CONSC = {"sinan": ""} + +GRAV_CONV = {"sinan": ""} + +GRAV_ENCH = {"sinan": ""} + +GRAV_EXTRE = {"sinan": ""} + +GRAV_HEMAT = {"sinan": ""} + +GRAV_HIPOT = {"sinan": ""} + +GRAV_INSUF = {"sinan": ""} + +GRAV_MELEN = {"sinan": ""} + +GRAV_METRO = {"sinan": ""} + +GRAV_MIOC = {"sinan": ""} + +GRAV_ORGAO = {"sinan": ""} + +GRAV_PULSO = {"sinan": ""} + +GRAV_SANG = {"sinan": ""} + +GRAV_TAQUI = {"sinan": ""} + +G_D = {"sinan": ""} + +G_M = {"sinan": ""} + +HANSENIASE = {"sinan": ""} + +HAV = {"sinan": ""} + +HA_PAUSA = {"sinan": ""} + +HBC_TOTAL = {"sinan": ""} + +HBSAG = {"sinan": ""} + +HBV = {"sinan": ""} + +HCV = {"sinan": ""} + +HDV = {"sinan": ""} + +HEMATOLOG = {"sinan": ""} + +HEMATURA = {"sinan": ""} + +HEMA_MAIOR = {"sinan": ""} + +HEMA_MENOR = {"sinan": ""} + +HEMO = {"sinan": ""} + +HEMOCULT = {"sinan": ""} + +HEMODIALIS = {"sinan": ""} + +HEMORRAG = {"sinan": ""} + +HEMORRAGI = {"sinan": ""} + +HEMOTERA = {"cnes": ""} + +HEMO_D_1 = {"sinan": ""} + +HEMO_D_2 = {"sinan": ""} + +HEMO_D_3 = {"sinan": ""} + +HEMO_IGG = {"sinan": ""} + +HEMO_IGM = {"sinan": ""} + +HEMO_R1 = {"sinan": ""} + +HEMO_R2 = {"sinan": ""} + +HEMO_R3 = {"sinan": ""} + +HEM_IGG_S1 = {"sinan": ""} + +HEM_IGG_S2 = {"sinan": ""} + +HEM_IGM_S1 = {"sinan": ""} + +HEM_IGM_S2 = {"sinan": ""} + +HEPAESPLE = {"sinan": ""} + +HEPATITA = {"sinan": ""} + +HEPATITB = {"sinan": ""} + +HEPATITE_N = {"sinan": ""} + +HEPATO = {"sinan": ""} + +HEPATOME = {"sinan": ""} + +HEPATOPAT = {"sinan": ""} + +HEPA_ESP = {"sinan": ""} + +HERBIV_DES = {"sinan": ""} + +HEV = {"sinan": ""} + +HIDROCARBO = {"sinan": ""} + +HIDROFOBI = {"sinan": ""} + +HIPEREMIA = {"sinan": ""} + +HIPERTEN = {"sinan": ""} + +HIPERTENSA = {"sinan": ""} + +HIPOREXIA = {"sinan": ""} + +HIPOTENSAO = {"sinan": ""} + +HISTOLOG_N = {"sinan": ""} + +HISTOPA = {"sinan": ""} + +HISTOPATO = {"sinan": ""} + +HISTOPATOL = {"sinan": ""} + +HISTOPA_N = {"sinan": ""} + +HISTORIA = {"sinan": ""} + +HIV = {"sinan": ""} + +HOMONIMO = { + "ciha": "", + "sih": "", +} + +HORAHOSP = {"cnes": ""} + +HORANASC = {"sinasc": ""} + +HORAOBITO = {"sim": ""} + +HORAOUTR = {"cnes": ""} + +HORA_ACID = {"sinan": ""} + +HORA_AMB = {"cnes": ""} + +HORA_JOR = {"sinan": ""} + +HORA_OCOR = {"sinan": ""} + +HORMONIO = {"sinan": ""} + +HOSPITAL = {"sinan": ""} + +HOSPITALIZ = {"sinan": ""} + +HOSP_NSUS = {"cnes": ""} + +HOSP_SUS = {"cnes": ""} + +ICTERICIA = {"sinan": ""} + +IDADE = { + "ciha": "", + "ibge": "", + "sih": "", + "sim": "", +} + +IDADEMAE = { + "sim": "", + "sinan": "", + "sinasc": "", +} + +IDADEMAX = {"sia": ""} + +IDADEMIN = {"sia": ""} + +IDADEPAC = {"sia": ""} + +IDADEPAI = {"sinasc": ""} + +IDADE_MAE = { + "sinan": "", + "sinasc": "", +} + +IDANOMAL = {"sinasc": ""} + +IDENT = {"sih": ""} + +IDENT_GEN = {"sinan": ""} + +IDENT_MICR = {"sinan": ""} + +IDEQUIPE = {"cnes": ""} + +ID_AGRAVO = {"sinan": ""} + +ID_AREA = {"cnes": ""} + +ID_ARTRALG = {"sinan": ""} + +ID_CNS_SUS = {"sinan": ""} + +ID_CONJUNT = {"sinan": ""} + +ID_CORIZA = {"sinan": ""} + +ID_DG_DES = {"sinan": ""} + +ID_DG_NOT = {"sinan": ""} + +ID_DT_RESI = {"sinan": ""} + +ID_ETIOLOG = {"sinan": ""} + +ID_EV_NOT = {"sinan": ""} + +ID_GANGLIO = {"sinan": ""} + +ID_HOSPIT = {"sinan": ""} + +ID_LIQUOR = {"sinan": ""} + +ID_MN_OCOR = {"sinan": ""} + +ID_MN_RESI = {"sinan": ""} + +ID_MUNICIP = {"sinan": ""} + +ID_MUNIC_2 = {"sinan": ""} + +ID_MUNIC_A = {"sinan": ""} + +ID_MUNI_AT = {"sinan": ""} + +ID_MUNI_RE = {"sinan": ""} + +ID_NOTIFIC = {"sinan": ""} + +ID_OCUPACA = {"sinan": ""} + +ID_OCUPA_N = {"sinan": ""} + +ID_OCUP_MA = {"sinan": ""} + +ID_PAIS = {"sinan": ""} + +ID_REGIONA = {"sinan": ""} + +ID_RETRO = {"sinan": ""} + +ID_RE_IGG = {"sinan": ""} + +ID_RE_IGG_ = {"sinan": ""} + +ID_RE_IGM = {"sinan": ""} + +ID_RE_IGM_ = {"sinan": ""} + +ID_RE_IG_1 = {"sinan": ""} + +ID_RE_IG_2 = {"sinan": ""} + +ID_RG_RESI = {"sinan": ""} + +ID_S1_IGG = {"sinan": ""} + +ID_S1_IGG_ = {"sinan": ""} + +ID_S1_IGM = {"sinan": ""} + +ID_S1_IGM_ = {"sinan": ""} + +ID_S1_IG_1 = {"sinan": ""} + +ID_S1_IG_2 = {"sinan": ""} + +ID_S2_IGG = {"sinan": ""} + +ID_S2_IGG_ = {"sinan": ""} + +ID_S2_IGM = {"sinan": ""} + +ID_S2_IGM_ = {"sinan": ""} + +ID_S2_IG_1 = {"sinan": ""} + +ID_S2_IG_2 = {"sinan": ""} + +ID_SANGUE = {"sinan": ""} + +ID_SECRECA = {"sinan": ""} + +ID_SEGM = {"cnes": ""} + +ID_TOSSE = {"sinan": ""} + +ID_UNIDADE = {"sinan": ""} + +ID_UNID_AT = {"sinan": ""} + +ID_URINA = {"sinan": ""} + +IFI = {"sinan": ""} + +IGG_S1 = {"sinan": ""} + +IGG_S2 = {"sinan": ""} + +IGG_T2 = {"sinan": ""} + +IGM_S1 = {"sinan": ""} + +IGM_S2 = {"sinan": ""} + +IGM_T1 = {"sinan": ""} + +IMPLANTA = {"sinan": ""} + +IMUNO = { + "pni": "", + "sinan": "", +} + +IMUNOH = {"sinan": ""} + +IMUNOHIST = {"sinan": ""} + +IMUNOH_N = {"sinan": ""} + +IMUNO_DIRE = {"sinan": ""} + +IMUNO_INDI = {"sinan": ""} + +IMU_HEP_B = {"sinan": ""} + +IMU_IGG_S1 = {"sinan": ""} + +IMU_IGG_S2 = {"sinan": ""} + +IMU_IGM_S1 = {"sinan": ""} + +IMU_IGM_S2 = {"sinan": ""} + +INAL_CRACK = {"sinan": ""} + +INDIGENA = {"cnes": ""} + +INDIVIDUAL = {"sinan": ""} + +IND_NSUS = {"cnes": ""} + +IND_SUS = {"cnes": ""} + +IND_VDRL = {"sih": ""} + +INESPECIF = {"sinan": ""} + +INFAN_JUV = {"sinan": ""} + +INFECCIOSO = {"sinan": ""} + +INFEHOSP = {"sih": ""} + +INFERIORES = {"sinan": ""} + +INFILTRA = {"sinan": ""} + +INICIO = {"sia": ""} + +INJETAVEIS = {"sinan": ""} + +INSC_PN = {"sih": ""} + +INSTITUCIO = {"sinan": ""} + +INSTRMAE = {"sim": ""} + +INSTRPAI = {"sim": ""} + +INSTRU = {"sih": ""} + +INSTRUCAO = {"sim": ""} + +INSTR_MAE = {"sinasc": ""} + +INSUFICIEN = {"sinan": ""} + +INTOX_CHUM = {"sinan": ""} + +INTOX_MERC = {"sinan": ""} + +INTOX_META = {"sinan": ""} + +INT_TEMPO = {"sinan": ""} + +IN_AIDS = {"sinan": ""} + +IN_TP_VAL = {"sih": ""} + +IN_VINCULA = {"sinan": ""} + +IONIZANTES = {"sinan": ""} + +ISOLAMENTO = {"sinan": ""} + +ISONIAZIDA = {"sinan": ""} + +KOTELCHUCK = {"sinasc": ""} + +LABC_DT = {"sinan": ""} + +LABC_DT_1 = {"sinan": ""} + +LABC_DT_2 = {"sinan": ""} + +LABC_EVIDE = {"sinan": ""} + +LABC_IGG = {"sinan": ""} + +LABC_LIQUO = {"sinan": ""} + +LABC_LIQ_1 = {"sinan": ""} + +LABC_SANGU = {"sinan": ""} + +LABC_TITUL = {"sinan": ""} + +LABC_TIT_1 = {"sinan": ""} + +LABC_TIT_2 = {"sinan": ""} + +LAB_AGLIQU = {"sinan": ""} + +LAB_AGSANG = {"sinan": ""} + +LAB_ASPECT = {"sinan": ""} + +LAB_ATIPIC = {"sinan": ""} + +LAB_BCESCA = {"sinan": ""} + +LAB_BCLESA = {"sinan": ""} + +LAB_BCLIQU = {"sinan": ""} + +LAB_BCSANG = {"sinan": ""} + +LAB_BD = {"sinan": ""} + +LAB_BI = {"sinan": ""} + +LAB_BILATE = {"sinan": ""} + +LAB_BT = {"sinan": ""} + +LAB_CELEBR = {"sinan": ""} + +LAB_CILIQU = {"sinan": ""} + +LAB_CISANG = {"sinan": ""} + +LAB_CLOR = {"sinan": ""} + +LAB_COLHEU = {"sinan": ""} + +LAB_CONF = {"sinan": ""} + +LAB_CONFIR = {"sinan": ""} + +LAB_CON_F = {"sinan": ""} + +LAB_CREATI = {"sinan": ""} + +LAB_CTESCA = {"sinan": ""} + +LAB_CTLESA = {"sinan": ""} + +LAB_CTLIQU = {"sinan": ""} + +LAB_CTSANG = {"sinan": ""} + +LAB_CULTUR = {"sinan": ""} + +LAB_DATA_C = {"sinan": ""} + +LAB_DERRAM = {"sinan": ""} + +LAB_DIFUSO = {"sinan": ""} + +LAB_DT3 = {"sinan": ""} + +LAB_DTPUNC = {"sinan": ""} + +LAB_DT_1 = {"sinan": ""} + +LAB_DT_2 = {"sinan": ""} + +LAB_DT_3 = {"sinan": ""} + +LAB_DT_C1 = {"sinan": ""} + +LAB_DT_CEN = {"sinan": ""} + +LAB_DT_E_1 = {"sinan": ""} + +LAB_DT_F1 = {"sinan": ""} + +LAB_DT_L_1 = {"sinan": ""} + +LAB_DT_L_2 = {"sinan": ""} + +LAB_DT_NLE = {"sinan": ""} + +LAB_DT_R1 = {"sinan": ""} + +LAB_DT_RE1 = {"sinan": ""} + +LAB_ELIS_1 = {"sinan": ""} + +LAB_ELIS_2 = {"sinan": ""} + +LAB_EOSI = {"sinan": ""} + +LAB_ESFR = {"sinan": ""} + +LAB_E_D_1 = {"sinan": ""} + +LAB_GLICO = {"sinan": ""} + +LAB_HEMA = {"sinan": ""} + +LAB_HEMATO = {"sinan": ""} + +LAB_HEMA_N = {"sinan": ""} + +LAB_HEMO = {"sinan": ""} + +LAB_HISTOP = {"sinan": ""} + +LAB_IGG = {"sinan": ""} + +LAB_IGG_R = {"sinan": ""} + +LAB_IGM = {"sinan": ""} + +LAB_IGM_R = {"sinan": ""} + +LAB_IMUNO = {"sinan": ""} + +LAB_INTEST = {"sinan": ""} + +LAB_IRM = {"sinan": ""} + +LAB_ISFEZE = {"sinan": ""} + +LAB_ISLIQU = {"sinan": ""} + +LAB_LEUCO = {"sinan": ""} + +LAB_LEUC_N = {"sinan": ""} + +LAB_LINFO = {"sinan": ""} + +LAB_LOCAL = {"sinan": ""} + +LAB_L_CEL1 = {"sinan": ""} + +LAB_L_CEL2 = {"sinan": ""} + +LAB_L_CL1 = {"sinan": ""} + +LAB_L_CL2 = {"sinan": ""} + +LAB_L_C_DE = {"sinan": ""} + +LAB_L_GLI1 = {"sinan": ""} + +LAB_L_GLI2 = {"sinan": ""} + +LAB_L_LIN1 = {"sinan": ""} + +LAB_L_LIN2 = {"sinan": ""} + +LAB_L_OUT = {"sinan": ""} + +LAB_L_PRO1 = {"sinan": ""} + +LAB_L_PRO2 = {"sinan": ""} + +LAB_L_S_DE = {"sinan": ""} + +LAB_MACRO = {"sinan": ""} + +LAB_MATE_N = {"sinan": ""} + +LAB_MEDULA = {"sinan": ""} + +LAB_METODO = {"sinan": ""} + +LAB_MET_D = {"sinan": ""} + +LAB_MICRO = {"sinan": ""} + +LAB_MICRON = {"sinan": ""} + +LAB_MICR_1 = {"sinan": ""} + +LAB_MICR_2 = {"sinan": ""} + +LAB_MONO = {"sinan": ""} + +LAB_NEUTRO = {"sinan": ""} + +LAB_OUTRO = {"sinan": ""} + +LAB_OUT_D = {"sinan": ""} + +LAB_OUT_E = {"sinan": ""} + +LAB_PARASI = {"sinan": ""} + +LAB_PARTO = {"sinan": ""} + +LAB_PCESCA = {"sinan": ""} + +LAB_PCLESA = {"sinan": ""} + +LAB_PCLIQU = {"sinan": ""} + +LAB_PCR_1 = {"sinan": ""} + +LAB_PCR_2 = {"sinan": ""} + +LAB_PCR_3 = {"sinan": ""} + +LAB_PCSANG = {"sinan": ""} + +LAB_PLAQUE = {"sinan": ""} + +LAB_POTASS = {"sinan": ""} + +LAB_PROD1 = {"sinan": ""} + +LAB_PROD2 = {"sinan": ""} + +LAB_PROT = {"sinan": ""} + +LAB_PROVAS = {"sinan": ""} + +LAB_PUNCAO = {"sinan": ""} + +LAB_Q_F = {"sinan": ""} + +LAB_RADIOL = {"sinan": ""} + +LAB_REALIZ = {"sinan": ""} + +LAB_RESULT = {"sinan": ""} + +LAB_RES_B = {"sinan": ""} + +LAB_RES_F1 = {"sinan": ""} + +LAB_RES_F2 = {"sinan": ""} + +LAB_RES_F3 = {"sinan": ""} + +LAB_RTPCR = {"sinan": ""} + +LAB_R_1 = {"sinan": ""} + +LAB_R_2 = {"sinan": ""} + +LAB_SORO = {"sinan": ""} + +LAB_SOROAG = {"sinan": ""} + +LAB_SOR_DE = {"sinan": ""} + +LAB_S_1 = {"sinan": ""} + +LAB_S_2 = {"sinan": ""} + +LAB_S_3 = {"sinan": ""} + +LAB_S_4 = {"sinan": ""} + +LAB_S_5 = {"sinan": ""} + +LAB_TGO = {"sinan": ""} + +LAB_TGO_D = {"sinan": ""} + +LAB_TGP = {"sinan": ""} + +LAB_TGP_D = {"sinan": ""} + +LAB_TITU_2 = {"sinan": ""} + +LAB_TRIAGE = {"sinan": ""} + +LAB_TROMBO = {"sinan": ""} + +LAB_UF = {"sinan": ""} + +LAB_UREIA = {"sinan": ""} + +LAB_VACINA = {"sinan": ""} + +LAB_VAC_DE = {"sinan": ""} + +LACO = {"sinan": ""} + +LACO_N = {"sinan": ""} + +LAMBEDURA = {"sinan": ""} + +LAVOURA = {"sinan": ""} + +LEITE = {"sinan": ""} + +LEITHOSP = {"cnes": ""} + +LESAO = {"sinan": ""} + +LESAO_CORP = {"sinan": ""} + +LESAO_DES = {"sinan": ""} + +LESAO_ESPE = {"sinan": ""} + +LESAO_NAT = {"sinan": ""} + +LESOES = {"sinan": ""} + +LES_AUTOP = {"sinan": ""} + +LEUCOPENIA = {"sinan": ""} + +LIMITA_MOV = {"sinan": ""} + +LINFADENO = {"sinan": ""} + +LINHAA = {"sim": ""} + +LINHAB = {"sim": ""} + +LINHAC = {"sim": ""} + +LINHAD = {"sim": ""} + +LINHAII = {"sim": ""} + +LOCACID = {"sim": ""} + +LOCAL_ACID = {"sinan": ""} + +LOCAL_ESPE = {"sinan": ""} + +LOCAL_OCOR = { + "sinan": "", + "sinasc": "", +} + +LOCA_MID_N = {"sinan": ""} + +LOCA_MIE_N = {"sinan": ""} + +LOCA_MSD_N = {"sinan": ""} + +LOCA_MSE_N = {"sinan": ""} + +LOCNASC = {"sinasc": ""} + +LOCOCOR = {"sim": ""} + +LOC_EXPO = {"sinan": ""} + +LOC_EXP_DE = {"sinan": ""} + +LOC_INF = {"sinan": ""} + +LOC_REALIZ = {"sia": ""} + +LOTE1 = {"sinan": ""} + +LOTE2 = {"sinan": ""} + +LOTE_VAC = {"sinan": ""} + +LUVA = {"sinan": ""} + +MAECHAGA = {"sinan": ""} + +MAIS_6HS = {"sinan": ""} + +MAIS_TRAB = {"sinan": ""} + +MANIFESTA = {"sinan": ""} + +MANIPULA = {"sinan": ""} + +MANI_HEMOR = {"sinan": ""} + +MAOS_N = {"sinan": ""} + +MAPORTAR = {"cnes": ""} + +MAQ_OUTR = {"cnes": ""} + +MAQ_PROP = {"cnes": ""} + +MARCA_UCI = {"sih": ""} + +MARCA_UTI = {"sih": ""} + +MASCARA = {"sinan": ""} + +MATBIOLOGI = {"sinan": ""} + +MATERIAL = {"sinan": ""} + +MAT_ORG = {"sinan": ""} + +MAT_ORG_DE = {"sinan": ""} + +MAX_INC = {"sinan": ""} + +MAX_ST_INC = {"sinan": ""} + +MCLI_LOCAL = {"sinan": ""} + +MCLI_SIST = {"sinan": ""} + +MEDICA = {"sinan": ""} + +MEDICAMENT = {"sinan": ""} + +MED_BLOQUE = {"sinan": ""} + +MED_CASO_S = {"sinan": ""} + +MED_CONTR = {"sinan": ""} + +MED_DT_EVO = {"sinan": ""} + +MED_DT_QUI = {"sinan": ""} + +MED_IDEN_C = {"sinan": ""} + +MED_MATERI = {"sinan": ""} + +MED_NUCOMU = {"sinan": ""} + +MED_OUTRO = {"sinan": ""} + +MED_PREVEN = {"sinan": ""} + +MED_QUAN_C = {"sinan": ""} + +MED_QUAN_M = {"sinan": ""} + +MED_QUAN_P = {"sinan": ""} + +MED_QUIMIO = {"sinan": ""} + +MEFLOQ = {"sinan": ""} + +MENINGO = {"sinan": ""} + +MENINGOE = {"sinan": ""} + +MENOR_5ANO = {"sinan": ""} + +MENOS_MOV = {"sinan": ""} + +MENTAL = {"sinan": ""} + +MES = { + "pni": "", + "sih": "", +} + +MESPRENAT = {"sinasc": ""} + +MES_CMPT = { + "ciha": "", + "sih": "", +} + +METAL = {"sinan": ""} + +METRO = {"sinan": ""} + +MIALGIA = {"sinan": ""} + +MICRO1_S1 = {"sinan": ""} + +MICRO1_S_2 = {"sinan": ""} + +MICRO1_T_1 = {"sinan": ""} + +MICRO1_T_2 = {"sinan": ""} + +MICRO2_S1 = {"sinan": ""} + +MICRO2_S_2 = {"sinan": ""} + +MICRO2_T_1 = {"sinan": ""} + +MICRO2_T_2 = {"sinan": ""} + +MICROCEFA = {"sinan": ""} + +MICRO_HEMA = {"sinan": ""} + +MICR_REG = {"cnes": ""} + +MIGRADO_W = {"sinan": ""} + +MINTERNA = {"sinan": ""} + +MIN_ACID = {"sinan": ""} + +MIN_JOR = {"sinan": ""} + +MIOCARDI = {"sinan": ""} + +MNDIF = {"sia": ""} + +MN_IND = {"sia": ""} + +MOAGEM_N = {"sinan": ""} + +MODALIDADE = {"ciha": ""} + +MODODETECT = {"sinan": ""} + +MODOENTR = {"sinan": ""} + +MORDEDURA = {"sinan": ""} + +MORTE = { + "ciha": "", + "sih": "", +} + +MORTEPARTO = {"sim": ""} + +MOTDESAT = {"cnes": ""} + +MOT_COB = {"sia": ""} + +MPU = {"sinan": ""} + +MTRANSFU = {"sinan": ""} + +MUCOSA = {"sinan": ""} + +MUDA_TRAB = {"sinan": ""} + +MUNCOD = {"ibge": ""} + +MUNIC = {"pni": ""} + +MUNICIPIO = {"sinan": ""} + +MUNIC_LOC = {"sih": ""} + +MUNIC_MOV = { + "ciha": "", + "sih": "", +} + +MUNIC_RES = { + "ciha": "", + "ibge": "", + "sih": "", +} + +MUNIOCOR = {"sim": ""} + +MUNIRES = {"sim": ""} + +MUNIRESAT = {"sinan": ""} + +MUNI_MAE = {"sinasc": ""} + +MUNI_OCOR = {"sinasc": ""} + +MUNPAC = {"sia": ""} + +MUN_1 = {"sinan": ""} + +MUN_2 = {"sinan": ""} + +MUN_3 = {"sinan": ""} + +MUN_ACID = {"sinan": ""} + +MUN_ATENDE = {"sinan": ""} + +MUN_DES1 = {"sinan": ""} + +MUN_DES2 = {"sinan": ""} + +MUN_DES3 = {"sinan": ""} + +MUN_EMP = {"sinan": ""} + +MUN_HOSP = {"sinan": ""} + +MUN_ING = {"sinan": ""} + +MUN_MOV = {"sih": ""} + +MUN_PRE_NA = {"sinan": ""} + +MUN_RES = {"sih": ""} + +MUN_TRANSF = {"sinan": ""} + +MUSCULAR = {"sinan": ""} + +NACIONAL = { + "ciha": "", + "sih": "", +} + +NACION_PAC = {"sia": ""} + +NAO_IONIZA = {"sinan": ""} + +NASC = { + "ciha": "", + "sih": "", +} + +NATURAL = {"sim": ""} + +NATURALMAE = {"sinasc": ""} + +NATUREZA = { + "ciha": "", + "cnes": "", + "sih": "", +} + +NAT_JUR = { + "cnes": "", + "sia": "", + "sih": "", +} + +NAUSEA = {"sinan": ""} + +NAUSEAS = {"sinan": ""} + +NDUPLIC = {"sinan": ""} + +NDUPLIC_N = {"sinan": ""} + +NECROPSIA = {"sim": ""} + +NECROSE = {"sinan": ""} + +NENHUM = {"sinan": ""} + +NEOPLASICO = {"sinan": ""} + +NERVOSAFET = {"sinan": ""} + +NIQUEL = {"sinan": ""} + +NIVATE_A = {"cnes": ""} + +NIVATE_H = {"cnes": ""} + +NIV_DEP = {"cnes": ""} + +NIV_HIER = {"cnes": ""} + +NM_ANTIBIO = {"sinan": ""} + +NM_MUNIC_H = {"sinan": ""} + +NM_MUN_HOS = {"sinan": ""} + +NM_OUT_COM = {"sinan": ""} + +NM_OUT_SIN = {"sinan": ""} + +NM_SIN_OUT = {"sinan": ""} + +NOCOLINF = {"sinan": ""} + +NOMEAREA = {"cnes": ""} + +NOMEFANT = {"sih": ""} + +NOMEPROF = {"cnes": ""} + +NOME_BACT = {"sinan": ""} + +NOME_EQP = {"cnes": ""} + +NOME_PARAS = {"sinan": ""} + +NOME_VIRUS = {"sinan": ""} + +NOPROPIN = {"sinan": ""} + +NOVO = {"sinasc": ""} + +NO_ATENOUT = {"sinan": ""} + +NO_COBOUTR = {"sinan": ""} + +NO_OUPARTO = {"sinan": ""} + +NO_OUTRAS = {"sinan": ""} + +NU10_19_N = {"sinan": ""} + +NU1_4_F_NU = {"sinan": ""} + +NU5_9_F_NU = {"sinan": ""} + +NUATEND = {"sinan": ""} + +NUCONSOME = {"sinan": ""} + +NUDIASINF = {"sim": ""} + +NUDIASOBCO = {"sim": ""} + +NUDIASOBIN = {"sim": ""} + +NULEITOS = {"cnes": ""} + +NUMCRIPOB = {"ibge": ""} + +NUMCRIPOBX = {"ibge": ""} + +NUMDESOCUP = {"ibge": ""} + +NUMERODN = { + "sim": "", + "sinasc": "", +} + +NUMERODV = {"sinasc": ""} + +NUMEROLOTE = { + "sim": "", + "sinasc": "", +} + +NUMEXPORT = {"sim": ""} + +NUMPOBRES = {"ibge": ""} + +NUMPOBRESX = {"ibge": ""} + +NUMREGCART = { + "sim": "", + "sinasc": "", +} + +NUMRENDA = {"ibge": ""} + +NUMTRABINF = {"ibge": ""} + +NUM_CON_N = {"sinan": ""} + +NUM_DOSES = {"sinan": ""} + +NUM_ENVOLV = {"sinan": ""} + +NUM_EXPORT = {"sinasc": ""} + +NUM_FILHOS = {"sih": ""} + +NUM_PROC = {"sih": ""} + +NUTEMPO = {"sinan": ""} + +NUTEMPORIS = {"sinan": ""} + +NU_10_19 = {"sinan": ""} + +NU_10_19IG = {"sinan": ""} + +NU_10_19_M = {"sinan": ""} + +NU_1_4_IGN = {"sinan": ""} + +NU_1_4_NU = {"sinan": ""} + +NU_1_4_TOT = {"sinan": ""} + +NU_1_F_NU = {"sinan": ""} + +NU_1_IGN = {"sinan": ""} + +NU_1_M_NU = {"sinan": ""} + +NU_1_TOT_N = {"sinan": ""} + +NU_20_49 = {"sinan": ""} + +NU_20_49IG = {"sinan": ""} + +NU_20_49_F = {"sinan": ""} + +NU_20_49_N = {"sinan": ""} + +NU_50_F_NU = {"sinan": ""} + +NU_50_IGN = {"sinan": ""} + +NU_50_M_NU = {"sinan": ""} + +NU_50_TOT = {"sinan": ""} + +NU_5_9_IGN = {"sinan": ""} + +NU_5_9_NU = {"sinan": ""} + +NU_5_9_TOT = {"sinan": ""} + +NU_ABDOM_N = {"sinan": ""} + +NU_AFAST = {"sinan": ""} + +NU_AMPOLAS = {"sinan": ""} + +NU_AMPOL_1 = {"sinan": ""} + +NU_AMPOL_3 = {"sinan": ""} + +NU_AMPOL_4 = {"sinan": ""} + +NU_AMPOL_6 = {"sinan": ""} + +NU_AMPOL_8 = {"sinan": ""} + +NU_AMPOL_9 = {"sinan": ""} + +NU_AMPO_5 = {"sinan": ""} + +NU_AMPO_7 = {"sinan": ""} + +NU_ANO = {"sinan": ""} + +NU_A_ALIM = {"sinan": ""} + +NU_A_CLINI = {"sinan": ""} + +NU_A_NUM_1 = {"sinan": ""} + +NU_A_NUM_2 = {"sinan": ""} + +NU_A_NUM_3 = {"sinan": ""} + +NU_CASO = {"sinan": ""} + +NU_CASOEXA = {"sinan": ""} + +NU_CASOPOS = {"sinan": ""} + +NU_CEFAL_N = {"sinan": ""} + +NU_CELULA = {"sinan": ""} + +NU_CLI_NUM = {"sinan": ""} + +NU_COMU_EX = {"sinan": ""} + +NU_CONTATO = {"sinan": ""} + +NU_DIARR_N = {"sinan": ""} + +NU_DOSE = {"sinan": ""} + +NU_ENTR = {"sinan": ""} + +NU_ENT_DOE = {"sinan": ""} + +NU_FEBRE_N = {"sinan": ""} + +NU_F_TOT = {"sinan": ""} + +NU_F_TOT_N = {"sinan": ""} + +NU_GESTA = {"sinan": ""} + +NU_IDADE = {"sinan": ""} + +NU_IDADE_N = {"sinan": ""} + +NU_IGN_NU = {"sinan": ""} + +NU_IGRA_NU = {"sinan": ""} + +NU_IG_F_NU = {"sinan": ""} + +NU_IG_IGN = {"sinan": ""} + +NU_INCUB_M = {"sinan": ""} + +NU_INC_ME = {"sinan": ""} + +NU_LESOES = {"sinan": ""} + +NU_LOTE = {"sinan": ""} + +NU_LOTE_H = {"sinan": ""} + +NU_LOTE_I = {"sinan": ""} + +NU_LOTE_IA = {"sinan": ""} + +NU_LOTE_V = {"sinan": ""} + +NU_NAUSE_P = {"sinan": ""} + +NU_NEURO_N = {"sinan": ""} + +NU_NOTIFIC = {"sinan": ""} + +NU_NUM_2 = {"sinan": ""} + +NU_NUM_3 = {"sinan": ""} + +NU_OBITO = {"sinan": ""} + +NU_OUTRO_N = {"sinan": ""} + +NU_PA_TOT = {"sia": ""} + +NU_PROTEI = {"sinan": ""} + +NU_RESU_3 = {"sinan": ""} + +NU_SEMA_EP = {"sinan": ""} + +NU_TOT = {"sinan": ""} + +NU_TOT_HOS = {"sinan": ""} + +NU_TOT_IGN = {"sinan": ""} + +NU_TO_F_NU = {"sinan": ""} + +NU_TRAB = {"sinan": ""} + +NU_VOMTO_N = {"sinan": ""} + +NU_VPA_TOT = {"sia": ""} + +N_AIH = {"sih": ""} + +N_DIAR = {"sinan": ""} + +N_VOMITO = {"sinan": ""} + +OBITOFE1 = {"sim": ""} + +OBITOFE2 = {"sim": ""} + +OBITOGRAV = {"sim": ""} + +OBITOPARTO = {"sim": ""} + +OBITOPUERP = {"sim": ""} + +OBSERVACAO = {"sinan": ""} + +OCULOS = {"sinan": ""} + +OCUP = {"sim": ""} + +OCUPACAO = { + "sim": "", + "sinan": "", +} + +OCUPACIO = {"sinan": ""} + +OCUPMAE = {"sim": ""} + +OCUPPAI = {"sim": ""} + +OLEOS = {"sinan": ""} + +OLIGURIA = {"sinan": ""} + +ORAL = {"sinan": ""} + +ORGEXPED = {"cnes": ""} + +ORIENT_SEX = {"sinan": ""} + +ORIGEM = { + "sim": "", + "sinan": "", + "sinasc": "", +} + +ORIGEM_PAC = {"sia": ""} + +ORTV1050 = {"cnes": ""} + +ORV50150 = {"cnes": ""} + +OSMOSE_R = {"cnes": ""} + +OSSEA = {"sinan": ""} + +OUTRAS = {"sinan": ""} + +OUTRAS_DES = {"sinan": ""} + +OUTRA_ATIV = {"sinan": ""} + +OUTRA_DST = {"sinan": ""} + +OUTRO = {"sinan": ""} + +OUTROANI = {"sinan": ""} + +OUTROS = {"sinan": ""} + +OUTROS_DES = {"sinan": ""} + +OUTROS_ESP = {"sinan": ""} + +OUTROS_M = {"sinan": ""} + +OUTROS_M_D = {"sinan": ""} + +OUTRO_ARV = {"sinan": ""} + +OUTRO_DES = {"sinan": ""} + +OUTRO_DOE = {"sinan": ""} + +OUTRO_ESP = {"sinan": ""} + +OUTRO_EX = {"sinan": ""} + +OUTRO_EXP = {"sinan": ""} + +OUTRO_S = {"sinan": ""} + +OUTRO_SIN = {"sinan": ""} + +OUTRO_S_D = {"sinan": ""} + +OUTR_ATI_D = {"sinan": ""} + +OUTR_D1 = {"sinan": ""} + +OUTR_D2 = {"sinan": ""} + +OUTR_D3 = {"sinan": ""} + +OUTR_R1 = {"sinan": ""} + +OUTR_R2 = {"sinan": ""} + +OUTR_R3 = {"sinan": ""} + +OUT_AGENTE = {"sinan": ""} + +OUT_AGRAVO = {"sinan": ""} + +OUT_ARV_ES = {"sinan": ""} + +OUT_CONTAT = {"sinan": ""} + +OUT_DOE_DE = {"sinan": ""} + +OUT_EXAME = {"sinan": ""} + +OUT_EXP_DE = {"sinan": ""} + +OUT_MEDIC = {"sinan": ""} + +OUT_TRAT = {"cnes": ""} + +OUT_VEZES = {"sinan": ""} + +OUT_VINCUL = {"sinan": ""} + +OUT_VIRUS = {"sinan": ""} + +OV150500 = {"cnes": ""} + +PAIS_EXP = {"sinan": ""} + +PALIDEZ = {"sinan": ""} + +PALQ_MAIOR = {"sinan": ""} + +PARALISIA = {"sinan": ""} + +PARASITA = {"sinan": ""} + +PARASITO = {"sinan": ""} + +PARESTESI = {"sinan": ""} + +PARIDADE = {"sinasc": ""} + +PARTO = { + "sim": "", + "sinasc": "", +} + +PART_CORP1 = {"sinan": ""} + +PART_CORP2 = {"sinan": ""} + +PART_CORP3 = {"sinan": ""} + +PAR_ANTIDU = {"sinan": ""} + +PAR_DT_PAR = {"sinan": ""} + +PAR_EVOLUC = {"sinan": ""} + +PAR_INICPR = {"sinan": ""} + +PAR_TIPO = {"sinan": ""} + +PAR_UFPART = {"sinan": ""} + +PA_ALTA = {"sia": ""} + +PA_AUTORIZ = {"sia": ""} + +PA_CATEND = {"sia": ""} + +PA_CBOCOD = {"sia": ""} + +PA_CID = {"sia": ""} + +PA_CIDCAS = {"sia": ""} + +PA_CIDPRI = {"sia": ""} + +PA_CIDSEC = {"sia": ""} + +PA_CLASS_S = {"sia": ""} + +PA_CMP = {"sia": ""} + +PA_CNPJCPF = {"sia": ""} + +PA_CNPJMNT = {"sia": ""} + +PA_CNPJ_CC = {"sia": ""} + +PA_CNSMED = {"sia": ""} + +PA_CODESP = {"sia": ""} + +PA_CODOCO = {"sia": ""} + +PA_CODPRO = {"sia": ""} + +PA_CODUNI = {"sia": ""} + +PA_CONDIC = {"sia": ""} + +PA_DATPR = {"sia": ""} + +PA_DATREF = {"sia": ""} + +PA_DES1 = {"sinan": ""} + +PA_DES2 = {"sinan": ""} + +PA_DES3 = {"sinan": ""} + +PA_DIF_VAL = {"sia": ""} + +PA_DOCORIG = {"sia": ""} + +PA_ENCERR = {"sia": ""} + +PA_EQUIPE = {"sia": ""} + +PA_ETNIA = {"sia": ""} + +PA_FLER = {"sia": ""} + +PA_FLIDADE = {"sia": ""} + +PA_FLQT = {"sia": ""} + +PA_FNTORC = {"sia": ""} + +PA_FXETAR = {"sia": ""} + +PA_GESTAO = {"sia": ""} + +PA_IDADE = {"sia": ""} + +PA_INCOUT = {"sia": ""} + +PA_INCURG = {"sia": ""} + +PA_INDICA = {"sia": ""} + +PA_INE = {"sia": ""} + +PA_MNDIF = {"sia": ""} + +PA_MN_IND = {"sia": ""} + +PA_MORFOL = {"sia": ""} + +PA_MOTSAI = {"sia": ""} + +PA_MUNAT = {"sia": ""} + +PA_MUNPCN = {"sia": ""} + +PA_MVM = {"sia": ""} + +PA_NAT_JUR = {"sia": ""} + +PA_NH = {"sia": ""} + +PA_NIVCPL = {"sia": ""} + +PA_NUMAPA = {"sia": ""} + +PA_OBITO = {"sia": ""} + +PA_PERMAN = {"sia": ""} + +PA_PROC_ID = {"sia": ""} + +PA_QTDAPR = {"sia": ""} + +PA_QTDPRO = {"sia": ""} + +PA_RACACOR = {"sia": ""} + +PA_RCB = {"sia": ""} + +PA_RCBDF = {"sia": ""} + +PA_REGCT = {"sia": ""} + +PA_SEXO = {"sia": ""} + +PA_SRV = {"sia": ""} + +PA_SRV_C = {"sia": ""} + +PA_SUBFIN = {"sia": ""} + +PA_TIPATE = {"sia": ""} + +PA_TIPPRE = {"sia": ""} + +PA_TIPPRO = {"sia": ""} + +PA_TPFIN = {"sia": ""} + +PA_TPUPS = {"sia": ""} + +PA_TP_EQP = {"sia": ""} + +PA_TRANSF = {"sia": ""} + +PA_UFDIF = {"sia": ""} + +PA_UFMUN = {"sia": ""} + +PA_VALAPR = {"sia": ""} + +PA_VALPRO = {"sia": ""} + +PA_VL_CF = {"sia": ""} + +PA_VL_CL = {"sia": ""} + +PA_VL_INC = {"sia": ""} + +PCRUZ = {"sinan": ""} + +PELE_INTEG = {"sinan": ""} + +PELE_NAO_I = {"sinan": ""} + +PEN_ANAL = {"sinan": ""} + +PEN_ORAL = {"sinan": ""} + +PEN_VAGINA = {"sinan": ""} + +PERCUTANEA = {"sinan": ""} + +PERFURA = {"sinan": ""} + +PERICARDI = {"sinan": ""} + +PERIODO = {"sinan": ""} + +PERMANEN = {"sia": ""} + +PES = {"sinan": ""} + +PESCOU_N = {"sinan": ""} + +PESO = { + "sim": "", + "sinan": "", + "sinasc": "", +} + +PESONASC = {"sim": ""} + +PETEQUIAS = {"sinan": ""} + +PETEQUIA_N = {"sinan": ""} + +PF_PJ = {"cnes": ""} + +PIRAZINAMI = {"sinan": ""} + +PLANJ_RD = {"cnes": ""} + +PLAQ_MENOR = {"sinan": ""} + +PLASMATICO = {"sinan": ""} + +PLEURAL = {"sinan": ""} + +PMALARIA = {"sinan": ""} + +PMM = {"sinan": ""} + +POEIRAS = {"sinan": ""} + +POE_ABRASI = {"sinan": ""} + +POE_MISTA = {"sinan": ""} + +POE_ORGANI = {"sinan": ""} + +POLIADENO = {"sinan": ""} + +POP = {"pni": ""} + +POPALFAB = {"ibge": ""} + +POPDEPEND = {"ibge": ""} + +POPGERAL = {"cnes": ""} + +POPNALFAB = {"ibge": ""} + +POPTOT = {"ibge": ""} + +POPULACAO = {"ibge": ""} + +POP_IMIG = {"sinan": ""} + +POP_LIBER = {"sinan": ""} + +POP_RUA = {"sinan": ""} + +POP_SAUDE = {"sinan": ""} + +PORTARIA = {"cnes": ""} + +POS_EXPOS = {"sinan": ""} + +PREFIXODN = {"sinasc": ""} + +PREMIOS = {"sinan": ""} + +PRESENCA = {"sinan": ""} + +PRE_ANTRET = {"sinan": ""} + +PRE_DT_RET = {"sinan": ""} + +PRE_EXPOS = {"sinan": ""} + +PRE_MUNIPA = {"sinan": ""} + +PRE_MUNIRE = {"sinan": ""} + +PRE_NATAL = {"sinasc": ""} + +PRE_PRENAT = {"sinan": ""} + +PRE_UFREL = {"sinan": ""} + +PRIMAQ = {"sinan": ""} + +PROC_ABORT = {"sinan": ""} + +PROC_CONTR = {"sinan": ""} + +PROC_DST = {"sinan": ""} + +PROC_HEPB = {"sinan": ""} + +PROC_HIV = {"sinan": ""} + +PROC_ID = {"sia": ""} + +PROC_REA = { + "ciha": "", + "sih": "", +} + +PROC_SANG = {"sinan": ""} + +PROC_SEMEN = {"sinan": ""} + +PROC_SOLIC = {"sih": ""} + +PROC_VAGIN = {"sinan": ""} + +PROFNSUS = {"cnes": ""} + +PROFUNDO = {"sinan": ""} + +PROF_SUS = {"cnes": ""} + +PRONASCI = {"cnes": ""} + +PROSTACAO = {"sinan": ""} + +PROVA_BIOL = {"sinan": ""} + +PSICO_FARM = {"sinan": ""} + +PTRANSFU = {"sinan": ""} + +PULSO = {"sinan": ""} + +PURPURA = {"sinan": ""} + +PUSUARIO = {"sinan": ""} + +P_ATIVO_1 = {"sinan": ""} + +P_ATIVO_2 = {"sinan": ""} + +P_ATIVO_3 = {"sinan": ""} + +QTDATE = {"sia": ""} + +QTDFILMORT = { + "sim": "", + "sinasc": "", +} + +QTDFILVIVO = { + "sim": "", + "sinasc": "", +} + +QTDGESTANT = {"sinasc": ""} + +QTDPARTCES = {"sinasc": ""} + +QTDPARTNOR = {"sinasc": ""} + +QTDPCN = {"sia": ""} + +QTINST01 = {"cnes": ""} + +QTINST02 = {"cnes": ""} + +QTINST03 = {"cnes": ""} + +QTINST04 = {"cnes": ""} + +QTINST05 = {"cnes": ""} + +QTINST06 = {"cnes": ""} + +QTINST07 = {"cnes": ""} + +QTINST08 = {"cnes": ""} + +QTINST09 = {"cnes": ""} + +QTINST10 = {"cnes": ""} + +QTINST11 = {"cnes": ""} + +QTINST12 = {"cnes": ""} + +QTINST13 = {"cnes": ""} + +QTINST14 = {"cnes": ""} + +QTINST15 = {"cnes": ""} + +QTINST16 = {"cnes": ""} + +QTINST17 = {"cnes": ""} + +QTINST18 = {"cnes": ""} + +QTINST19 = {"cnes": ""} + +QTINST20 = {"cnes": ""} + +QTINST21 = {"cnes": ""} + +QTINST22 = {"cnes": ""} + +QTINST23 = {"cnes": ""} + +QTINST24 = {"cnes": ""} + +QTINST25 = {"cnes": ""} + +QTINST26 = {"cnes": ""} + +QTINST27 = {"cnes": ""} + +QTINST28 = {"cnes": ""} + +QTINST29 = {"cnes": ""} + +QTINST30 = {"cnes": ""} + +QTINST31 = {"cnes": ""} + +QTINST32 = {"cnes": ""} + +QTINST33 = {"cnes": ""} + +QTINST34 = {"cnes": ""} + +QTINST35 = {"cnes": ""} + +QTINST36 = {"cnes": ""} + +QTINST37 = {"cnes": ""} + +QTLEIT05 = {"cnes": ""} + +QTLEIT06 = {"cnes": ""} + +QTLEIT07 = {"cnes": ""} + +QTLEIT08 = {"cnes": ""} + +QTLEIT09 = {"cnes": ""} + +QTLEIT19 = {"cnes": ""} + +QTLEIT20 = {"cnes": ""} + +QTLEIT21 = {"cnes": ""} + +QTLEIT22 = {"cnes": ""} + +QTLEIT23 = {"cnes": ""} + +QTLEIT32 = {"cnes": ""} + +QTLEIT34 = {"cnes": ""} + +QTLEIT38 = {"cnes": ""} + +QTLEIT39 = {"cnes": ""} + +QTLEIT40 = {"cnes": ""} + +QTLEITP1 = {"cnes": ""} + +QTLEITP2 = {"cnes": ""} + +QTLEITP3 = {"cnes": ""} + +QT_AGIPL = {"cnes": ""} + +QT_AGLTN = {"cnes": ""} + +QT_APRES = {"sia": ""} + +QT_APROV = {"sia": ""} + +QT_CADRE = {"cnes": ""} + +QT_CAPFL = {"cnes": ""} + +QT_CENRE = {"cnes": ""} + +QT_CONRA = {"cnes": ""} + +QT_CONTR = {"cnes": ""} + +QT_DIARIAS = {"sih": ""} + +QT_DOSE = {"pni": ""} + +QT_EXIST = {"cnes": ""} + +QT_EXTPL = {"cnes": ""} + +QT_FRE18 = {"cnes": ""} + +QT_FRE30 = {"cnes": ""} + +QT_IRRHE = {"cnes": ""} + +QT_MAQAF = {"cnes": ""} + +QT_NSUS = {"cnes": ""} + +QT_PROC = {"ciha": ""} + +QT_REFAS = {"cnes": ""} + +QT_REFRE = {"cnes": ""} + +QT_REFSA = {"cnes": ""} + +QT_SELAD = {"cnes": ""} + +QT_SUS = {"cnes": ""} + +QT_TOTAL_C = {"sinan": ""} + +QT_USO = {"cnes": ""} + +QUANTID = {"sinan": ""} + +QUANTOS = {"sinan": ""} + +QUAN_COMUN = {"sinan": ""} + +QUAN_POSIT = {"sinan": ""} + +QUILOMBO = {"cnes": ""} + +QUIMRADI = {"cnes": ""} + +QUININO = {"sinan": ""} + +QUININOI = {"sinan": ""} + +QUINOLONA = {"sinan": ""} + +RACACOR = { + "sia": "", + "sim": "", + "sinasc": "", +} + +RACACORMAE = {"sinasc": ""} + +RACACORN = {"sinasc": ""} + +RACACOR_RN = {"sinasc": ""} + +RACA_COR = {"sih": ""} + +RACA_MAE = {"sinan": ""} + +RACCOR = {"sinasc": ""} + +RAIOX = {"sinan": ""} + +RAIOX_TORA = {"sinan": ""} + +RAI_RESULT = {"sinan": ""} + +RAZAO = {"sih": ""} + +REACAO_SOR = {"sinan": ""} + +REACAO_VAC = {"sinan": ""} + +RECEMNASC = {"sinan": ""} + +RECEM_NASC = {"sinan": ""} + +RECUSA_QUI = {"sinan": ""} + +REDE_EDUCA = {"sinan": ""} + +REDE_SAU = {"sinan": ""} + +REFR_AQD_N = {"sinan": ""} + +REFR_AQE_N = {"sinan": ""} + +REFR_BID_N = {"sinan": ""} + +REFR_BIE_N = {"sinan": ""} + +REFR_PAD_N = {"sinan": ""} + +REFR_PAE_N = {"sinan": ""} + +REFR_TRD_N = {"sinan": ""} + +REFR_TRE_N = {"sinan": ""} + +REGCT = {"sih": ""} + +REGIME = {"sinan": ""} + +REGISTRO = { + "cnes": "", + "sim": "", +} + +REGSAUDE = {"cnes": ""} + +REL_CAT = {"sinan": ""} + +REL_CONHEC = {"sinan": ""} + +REL_CONJ = {"sinan": ""} + +REL_CUIDA = {"sinan": ""} + +REL_DESCO = {"sinan": ""} + +REL_ESPEC = {"sinan": ""} + +REL_EXCON = {"sinan": ""} + +REL_EXNAM = {"sinan": ""} + +REL_FILHO = {"sinan": ""} + +REL_INST = {"sinan": ""} + +REL_IRMAO = {"sinan": ""} + +REL_MAD = {"sinan": ""} + +REL_MAE = {"sinan": ""} + +REL_NAMO = {"sinan": ""} + +REL_OUTROS = {"sinan": ""} + +REL_PAD = {"sinan": ""} + +REL_PAI = {"sinan": ""} + +REL_PATRAO = {"sinan": ""} + +REL_POL = {"sinan": ""} + +REL_PROPRI = {"sinan": ""} + +REL_SEXUAL = {"sinan": ""} + +REL_TRAB = {"sinan": ""} + +REMESSA = {"sih": ""} + +RENAL = {"sinan": ""} + +REPETITIVO = {"sinan": ""} + +RESALIM1 = {"sinan": ""} + +RESALIMOUT = {"sinan": ""} + +RESPIRATO = {"sinan": ""} + +RESULT = {"sinan": ""} + +RESUL_HIS = {"sinan": ""} + +RESUL_NS1 = {"sinan": ""} + +RESUL_OUT = {"sinan": ""} + +RESUL_PCR = {"sinan": ""} + +RESUL_PCR_ = {"sinan": ""} + +RESUL_PRNT = {"sinan": ""} + +RESUL_SORO = {"sinan": ""} + +RESUL_VIRA = {"sinan": ""} + +RESUL_VI_N = {"sinan": ""} + +RES_BIOL = {"cnes": ""} + +RES_CHIKS1 = {"sinan": ""} + +RES_CHIKS2 = {"sinan": ""} + +RES_COMU = {"cnes": ""} + +RES_HBSAG = {"sinan": ""} + +RES_HIST = {"sinan": ""} + +RES_IMUNO = {"sinan": ""} + +RES_ISOL = {"sinan": ""} + +RES_PCR = {"sinan": ""} + +RES_QUIM = {"cnes": ""} + +RES_RADI = {"cnes": ""} + +RETAR_PM = {"sinan": ""} + +RETENCAO = {"cnes": ""} + +RETINOPA = {"sinan": ""} + +RE_ANTIHBC = {"sinan": ""} + +RE_ANTIHCV = {"sinan": ""} + +RIFAMPICIN = {"sinan": ""} + +ROEDOR_N = {"sinan": ""} + +ROTA_R = {"sinan": ""} + +RUBRICA = {"sih": ""} + +RUIDO_OUT = {"sinan": ""} + +RUI_OUTDES = {"sinan": ""} + +S1_IGG = {"sinan": ""} + +S1_IGM = {"sinan": ""} + +S1_TIT1 = {"sinan": ""} + +S2_IGG = {"sinan": ""} + +S2_IGM = {"sinan": ""} + +S2_TIT1 = {"sinan": ""} + +S3_IGG = {"sinan": ""} + +S3_IGM = {"sinan": ""} + +SALA_MOL = {"cnes": ""} + +SANG = {"sinan": ""} + +SANGRAM = {"sinan": ""} + +SANGUE = {"sinan": ""} + +SEMAGESTAC = { + "sim": "", + "sinasc": "", +} + +SEMANGEST = {"sim": ""} + +SEMIPLEN = {"sih": ""} + +SEM_ACID = {"sinan": ""} + +SEM_DIAG = {"sinan": ""} + +SEM_NOT = {"sinan": ""} + +SEM_PRI = {"sinan": ""} + +SEM_QUIMIO = {"sinan": ""} + +SENSIBILI = {"sinan": ""} + +SEQUENCIA = {"sih": ""} + +SEQ_AIH5 = {"sih": ""} + +SERAP01P = {"cnes": ""} + +SERAP01T = {"cnes": ""} + +SERAP02P = {"cnes": ""} + +SERAP02T = {"cnes": ""} + +SERAP03P = {"cnes": ""} + +SERAP03T = {"cnes": ""} + +SERAP04P = {"cnes": ""} + +SERAP04T = {"cnes": ""} + +SERAP05P = {"cnes": ""} + +SERAP05T = {"cnes": ""} + +SERAP06P = {"cnes": ""} + +SERAP06T = {"cnes": ""} + +SERAP07P = {"cnes": ""} + +SERAP07T = {"cnes": ""} + +SERAP08P = {"cnes": ""} + +SERAP08T = {"cnes": ""} + +SERAP09P = {"cnes": ""} + +SERAP09T = {"cnes": ""} + +SERAP10P = {"cnes": ""} + +SERAP10T = {"cnes": ""} + +SERAP11P = {"cnes": ""} + +SERAP11T = {"cnes": ""} + +SERAPOIO = {"cnes": ""} + +SERIESCFAL = {"sim": ""} + +SERIESCMAE = { + "sim": "", + "sinasc": "", +} + +SERV_CLA = {"sih": ""} + +SERV_ESP = {"cnes": ""} + +SEXO = { + "ciha": "", + "ibge": "", + "sih": "", + "sim": "", + "sinasc": "", +} + +SEXOPAC = {"sia": ""} + +SEXUAL = {"sinan": ""} + +SEX_ASSEDI = {"sinan": ""} + +SEX_ESPEC = {"sinan": ""} + +SEX_ESTUPR = {"sinan": ""} + +SEX_EXPLO = {"sinan": ""} + +SEX_OUTRO = {"sinan": ""} + +SEX_PORNO = {"sinan": ""} + +SEX_PUDOR = {"sinan": ""} + +SGRUPHAB = {"cnes": ""} + +SG_UF = {"sinan": ""} + +SG_UF_2 = {"sinan": ""} + +SG_UF_AT = {"sinan": ""} + +SG_UF_INTE = {"sinan": ""} + +SG_UF_NOT = {"sinan": ""} + +SG_UF_OCOR = {"sinan": ""} + +SILICA = {"sinan": ""} + +SIMUL_RD = {"cnes": ""} + +SINAIS = {"sinan": ""} + +SINAIS_ICC = {"sinan": ""} + +SINTOMATIC = {"sinan": ""} + +SINTO_DES = {"sinan": ""} + +SIN_GANG = {"sinan": ""} + +SIN_OUT = {"sinan": ""} + +SIN_OUTR_E = {"sinan": ""} + +SIN_PULM = {"sinan": ""} + +SIS_JUST = {"sih": ""} + +SITUACAO = {"ibge": ""} + +SITUA_12_M = {"sinan": ""} + +SITUA_9_M = {"sinan": ""} + +SITUA_ENCE = {"sinan": ""} + +SIT_CONJUG = {"sinan": ""} + +SIT_RUA = {"sia": ""} + +SIT_TRAB = {"sinan": ""} + +SOLVENTE = {"sinan": ""} + +SORO1 = {"sinan": ""} + +SORO2 = {"sinan": ""} + +SOROTIPO = {"sinan": ""} + +SOUTROS = {"sinan": ""} + +SP_AA = {"sih": ""} + +SP_ATOPROF = {"sih": ""} + +SP_CGCHOSP = {"sih": ""} + +SP_CIDPRI = {"sih": ""} + +SP_CIDSEC = {"sih": ""} + +SP_CNES = {"sih": ""} + +SP_COMPLEX = {"sih": ""} + +SP_CO_FAEC = {"sih": ""} + +SP_CPFCGC = {"sih": ""} + +SP_DES_HOS = {"sih": ""} + +SP_DES_PAC = {"sih": ""} + +SP_DTINTER = {"sih": ""} + +SP_DTSAIDA = {"sih": ""} + +SP_FINANC = {"sih": ""} + +SP_GESTOR = {"sih": ""} + +SP_MM = {"sih": ""} + +SP_M_HOSP = {"sih": ""} + +SP_M_PAC = {"sih": ""} + +SP_NAIH = {"sih": ""} + +SP_NF = {"sih": ""} + +SP_NUM_PR = {"sih": ""} + +SP_PF_CBO = {"sih": ""} + +SP_PF_DOC = {"sih": ""} + +SP_PJ_DOC = {"sih": ""} + +SP_PROCREA = {"sih": ""} + +SP_PTSP = {"sih": ""} + +SP_PTSP_NF = {"sih": ""} + +SP_QTD_ATO = {"sih": ""} + +SP_QT_PROC = {"sih": ""} + +SP_TIPO = {"sih": ""} + +SP_TP_ATO = {"sih": ""} + +SP_UF = {"sih": ""} + +SP_U_AIH = {"sih": ""} + +SP_VALATO = {"sih": ""} + +SRVUNICO = {"cnes": ""} + +STALIMENTO = {"sinan": ""} + +STANTIBIO = {"sinan": ""} + +STANTIBOTU = {"sinan": ""} + +STAVALIA = {"sinan": ""} + +STBOCA = {"sinan": ""} + +STBROMATO = {"sinan": ""} + +STBULBAR = {"sinan": ""} + +STCARDIACA = {"sinan": ""} + +STCASEIRA = {"sinan": ""} + +STCEFALEIA = {"sinan": ""} + +STCESPARTO = {"sinasc": ""} + +STCLINICA = {"sinan": ""} + +STCODIFICA = {"sim": ""} + +STCOMA = {"sinan": ""} + +STCOMERCIO = {"sinan": ""} + +STCONSTIPA = {"sinan": ""} + +STCURA1 = {"sinan": ""} + +STCURA2 = {"sinan": ""} + +STCURA3 = {"sinan": ""} + +STDESCENDE = {"sinan": ""} + +STDIARREIA = {"sinan": ""} + +STDIPLOPIA = {"sinan": ""} + +STDISARTRI = {"sinan": ""} + +STDISFAGIA = {"sinan": ""} + +STDISFONIA = {"sinan": ""} + +STDISPNEIA = {"sinan": ""} + +STDNEPIDEM = {"sinasc": ""} + +STDNNOVA = {"sinasc": ""} + +STDOEPIDEM = {"sim": ""} + +STDOMICILI = {"sinan": ""} + +STDONOVA = {"sim": ""} + +STELETRO = {"sinan": ""} + +STESCOLA = {"sinan": ""} + +STEXPALIM = {"sinan": ""} + +STFACIAL = {"sinan": ""} + +STFEBRE = {"sinan": ""} + +STFERIMENT = {"sinan": ""} + +STFESTA = {"sinan": ""} + +STFEZESMAT = {"sinan": ""} + +STFEZESRES = {"sinan": ""} + +STFLACIDEZ = {"sinan": ""} + +STHOSPITAL = {"sinan": ""} + +STMEMINF = {"sinan": ""} + +STMEMSUP = {"sinan": ""} + +STMIDRIASE = {"sinan": ""} + +STNAUSEA = {"sinan": ""} + +STOFTALMO = {"sinan": ""} + +STOUTROLOC = {"sinan": ""} + +STOUTROSIN = {"sinan": ""} + +STOUTROTRA = {"sinan": ""} + +STPARESTES = {"sinan": ""} + +STPTOSE = {"sinan": ""} + +STRESPIRA = {"sinan": ""} + +STRESS = {"sinan": ""} + +STRESTAURA = {"sinan": ""} + +STRESULTA = {"sinan": ""} + +STSENSIVEL = {"sinan": ""} + +STSIMETRIC = {"sinan": ""} + +STSORO = {"sinan": ""} + +STSOROMAT = {"sinan": ""} + +STSORORES = {"sinan": ""} + +STTONTURA = {"sinan": ""} + +STTRABALHO = {"sinan": ""} + +STTRABPART = {"sinasc": ""} + +STVENTILA = {"sinan": ""} + +STVISAO = {"sinan": ""} + +STVOMITO = {"sinan": ""} + +ST_ALI1COL = {"sinan": ""} + +ST_ALI2COL = {"sinan": ""} + +ST_ALI2RES = {"sinan": ""} + +ST_ALIMEN = {"sinan": ""} + +ST_A_CLINI = {"sinan": ""} + +ST_BLOQ = {"sih": ""} + +ST_F_OUTRO = {"sinan": ""} + +ST_IMPRO = {"sinan": ""} + +ST_IMPRO_ = {"sinan": ""} + +ST_INAD = {"sinan": ""} + +ST_INCUB_M = {"sinan": ""} + +ST_INC_ME = {"sinan": ""} + +ST_MANIP = {"sinan": ""} + +ST_MOT_BLO = {"sih": ""} + +ST_SITUAC = {"sih": ""} + +SUBFIN = {"sia": ""} + +SUDORESE = {"sinan": ""} + +SUGE_VINCU = {"sinan": ""} + +SULFA = {"sinan": ""} + +SUPERFICIA = {"sinan": ""} + +SUPERIORES = {"sinan": ""} + +SURTO = {"sinan": ""} + +SUSPEITOS = {"sinan": ""} + +S_ACELL6 = {"cnes": ""} + +S_AFERES = {"cnes": ""} + +S_ALCOME = {"cnes": ""} + +S_ALSEME = {"cnes": ""} + +S_ARMAZE = {"cnes": ""} + +S_BIOMOL = {"cnes": ""} + +S_COLETA = {"cnes": ""} + +S_CONTRQ = {"cnes": ""} + +S_CPFLUX = {"cnes": ""} + +S_DISTRI = {"cnes": ""} + +S_DPAC = {"cnes": ""} + +S_DPI = {"cnes": ""} + +S_ESTOQU = {"cnes": ""} + +S_HBSAGN = {"cnes": ""} + +S_HBSAGP = {"cnes": ""} + +S_HEMOST = {"cnes": ""} + +S_IMUNFE = {"cnes": ""} + +S_IMUNOH = {"cnes": ""} + +S_PREEST = {"cnes": ""} + +S_PREPAR = {"cnes": ""} + +S_PRETRA = {"cnes": ""} + +S_PROCES = {"cnes": ""} + +S_QCDURA = {"cnes": ""} + +S_QLDURA = {"cnes": ""} + +S_REAGN = {"cnes": ""} + +S_REAGP = {"cnes": ""} + +S_RECEPC = {"cnes": ""} + +S_REHCV = {"cnes": ""} + +S_SGDOAD = {"cnes": ""} + +S_SIMULA = {"cnes": ""} + +S_SOROLO = {"cnes": ""} + +S_TRANSF = {"cnes": ""} + +S_TRICLI = {"cnes": ""} + +S_TRIHMT = {"cnes": ""} + +TAREFAS = {"sinan": ""} + +TATU_PIER = {"sinan": ""} + +TECIDOS = {"sinan": ""} + +TECNICA = {"sinan": ""} + +TEMPO = {"sinan": ""} + +TEMPO_FUMA = {"sinan": ""} + +TERCEIRIZA = {"sinan": ""} + +TERCEIRO = {"cnes": ""} + +TESTE_TUBE = {"sinan": ""} + +TEST_MOLEC = {"sinan": ""} + +TEST_SENSI = {"sinan": ""} + +TETRAC = {"sinan": ""} + +TIFICA = {"sinan": ""} + +TIPEQUIP = {"cnes": ""} + +TIPOACID = {"sim": ""} + +TIPOBITO = {"sim": ""} + +TIPOGRAV = {"sim": ""} + +TIPOPARTO = {"sim": ""} + +TIPOSEGM = {"cnes": ""} + +TIPOVIOL = {"sim": ""} + +TIPO_ACID = {"sinan": ""} + +TIPO_EQP = {"cnes": ""} + +TIPO_GRAV = {"sinasc": ""} + +TIPO_INVES = {"sinan": ""} + +TIPO_LEITE = {"sinan": ""} + +TIPO_PARTO = {"sinasc": ""} + +TIPPRE = {"sia": ""} + +TIPPRE = {"sia": ""} + +TIP_DIARRE = {"sinan": ""} + +TIP_SORO = {"sinan": ""} + +TIREOIDITE = {"sinan": ""} + +TIT_IGG_S1 = {"sinan": ""} + +TIT_IGG_S2 = {"sinan": ""} + +TIT_IGM_S1 = {"sinan": ""} + +TIT_IGM_S2 = {"sinan": ""} + +TOMOGRAFIA = {"sinan": ""} + +TONR_CER_N = {"sinan": ""} + +TONR_FAC_N = {"sinan": ""} + +TONR_MID_N = {"sinan": ""} + +TONR_MIE_N = {"sinan": ""} + +TONR_MSD_N = {"sinan": ""} + +TONR_MSE_N = {"sinan": ""} + +TONTURA = {"sinan": ""} + +TOSSE = {"sinan": ""} + +TOT_PT_SP = {"sih": ""} + +TPALTA_N = {"sinan": ""} + +TPAPRESENT = {"sinasc": ""} + +TPASSINA = {"sim": ""} + +TPATENDE = {"sinan": ""} + +TPAUTOCTO = {"sinan": ""} + +TPBOTULISM = {"sinan": ""} + +TPBROMATO = {"sinan": ""} + +TPCLINICA = {"sinan": ""} + +TPCONFIRMA = {"sinan": ""} + +TPDISEC1 = {"sih": ""} + +TPDISEC2 = {"sih": ""} + +TPDISEC3 = {"sih": ""} + +TPDISEC4 = {"sih": ""} + +TPDISEC5 = {"sih": ""} + +TPDISEC6 = {"sih": ""} + +TPDISEC7 = {"sih": ""} + +TPDISEC8 = {"sih": ""} + +TPDISEC9 = {"sih": ""} + +TPDOCRESP = {"sinasc": ""} + +TPESQPAR = {"sinan": ""} + +TPESQUEMA = {"sinan": ""} + +TPEVIDENCI = {"sinan": ""} + +TPEXANTE = {"sinan": ""} + +TPEXP = {"sinan": ""} + +TPFEZESTOX = {"sinan": ""} + +TPFIN = {"sia": ""} + +TPFUNCRESP = {"sinasc": ""} + +TPGESTAO = {"cnes": ""} + +TPIDADEPAC = {"sia": ""} + +TPMETESTIM = {"sinasc": ""} + +TPMORTEOCO = {"sim": ""} + +TPMOTPARC = {"sinan": ""} + +TPNASCASSI = {"sinasc": ""} + +TPNEURO = {"sinan": ""} + +TPNIVELINV = {"sim": ""} + +TPOBITOCOR = {"sim": ""} + +TPPOS = {"sim": ""} + +TPRAPIDO1 = {"sinan": ""} + +TPRAPIDO2 = {"sinan": ""} + +TPRAPIDO3 = {"sinan": ""} + +TPRESGINFO = {"sim": ""} + +TPROBSON = {"sinasc": ""} + +TPRUIDO = {"sinan": ""} + +TPSOROTOX = {"sinan": ""} + +TPTEMPO = {"sinan": ""} + +TPTEMPORIS = {"sinan": ""} + +TPTESTE1 = {"sinan": ""} + +TPUNINOT = {"sinan": ""} + +TPUPS = {"sia": ""} + +TP_ACIDENT = {"sinan": ""} + +TP_AFAST = {"sinan": ""} + +TP_ALI1TOX = {"sinan": ""} + +TP_ALI2TO = {"sinan": ""} + +TP_AMB_OCO = {"sinan": ""} + +TP_ANALISE = {"sinan": ""} + +TP_CAUSA = {"sinan": ""} + +TP_CAUSOUT = {"sinan": ""} + +TP_COLOUT = {"sinan": ""} + +TP_DESAT = {"cnes": ""} + +TP_DROGA = {"sia": ""} + +TP_IDENTFI = {"sinan": ""} + +TP_INDIRET = {"sinan": ""} + +TP_LEITO = {"cnes": ""} + +TP_LIQUOR = {"sinan": ""} + +TP_LOCAL = {"sinan": ""} + +TP_LOCALLE = {"sinan": ""} + +TP_MOTORA = {"sinan": ""} + +TP_NOT = {"sinan": ""} + +TP_ORIGEM = {"sinan": ""} + +TP_PREST = {"cnes": ""} + +TP_PROFILA = {"sinan": ""} + +TP_PRO_PRE = {"sinan": ""} + +TP_REPETE = {"sinan": ""} + +TP_SENSITI = {"sinan": ""} + +TP_SISTEMA = {"sinan": ""} + +TP_SOROHCV = {"sinan": ""} + +TP_TEMP_FU = {"sinan": ""} + +TP_TOXOUTR = {"sinan": ""} + +TP_UNID = {"cnes": ""} + +TP_VACINA = {"sinan": ""} + +TP_ZN_OCO = {"sinan": ""} + +TRAB_DESC = {"sinan": ""} + +TRAB_DOE = {"sinan": ""} + +TRANSF = {"sinan": ""} + +TRANSFU = {"sinan": ""} + +TRANSFUSAO = {"sinan": ""} + +TRANSPLA = {"sinan": ""} + +TRANSPO_N = {"sinan": ""} + +TRAN_COMP = {"sinan": ""} + +TRAN_MENT = {"sinan": ""} + +TRATADO = {"sinan": ""} + +TRATAM = {"sinan": ""} + +TRATAMENTO = {"sinan": ""} + +TRATANAO = {"sinan": ""} + +TRATPARC = {"sinan": ""} + +TRATSUP_AT = {"sinan": ""} + +TRAT_ATUAL = {"sinan": ""} + +TRAT_SUPER = {"sinan": ""} + +TRA_AMPOLA = {"sinan": ""} + +TRA_ANTIBI = {"sinan": ""} + +TRA_ANTIGO = {"sinan": ""} + +TRA_ANTIVI = {"sinan": ""} + +TRA_CLASSI = {"sinan": ""} + +TRA_CORTIC = {"sinan": ""} + +TRA_CPAP = {"sinan": ""} + +TRA_DATA_A = {"sinan": ""} + +TRA_DATA_S = {"sinan": ""} + +TRA_DIAG_C = {"sinan": ""} + +TRA_DIAG_T = {"sinan": ""} + +TRA_DOSE = {"sinan": ""} + +TRA_DROGA_ = {"sinan": ""} + +TRA_DT = {"sinan": ""} + +TRA_DT_ALT = {"sinan": ""} + +TRA_DT_INT = {"sinan": ""} + +TRA_ESPECI = {"sinan": ""} + +TRA_ESQUEM = {"sinan": ""} + +TRA_ESQU_1 = {"sinan": ""} + +TRA_HOSP = {"sinan": ""} + +TRA_INDI_N = {"sinan": ""} + +TRA_INFILT = {"sinan": ""} + +TRA_INFI_1 = {"sinan": ""} + +TRA_INTERR = {"sinan": ""} + +TRA_MECANI = {"sinan": ""} + +TRA_MOTIVO = {"sinan": ""} + +TRA_MUNICI = {"sinan": ""} + +TRA_NUM_PA = {"sinan": ""} + +TRA_OUTRA_ = {"sinan": ""} + +TRA_OUTR_N = {"sinan": ""} + +TRA_PESO = {"sinan": ""} + +TRA_QTD_SO = {"sinan": ""} + +TRA_SORO = {"sinan": ""} + +TRA_TRATAM = {"sinan": ""} + +TRA_UF = {"sinan": ""} + +TRA_VASOAT = {"sinan": ""} + +TREINA_MIL = {"sinan": ""} + +TRESMAIS = {"sinan": ""} + +TRONCO = {"sinan": ""} + +TUBE = {"sinan": ""} + +TURNO_AT = {"cnes": ""} + +T_FEBRE = {"sinan": ""} + +UF = { + "pni": "", + "sinan": "", +} + +UFATUAL = {"sinan": ""} + +UFCOD = {"ibge": ""} + +UFDIF = {"sia": ""} + +UFINFORM = { + "sim": "", + "sinasc": "", +} + +UFINTERNA = {"sinan": ""} + +UFMUN = {"sia": ""} + +UFMUNRES = {"cnes": ""} + +UFRESAT = {"sinan": ""} + +UFTRANSFU = {"sinan": ""} + +UF_ACID = {"sinan": ""} + +UF_ATENDE = {"sinan": ""} + +UF_EMP = {"sinan": ""} + +UF_H = {"sinan": ""} + +UF_HOSP = {"sinan": ""} + +UF_HOSPITA = {"sinan": ""} + +UF_ING = {"sinan": ""} + +UF_PRE_NAT = {"sinan": ""} + +UF_RES = {"sih": ""} + +UF_TRANSF = {"sinan": ""} + +UF_ZI = {"sih": ""} + +UNI_ATENDE = {"sinan": ""} + +UN_COBAL = {"cnes": ""} + +URGEMERG = {"cnes": ""} + +URINA = {"sinan": ""} + +URO_D = {"sinan": ""} + +URO_D_2 = {"sinan": ""} + +URO_D_3 = {"sinan": ""} + +URO_R1 = {"sinan": ""} + +URO_R2 = {"sinan": ""} + +URO_R3 = {"sinan": ""} + +US_ORTP = {"sih": ""} + +US_RN = {"sih": ""} + +US_SADT = {"sih": ""} + +US_SANGUE = {"sih": ""} + +US_SH = {"sih": ""} + +US_SP = {"sih": ""} + +US_TOT = {"sih": ""} + +UTILIZACAO = {"sinan": ""} + +UTIL_DESC = {"sinan": ""} + +UTI_INT_AL = {"sih": ""} + +UTI_INT_AN = {"sih": ""} + +UTI_INT_IN = {"sih": ""} + +UTI_INT_TO = { + "ciha": "", + "sih": "", +} + +UTI_MES_AL = {"sih": ""} + +UTI_MES_AN = {"sih": ""} + +UTI_MES_IN = {"sih": ""} + +UTI_MES_TO = { + "ciha": "", + "sih": "", +} + +UTI_TOTAL = {"sih": ""} + +UTRANSFU = {"sinan": ""} + +VACINA = {"sinan": ""} + +VACINACAO = {"sinan": ""} + +VACINAD = {"sinan": ""} + +VACINADO = {"sinan": ""} + +VACINADUPL = {"sinan": ""} + +VACINARUBE = {"sinan": ""} + +VAC_HEP_B = {"sinan": ""} + +VAL_ACOMP = {"sih": ""} + +VAL_OBSANG = {"sih": ""} + +VAL_ORTP = {"sih": ""} + +VAL_PED1AC = {"sih": ""} + +VAL_RN = {"sih": ""} + +VAL_SADT = {"sih": ""} + +VAL_SADTSR = {"sih": ""} + +VAL_SANG = {"sih": ""} + +VAL_SANGUE = {"sih": ""} + +VAL_SH = {"sih": ""} + +VAL_SH_FED = {"sih": ""} + +VAL_SH_GES = {"sih": ""} + +VAL_SP = {"sih": ""} + +VAL_SP_FED = {"sih": ""} + +VAL_SP_GES = {"sih": ""} + +VAL_TOT = {"sih": ""} + +VAL_TRANSP = {"sih": ""} + +VAL_UCI = {"sih": ""} + +VAL_UTI = {"sih": ""} + +VARIA_VIR = {"sinan": ""} + +VERSAOSCB = {"sim": ""} + +VERSAOSIST = { + "sim": "", + "sinasc": "", +} + +VIA_1 = {"sinan": ""} + +VIA_2 = {"sinan": ""} + +VIA_3 = {"sinan": ""} + +VINCPREV = {"sih": ""} + +VINCULAC = {"cnes": ""} + +VINCULO = {"sinan": ""} + +VINCUL_A = {"cnes": ""} + +VINCUL_C = {"cnes": ""} + +VINCUL_N = {"cnes": ""} + +VINC_ESP = {"sinan": ""} + +VINC_OUT = {"sinan": ""} + +VINC_SUS = {"cnes": ""} + +VIOL_ESPEC = {"sinan": ""} + +VIOL_FINAN = {"sinan": ""} + +VIOL_FISIC = {"sinan": ""} + +VIOL_INFAN = {"sinan": ""} + +VIOL_LEGAL = {"sinan": ""} + +VIOL_MOTIV = {"sinan": ""} + +VIOL_NEGLI = {"sinan": ""} + +VIOL_OUTR = {"sinan": ""} + +VIOL_PSICO = {"sinan": ""} + +VIOL_SEXU = {"sinan": ""} + +VIOL_TORT = {"sinan": ""} + +VIOL_TRAF = {"sinan": ""} + +VL_APRES = {"sia": ""} + +VL_APROV = {"sia": ""} + +VOMITO = {"sinan": ""} + +VOMITOS = {"sinan": ""} + +VOP_VORH = {"sinan": ""} + +XENODIAG = {"sinan": ""} + +ZONA = {"sinan": ""} + +ZUMBIDO = {"sinan": ""} + +agravaids = {"sinan": ""} + +agravalcoo = {"sinan": ""} + +agravdiabe = {"sinan": ""} + +agravdoenc = {"sinan": ""} + +agravdroga = {"sinan": ""} + +agravoutra = {"sinan": ""} + +agravtabac = {"sinan": ""} + +ant_anemia = {"sinan": ""} + +ant_asteri = {"sinan": ""} + +ant_candid = {"sinan": ""} + +ant_caquex = {"sinan": ""} + +ant_contag = {"sinan": ""} + +ant_dermat = {"sinan": ""} + +ant_diarre = {"sinan": ""} + +ant_disfun = {"sinan": ""} + +ant_droga = {"sinan": ""} + +ant_esof_n = {"sinan": ""} + +ant_febre = {"sinan": ""} + +ant_herpes = {"sinan": ""} + +ant_linfo = {"sinan": ""} + +ant_pneumo = {"sinan": ""} + +ant_pulmon = {"sinan": ""} + +ant_rel_ca = {"sinan": ""} + +ant_tosse = {"sinan": ""} + +ant_toxo = {"sinan": ""} + +ant_trasmi = {"sinan": ""} + +ant_tuberc = {"sinan": ""} + +antrelse_n = {"sinan": ""} + +antsifil_n = {"sinan": ""} + +aval_atu_n = {"sinan": ""} + +avalia_n = {"sinan": ""} + +bacilosc_1 = {"sinan": ""} + +bacilosc_2 = {"sinan": ""} + +bacilosc_3 = {"sinan": ""} + +bacilosc_4 = {"sinan": ""} + +bacilosc_5 = {"sinan": ""} + +bacilosc_6 = {"sinan": ""} + +bacilosco = {"sinan": ""} + +cancro_mole = {"sinan": ""} + +caract_genomica = {"sinan": ""} + +clado = {"sinan": ""} + +clamidea = {"sinan": ""} + +classatual = {"sinan": ""} + +classi_fin = {"sinan": ""} + +classopera = {"sinan": ""} + +co_uf_res = {"sinan": ""} + +comp_sexual = {"sinan": ""} + +contador = { + "sim": "", + "sinasc": "", +} + +contag_cd4 = {"sinan": ""} + +contat_animal = {"sinan": ""} + +contexam = {"sinan": ""} + +contreg = {"sinan": ""} + +criterio = {"sinan": ""} + +cs_escol_n = {"sinan": ""} + +cs_gestant = {"sinan": ""} + +cs_raca = {"sinan": ""} + +cs_sexo = {"sinan": ""} + +cs_zona = {"sinan": ""} + +cultura_es = {"sinan": ""} + +data_vacina = {"sinan": ""} + +def_diagno = {"sinan": ""} + +dip = {"sinan": ""} + +doenca_tra1 = {"sinan": ""} + +donovanose = {"sinan": ""} + +dose_receb = {"sinan": ""} + +dt_coleta = {"sinan": ""} + +dt_diag = {"sinan": ""} + +dt_encerra = {"sinan": ""} + +dt_evolucao = {"sinan": ""} + +dt_inic_tr = {"sinan": ""} + +dt_interna = {"sinan": ""} + +dt_nasc = {"sinan": ""} + +dt_noti_at = {"sinan": ""} + +dt_notific = {"sinan": ""} + +dt_obito = {"sinan": ""} + +dt_sin_pri = {"sinan": ""} + +dtalta_n = {"sinan": ""} + +dtinictrat = {"sinan": ""} + +dtultcomp = {"sinan": ""} + +esq_atu_n = {"sinan": ""} + +esq_ini_n = {"sinan": ""} + +estrangeiro = {"sinan": ""} + +evolucao = {"sinan": ""} + +forma = {"sinan": ""} + +formaclini = {"sinan": ""} + +gonorreia = {"sinan": ""} + +herpes_genital = {"sinan": ""} + +histopatol = {"sinan": ""} + +hiv = {"sinan": ""} + +hospital = {"sinan": ""} + +hpv = {"sinan": ""} + +htlv = {"sinan": ""} + +id_agravo = {"sinan": ""} + +id_mn_resi = {"sinan": ""} + +id_municip = {"sinan": ""} + +id_regiona = {"sinan": ""} + +id_rg_resi = {"sinan": ""} + +id_unidade = {"sinan": ""} + +ident_genero = {"sinan": ""} + +ist_ativa = {"sinan": ""} + +lab_triage = {"sinan": ""} + +labc_igg = {"sinan": ""} + +linfogranuloma = {"sinan": ""} + +local_cont = {"sinan": ""} + +met_lab = {"sinan": ""} + +mododetect = {"sinan": ""} + +modoentr = {"sinan": ""} + +mycoplasma_genital = {"sinan": ""} + +name = {"sinan": ""} + +nervosafet = {"sinan": ""} + +nu_ano = {"sinan": ""} + +nu_idade_n = {"sinan": ""} + +nu_lesoes = {"sinan": ""} + +orienta_sexual = {"sinan": ""} + +outro_des = {"sinan": ""} + +owner_org = {"sinan": ""} + +pac_imunossup = {"sinan": ""} + +pop_liber = {"sinan": ""} + +profile = {"sinan": ""} + +profis_saude = {"sinan": ""} + +raiox_tora = {"sinan": ""} + +resources = {"sinan": ""} + +resultado_exa_lab = {"sinan": ""} + +sg_uf = {"sinan": ""} + +sg_uf_not = {"sinan": ""} + +sifilis = {"sinan": ""} + +sintoma = {"sinan": ""} + +situa_ence = {"sinan": ""} + +test_molec = {"sinan": ""} + +test_sensi = {"sinan": ""} + +title = {"sinan": ""} + +tp_amost = {"sinan": ""} + +tpalta_n = {"sinan": ""} + +tpesquema = {"sinan": ""} + +tra_esquem = {"sinan": ""} + +transm = {"sinan": ""} + +tratamento = {"sinan": ""} + +tratamento_mpox = {"sinan": ""} + +tratparc = {"sinan": ""} + +tratsup_at = {"sinan": ""} + +trichomomas_vaginals = {"sinan": ""} + +uti = {"sinan": ""} + +vacina = {"sinan": ""} + +verruga_genital = {"sinan": ""} + +vinculo_epi = {"sinan": ""} diff --git a/pysus/api/ducklake/catalog/models.py b/pysus/api/ducklake/catalog/models.py new file mode 100644 index 00000000..ec79639f --- /dev/null +++ b/pysus/api/ducklake/catalog/models.py @@ -0,0 +1,307 @@ +"""SQLAlchemy ORM models for the DuckLake catalog schema. + +Defines tables for datasets, groups, files, and columns stored +in the pysus schema of the local DuckDB catalog. +""" + +from datetime import datetime +from typing import Optional + +from sqlalchemy import ( + Boolean, + Column, + DateTime, + ForeignKey, + Index, + Integer, + Sequence, + String, + Table, +) +from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship + + +class Base(DeclarativeBase): + """Base class for all DuckLake catalog ORM models.""" + + pass + + +file_columns = Table( + "file_columns", + Base.metadata, + Column( + "file_id", + Integer, + ForeignKey("pysus.files.id"), + primary_key=True, + ), + Column( + "column_id", + Integer, + ForeignKey("pysus.dataset_columns.id"), + primary_key=True, + ), + schema="pysus", +) + + +class CatalogTable(Base): + """Abstract base for catalog tables sharing the pysus schema.""" + + __abstract__ = True + __table_args__: tuple = ({"schema": "pysus"},) + + +class CatalogDataset(CatalogTable): + """ORM model for the datasets table, representing a dataset collection. + + Parameters + ---------- + id : int, optional + Primary key (auto-generated by sequence). + name : str + Unique short name for the dataset. + long_name : str + Human-readable full name. + description : str, optional + Optional description of the dataset contents. + """ + + __tablename__ = "datasets" + + id = Column( + Integer, + Sequence("datasets_id_seq", schema="pysus"), + primary_key=True, + ) + name = Column(String, nullable=False, unique=True, index=True) + long_name = Column(String, nullable=False) + description = Column(String, nullable=True) + + groups = relationship( + "DatasetGroup", + back_populates="dataset", + cascade="all, delete-orphan", + ) + files = relationship( + "CatalogFile", + back_populates="dataset", + cascade="all, delete-orphan", + ) + columns = relationship( + "ColumnDefinition", + back_populates="dataset", + cascade="all, delete-orphan", + ) + + +class ColumnDefinition(CatalogTable): + """ORM model for dataset column metadata. + + Parameters + ---------- + id : int, optional + Primary key (auto-generated by sequence). + dataset_id : int + Foreign key referencing the parent dataset. + name : str + Column name. + type : str + Column data type string. + description : str, optional + Optional description of the column. + nullable : bool, optional + Whether the column allows null values. + """ + + __tablename__ = "dataset_columns" + + id = Column( + Integer, + Sequence("columns_id_seq", schema="pysus"), + primary_key=True, + ) + dataset_id = Column( + Integer, + ForeignKey("pysus.datasets.id"), + nullable=False, + index=True, + ) + name = Column(String, nullable=False) + type = Column(String, nullable=False) + description = Column(String, nullable=True) + nullable = Column(Boolean, nullable=False, default=True) + + dataset = relationship("CatalogDataset", back_populates="columns") + files = relationship( + "CatalogFile", + secondary=file_columns, + back_populates="columns", + ) + + __table_args__ = ( + Index("ix_columns_dataset_name", "dataset_id", "name"), + {"schema": "pysus"}, + ) + + +class DatasetGroup(CatalogTable): + """ORM model for dataset groups, grouping related files within a dataset. + + Parameters + ---------- + id : int, optional + Primary key (auto-generated by sequence). + name : str + Short name for the group. + dataset_id : int + Foreign key referencing the parent dataset. + long_name : str + Human-readable full name. + description : str, optional + Optional description of the group contents. + """ + + __tablename__ = "dataset_groups" + + id = Column( + Integer, + Sequence("groups_id_seq", schema="pysus"), + primary_key=True, + ) + name = Column(String, nullable=False) + dataset_id = Column( + Integer, + ForeignKey("pysus.datasets.id"), + nullable=False, + index=True, + ) + long_name = Column(String, nullable=False) + description = Column(String, nullable=True) + + dataset = relationship("CatalogDataset", back_populates="groups") + files = relationship( + "CatalogFile", + back_populates="group", + cascade="all, delete-orphan", + ) + + __table_args__ = ( + Index("ix_groups_dataset_name", "dataset_id", "name"), + {"schema": "pysus"}, + ) + + +class CatalogFile(CatalogTable): + """ORM model for the files table, representing individual data files. + + Parameters + ---------- + id : int, optional + Primary key (auto-generated by sequence). + dataset_id : int + Foreign key referencing the parent dataset. + group_id : int, optional + Foreign key referencing the parent group. + path : str + Object storage path to the file. + size : int + File size in bytes. + rows : int + Number of rows in the file. + modified : datetime + Timestamp of the last known modification. + origin_modified : datetime, optional + Original modification timestamp from the source. + origin_size : int + Original file size in bytes. + origin_path : str + Original source path of the file. + sha256 : str, optional + SHA-256 hex digest for integrity verification. + year : int, optional + Data year associated with the file. + month : int, optional + Data month associated with the file. + state : str, optional + Two-letter state code associated with the file. + """ + + __tablename__ = "files" + + id: Mapped[int] = mapped_column( + Integer, + Sequence("files_id_seq", schema="pysus"), + primary_key=True, + ) + dataset_id: Mapped[int] = mapped_column( + Integer, ForeignKey("pysus.datasets.id"), nullable=False, index=True + ) + group_id: Mapped[int | None] = mapped_column( + Integer, + ForeignKey("pysus.dataset_groups.id"), + nullable=True, + index=True, + ) + + path: Mapped[str] = mapped_column(String, nullable=False, unique=True) + size: Mapped[int] = mapped_column(Integer, nullable=False) + rows: Mapped[int] = mapped_column(Integer, nullable=False) + modified: Mapped[datetime] = mapped_column(DateTime, nullable=False) + origin_modified: Mapped[datetime | None] = mapped_column( + DateTime, + nullable=True, + ) + origin_size: Mapped[int] = mapped_column(Integer, nullable=False) + origin_path: Mapped[str] = mapped_column(String, nullable=False) + sha256: Mapped[str | None] = mapped_column( + String(64), + nullable=True, + index=True, + ) + + year: Mapped[int | None] = mapped_column( + Integer, + nullable=True, + index=True, + ) + month: Mapped[int | None] = mapped_column( + Integer, + nullable=True, + index=True, + ) + state: Mapped[str | None] = mapped_column( + String(2), + nullable=True, + index=True, + ) + + dataset: Mapped["CatalogDataset"] = relationship( + "CatalogDataset", + back_populates="files", + ) + group: Mapped[Optional["DatasetGroup"]] = relationship( + "DatasetGroup", + back_populates="files", + ) + columns: Mapped[list["ColumnDefinition"]] = relationship( + "ColumnDefinition", + secondary=file_columns, + back_populates="files", + cascade="all, delete", + ) + + __table_args__ = ( + Index("ix_files_dataset_group", "dataset_id", "group_id"), + Index("ix_files_temporal", "year", "month"), + Index( + "ix_files_lookup", + "dataset_id", + "group_id", + "year", + "month", + "state", + ), + {"schema": "pysus"}, + ) diff --git a/pysus/api/ducklake/catalog/parsers.py b/pysus/api/ducklake/catalog/parsers.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/pysus/api/ducklake/catalog/parsers.py @@ -0,0 +1 @@ + From 4eb3d2e84f77b988e0c793230f4d25d0896634f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lu=C3=A3=20Bida=20Vacaro?= Date: Wed, 27 May 2026 15:11:37 -0300 Subject: [PATCH 2/2] feat(api): include global variables feat(api): start creating the detailed report classes for the files feat(api): start splitting the catalog.db into catalogs for each dataset --- pysus/api/README.md | 2 + pysus/api/_impl/databases.py | 6 +- pysus/api/client.py | 4 +- pysus/api/dadosgov/client.py | 3 +- pysus/api/dadosgov/models.py | 23 +- .../api/{README.ipynb => ducklake/README.md} | 0 pysus/api/ducklake/catalog.py | 307 ------------------ pysus/api/ducklake/client.py | 9 +- pysus/api/extensions.py | 94 +++++- .../{ducklake/README.ipynb => ftp/README.md} | 0 pysus/api/ftp/client.py | 3 +- .../README.ipynb => metadata/__init__.py} | 0 pysus/api/metadata/models.py | 79 +++++ pysus/api/metadata/report.py | 7 + pysus/api/models.py | 5 +- pysus/api/types.py | 54 ++- 16 files changed, 232 insertions(+), 364 deletions(-) create mode 100644 pysus/api/README.md rename pysus/api/{README.ipynb => ducklake/README.md} (100%) delete mode 100644 pysus/api/ducklake/catalog.py rename pysus/api/{ducklake/README.ipynb => ftp/README.md} (100%) rename pysus/api/{ftp/README.ipynb => metadata/__init__.py} (100%) create mode 100644 pysus/api/metadata/models.py create mode 100644 pysus/api/metadata/report.py diff --git a/pysus/api/README.md b/pysus/api/README.md new file mode 100644 index 00000000..c8c0d3d3 --- /dev/null +++ b/pysus/api/README.md @@ -0,0 +1,2 @@ +## Roadmap + diff --git a/pysus/api/_impl/databases.py b/pysus/api/_impl/databases.py index be44cd3a..843ecd1a 100644 --- a/pysus/api/_impl/databases.py +++ b/pysus/api/_impl/databases.py @@ -25,7 +25,7 @@ import pandas as pd from pysus.api.client import PySUS -from pysus.api.types import State +from pysus.api.types import Origin, State from tqdm import tqdm @@ -519,7 +519,7 @@ def list_files( "CNES", "CIHA", ], - client: Literal["FTP", "DadosGov"] | None = None, + client: Origin | None = None, group: str | None = None, state: str | None = None, year: int | list[int] | None = None, @@ -536,7 +536,7 @@ def list_files( ---------- dataset : Literal Dataset name (e.g. ``"SINAN"``, ``"SINASC"``, etc.). - client : Literal["FTP", "DadosGov"], optional + client : Origin, optional Data source client to query. group : str, optional Group or disease code to filter by. diff --git a/pysus/api/client.py b/pysus/api/client.py index 70ba6bc9..4f85a442 100644 --- a/pysus/api/client.py +++ b/pysus/api/client.py @@ -11,6 +11,8 @@ from typing import TYPE_CHECKING, Literal import anyio + +from pysus.api.types import Origin import duckdb import pandas as pd from pysus import CACHEPATH @@ -477,7 +479,7 @@ def get_completed_remote_paths(self) -> set[str]: async def query( self, - client: Literal["DadosGov", "FTP"] | None = None, + client: Origin | None = None, dataset: str | None = None, group: str | None = None, state: str | None = None, diff --git a/pysus/api/dadosgov/client.py b/pysus/api/dadosgov/client.py index 5487f800..64144f5b 100644 --- a/pysus/api/dadosgov/client.py +++ b/pysus/api/dadosgov/client.py @@ -11,6 +11,7 @@ from pydantic import BaseModel, BeforeValidator, ConfigDict, Field, PrivateAttr from pysus import __version__ from pysus.api.models import BaseRemoteClient, BaseRemoteFile +from pysus.api.types import DadosGov as DADOSGOV if TYPE_CHECKING: from .models import Dataset @@ -89,7 +90,7 @@ def name(self) -> str: str The abbreviated client name ``"DadosGov"``. """ - return "DadosGov" + return DADOSGOV @property def long_name(self) -> str: diff --git a/pysus/api/dadosgov/models.py b/pysus/api/dadosgov/models.py index 4a962ca8..b7f1669c 100644 --- a/pysus/api/dadosgov/models.py +++ b/pysus/api/dadosgov/models.py @@ -30,13 +30,9 @@ def _dedup_entries( if m: stem = filename[: m.start()] fmt = m.group(1).lower() - grouped.setdefault(stem, []).append( - (fmt, filename, recurso, metadata) - ) + grouped.setdefault(stem, []).append((fmt, filename, recurso, metadata)) else: - grouped.setdefault(filename, []).append( - ("", filename, recurso, metadata) - ) + grouped.setdefault(filename, []).append(("", filename, recurso, metadata)) result: list[tuple[str, Any, dict]] = [] for _, items in grouped.items(): @@ -249,9 +245,7 @@ class Group(BaseRemoteGroup): """A group of files within a dataset.""" record: ConjuntoDados - _formatter: Callable[[str], dict[str, Any]] | None = PrivateAttr( - default=None - ) + _formatter: Callable[[str], dict[str, Any]] | None = PrivateAttr(default=None) def __init__( self, @@ -271,7 +265,8 @@ def __init__( A callable that extracts metadata from filenames. """ super().__init__( - record=record, dataset=dataset # type: ignore[call-arg] + record=record, + dataset=dataset, # type: ignore[call-arg] ) self._formatter = formatter @@ -318,9 +313,7 @@ async def _fetch_files(self) -> list[BaseRemoteFile]: """Build File objects from the underlying resources.""" entries: list[tuple[str, Any, dict]] = [] for recurso in self.record.resources: - filename = ( - recurso.file_name or recurso.url.split("/")[-1].split("?")[0] - ) + filename = recurso.file_name or recurso.url.split("/")[-1].split("?")[0] if filename.lower().endswith(".pdf") or filename.startswith("get_"): continue metadata = {} @@ -354,7 +347,7 @@ class Dataset(BaseRemoteDataset): """ ids: list[str] = [] - client: "DadosGov" + client: DadosGov group_aliases: dict[str, str] = {} def __repr__(self): @@ -369,7 +362,7 @@ def formatter(self, filename: str) -> dict[str, Any]: async def _fetch_content(self) -> list[Group]: """Fetch all groups belonging to this dataset.""" items: list[Group] = [] - client: "DadosGov" = self.client + client: DadosGov = self.client if self.ids: for group_id in self.ids: record = await client.get_dataset(group_id) diff --git a/pysus/api/README.ipynb b/pysus/api/ducklake/README.md similarity index 100% rename from pysus/api/README.ipynb rename to pysus/api/ducklake/README.md diff --git a/pysus/api/ducklake/catalog.py b/pysus/api/ducklake/catalog.py deleted file mode 100644 index ec79639f..00000000 --- a/pysus/api/ducklake/catalog.py +++ /dev/null @@ -1,307 +0,0 @@ -"""SQLAlchemy ORM models for the DuckLake catalog schema. - -Defines tables for datasets, groups, files, and columns stored -in the pysus schema of the local DuckDB catalog. -""" - -from datetime import datetime -from typing import Optional - -from sqlalchemy import ( - Boolean, - Column, - DateTime, - ForeignKey, - Index, - Integer, - Sequence, - String, - Table, -) -from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship - - -class Base(DeclarativeBase): - """Base class for all DuckLake catalog ORM models.""" - - pass - - -file_columns = Table( - "file_columns", - Base.metadata, - Column( - "file_id", - Integer, - ForeignKey("pysus.files.id"), - primary_key=True, - ), - Column( - "column_id", - Integer, - ForeignKey("pysus.dataset_columns.id"), - primary_key=True, - ), - schema="pysus", -) - - -class CatalogTable(Base): - """Abstract base for catalog tables sharing the pysus schema.""" - - __abstract__ = True - __table_args__: tuple = ({"schema": "pysus"},) - - -class CatalogDataset(CatalogTable): - """ORM model for the datasets table, representing a dataset collection. - - Parameters - ---------- - id : int, optional - Primary key (auto-generated by sequence). - name : str - Unique short name for the dataset. - long_name : str - Human-readable full name. - description : str, optional - Optional description of the dataset contents. - """ - - __tablename__ = "datasets" - - id = Column( - Integer, - Sequence("datasets_id_seq", schema="pysus"), - primary_key=True, - ) - name = Column(String, nullable=False, unique=True, index=True) - long_name = Column(String, nullable=False) - description = Column(String, nullable=True) - - groups = relationship( - "DatasetGroup", - back_populates="dataset", - cascade="all, delete-orphan", - ) - files = relationship( - "CatalogFile", - back_populates="dataset", - cascade="all, delete-orphan", - ) - columns = relationship( - "ColumnDefinition", - back_populates="dataset", - cascade="all, delete-orphan", - ) - - -class ColumnDefinition(CatalogTable): - """ORM model for dataset column metadata. - - Parameters - ---------- - id : int, optional - Primary key (auto-generated by sequence). - dataset_id : int - Foreign key referencing the parent dataset. - name : str - Column name. - type : str - Column data type string. - description : str, optional - Optional description of the column. - nullable : bool, optional - Whether the column allows null values. - """ - - __tablename__ = "dataset_columns" - - id = Column( - Integer, - Sequence("columns_id_seq", schema="pysus"), - primary_key=True, - ) - dataset_id = Column( - Integer, - ForeignKey("pysus.datasets.id"), - nullable=False, - index=True, - ) - name = Column(String, nullable=False) - type = Column(String, nullable=False) - description = Column(String, nullable=True) - nullable = Column(Boolean, nullable=False, default=True) - - dataset = relationship("CatalogDataset", back_populates="columns") - files = relationship( - "CatalogFile", - secondary=file_columns, - back_populates="columns", - ) - - __table_args__ = ( - Index("ix_columns_dataset_name", "dataset_id", "name"), - {"schema": "pysus"}, - ) - - -class DatasetGroup(CatalogTable): - """ORM model for dataset groups, grouping related files within a dataset. - - Parameters - ---------- - id : int, optional - Primary key (auto-generated by sequence). - name : str - Short name for the group. - dataset_id : int - Foreign key referencing the parent dataset. - long_name : str - Human-readable full name. - description : str, optional - Optional description of the group contents. - """ - - __tablename__ = "dataset_groups" - - id = Column( - Integer, - Sequence("groups_id_seq", schema="pysus"), - primary_key=True, - ) - name = Column(String, nullable=False) - dataset_id = Column( - Integer, - ForeignKey("pysus.datasets.id"), - nullable=False, - index=True, - ) - long_name = Column(String, nullable=False) - description = Column(String, nullable=True) - - dataset = relationship("CatalogDataset", back_populates="groups") - files = relationship( - "CatalogFile", - back_populates="group", - cascade="all, delete-orphan", - ) - - __table_args__ = ( - Index("ix_groups_dataset_name", "dataset_id", "name"), - {"schema": "pysus"}, - ) - - -class CatalogFile(CatalogTable): - """ORM model for the files table, representing individual data files. - - Parameters - ---------- - id : int, optional - Primary key (auto-generated by sequence). - dataset_id : int - Foreign key referencing the parent dataset. - group_id : int, optional - Foreign key referencing the parent group. - path : str - Object storage path to the file. - size : int - File size in bytes. - rows : int - Number of rows in the file. - modified : datetime - Timestamp of the last known modification. - origin_modified : datetime, optional - Original modification timestamp from the source. - origin_size : int - Original file size in bytes. - origin_path : str - Original source path of the file. - sha256 : str, optional - SHA-256 hex digest for integrity verification. - year : int, optional - Data year associated with the file. - month : int, optional - Data month associated with the file. - state : str, optional - Two-letter state code associated with the file. - """ - - __tablename__ = "files" - - id: Mapped[int] = mapped_column( - Integer, - Sequence("files_id_seq", schema="pysus"), - primary_key=True, - ) - dataset_id: Mapped[int] = mapped_column( - Integer, ForeignKey("pysus.datasets.id"), nullable=False, index=True - ) - group_id: Mapped[int | None] = mapped_column( - Integer, - ForeignKey("pysus.dataset_groups.id"), - nullable=True, - index=True, - ) - - path: Mapped[str] = mapped_column(String, nullable=False, unique=True) - size: Mapped[int] = mapped_column(Integer, nullable=False) - rows: Mapped[int] = mapped_column(Integer, nullable=False) - modified: Mapped[datetime] = mapped_column(DateTime, nullable=False) - origin_modified: Mapped[datetime | None] = mapped_column( - DateTime, - nullable=True, - ) - origin_size: Mapped[int] = mapped_column(Integer, nullable=False) - origin_path: Mapped[str] = mapped_column(String, nullable=False) - sha256: Mapped[str | None] = mapped_column( - String(64), - nullable=True, - index=True, - ) - - year: Mapped[int | None] = mapped_column( - Integer, - nullable=True, - index=True, - ) - month: Mapped[int | None] = mapped_column( - Integer, - nullable=True, - index=True, - ) - state: Mapped[str | None] = mapped_column( - String(2), - nullable=True, - index=True, - ) - - dataset: Mapped["CatalogDataset"] = relationship( - "CatalogDataset", - back_populates="files", - ) - group: Mapped[Optional["DatasetGroup"]] = relationship( - "DatasetGroup", - back_populates="files", - ) - columns: Mapped[list["ColumnDefinition"]] = relationship( - "ColumnDefinition", - secondary=file_columns, - back_populates="files", - cascade="all, delete", - ) - - __table_args__ = ( - Index("ix_files_dataset_group", "dataset_id", "group_id"), - Index("ix_files_temporal", "year", "month"), - Index( - "ix_files_lookup", - "dataset_id", - "group_id", - "year", - "month", - "state", - ), - {"schema": "pysus"}, - ) diff --git a/pysus/api/ducklake/client.py b/pysus/api/ducklake/client.py index 21e9525b..146732db 100644 --- a/pysus/api/ducklake/client.py +++ b/pysus/api/ducklake/client.py @@ -6,7 +6,7 @@ from collections.abc import Callable from pathlib import Path -from typing import Any, Literal +from typing import Any import boto3 import httpx @@ -15,6 +15,7 @@ from pydantic import BaseModel, PrivateAttr, SecretStr from pysus import CACHEPATH from pysus.api.models import BaseRemoteClient, BaseRemoteFile +from pysus.api.types import DuckLake as DUCKLAKE, Origin from sqlalchemy import create_engine from sqlalchemy.orm import contains_eager, joinedload, sessionmaker from sqlalchemy.pool import StaticPool @@ -181,7 +182,7 @@ def name(self) -> str: str The client short name. """ - return "DuckLake" + return DUCKLAKE @property def long_name(self) -> str: @@ -467,7 +468,7 @@ def _upload(): async def query( self, - client: Literal["FTP", "DadosGov"] | None = None, + client: Origin | None = None, dataset: str | None = None, group: str | None = None, state: str | None = None, @@ -478,7 +479,7 @@ async def query( Parameters ---------- - client : Literal["FTP", "DadosGov"], optional + client : Origin, optional Source client to filter by. dataset : str, optional Dataset name to filter by. diff --git a/pysus/api/extensions.py b/pysus/api/extensions.py index 59de4dd7..e63d33fa 100644 --- a/pysus/api/extensions.py +++ b/pysus/api/extensions.py @@ -20,10 +20,46 @@ from dbfread import DBF as DBFReader from pydantic import Field, PrivateAttr from pysus import CACHEPATH +from pysus.api.metadata.models import Column from pysus.api.models import BaseCompressedFile, BaseLocalFile, BaseTabularFile from .types import FileType +_DTYPE_MAP: dict[str, str] = { + "int8": "INTEGER", + "int16": "INTEGER", + "int32": "INTEGER", + "int64": "BIGINT", + "uint8": "INTEGER", + "uint16": "INTEGER", + "uint32": "INTEGER", + "uint64": "BIGINT", + "float": "FLOAT", + "float16": "FLOAT", + "float32": "FLOAT", + "float64": "DOUBLE", + "double": "DOUBLE", + "bool": "BOOLEAN", + "bool_": "BOOLEAN", + "date32": "DATE", + "date64": "DATE", + "date": "DATE", + "datetime64[ns]": "DATE", + "object": "VARCHAR", + "string": "VARCHAR", + "utf8": "VARCHAR", + "large_string": "VARCHAR", +} + + +def _map_dtype(raw: str) -> str: + raw_lower = raw.lower().split("[")[0].split("(")[0].strip() + for key, val in _DTYPE_MAP.items(): + if raw_lower == key or raw_lower.startswith(key): + return val + return "VARCHAR" + + try: from pyreaddbc import dbc2dbf @@ -97,8 +133,9 @@ class CSV(BaseTabularFile): _sep: str | None = PrivateAttr(default=None) @property - def columns(self) -> list[str]: - """Return the column names from the CSV header row.""" + def columns(self) -> list["Column"]: + """Return the column metadata from the CSV header row.""" + if self._encoding is not None: enc = self._encoding else: @@ -112,7 +149,10 @@ def columns(self) -> list[str]: ) self._encoding = enc df = pd.read_csv(self.path, sep=",", nrows=0, encoding=enc) - return df.columns.tolist() + return [ + Column.from_schema(name=col, dtype=_map_dtype(str(dt))) + for col, dt in zip(df.columns, df.dtypes) + ] @property def rows(self) -> int: @@ -207,9 +247,14 @@ def schema(self) -> pa.Schema: return pq.read_schema(self.path) @property - def columns(self) -> list[str]: - """Return the column names from the Parquet schema.""" - return pq.read_schema(self.path).names + def columns(self) -> list["Column"]: + """Return the column metadata from the Parquet schema.""" + + schema = pq.read_schema(self.path) + return [ + Column.from_schema(name=field.name, dtype=_map_dtype(str(field.type))) + for field in schema + ] @property def rows(self) -> int: @@ -298,9 +343,22 @@ class DBF(BaseTabularFile): type: FileType = Field("DBF") @property - def columns(self) -> list[str]: - """Return the field names from the DBF file.""" - return DBFReader(self.path, load=False).field_names + def columns(self) -> list["Column"]: + """Return the column metadata from the DBF file.""" + + reader = DBFReader(self.path, load=False) + _DBF_DTYPE = { + "C": "VARCHAR", + "N": "INTEGER", + "F": "FLOAT", + "D": "DATE", + "L": "BOOLEAN", + "M": "VARCHAR", + } + return [ + Column.from_schema(name=f.name, dtype=_DBF_DTYPE.get(f.type, "VARCHAR")) + for f in reader.fields + ] @property def rows(self) -> int: @@ -440,7 +498,7 @@ class DBC(BaseTabularFile): type: FileType = Field("DBC") @property - def columns(self) -> list[str]: + def columns(self) -> list["Column"]: """Not supported for DBC files. Convert to Parquet first.""" raise NotImplementedError( "DBC metadata cannot be read directly. Convert to Parquet first." @@ -512,14 +570,18 @@ class JSON(BaseTabularFile): type: FileType = Field("JSON") @property - def columns(self) -> list[str]: - """Return the column names from the JSON file.""" + def columns(self) -> list["Column"]: + """Return the column metadata from the JSON file.""" + df = ( pd.read_json(self.path, nrows=0) if self.path.stat().st_size > 0 else pd.DataFrame() ) - return df.columns.tolist() + return [ + Column.from_schema(name=col, dtype=_map_dtype(str(dt))) + for col, dt in zip(df.columns, df.dtypes) + ] @property def rows(self) -> int: @@ -778,9 +840,7 @@ class DBCNotImported(BaseTabularFile): path: Path = Field(default_factory=lambda: Path("...")) type: str | FileType = Field(default="remote") - import_err: ClassVar[ - str - ] = """ + import_err: ClassVar[str] = """ run "pip install pysus[dbc]" to handle DBC files. Make sure you also have libffi installed on the system. It may not work on Windows @@ -807,7 +867,7 @@ def modify(self) -> datetime: raise ImportError(self.import_err) @property - def columns(self) -> list[str]: + def columns(self) -> list["Column"]: """Raise ImportError indicating the missing DBC dependency.""" raise ImportError(self.import_err) diff --git a/pysus/api/ducklake/README.ipynb b/pysus/api/ftp/README.md similarity index 100% rename from pysus/api/ducklake/README.ipynb rename to pysus/api/ftp/README.md diff --git a/pysus/api/ftp/client.py b/pysus/api/ftp/client.py index 76872e54..301a639f 100644 --- a/pysus/api/ftp/client.py +++ b/pysus/api/ftp/client.py @@ -11,6 +11,7 @@ from anyio import to_thread from pydantic import PrivateAttr from pysus.api.models import BaseRemoteClient, BaseRemoteFile +from pysus.api.types import FTP as FTP_STR if TYPE_CHECKING: from pysus.api.ftp.models import Dataset @@ -55,7 +56,7 @@ def name(self) -> str: str The client short name ("FTP"). """ - return "FTP" + return FTP_STR @property def long_name(self) -> str: diff --git a/pysus/api/ftp/README.ipynb b/pysus/api/metadata/__init__.py similarity index 100% rename from pysus/api/ftp/README.ipynb rename to pysus/api/metadata/__init__.py diff --git a/pysus/api/metadata/models.py b/pysus/api/metadata/models.py new file mode 100644 index 00000000..4d9fffe8 --- /dev/null +++ b/pysus/api/metadata/models.py @@ -0,0 +1,79 @@ +from dataclasses import dataclass, field + +from pysus.api.types import ColumnType, Origin + + +def lookup_column_meta(name: str) -> dict[str, str] | None: + """Look up column metadata from the global columns.py constants. + + Returns the {dataset: description} dict if the column name exists + as a constant in columns.py, or None if not found. + """ + try: + from pysus.api.ducklake.catalog import columns as _cols + + return getattr(_cols, name.upper(), None) + except ImportError: + return None + + +def pick_description(meta: dict[str, str] | None) -> str: + """Pick the best description from a column metadata dict.""" + if meta is None: + return "" + for desc in meta.values(): + if desc: + return desc + return "" + + +@dataclass +class Dataset: + name: str + long_name: str + description: str + + +@dataclass +class DatasetGroup: + name: str + long_name: str + description: str + + +@dataclass +class FileMeta: + name: str + path: str + size: int + state: str | None = None + uf: str | None = None + year: int | None = None + month: int | None = None + origin_path: str | None = None + origin_size: int | None = None + + +@dataclass +class File: + origin: Origin + dataset: Dataset | None = None + group: DatasetGroup | None = None + columns: list["Column"] = field(default_factory=list) + _meta: FileMeta | None = None + + +@dataclass +class Column: + name: str + description: str + dtype: ColumnType + + @classmethod + def from_schema(cls, name: str, dtype: ColumnType) -> "Column": + """Create a Column from a file schema, looking up description from columns.py.""" + return cls( + name=name, + description=pick_description(lookup_column_meta(name)), + dtype=dtype, + ) diff --git a/pysus/api/metadata/report.py b/pysus/api/metadata/report.py new file mode 100644 index 00000000..51cccba3 --- /dev/null +++ b/pysus/api/metadata/report.py @@ -0,0 +1,7 @@ +class Header: ... + + +class Columns: ... + + +class Footer: ... diff --git a/pysus/api/models.py b/pysus/api/models.py index 6f9029a0..9a857f92 100644 --- a/pysus/api/models.py +++ b/pysus/api/models.py @@ -29,6 +29,7 @@ if TYPE_CHECKING: from extensions import Parquet + from pysus.api.metadata.models import Column class BaseFile(BaseModel, ABC): @@ -151,8 +152,8 @@ class BaseTabularFile(BaseLocalFile, ABC): @property @abstractmethod - def columns(self) -> list[str]: - """Return the list of column names.""" + def columns(self) -> list["Column"]: + """Return the list of column metadata.""" @property @abstractmethod diff --git a/pysus/api/types.py b/pysus/api/types.py index 2ed8f95e..66c02601 100644 --- a/pysus/api/types.py +++ b/pysus/api/types.py @@ -8,19 +8,47 @@ Brazilian state abbreviations (AC, AL, AP, ..., DF). """ -from typing import Literal - -FileType = Literal[ - "FILE", - "DIR", - "PARQUET", - "CSV", - "JSON", - "PDF", - "DBC", - "DBF", - "ZIP", -] +from typing import Final, Literal + +FTP: Final = "FTP" +DadosGov: Final = "DadosGov" +DuckLake: Final = "DuckLake" + +Origin = Literal[FTP, DadosGov, DuckLake] + +VARCHAR: Final = "VARCHAR" +INTEGER: Final = "INTEGER" +BIGINT: Final = "BIGINT" +FLOAT: Final = "FLOAT" +DOUBLE: Final = "DOUBLE" +BOOLEAN: Final = "BOOLEAN" +DATE: Final = "DATE" + +ColumnType = Literal[VARCHAR, INTEGER, BIGINT, FLOAT, DOUBLE, BOOLEAN, DATE] + +FILE: Final = "FILE" +DIR: Final = "DIR" +PARQUET: Final = "PARQUET" +CSV: Final = "CSV" +JSON: Final = "JSON" +PDF: Final = "PDF" +DBC: Final = "DBC" +DBF: Final = "DBF" +ZIP: Final = "ZIP" + +FileType = Literal[FILE, DIR, PARQUET, CSV, JSON, PDF, DBC, DBF, ZIP] + +SINAN: Final = "SINAN" +SINASC: Final = "SINASC" +SIM: Final = "SIM" +SIH: Final = "SIH" +SIA: Final = "SIA" +PNI: Final = "PNI" +IBGE: Final = "IBGE" +CNES: Final = "CNES" +CIHA: Final = "CIHA" + +DatasetName = Literal[SINAN, SINASC, SIM, SIH, SIA, PNI, IBGE, CNES, CIHA] State = Literal[ "AC",