Darius --
     Wouldn't it make sense at the same time to make privilege a standard 
OpenMRS data object?  At present, it does not have an integer id field or audit 
info.
Saludos, Roger

From: dev@openmrs.org [mailto:dev@openmrs.org] On Behalf Of Darius Jazayeri
Sent: Thursday, May 17, 2012 5:24 PM
To: openmrs-deve...@listserv.iupui.edu
Subject: Re: [OPENMRS-DEV] [OPENMRS-IMPLEMENTERS] Roles and Privileges Sprint

(Sending to the dev list, since my reply is more dev-focused.)

This makes a lot of sense to me, both as a use case, and as a way to approach 
it.

At first thought, it seems to me that the following would be pretty easy to 
implement:

  *   Add two properties to EncounterType: viewPrivilege and editPrivilege
  *   in the db those would be encounter_type.view_privilege and edit_privilege 
(varchar references privilege)
  *   The encounters dashboard tab would need to respect viewPrivilege when 
deciding what encounters to display

     *   can we build this into the paged hibernate query we're using, though?

  *   Same goes for the visits dashboard tab
  *   Same goes for the encounter search widget, and the manage encounters 
admin page
Assuming the hibernate query is tractable, and assuming people generally agree 
with this design, I could see this fitting into the sprint...

-Darius

On Thu, May 17, 2012 at 1:52 PM, James Arbaugh 
<jarba...@hashaiti.org<mailto:jarba...@hashaiti.org>> wrote:
Hi All!

I have commented on TRUNK-3361<https://tickets.openmrs.org/browse/TRUNK-3361> 
and had a short call with Darius to explain the use-case that we are trying to 
solve.  It has more to do with requiring permissions for viewing/editing 
encounters than it does to what users can fill out a given form. So, after a 
form has already been filled out (which we'll called an encounter at that point 
and is shown under the encounter/visit tab on the dashboard).  Who has 
permissions to view it and/or edit it?  So for example, we need to limit the 
viewing/editing of Blood Bank  encounters to only users of the Blood Bank.  And 
we need to limit the editing of Lab encounters to only Lab Technicians, but 
they can be viewable by doctors.  And we need to limit the editing of surgery 
encounters by Surgery data entry clerks and surgeons, but all doctors can view 
them.  If a user isn't going to be able to view/edit the contents then it need 
not appear in the list of encounters.

The view and edit role and/or privileges could be implemented on the Edit 
Encounter Type page rather than on the Edit Form page.  The consideration of 
doing it on the Edit Form page instead would be if someone needed to limit 
viewing/editing of forms in the case of different forms that use the same type 
of encounter.

Thanks for your patience and willingness to help make this needed functionality 
a reality.

Thanks,
James

From: implement...@openmrs.org<mailto:implement...@openmrs.org> 
[mailto:implement...@openmrs.org<mailto:implement...@openmrs.org>] On Behalf Of 
Darius Jazayeri
Sent: Wednesday, May 16, 2012 7:09 PM

To: 
openmrs-implemen...@listserv.iupui.edu<mailto:openmrs-implemen...@listserv.iupui.edu>
Subject: Re: [OPENMRS-IMPLEMENTERS] Roles and Privileges Sprint

Hi Implementers and Devs,

James has been pushing for TRUNK-1640 to be included in next week's sprint (and 
I don't blame him--it has 6 votes!). But on today's design call, we looked at 
the proposed solution in that ticket, and we're not comfortable introducing it 
into the codebase with the given design.

In particular, it wants to create a form_role table that links forms to the 
roles that are allowed to enter/edit them.

Instead, we have a counter-proposal, which I've ticketed at 
TRUNK-3361<https://tickets.openmrs.org/browse/TRUNK-3361>. Instead we would add 
a form.entry_privilege column, so a sysadmin can create a privilege for 
entering a particular form, and assign it to whatever role or roles they choose.

James & others: would this solve your use case? If possible please comment on 
the ticket. (I'm emailing this to both the implementers and dev lists, so you 
won't all necessarily get each others replies.)

https://tickets.openmrs.org/browse/TRUNK-3361

-Darius

On Wed, May 16, 2012 at 3:12 PM, Ben Wolfe 
<b...@openmrs.org<mailto:b...@openmrs.org>> wrote:
Looking at it briefly TRUNK-1640 looks very similar to what is on slate for the 
gsoc project. Both are linked to forms, not to encounter types.

Ben

On Wed, May 16, 2012 at 5:41 PM, Daniel Kayiwa 
<kayiwadan...@gmail.com<mailto:kayiwadan...@gmail.com>> wrote:

Hi James,

We shall not deal with TRUNK-1640 during GSOC because it will broaden the scope 
more than what the student is expected to cover in that limited time.

However, i see it fitting in next week's Roles and Privileges Sprint.
So i think we could consider it as part of what we are going to deal with 
during that sprint.

What do others think?

On Mon, May 14, 2012 at 3:21 PM, James Arbaugh 
<jarba...@hashaiti.org<mailto:jarba...@hashaiti.org>> wrote:
Hi Darius,

Thanks for setting me straight.  I confused the "Restrict By Role Module" with 
the "Restrict By Encounter Type Module" by the HISP India group which would 
address the needs of TRUNK-1640.  We do NOT need the "Restrict By Role Module".

I recently added TRUNK-1640 as "Extra Credit" on the Filtering Forms on 
Dashboard Design Page because it's related. The GSoC main project is to limit 
which forms appear in the list of forms that can be filled out.  TRUNK-1640 is 
to limit which role is required for given encounter types to be viewed/edited.  
https://wiki.openmrs.org/display/docs/Jembi+Html+Form+Entry+Module
Roles Based Form Display
On the form designer, roles can be associated with forms. Roles associated with 
a form can either be associated as a "View" role or an "Edit" role (or the 
equivalent "Both" role). On the patient dashboard, if there are roles 
associated with a form, then the currently authenticated user must have the 
appropriate roles to view and/or edit a form.
Can we make TRUNK-1640 an official requirement for the GSoC project?  Or is 
that something that can be addressed through the Roles and Privileges Sprint?

Thanks,
James

From: implement...@openmrs.org<mailto:implement...@openmrs.org> 
[mailto:implement...@openmrs.org<mailto:implement...@openmrs.org>] On Behalf Of 
Darius Jazayeri

Sent: Thursday, May 10, 2012 7:19 PM
To: 
openmrs-implemen...@listserv.iupui.edu<mailto:openmrs-implemen...@listserv.iupui.edu>
Subject: Re: [OPENMRS-IMPLEMENTERS] Roles and Privileges Sprint

About filtering things by roles...

Filtering forms by roles and patient characteristics is a GSoC project this 
year (https://wiki.openmrs.org/x/OIW5AQ, student = Goutham Vasireddi) so we 
will not be working on that during the sprint. (But yes, we know it's highly 
voted and much awaited!)

The Restrict By 
Role<https://modules.openmrs.org/modules/view.jsp?module=restrictbyrole> module 
allows you to use Cohort Builder queries to limit the patients a given Role can 
see. As far as I know, this is the only published module that lets you limit 
the patients that particular users are allowed to see, although that's a 
frequently-requested feature. This was a very early module (from 2007), so the 
code is mediocre, it probably slows down your patient searches a lot, and the 
API has changed since then so it probably misses a lot of restrictions.

[The reason there aren't any other published modules doing this is that it's 
basically impossible to solve the problem generically in a performant way.)

So the question is: are there any implementers out there who would like to see 
us spend some developer cycles doing a modernized version of Restrict By Role? 
It would:

  *   let you restrict the patients that particular users/roles can see based 
on reporting module cohort queries (instead of cohort builder)
  *   cache query results so it slows things down less than the current module 
does
If there's interest, we can spend some cycles on this during the sprint. (And 
if not, not.)

-Darius

On Thu, May 10, 2012 at 3:22 PM, James Arbaugh 
<jarba...@hashaiti.org<mailto:jarba...@hashaiti.org>> wrote:
Greetings all!

One of our highest priorities should be the RestrictByRole module capability; 
the ability to specify which user roles can view/edit which encounters.  This 
is important to many based on the number of people that have voted (6) for the 
"Add roles-based form display feature ticket"...
https://tickets.openmrs.org/browse/TRUNK-1640
...which includes the ability to "filter form viewing and editing based on 
roles".

This is also something that comes up frequently on the mailing list and on 
OpenMRS Answers.
https://answers.openmrs.org/questions/585/a-way-to-set-role-privileges-to-specific-form-entry-forms

+1 on improving documentation

Thanks,
James

From: implement...@openmrs.org<mailto:implement...@openmrs.org> 
[mailto:implement...@openmrs.org<mailto:implement...@openmrs.org>] On Behalf Of 
Daniel Kayiwa
Sent: Thursday, May 10, 2012 5:22 PM
To: 
openmrs-implemen...@listserv.iupui.edu<mailto:openmrs-implemen...@listserv.iupui.edu>
Subject: [OPENMRS-IMPLEMENTERS] Roles and Privileges Sprint

Greetings to you all!!!



We are soon going to have a sprint on roles and privileges, during which we are 
thinking of dealing with the following topics:



1) Make it easy for an admin to see what privileges are needed to perform a 
sequence of actions.

2) Improve the page a user sees when they fail a privilege check.

3) Improve documentation on how to use privileges/roles and avoid pitfalls.

4) Implement Organizational Role as designed in this wiki page: 
https://wiki.openmrs.org/display/docs/Organizational+Roles



Do you feel the above topics address what the community needs, as far as roles 
and privileges are concerned?

Does anyone want a modernized version of the Restrict By Role module?

Do you have anything to say about the Organizational Role API design?



All questions, comments and suggestions are very welcome!!!



Daniel Kayiwa

On Behalf of the OpenMRS Community

________________________________
Click here to 
unsubscribe<mailto:lists...@listserv.iupui.edu?body=SIGNOFF%20openmrs-implement-l>
 from OpenMRS Implementers' mailing list

________________________________
Click here to 
unsubscribe<mailto:lists...@listserv.iupui.edu?body=SIGNOFF%20openmrs-implement-l>
 from OpenMRS Implementers' mailing list
________________________________
Click here to 
unsubscribe<mailto:lists...@listserv.iupui.edu?body=SIGNOFF%20openmrs-implement-l>
 from OpenMRS Implementers' mailing list


--
If we keep uppermost in our minds the unkind and unjust acts of others, we 
shall find it impossible to love them as Christ has loved us; but if our 
thoughts dwell upon the wondrous love and pity of Christ for us, the same 
spirit will flow out to others.

________________________________
Click here to 
unsubscribe<mailto:lists...@listserv.iupui.edu?body=SIGNOFF%20openmrs-implement-l>
 from OpenMRS Implementers' mailing list

________________________________
Click here to 
unsubscribe<mailto:lists...@listserv.iupui.edu?body=SIGNOFF%20openmrs-implement-l>
 from OpenMRS Implementers' mailing list

________________________________
Click here to 
unsubscribe<mailto:lists...@listserv.iupui.edu?body=SIGNOFF%20openmrs-implement-l>
 from OpenMRS Implementers' mailing list
________________________________
Click here to 
unsubscribe<mailto:lists...@listserv.iupui.edu?body=SIGNOFF%20openmrs-implement-l>
 from OpenMRS Implementers' mailing list

________________________________
Click here to 
unsubscribe<mailto:lists...@listserv.iupui.edu?body=SIGNOFF%20openmrs-devel-l> 
from OpenMRS Developers' mailing list

_________________________________________

To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to 
lists...@listserv.iupui.edu with "SIGNOFF openmrs-devel-l" in the  body (not 
the subject) of your e-mail.

[mailto:lists...@listserv.iupui.edu?body=SIGNOFF%20openmrs-devel-l]

Reply via email to