Project

General

Profile

Bug #54

Inconsistencia na movimentação de medicamentos [EMAIL]

Added by Maurício Dos Santos almost 13 years ago. Updated over 12 years ago.

Status:
Closed
Priority:
Normal
Target version:
Start date:
09/19/2012
Due date:
% Done:

100%

Componente:
Medicamentos

Description

CRISTIANE

MENSAGEM DE MONICA
Bom dia!
Preciso de orientaçaõ quanto ao site Tb.Mais uma fez recorro a voces para corrigir no sistema falhas na digitação. Percebi que em julho aparece no movimento saida de medicação duas vezes na data de 06/07/2012, foi lançada saida do medicamento para paciente gilberto e excluido em seguida foi lançada a saida correta, mas no movimento permanece as duas saidas sendo assim o estoque nao confere, pois lança duas vezes a mesma medicação, quando confiro por paciente a dipensação esta correta. so no movimento é que permanece, tem alguma forma de excluir no movimento tambem?
aguardo orientações
Bom final de semana
Monica

MENSAGEM DE CRISTIANE

Conferi e realmente ela excluiu nos registros de dispensação, porém no movimento de medicamentos a saída continua registrada. Seria um erro do sistema? Podem me ajudar?


Subtasks

Bug #136: Exclusão de lote vencidoClosedMaurício Dos Santos

History

#1 Updated by Ricardo Memoria almost 13 years ago

  • Target version deleted (Version 2.1)

#2 Updated by Maurício Dos Santos over 12 years ago

Realizei uma dispensação e exclui, e a movimentação também foi excluida.... Portanto, a principio, nao consegui reproduzir o problema.

O problema em questao é uma dispensação do Gilberto Gonçalves no dia 06/07/2012 que foi excluida.

#3 Updated by Maurício Dos Santos over 12 years ago

  • Tracker changed from Feature to Bug
  • Status changed from New to In Progress

#4 Updated by Maurício Dos Santos over 12 years ago

testes realizados:
-------------
Passos para a excessão 01 - Mesmo Paciente, Mesmo Dia
1- Lançar uma dispensação para um determinado paciente em um determinado dia
2- Lançar outra para o mesmo paciente e mesmo dia
3- Excluir a unica que é exibida pelo sistema (ultima) - movimentação excluida - ok
4- O sistema não exibe a primeira dispensação para edição ou exclusão, mas mantem o movimento, portanto nao permite excluir uma dispensação que não é exibida.

--------------
Passos para a excessão 02 - Mesmo Paciente, Dia diferente
1- Lançar uma dispensação para um determinado paciente em um determinado dia
2- Lançar outra para o mesmo paciente em um outro dia (usei um dia do mesmo mes do dia usado na dispensação anterior)
3- Excluir a dispensação de um dia - movimentação excluida - ok
4- Excluir a dispensação de outro dia - movimentação excluida - ok

--------------
Passos para a excessão 03 - Paciente diferente, Mesmo Dia
1- Lançar uma dispensação para um determinado paciente em um determinado dia
2- Lançar outra para outro paciente no mesmo dia
3- Excluir a dispensação de um dia - movimentação excluida - ok
4- Excluir a dispensação de outro dia - movimentação excluida - ok

--------------
Passos para a excessão 04 - Paciente diferente, Dia Diferente
1- Lançar uma dispensação para um determinado paciente em um determinado dia
2- Lançar outra para outro paciente no mesmo dia
3- Excluir a dispensação de um dia - movimentação excluida - ok
4- Excluir a dispensação de outro dia - movimentação excluida - ok

#5 Updated by Maurício Dos Santos over 12 years ago

Foi criada uma validação que não permite ao usuario adicionar uma nova dispensação quando ja existe uma para tal usuario e tal data...

#6 Updated by Maurício Dos Santos over 12 years ago

  • Assignee changed from Maurício Dos Santos to Ricardo Memoria

Ricardo,

Estava tentando fazer o script que resolveria as inconsistencias no BD mas estou com um problema.
Não consigo identificar qual batch de determinado medicine devo alterar, portanto acredito que a melhor opção seja mostrar à Cris quais movimentos são inconsistentes e pedir a ela que faça um ajuste no estoque...

O script que resulta nos moviments inconsistentes é esse:

select m.id, u.name1, m.mov_date, m.recordDate, me.name1, m.quantity
from movement m
inner join tbunit u on u.id = m.unit_id
inner join medicine me on me.id = m.medicine_id
where m.type = 3
and m.id not in (select movement_id from movements_dispensing);

O que acha?

#7 Updated by Maurício Dos Santos over 12 years ago

  • Assignee changed from Ricardo Memoria to Maurício Dos Santos

Erro meu, encontrei a tabela batchmovement

#8 Updated by Maurício Dos Santos over 12 years ago

Ricardo,

Com esse script pude perceber que há casos que o mesmo movement se relaciona com dois ou mais batches, nesses casos em qual dos batchs eu faço a alteração no batch quantity?

select m.id, bm.batch_id from movement m
inner join batchmovement bm on m.id = bm.movement_id
where m.type = 3 and m.id not in (select movement_id from movements_dispensing);

Acho que as opções são escolher um deles aleatoriamente e sinalizar a cris para analisar e fazer um ajuste ou pedir que a cris diga quanto tem em cada batchquantity problematico desse e faço em cada um na mão, afinal não são muitos...

#9 Updated by Maurício Dos Santos over 12 years ago

  • Assignee changed from Maurício Dos Santos to Ricardo Memoria

#10 Updated by Maurício Dos Santos over 12 years ago

  • Status changed from In Progress to Resolved

#11 Updated by Cristiane Angeli David over 12 years ago

Maurício,

Testei e o sistema realmente não permite mais dispensar para o mesmo paciente no mesmo dia. Porém, sugiro que, ao invés do sistema emitir aquele aviso quando o usuário clicar em "salvar" que ele emita o aviso assim que o usuário selecionar a data em que já exista uma dispensação. Achei um novo BUG, vou registrar uma nova tarefa.

O resto está ok. Conferi os lotes dispensados e quantidades com o movimento de medicamentos e está ok.

Maurício Dos Santos wrote:

Ricardo,

Com esse script pude perceber que há casos que o mesmo movement se relaciona com dois ou mais batches, nesses casos em qual dos batchs eu faço a alteração no batch quantity?

select m.id, bm.batch_id from movement m
inner join batchmovement bm on m.id = bm.movement_id
where m.type = 3 and m.id not in (select movement_id from movements_dispensing);

Acho que as opções são escolher um deles aleatoriamente e sinalizar a cris para analisar e fazer um ajuste ou pedir que a cris diga quanto tem em cada batchquantity problematico desse e faço em cada um na mão, afinal não são muitos...

#12 Updated by Maurício Dos Santos over 12 years ago

  • Status changed from Resolved to Closed

#13 Updated by Maurício Dos Santos over 12 years ago

  • Assignee changed from Ricardo Memoria to Maurício Dos Santos

Also available in: Atom PDF