diff --git a/gen_bronze.py b/gen_bronze.py index aa2564834f9974d69c3b6104bb671f156174a6d7..c8c652daafc3a86b4806f9e52517863beb31a1a9 100644 --- a/gen_bronze.py +++ b/gen_bronze.py @@ -22,93 +22,103 @@ schema = StructType([ StructField("cnes", LongType(), True), StructField("ine", LongType(), True), StructField("dataAtendimento", DateType(), True), - StructField("descricaoCausaInternacaoEm12Meses", StringType(), True), - StructField("descricaoOutraCondicao1", StringType(), True), - StructField("descricaoOutraCondicao2", StringType(), True), - StructField("descricaoOutraCondicao3", StringType(), True), - StructField("descricaoPlantasMedicinaisUsadas", ArrayType(StringType()), True), - StructField("doencaRespiratoria", ArrayType(StringType()), True), - StructField("doencaRins", ArrayType(StringType()), True), - StructField("maternidadeDeReferencia", StringType(), True), - StructField("situacaoPeso", StringType(), True), - StructField("statusEhDependenteAlcool", BooleanType(), True), - StructField("statusEhDependenteOutrasDrogas", BooleanType(), True), - StructField("statusEhFumante", BooleanType(), True), - StructField("statusEhGestante", BooleanType(), True), - StructField("statusEstaAcamado", BooleanType(), True), - StructField("statusEstaDomiciliado", BooleanType(), True), - StructField("statusTemDiabetes", BooleanType(), True), - StructField("statusTemDoencaRespiratoria", BooleanType(), True), - StructField("statusTemHanseniase", BooleanType(), True), - StructField("statusTemHipertensaoArterial", BooleanType(), True), - StructField("statusTemTeveCancer", BooleanType(), True), - StructField("statusTemTeveDoencasRins", BooleanType(), True), - StructField("statusTemTuberculose", BooleanType(), True), - StructField("statusTeveAvcDerrame", BooleanType(), True), - StructField("statusTeveDoencaCardiaca", BooleanType(), True), - StructField("statusTeveInfarto", BooleanType(), True), - StructField("statusTeveInternadoem12Meses", BooleanType(), True), - StructField("statusUsaOutrasPraticasIntegrativasOuComplementares", BooleanType(), True), - StructField("statusUsaPlantasMedicinais", BooleanType(), True), - StructField("statusDiagnosticoMental", StringType(), True), - StructField("grauParentescoFamiliarFrequentado", StringType(), True), - StructField("higienePessoalSituacaoRua", ArrayType(StringType()), True), - StructField("origemAlimentoSituacaoRua", ArrayType(StringType()), True), - StructField("outraInstituicaoQueAcompanha", StringType(), True), - StructField("quantidadeAlimentacoesAoDiaSituacaoRua", StringType(), True), - StructField("statusAcompanhadoPorOutraInstituicao", BooleanType(), True), - StructField("statusPossuiReferenciaFamiliar", BooleanType(), True), - StructField("statusRecebeBeneficio", BooleanType(), True), - StructField("statusSituacaoRua", BooleanType(), True), - StructField("statusTemAcessoHigienePessoalSituacaoRua", BooleanType(), True), - StructField("statusVisitaFamiliarFrequentemente", BooleanType(), True), - StructField("tempoSituacaoRua", StringType(), True), - StructField("nomeSocial", StringType(), True), - StructField("municĂpio", StringType(), True), - StructField("dataNascimentoCidadao", DateType(), True), - StructField("emailCidadao", StringType(), True), - StructField("nacionalidadeCidadao", StringType(), True), - StructField("nomeCidadao", StringType(), True), - StructField("nomeMaeCidadao", StringType(), True), - StructField("cnsCidadao", LongType(), True), - StructField("cnsResponsavelFamiliar", LongType(), True), - StructField("telefoneCelular", StringType(), True), - StructField("numeroNisPisPasep", LongType(), True), - StructField("paisNascimento", StringType(), True), - StructField("racaCorCidadao", StringType(), True), - StructField("sexoCidadao", StringType(), True), - StructField("statusEhResponsavel", BooleanType(), True), - StructField("etnia", StringType(), True), - StructField("nomePaiCidadao", StringType(), True), - StructField("desconheceNomePai", BooleanType(), True), - StructField("dtNaturalizacao", DateType(), True), - StructField("portariaNaturalizacao", StringType(), True), - StructField("dtEntradaBrasil", DateType(), True), - StructField("microarea", LongType(), True), - StructField("stForaArea", BooleanType(), True), - StructField("cpfCidadao", StringType(), True), - StructField("cpfResponsavelFamiliar", StringType(), True), - StructField("deficienciasCidadao", ArrayType(StringType()), True), - StructField("grauInstrucaoCidadao", StringType(), True), - StructField("ocupacao", StringType(), True), - StructField("orientacaoSexualCidadao", StringType(), True), - StructField("relacaoParentescoCidadao", StringType(), True), - StructField("situacaoMercadoTrabalhoCidadao", StringType(), True), - StructField("statusDesejaInformarOrientacaoSexual", BooleanType(), True), - StructField("statusFrequentaBenzedeira", BooleanType(), True), - StructField("statusFrequentaEscola", BooleanType(), True), - StructField("statusMembroPovoComunidadeTradicional", BooleanType(), True), - StructField("statusParticipaGrupoComunitario", BooleanType(), True), - StructField("statusPossuiPlanoSaudePrivado", BooleanType(), True), - StructField("statusTemAlgumaDeficiencia", BooleanType(), True), - StructField("identidadeGeneroCidadao", StringType(), True), - StructField("statusDesejaInformarIdentidadeGenero", BooleanType(), True), - StructField("responsavelPorCrianca", StringType(), True), - StructField("coPovoComunidadeTradicional", StringType(), True), + StructField("condicoesDeSaude", StructType([ + StructField("descricaoCausaInternacaoEm12Meses", StringType(), True), + StructField("descricaoOutraCondicao1", StringType(), True), + StructField("descricaoOutraCondicao2", StringType(), True), + StructField("descricaoOutraCondicao3", StringType(), True), + StructField("descricaoPlantasMedicinaisUsadas", ArrayType(StringType()), True), + StructField("doencaRespiratoria", ArrayType(StringType()), True), + StructField("doencaRins", ArrayType(StringType()), True), + StructField("maternidadeDeReferencia", StringType(), True), + StructField("situacaoPeso", StringType(), True), + StructField("statusEhDependenteAlcool", BooleanType(), True), + StructField("statusEhDependenteOutrasDrogas", BooleanType(), True), + StructField("statusEhFumante", BooleanType(), True), + StructField("statusEhGestante", BooleanType(), True), + StructField("statusEstaAcamado", BooleanType(), True), + StructField("statusEstaDomiciliado", BooleanType(), True), + StructField("statusTemDiabetes", BooleanType(), True), + StructField("statusTemDoencaRespiratoria", BooleanType(), True), + StructField("statusTemHanseniase", BooleanType(), True), + StructField("statusTemHipertensaoArterial", BooleanType(), True), + StructField("statusTemTeveCancer", BooleanType(), True), + StructField("statusTemTeveDoencasRins", BooleanType(), True), + StructField("statusTemTuberculose", BooleanType(), True), + StructField("statusTeveAvcDerrame", BooleanType(), True), + StructField("statusTeveDoencaCardiaca", BooleanType(), True), + StructField("statusTeveInfarto", BooleanType(), True), + StructField("statusTeveInternadoem12Meses", BooleanType(), True), + StructField("statusUsaOutrasPraticasIntegrativasOuComplementares", BooleanType(), True), + StructField("statusUsaPlantasMedicinais", BooleanType(), True), + StructField("statusDiagnosticoMental", StringType(), True) + ]), True), + StructField("emSituacaoDeRua", StructType([ + StructField("grauParentescoFamiliarFrequentado", StringType(), True), + StructField("higienePessoalSituacaoRua", ArrayType(StringType()), True), + StructField("origemAlimentoSituacaoRua", ArrayType(StringType()), True), + StructField("outraInstituicaoQueAcompanha", StringType(), True), + StructField("quantidadeAlimentacoesAoDiaSituacaoRua", StringType(), True), + StructField("statusAcompanhadoPorOutraInstituicao", BooleanType(), True), + StructField("statusPossuiReferenciaFamiliar", BooleanType(), True), + StructField("statusRecebeBeneficio", BooleanType(), True), + StructField("statusSituacaoRua", BooleanType(), True), + StructField("statusTemAcessoHigienePessoalSituacaoRua", BooleanType(), True), + StructField("statusVisitaFamiliarFrequentemente", BooleanType(), True), + StructField("tempoSituacaoRua", StringType(), True) + ]), True), + StructField("identificacaoUsuarioCidadao", StructType([ + StructField("nomeSocial", StringType(), True), + StructField("municĂpio", StringType(), True), + StructField("dataNascimentoCidadao", DateType(), True), + StructField("emailCidadao", StringType(), True), + StructField("nacionalidadeCidadao", StringType(), True), + StructField("nomeCidadao", StringType(), True), + StructField("nomeMaeCidadao", StringType(), True), + StructField("cnsCidadao", LongType(), True), + StructField("cnsResponsavelFamiliar", LongType(), True), + StructField("telefoneCelular", StringType(), True), + StructField("numeroNisPisPasep", LongType(), True), + StructField("paisNascimento", StringType(), True), + StructField("racaCorCidadao", StringType(), True), + StructField("sexoCidadao", StringType(), True), + StructField("statusEhResponsavel", BooleanType(), True), + StructField("etnia", StringType(), True), + StructField("nomePaiCidadao", StringType(), True), + StructField("desconheceNomePai", BooleanType(), True), + StructField("dtNaturalizacao", DateType(), True), + StructField("portariaNaturalizacao", StringType(), True), + StructField("dtEntradaBrasil", DateType(), True), + StructField("microarea", LongType(), True), + StructField("stForaArea", BooleanType(), True), + StructField("cpfCidadao", StringType(), True), + StructField("cpfResponsavelFamiliar", StringType(), True) + ]), True), + StructField("InformacoesSocioDemograficas", StructType([ + StructField("deficienciasCidadao", ArrayType(StringType()), True), + StructField("grauInstrucaoCidadao", StringType(), True), + StructField("ocupacao", StringType(), True), + StructField("orientacaoSexualCidadao", StringType(), True), + StructField("relacaoParentescoCidadao", StringType(), True), + StructField("situacaoMercadoTrabalhoCidadao", StringType(), True), + StructField("statusDesejaInformarOrientacaoSexual", BooleanType(), True), + StructField("statusFrequentaBenzedeira", BooleanType(), True), + StructField("statusFrequentaEscola", BooleanType(), True), + StructField("statusMembroPovoComunidadeTradicional", BooleanType(), True), + StructField("statusParticipaGrupoComunitario", BooleanType(), True), + StructField("statusPossuiPlanoSaudePrivado", BooleanType(), True), + StructField("statusTemAlgumaDeficiencia", BooleanType(), True), + StructField("identidadeGeneroCidadao", StringType(), True), + StructField("statusDesejaInformarIdentidadeGenero", BooleanType(), True), + StructField("responsavelPorCrianca", StringType(), True), + StructField("coPovoComunidadeTradicional", StringType(), True) + ]), True), StructField("statusTermoRecusaCadastroIndividualAtencaoBasica", BooleanType(), True), - StructField("motivoSaidaCidadao", StringType(), True), - StructField("dataObito", DateType(), True), - StructField("numeroDO", StringType(), True) + StructField("saidaCidadaoCadastro", StructType([ + StructField("motivoSaidaCidadao", StringType(), True), + StructField("dataObito", DateType(), True), + StructField("numeroDO", StringType(), True) + ]), True) ])