{
descricao_proc_emi: { key: 'procEmi', type: Types.Values(*%w[1 2 3 4 22]) },
cpf_do_trabalhador: { key: 'cpfTrab', type: Types::String },
matricula_do_trabalhador: { key: 'matricula', type: Types::String.optional },
categoria_do_trabalhador: { key: 'codCateg', type: Types::CategoriaTrabalhadorTsv.optional },
data_do_acidente: { key: 'dtAcid', type: Types::Date },
tipo_do_acidente: { key: 'tpAcid', type: Types::Values(*%w[1 2 3]) },
hora_do_acidente: { key: 'hrAcid', type: Types::String.optional },
horas_trabalhadas_antes_do_acidente: { key: 'hrsTrabAntesAcid', type: Types::String.optional },
tipo_de_cat: { key: 'tpCat', type: Types.Values(*%w[1 2 3]) },
houve_obito: { key: 'indCatObito', type: Types::SNBool },
data_do_obito: { key: 'dtObito', type: Types::Date.optional },
houve_comunicado_a_policia: { key: 'indComunPolicia', type: Types::SNBool },
situacao_geradora_e_social_codigo: { key: 'codSitGeradora', type: Types::String },
iniciativa_da_cat: { key: 'iniciatCAT', type: Types.Values(*%w[1 2 3]) },
tipo_de_local_do_acidente: { key: 'tpLocal', type: Types.Values(*%w[1 4 5 6 9]) },
tipo_de_inscricao_do_local_do_acidente: { key: 'tpLocal', type: Types.Values('1') },
numero_de_inscricao_do_local_do_acidente: { key: 'ideLocalAcid/nrInsc', type: Types::String.optional },
logradouro: { key: 'dscLograd', type: Types::String },
numero_do_logradouro: { key: 'nrLograd', type: Types::String },
cep_logradouro: { key: 'cep', type: Types::String },
municipio_codigo: { key: 'codMunic', type: Types::String },
parte_atingida_e_social_codigo: { key: 'codParteAting', type: Types::String },
parte_atingida_lateralidade: { key: 'lateralidade', type: Types.Values(*%w[0 1 2 3]) },
agente_causador_e_social_codigo: { key: 'codAgntCausador', type: Types::String },
atestado_medico_data_do_atendimento: { key: 'dtAtendimento', type: Types::Date },
atestado_medico_hora_do_atendimento: { key: 'hrAtendimento', type: Types::String },
atestado_medico_internacao: { key: 'indInternacao', type: Types::SNBool },
atestado_medico_duracao: { key: 'durTrat', type: Types::Integer },
atestado_medico_afastamento: { key: 'indAfast', type: Types::SNBool },
atestado_medico_natureza_da_lesao_e_social_codigo: { key: 'dscLesao', type: Types::String },
atestado_medico_cid: { key: 'codCID', type: Types::String },
atestado_medico_emitente_nome: { key: 'nmEmit', type: Types::String },
atestado_medico_emitente_orgao_de_classe: { key: 'ideOC', type: Types.Values(*%w[1 2 3]) },
atestado_medico_emitente_orgao_de_classe_numero_de_inscricao: { key: 'nrOC', type: Types::String },
atestado_medico_emitente_orgao_de_classe_uf: { key: 'ufOC', type: Types::String },
cat_anterior_e_social_recibo: { key: 'nrRecCatOrig', type: Types::String },
e_social_recibo: { key: 'nrRecibo', type: Types::String }
}.freeze