| Data de elaboração |
11/09/2023 |
|---|---|
| Responsável pelo estudo |
Raissa Sousa Stodulski |
| Equipe do estudo |
Time TambaKiss |
| Alvo |
Perícia Médica |
| Origem |
Objetivo estratégico, para identificar o impacto da migração de dados de produção para a nova base. |
| Objetivo |
Com a análise do impacto, definir alterações estruturais ou tratamentos a serem realizados a fim melhorar a migração. |
| Documentação correlata (opcional) | |
| Observações |
Já foi realizado a execução das instruções nos ambientes de dev e stage. |
O sistema de Perícia Médica é o sistema responsável pelo controle, elaboração e compartilhamento de atas e laudos realizados por peritos médicos do CEPEM. Diante da necessidade de realizar a migração de dados de produção para a nova base, foi necessário analisar o impacto que a mesma acarretaria.
Após uma análise realizada, foi levantado as seguintes informações.
| Novo Perícia - Tabela 1/8 | |||||
|---|---|---|---|---|---|
| Tabela | Campo | Tipo | Tamanho | Nullable? | Valor |
| Atendimentos | Id | uniqueidentifier | 16 | no | NEWID() |
| AgendamentoId | uniqueidentifier | 16 | no | Fazer SELECT utilizando o campo COD_AGENDAMENTO | |
| AtendimentoResultadoPericialId | uniqueidentifier | 16 | yes | Criar registro via INSERT | |
| AtendimentoAnalisePericialId | uniqueidentifier | 16 | yes | Criar registro via INSERT | |
| AtendimentoAtaId | uniqueidentifier | 16 | yes | Criar registro via INSERT | |
| AtendimentoLaudoId | uniqueidentifier | 16 | yes | Criar registro via INSERT | |
| AtendimentoObservacaoId | uniqueidentifier | 16 | yes | Criar registro via INSERT | |
| FinalidadeDaLicencaId | int | 4 | no | CASE WHEN utilizando o campo IND_FINALIDADE_LICENCA | |
| COD_ATENDIMENTO | bigint | 8 | yes | COD_ATENDIMENTO | |
| AtaId | uniqueidentifier | 16 | yes | NULL | |
| Novo Perícia - Tabela 2/8 | |||||
|---|---|---|---|---|---|
| Tabela | Campo | Tipo | Tamanho | Nullable? | Valor |
| AtendimentoAnalisePericiais | Id | uniqueidentifier | 16 | no | NEWID() |
| CorrelacaoQueixaAchados | nvarchar | 2000 | yes | TXT_NITIDA_REL_ENTRE_QUEIXAS | |
| NexoCausal | nvarchar | 2000 | yes | TXT_NEXO_CASUAL_ENTRE_ATIV | |
| Incapacidade | bit | 1 | no | LEN(COALESCE(IncapacidadeDetalhes , '')) > 0 | |
| IncapacidadeDetalhes (campo criado via Script) | nvarchar | 2000 | yes | Utilizado script que concatena os campos: TXT_HA_INCAPAC_LABO_PACIAL, TXT_HA_INCAPAC_LABO_TOTAL, IND_NIVEL_DE_CAPAC, IND_CAPAC_PROFIS, TXT_DESC_INCAP_UNI_MULTI_PROF, TXT_DESC_INCAP_OMNI_PROF, IND_HA_INCAPAC_LABO | |
| COD_ANALISE_PERICIAL | bigint | 8 | yes | COD_ANALISE_PERICIAL | |
| Novo Perícia - Tabela 3/8 | |||||
|---|---|---|---|---|---|
| Tabela | Campo | Tipo | Tamanho | Nullable? | Valor |
| AtendimentoAtas | Id | uniqueidentifier | 16 | no | NEWID() |
| Anamnese | nvarchar | 2000 | yes | TXT_ANAMNESE | |
| InspecaoGeral | nvarchar | 2000 | yes | TXT_INSPECAO_GERAL | |
| AparelhoCirculatorio | nvarchar | 2000 | yes | TXT_AP_CIRCULATORIO | |
| AparelhoRespiratorio | nvarchar | 2000 | yes | TXT_AP_RESPIRATORIO | |
| AparelhoDigestivo | nvarchar | 2000 | yes | TXT_AP_DIGESTIVO | |
| AparelhoGenitoUrinario | nvarchar | 2000 | yes | TXT_AP_G_URINARIO | |
| SistemasOsteomuscularELigacoes | nvarchar | 2000 | yes | TXT_SIST_OST_LIG | |
| SistemaEndocrino | nvarchar | 2000 | yes | TXT_SIST_ENDOCRINO | |
| SistemaNeurologico | nvarchar | 2000 | yes | TXT_SIST_NEUROLOGICO | |
| ExameMental | nvarchar | 2000 | yes | TXT_EX_MENTAL | |
| ExameOftalmologico | nvarchar | 2000 | yes | TXT_EX_OF_FO | |
| ExameOtorrino | nvarchar | 2000 | yes | TXT_EX_OTORRINO | |
| ExamesRealizados | nvarchar | 2000 | yes | TXT_AP_REALIZADO | |
| COD_ATA | bigint | 8 | yes | COD_ATA | |
| Novo Perícia - Tabela 4/8 | |||||
|---|---|---|---|---|---|
| Tabela | Campo | Tipo | Tamanho | Nullable? | Valor |
| AtendimentoLaudos | Id | uniqueidentifier | 16 | no | NEWID() |
| COD_LAUDO | bigint | 8 | yes | COD_LAUDO | |
| Anamnese | nvarchar | 2000 | yes | TXT_ANAMNESE | |
| Conclusao | nvarchar | 3000 | yes | TXT_CONCLUSAO | |
| Observacao | nvarchar | 3000 | yes | TXT_OBS | |
| Artigo | nvarchar | 20 | yes | ARTIGO | |
| Paragrafo | nvarchar | 20 | yes | PARAGRAFO | |
| Lei | nvarchar | 40 | yes | LEI | |
| AlienacaoMental | bit | 1 | no | IND_ALIENACAO_MENTAL | |
| CardiopatiaGrave | bit | 1 | no | IND_CARDIOPATIA_GRAVE | |
| Cegueira | bit | 1 | no | IND_CEGUEIRA | |
| ContaminacaoPorRadiacao | bit | 1 | no | IND_CONTAMIC_RADIACAO | |
| DoencaDeParkinson | bit | 1 | no | IND_DOENÇA_PARKINSON | |
| EscleroseMultipla | bit | 1 | no | IND_ESCLEROSE_MULTIPLA | |
| EspondiloartroseAnquilosante | bit | 1 | no | IND_ESPODILO_ARTROSE_ANQUIL | |
| EstadosAvancadosDaDoencaDePaget | bit | 1 | no | IND_ESTADO_AVANC_DOENCA_PAGET | |
| FibroseCistica | bit | 1 | no | IND_FIBROSE_CISTICA | |
| Hanseniase | bit | 1 | no | IND_HANSENIASE | |
| Hepatopatia | bit | 1 | no | IND_HEPATOPATIA | |
| HistoricoClinico | nvarchar | 2000 | yes | TXT_HIST_CLINICA | |
| MolestiaProfissional | bit | 1 | no | IND_MOLESTIA_PROFISSIONAL | |
| NefropatiaGrave | bit | 1 | no | IND_NEFROPATIA_GRAVE | |
| NeoplasiaMaligna | bit | 1 | no | IND_NEOPLASIA_MALIGNA | |
| ParalisiaIrreversivelEIncapacitante | bit | 1 | no | IND_PARAL_IRREVERS_E_INCAPAC | |
| PassivelDeControle | bit | 1 | no | IND_DOENCA_PASSIVEL_CONTROLE | |
| PortadorDesde | datetime2 | 8 | yes | DATA_PORTADOR | |
| SindromeDaImunodeficienciaAdquirida | bit | 1 | no | IND_SINDROME_IMUNODEFIC_ADQU | |
| TuberculoseAtiva | bit | 1 | no | IND_TUBERCULOSE_ATIVA | |
| CondicoesDeReadaptacao | nvarchar | 3000 | yes | Campo de onde puxar informação não encontrado | |
| PrazoDeReadaptacao | nvarchar | 3000 | yes | Campo de onde puxar informação não encontrado | |
| Novo Perícia - Tabela 5/8 | |||||
|---|---|---|---|---|---|
| Tabela | Campo | Tipo | Tamanho | Nullable? | Valor |
| AtendimentoObservacoes | Id | uniqueidentifier | 16 | no | NEWID() |
| COD_OBSERVACAO | bigint | 8 | yes | COD_OBSERVACAO | |
| QueixaPrincipal | nvarchar | 2000 | yes | TXT_QUEIXA_PRINCIPAL | |
| HistoricoClinico | nvarchar | 2000 | yes | TXT_HIST_MOLESTIA_ATUAL | |
| Atribuicoes | nvarchar | 2000 | yes | TXT_ATRIBUICOES_SERVIDOR | |
| Dificuldades | nvarchar | 2000 | yes | TXT_DIFICULDADE_APRESENTADA | |
| DiagnosticoEtiologico | nvarchar | 2000 | yes | TXT_DIAGNOSTICO_ETIOLOGICO | |
| ExamesComplementares | nvarchar | 2000 | yes | TXT_EXAME_COMPLEMENTAR | |
| LaudoDescritivo | nvarchar | 2000 | yes | TXT_LAUDO_DESCRITIVO | |
| AmbienteDeTrabalho | nvarchar | 2000 | yes | TXT_AMBIENTE_TRABALHO | |
| OutrasInformacoes | nvarchar | 2000 | yes | TXT_OUTRA_INFORMACAO | |
| DiagnosticoSindromico | nvarchar | 2000 | yes | TXT_DIAGNOSTICO_SINDROMICO | |
| Novo Perícia - Tabela 6/8 | |||||
|---|---|---|---|---|---|
| Tabela | Campo | Tipo | Tamanho | Nullable? | Valor |
| AtendimentoResultadosPericiaisCids | Id | uniqueidentifier | 16 | no | NEWID() |
| COD_ATENDIMENTO_CID | bigint | 8 | yes | COD_ATENDIMENTO_CID | |
| COD_ATENDIMENTO | bigint | 8 | yes | COD_ATENDIMENTO | |
| CidId | uniqueidentifier | 16 | no | SELECT utilizando o campo COD_CID | |
| AtendimentoResultadoPericialId | uniqueidentifier | 16 | no | Criar registro via INSERT | |
| Novo Perícia - Tabela 7/8 | |||||
|---|---|---|---|---|---|
| Tabela | Campo | Tipo | Tamanho | Nullable? | Valor |
| AtendimentosResultadosPericiais | Id | uniqueidentifier | 16 | no | NEWID() |
| COD_RESULTADO_PERICIAL | bigint | 8 | yes | COD_RESULTADO_PERICIAL | |
| COD_ATENDIMENTO | bigint | 8 | yes | COD_ATENDIMENTO | |
| TipoDeLicencaId | uniqueidentifier | 16 | no | SELECT utilizando o campo COD_TIPO_LICENCA | |
| TipoDeConclusao | nvarchar | 100 | no | IND_CONCLUSAO_TIPO | |
| DataDeEmissao | datetime2 | 8 | no | DAT_EMISSAO | |
| PeriodoInicial | datetime2 | 8 | no | DAT_PERIODO_INICIAL | |
| NumeroDeDias | nvarchar | -1 | yes | NUM_DE_DIAS | |
| Observacoes | nvarchar | 1400 | yes | TXT_OBS | |
| AposentadoPorInvalidez | bit | 1 | no | IND_APOSENT_POR_INVALIDE | |
| DeficienciaIrreversivel | bit | 1 | no | IND_DEFIC_IREVERSIVEL | |
| Provento | nvarchar | 40 | yes | IND_PROVENTOS | |
| Funcao | nvarchar | 120 | yes | IND_FUNCAO | |
| Novo Perícia - Tabela 8/8 | |||||
|---|---|---|---|---|---|
| Tabela | Campo | Tipo | Tamanho | Nullable? | Valor |
| Dependentes | Id | uniqueidentifier | 16 | no | NEWID() |
| COD_SEGURADO_DEPENDENTE | bigint | 8 | yes | COD_SEGURADO_DEPENDENTE | |
| Nome | nvarchar | 300 | no | NOM_DEPENDENTE | |
| Cpf | nvarchar | 22 | no | 'Não informado' | |
| DataDeNascimento | datetime2 | 8 | no | DAT_NASCIMENTO | |
| Estudante | bit | 1 | no | IND_ESTUDANTE | |
| Invalido | bit | 1 | no | IND_ESTUDANTE | |
| AgendamentoId | uniqueidentifier | 16 | yes | SELECT utilizando o campo COD_ATENDIMENTO | |
Após a importação dos agendamentos, foi identificado que não será necessário alterações estruturais e já foi realizado o tratamento/formatação dos dados (que precisaram) na própria instrução.
Concluímos que a nível de atendimentos, a importação deve ocorrer sem impedimentos. Porém, na planilha foi identificado que há atendimentos com alguns dados não informados e foi inseridos registros nas tabelas como «não informado» ao salvar no novo banco. Foi necessário duplicar registros devido aos nossos relacionamentos das tabelas serem 1:1 enquanto as deles 1:N. A complexidade e esforço para elaborar as instruções foi bem maior que o esperado mas utilizado as querys prontas juntamente com o DE-PARA contido neste estudo, deve ficar claro as ações realizadas dentro de cada query.