GACL Granularity // Adding new ACOs and developing existing ACOs

ereztal wrote on Sunday, March 13, 2016:

Hi,
TL;DR - I am looking for the relevant methods/functions/classes/etc that would help me focus on developing new OpenEMR ACOs with the existing GACL functions.

I am currently examining the GACL library and how it was implmented vis a vis openemr’s relevant ARO and ACO matrix in order to develop new ARO and ACO’s that would be part of our client’s requests (the ACO part is more challanging…)

I’ve found out that it’s uses are pretty widely used; from the left_nav menu tabs onto other parts in the content itself.
I would like to create ACOs of specific fields from say the patient info that would be visible to specific AROs.
at this point i’m trying to find out what would be the best way to create this section and how to implement it in the best version progressive manner possible.

Kindly advise.

Thanks
Erez

fsgl wrote on Sunday, March 13, 2016:

To expand ACL, start here.

ereztal wrote on Monday, March 14, 2016:

Hi fsgl,
Thanks for the reference, appreciated.
I read through the well documented OpenEMR ACL document, yet I’m a bit confused re the hierarchy of authorizations.

For instance, I have created a user in an ARO that has a global 0 authorization.
When I press the left-nav patient tab, I can pick the patient, even though I get “unauthorized” for all the tabs in the main view, if I go to report (3rd tab) and press “generate report” - it easily shows me every detail of his ailments.

Since I pulled from the master, i’m wondering if this GACL feature went unnoticed or if i’m to blame here.

thanks,
Erez

fsgl wrote on Monday, March 14, 2016:

No one has quite figured out how to hide Patient Summary in its entirety for specific patients under the care of one physician.

Hiding Patients/Clients is too blunt an instrument.

See this to hide the Documents tab.

I’ve tried a couple of times but got nowhere.

If you are able to figure it out, I’ll add it to the Wiki article.

tmccormi wrote on Monday, March 14, 2016:

We are currently working on this for 2 possibly three customers. If you would like to collaborate on the project please contact me.

–Tony

ereztal wrote on Tuesday, March 15, 2016:

Hey Tony, sounds solid, I’ll get back to you on this via PM if relevant.
Happy days :slight_smile:
Erez

bradymiller wrote on Tuesday, March 15, 2016:

Also a developer doc for gacl here:
http://www.open-emr.org/wiki/index.php/PhpGacl

fsgl wrote on Tuesday, March 15, 2016:

A light bulb went on.

If not a dead end again, will post.

sunsetsystems wrote on Tuesday, March 15, 2016:

It would be helpful to study the description of the underlying phpGACL library:

http://phpgacl.sourceforge.net/manual.pdf

Rod
http://www.sunsetsystems.com/

fsgl wrote on Thursday, March 17, 2016:

Thanks, Rod, for the reference. It’s also tucked in the Manual tab after clicking Advanced.

The Manual had a section on AXO’s, explaining that it gives a third dimension to ACL, It may be possible to avoid adding AXO’s & another layer of complexity, if it’s not really necessary.

Hiding Encounter is already in the codebase & I think it provides a way forward.

It’s not that hard to create another ACO for Demographics for my patients & leaving the original one for all patients. See 1.

One cannot simply copy & past the snippets from encounter/forms.php (see 2) to summary/demographics.php because I tried it & it did not work.

We need a helping hand to rework the snippets for demographics so that Administrator & the Front Desk will have access to all Patient Summaries; while the attending physician will be able to view just his own patients & not that of other physicians.

tmccormi wrote on Thursday, March 17, 2016:

Seriously we have a major project on this under way.

sunsetsystems wrote on Friday, March 18, 2016:

Tony why don’t you share in the developers forum some details of what you are doing. That’s what it’s for. Thanks!

Rod
http://www.sunsetsystems.com/

tmccormi wrote on Friday, March 18, 2016:

I have shared the details with the customers that are paying for it. As soon as they decide to move forward I can share the final design details, and I will. One of them is the Israel group (Erez and Oleg) that has been working on the RTL contributions and they are keen that all the work goes back to the community. The other is North Florida Surgeons that has paid for the iframe upgrades MI2/ and yehster have in the wings.

The requirements as requested from both organizations need to be merged and agreed on, the cost is, hopefully, going to be shared between them (and Dr Bowen as well)… Coordinating customers is just as hard as coordinating this community… :slight_smile:

Both of these customers are a big deal for OpenEMR moving into enviroments beyond the mom and pop Doctor’s office.

–Tony

fsgl wrote on Friday, March 18, 2016:

In that case, the tortoise may get there before the hare.

tmccormi wrote on Friday, March 18, 2016:

FOSS communities are almost always faster to delivery, but don’t always deliver the optimum solution. It’s always a fine rope to walk.