Project

General

Profile

Bug #171

Etiquetas

Added by Jorge Luiz da Rocha over 12 years ago. Updated over 12 years ago.

Status:
Closed
Priority:
High
Target version:
Start date:
09/28/2012
Due date:
% Done:

0%

Componente:
Casos

Description

Como a etiqueta está atrelada a um caso, cada instituição só deveria ver as etiquetas relacionadas aos seus casos. Hoje a visão das etiquetas é geral, mesmo que não abram as que são relacionadas a outras casos de outras unidades.
Confunde muito e não dá a especificidade que queremos.
Se o usuário tem a visão somente da sua instituição, só deveria ver as etiquetas dos seus casos.
Se o usuário tiver a visão do Estado, vê as etiquetas de todos os casos do seu Estado, assim sucessivamente.

2_124828.000000screenshot.png (27.6 KB) Ricardo Memoria, 11/24/2012 12:50 PM

2_124602.000000screenshot.png (20.2 KB) Ricardo Memoria, 11/24/2012 12:50 PM

60
61

History

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

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

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

  • Status changed from In Progress to Feedback

Ricardo,

Analisei o problema e conclui que o sistema até distingue (ou tenta) a visão do usuario, porém no casesquery (quando exibe a lista de casos) a condição é uma (onde ele considera a unidade de notificação e a unidade dona do caso) e no casestatereport (onde ele gera a quantidade para varias situações, inclusive das tags) a condição é outra (onde ele considera somente a unidade dona do caso) E isso causa uma diferença em algumas tags, exibindo uma quantidade no cases/index.xhtml e outra quantidade na lista (searchresult.xhtml)...

Afinal, qual das duas regras esta correta?

Concluí isso com base nas seguintes consultas realizadas pelo sistema:

-- Select que retorna o numero de casos de cada tag
select
t.id,
t.tag_name,
t.sqlCondition is null,
t.consistencyCheck,
count(*)
from
tags_case tc
inner join
tag t
on t.id = tc.tag_id
inner join
tbcase c
on c.id=tc.case_id
inner join
tbunit u
on u.id = c.owner_unit_id
inner join
administrativeunit a
on a.id = u.adminunit_id
where
t.workspace_id = 1
and (
a.code like '00409C%' -- unidade dona do caso
)
group by
t.id,
t.tag_name
order by
t.tag_name;

-- CasesQuery, retorna a lista de casos com base no tags_case (tag_id passado como parametro
select
patient1_.PATIENT_NAME as col_0_0_,
tbcasebr0_1_.age as col_1_0_,
patient1_.gender as col_2_0_,
patient1_.recordNumber as col_3_0_,
tbcasebr0_1_.caseNumber as col_4_0_,
tbcasebr0_1_.iniTreatmentDate as col_5_0_,
tbcasebr0_1_.registrationDate as col_6_0_,
tbunit2_.name1 as col_7_0_,
administra3_.name1 as col_8_0_,
administra3_.code as col_9_0_,
tbcasebr0_.id as col_10_0_,
tbcasebr0_1_.endTreatmentDate as col_11_0_,
tbcasebr0_1_.state as col_12_0_,
tbcasebr0_1_.classification as col_13_0_,
patient1_.middleName as col_14_0_,
patient1_.lastName as col_15_0_,
tbcasebr0_1_.validationState as col_16_0_,
tbcasebr0_1_.registrationCode as col_17_0_,
tbcasebr0_1_.diagnosisType as col_18_0_,
patient1_.birthDate as col_19_0_,
tbcasebr0_1_.diagnosisDate as col_20_0_,
tbcasebr0_1_.outcomeDate as col_21_0_
from
casedatabr tbcasebr0_
inner join
tbcase tbcasebr0_1_
on tbcasebr0_.id=tbcasebr0_1_.id
inner join
patient patient1_
on tbcasebr0_1_.PATIENT_ID=patient1_.id
inner join
tbunit tbunit2_
on tbcasebr0_1_.NOTIFICATION_UNIT_ID=tbunit2_.id
inner join
administrativeunit administra3_
on tbcasebr0_1_.NOTIF_ADMINUNIT_ID=administra3_.id,
tbunit tbunit4_,
administrativeunit administra5_,
administrativeunit administra6_
where
tbcasebr0_1_.OWNER_UNIT_ID=tbunit4_.id -- unidade dona do caso
and tbunit4_.ADMINUNIT_ID=administra5_.id
and tbunit2_.ADMINUNIT_ID=administra6_.id -- unidade de notificação
and (
administra5_.code like '00409C%'
or administra6_.code like '00409C%'
)
and (
tbcasebr0_1_.classification in (
0, 1 , 2
)
)
and patient1_.WORKSPACE_ID=1
and (
exists (
select
tag8_.id
from
tags_case tags7_,
tag tag8_
where
tbcasebr0_.id=tags7_.CASE_ID
and tags7_.TAG_ID=tag8_.id
and tag8_.id=72
)
)
order by
patient1_.recordNumber,
tbcasebr0_1_.caseNumber

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

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

#4 Updated by Ricardo Memoria over 12 years ago

60
61

Já corrigi o problema da visão do usuário na tela principal.

Para usuários com visão País ou Estado, a página inicial é esta abaixo:

E quando o usuário de visão País ou Estado clicar no link da instituição, OU quando o usuário tiver apenas visão da unidade, a página exibida será apenas as dos casos em tratamento, onde serão exibidas apenas as tags, validações e estados do caso da instituição do usuário:

Também andei mexendo no CaseQuery para exibição das pesquisas dos casos, mas em algumas situações está dando divergência (é preciso ver com calma, mas é assunto para outra ocorrência).

#5 Updated by Ricardo Memoria over 12 years ago

  • Status changed from Feedback to Resolved

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

  • Status changed from Resolved to Closed

Also available in: Atom PDF