473,722 Members | 2,484 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Privileges, Security & Database Design Issues

Hi There,

I'm creating a MS ACCESS database using Ms Access 2000 to store
Interpretation requests by different departments in a hospital and
Interpreter availability. All internal departments will be calling in or
faxing their Interpretation requests to Intake staff at the Interpretation
department and the intake staff will feed the request into the database.
However, their is one department, Rehab, that is going to be going to be
able to put in Interpretation requests thru an access form and they want
the capacity to view the appointments (Interpretation Requests) they have
requested.

I have the following tables in my database:

1.. Interpreters
2.. Interpreter Type
3.. InterpreterAvai lability Schedule
4.. Internal Departments
5.. Rehab Solutions
6.. Intake Staff
7.. Rehab Staff
8.. Interpreter requestsbyInter nalDepts
9.. Interpreter requestsbyRehab Solutions
10.. AppointmentBook ingStatus
11.. Appointments
12.. AppointmentType
13.. Invoice
14.. Language
I read on 'How I use Microsoft Access User-Level Security' from
www.geocities.com/jacksonmacd dated
march 2, 2004 that
"Permission s are applied at the table level. You can't configure Jet to
allow some users to read or write to the whole table while restricting other
users to select rows or columns."

I am wondering what is the best way to design the tables for Interpretation
Request. Is it possible to keep one table for (ie. InterpreterRequ ests vs .
the tables:
1.. Interpreter requestsbyInter nalDepts
2.. Interpreter requestsbyRehab Solutions I do want Rehab staff to view
the appointments they have requested
and still allow Rehab to view just the appointments they have requested?
Thanks so much for your
help with this.

Thanks kindly,
Smriti
Nov 13 '05 #1
4 2071
Smriti Dev wrote:
Hi There,

I'm creating a MS ACCESS database using Ms Access 2000 to store
Interpretation requests by different departments in a hospital and
Interpreter availability. All internal departments will be calling in or
faxing their Interpretation requests to Intake staff at the Interpretation
department and the intake staff will feed the request into the database.
However, their is one department, Rehab, that is going to be going to be
able to put in Interpretation requests thru an access form and they want
the capacity to view the appointments (Interpretation Requests) they have
requested.

I have the following tables in my database:

1.. Interpreters
2.. Interpreter Type
3.. InterpreterAvai lability Schedule
4.. Internal Departments
5.. Rehab Solutions
6.. Intake Staff
7.. Rehab Staff
8.. Interpreter requestsbyInter nalDepts
9.. Interpreter requestsbyRehab Solutions
10.. AppointmentBook ingStatus
11.. Appointments
12.. AppointmentType
13.. Invoice
14.. Language
I read on 'How I use Microsoft Access User-Level Security' from
www.geocities.com/jacksonmacd dated
march 2, 2004 that
"Permission s are applied at the table level. You can't configure Jet to
allow some users to read or write to the whole table while restricting other
users to select rows or columns."

I am wondering what is the best way to design the tables for Interpretation
Request. Is it possible to keep one table for (ie. InterpreterRequ ests vs .
the tables:
1.. Interpreter requestsbyInter nalDepts
2.. Interpreter requestsbyRehab Solutions I do want Rehab staff to view
the appointments they have requested
and still allow Rehab to view just the appointments they have requested?
Thanks so much for your
help with this.


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Put all the Interpreter requests into one table, w/ a column that
indicates which departments have made the requests.

In Access security you can assign users to Groups (aka Roles in other
RDBMS). Create a group for each Department that will be using the DB
and assign users to the appropriate group(s). Create a table of
groups/departments like this:

Table: DepartmentGroup s
Columns: GroupName - the name of the security group
Department - the name of the hospital department

Load it with the appropriate info. E.g.:

GroupName Department
========= ==========
REHAB Rehabilitation
ACCT Accounting
OBGYN Obstetrics/Gyneocology
.... etc. ...

Create a View (Select Query) that will read the Interpreter Requests
table & filter the records according to which user is using the view.
The view will have a VBA function that will determine which group the
CurrentUser is assigned to & then display only those records that have
info for that group's department. E.g.:

SELECT IR.interpret_da te_time, IR.room_no, IR.language
FROM InterpreterRequ ests As IR INNER JOIN DepartmentGroup s As DG
ON IR.department = DG.Department
WHERE DG.GroupName = GetUserGroup()

The function GetUserGroup() would determine the group the current user
belongs to & return it to the query/view. The query/view will show only
the records for the department that group is associated with.

There's a book _Access # Developer's Handbook_ by K.Getz, et. al. (the #
indicates which version of Access), which describes a routine that
determines the user's group. It is also on the WEB somewhere try a
search in Google, or your favorite search engine.
--
MGFoster:::mgf0 0 <at> earthlink <decimal-point> net
Oakland, CA (USA)

-----BEGIN PGP SIGNATURE-----
Version: PGP for Personal Privacy 5.0
Charset: noconv

iQA/AwUBQt6iEYechKq OuFEgEQIrPQCgya k9hjR8s8kooWDVx s9zzZxYjoYAoOYl
UuuJFKULfyDkfAQ lr0DQYjkX
=1ZnU
-----END PGP SIGNATURE-----
Nov 13 '05 #2
Hi MGFoster,

Thanks so much for your response. It was very helpful. I will look for the
book you suggested at the bookstore.

I do have another question, I have interpreters who have varying schedules
and once their availability is put into the database, I need to pull out all
the Interpreters of a certain language type
that are available and see if they can potentially fulfill Interpretation
Requests for the time, date and language the request was made by the
department.

I am confused about how to set up the relationships for this in the E-R
diagram and also not sure what type of query to use for this.

Thanks so much for your help.

Kind Regards,
Smriti

"MGFoster" <me@privacy.com > wrote in message
news:sm******** ********@newsre ad1.news.pas.ea rthlink.net...
Smriti Dev wrote:
Hi There,

I'm creating a MS ACCESS database using Ms Access 2000 to store
Interpretation requests by different departments in a hospital and
Interpreter availability. All internal departments will be calling in or faxing their Interpretation requests to Intake staff at the Interpretation department and the intake staff will feed the request into the database.
However, their is one department, Rehab, that is going to be going to be
able to put in Interpretation requests thru an access form and they want the capacity to view the appointments (Interpretation Requests) they have requested.

I have the following tables in my database:

1.. Interpreters
2.. Interpreter Type
3.. InterpreterAvai lability Schedule
4.. Internal Departments
5.. Rehab Solutions
6.. Intake Staff
7.. Rehab Staff
8.. Interpreter requestsbyInter nalDepts
9.. Interpreter requestsbyRehab Solutions
10.. AppointmentBook ingStatus
11.. Appointments
12.. AppointmentType
13.. Invoice
14.. Language
I read on 'How I use Microsoft Access User-Level Security' from
www.geocities.com/jacksonmacd dated
march 2, 2004 that
"Permission s are applied at the table level. You can't configure Jet to
allow some users to read or write to the whole table while restricting other users to select rows or columns."

I am wondering what is the best way to design the tables for Interpretation Request. Is it possible to keep one table for (ie. InterpreterRequ ests vs . the tables:
1.. Interpreter requestsbyInter nalDepts
2.. Interpreter requestsbyRehab Solutions I do want Rehab staff to view the appointments they have requested
and still allow Rehab to view just the appointments they have requested?
Thanks so much for your
help with this.


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Put all the Interpreter requests into one table, w/ a column that
indicates which departments have made the requests.

In Access security you can assign users to Groups (aka Roles in other
RDBMS). Create a group for each Department that will be using the DB
and assign users to the appropriate group(s). Create a table of
groups/departments like this:

Table: DepartmentGroup s
Columns: GroupName - the name of the security group
Department - the name of the hospital department

Load it with the appropriate info. E.g.:

GroupName Department
========= ==========
REHAB Rehabilitation
ACCT Accounting
OBGYN Obstetrics/Gyneocology
... etc. ...

Create a View (Select Query) that will read the Interpreter Requests
table & filter the records according to which user is using the view.
The view will have a VBA function that will determine which group the
CurrentUser is assigned to & then display only those records that have
info for that group's department. E.g.:

SELECT IR.interpret_da te_time, IR.room_no, IR.language
FROM InterpreterRequ ests As IR INNER JOIN DepartmentGroup s As DG
ON IR.department = DG.Department
WHERE DG.GroupName = GetUserGroup()

The function GetUserGroup() would determine the group the current user
belongs to & return it to the query/view. The query/view will show only
the records for the department that group is associated with.

There's a book _Access # Developer's Handbook_ by K.Getz, et. al. (the #
indicates which version of Access), which describes a routine that
determines the user's group. It is also on the WEB somewhere try a
search in Google, or your favorite search engine.
--
MGFoster:::mgf0 0 <at> earthlink <decimal-point> net
Oakland, CA (USA)

-----BEGIN PGP SIGNATURE-----
Version: PGP for Personal Privacy 5.0
Charset: noconv

iQA/AwUBQt6iEYechKq OuFEgEQIrPQCgya k9hjR8s8kooWDVx s9zzZxYjoYAoOYl
UuuJFKULfyDkfAQ lr0DQYjkX
=1ZnU
-----END PGP SIGNATURE-----

Nov 13 '05 #3
Smriti Dev wrote:
Hi MGFoster,

Thanks so much for your response. It was very helpful. I will look for the
book you suggested at the bookstore.

I do have another question, I have interpreters who have varying schedules
and once their availability is put into the database, I need to pull out all
the Interpreters of a certain language type
that are available and see if they can potentially fulfill Interpretation
Requests for the time, date and language the request was made by the
department.

I am confused about how to set up the relationships for this in the E-R
diagram and also not sure what type of query to use for this.


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I don't know how to create that query since your table list did not
include an InterpreterAvai lability table, nor, its columns. A DDL (Data
Declaration Language description of the table(s)) would be nice; and,
some sample data. I'd guess the InterpreterAvai lability table would
hold the start & end date/times of availability of each interpreter -
IOW, a work schedule table.

Re: your listed tables. You have 2 tables Intake Staff & Rehab Staff
that probably would be better as one table w/ a column indicating the
department of the staff member (intake or rehab - or some other
department).

--
MGFoster:::mgf0 0 <at> earthlink <decimal-point> net
Oakland, CA (USA)

-----BEGIN PGP SIGNATURE-----
Version: PGP for Personal Privacy 5.0
Charset: noconv

iQA/AwUBQt69qYechKq OuFEgEQKVIwCgrI uiglAbLwXTwqtvz giyWM9eSYMAnjOP
WqNz/bBbaiOvTa7rX71v vlJ7
=3eVS
-----END PGP SIGNATURE-----
Nov 13 '05 #4
Hi MGFoster,

Thanks for your reply and sorry for the delay in getting back to you. I was
working on the DDL
and also wanted to give you some background information.

Please see below for background info and DDL info.

Background Information:
I want to create a database to store information about Interpreters and
track the appointments they have. Interpreters are requested on a
continuous basis by Internal Departments at the UHN, and also by Rehab
Solutions. Internal departments are not charged for Interpreters but Rehab
Solutions is charged. Rehab Solutions should be able to view the request
they make and edit it. Sometimes Interpretation Requests are made for a
group of people. The number of people in the group are to be recorded if it
is a request for a group.



Information about Interpreter's will include their names, contact
information and how much they are paid/hr, the type of Interpreter and the
languages they speak the timings they are available to work. An Interpreter
can only have one appointment scheduled at a certain time.

Departments make Interpreter requests by indicating the time they require an
interpreter and the language they require. Additional information about the
appointment is stored including the Patient's Lastname, MRN number, location
of the appointment, the care provider who will be at the appointment and the
type of care provider they are & any comments. Each department can make many
requests for Interpreters. Departments are invoiced for the Interpretations
they request.

Information about Intake staff who will be booking the Interpreters will be
stored including their Staff Numbers, names, email addresses.

The status that the appointment booking is at will also be recorded. Options
include pending, assigned, cancelled, review.

DDL:

Interpreters Interpreter_ Role
Interpreter_Ava ilability Schedule
Care Provider
CareProvider_Ro le

InterpreterID (PK)
InterpreterRole ID (PK)
InterpreterAvai labilityID(PK)
CareproviderID (PK)
CareProviderRol e_ID(PK)

Interpreter Number
InterpreterRole

(i.e. staff, volunteer, contract)
InterpreterID (FK)

-so we know which Interpreter is avail.
CareProviderFir stName
Care_Provider_T ype

(ie. nurse)

LastName
InterpreterType Cost
DataInterpreter Avail
CareProviderLas tName
FirstName
InterpreterType Percentage
StartTimeInterp reterAvail
CareProviderPho ne
PhoneNum

EndTimeInterpre terAvail
CareProviderPho neExtension
Email
CareProviderRol e_ID(fk)
InterpreterAvai labilityID (FK)

InterpreterType ID(FK)

LanguageID (FK)







Staff Staff_Dept Interpreter requests
Area

(dept, rehab)
EnterpriseType
StaffID (PK)
Staff_dept(PK)
InterpreterReqI D (PK)
AreaID (PK)
EnterpriseID(PK )
StaffNum
Staffing_dept_d escription
CareProviderID( fk)
RequestFrom
EnterpriseName
LastName

LanguageID(fk)


FirstName

AreaID(fk)


Email

PatLastName


HPhoneNum

PatFirstName


WPhoneNum

MRN


Staff_deptID(fk )

EnterpriseID(fk )


SiteID(fk)


location_buildi ng


location_floor


AppointmentType ID(fk)


DepartmentID(fk )


Comments


Status_id (fk)


AttachementID


GroupID









Site
Programme

SiteID (PK)
GroupID (PK)

Site Name (ie. TGH, Corporate, PMH, TWH)
GroupName
Number_of_Stude nts
Group (y/n)











Department
AppointmentType
Invoice
Language
Appointment

Dept_id (PK)
AppointmentType ID(PK)
InvoiceID
LanguageID (PK)
ApointmentID

DepartmentName
Appointment Type (ie. Admission, Assessment, Discharge, Family Meeting,
Program)
InvoiceNo
LanguageDescrip tion
InterpreterReqI D (Fk)

Date

Interpreter(ID) fk

JobID

Appointment StartTime

Terms

AppointmentEndT ime

RequestConfirmD ate

Called

AppointementID( Fk)

LanguageID(FK)

ScheduleDate



Appointment Status
Attachments
Job
Group
DepartmentGroup s

StatusID(PK)
AttachmentID(PK )
JobID(PK)
GroupID (PK)
departmetngroup ID (PK)

Status_descript ion (eg. Cancelled)
LocationofAttac hemnt
Project
AreaID(fk)
GroupName

Qty
user


Description

Rate



Thanks for your help with this. I look forward to hearing from you.

Thanks Kindly,
Smriti

"MGFoster" <me@privacy.com > wrote in message
news:O4******** *********@newsr ead1.news.pas.e arthlink.net...
Smriti Dev wrote:
Hi MGFoster,

Thanks so much for your response. It was very helpful. I will look for the book you suggested at the bookstore.

I do have another question, I have interpreters who have varying schedules and once their availability is put into the database, I need to pull out all the Interpreters of a certain language type
that are available and see if they can potentially fulfill Interpretation Requests for the time, date and language the request was made by the
department.

I am confused about how to set up the relationships for this in the E-R
diagram and also not sure what type of query to use for this.


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I don't know how to create that query since your table list did not
include an InterpreterAvai lability table, nor, its columns. A DDL (Data
Declaration Language description of the table(s)) would be nice; and,
some sample data. I'd guess the InterpreterAvai lability table would
hold the start & end date/times of availability of each interpreter -
IOW, a work schedule table.

Re: your listed tables. You have 2 tables Intake Staff & Rehab Staff
that probably would be better as one table w/ a column indicating the
department of the staff member (intake or rehab - or some other
department).

--
MGFoster:::mgf0 0 <at> earthlink <decimal-point> net
Oakland, CA (USA)

-----BEGIN PGP SIGNATURE-----
Version: PGP for Personal Privacy 5.0
Charset: noconv

iQA/AwUBQt69qYechKq OuFEgEQKVIwCgrI uiglAbLwXTwqtvz giyWM9eSYMAnjOP
WqNz/bBbaiOvTa7rX71v vlJ7
=3eVS
-----END PGP SIGNATURE-----

Nov 13 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
99018
by: Amardeep Verma | last post by:
Hi, I have a quick question. Which role/privileges are required before a user can give the statement "GRANT ALL PRIVILEGES"? Thanking you in Advance Have a nice day
3
1976
by: patcho | last post by:
Hello, I have a problem that I was hoping to get some assistance with. I have built a split database (back end with all the tables and a password to protect the information & a front end to link to it). I have followed the Access Security model to create security over my Front End database (create a new workgroup, remove the admin user from the admins group, change permissions on the users group to very limited access etc).
1
1469
by: Smriti Dev | last post by:
Hi There, I am designing a database and want to give privileges to a type of user so they only view some fields of a table when they are a certain type in a database. They should be able to modify the data. My question is if this is possible and if so, how can I do it? Does any one have any good suggestions on what I can read to do this?
5
2772
by: Martijn Saly | last post by:
I'd like to test in my script, if it's going to be possible to enable priviliges. If I use this... netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect") ....it presents a dialog to the user asking if it's ok. Now I don't want to hide that dialog, I'd like to know if it's going to be possible to click the Allow button, before ever making this call. Basically I need
0
2508
by: YellowFin Announcements | last post by:
Introduction Usability and relevance have been identified as the major factors preventing mass adoption of Business Intelligence applications. What we have today are traditional BI tools that don't work nearly as well as they should, even for analysts and power users. The reason they haven't reached the masses is because most of the tools are so difficult to use and reveal so little
7
2184
by: Peter Bradley | last post by:
Hi, I'm writing a Web service (the first one I've ever written in anger, by the way) that has to do some AD manipulation and then has to create some directories on some remote servers. Doing the AD stuff is fine, because I can pass in suitable credentials: however this is not the case (AFAIK) with the folder manipulation code. Here's an example of the kind of thing I want to do: ....
8
9826
by: =?Utf-8?B?TWFydGluIFNhY2hz?= | last post by:
I have been using MSCONFIG (XP Pro) for four years with no problem. I always use it in Administrator. Last night, when I attempted to go into selective startup mode, I got the following error message: "An access denied error was returned while attempting to change a service." It appeared to do what I asked it to do but every time I click APPLY or OK in MSCONFIG, I now get that message. Administrator has always had access to everything. I...
4
2870
by: Don Calloway | last post by:
I'm attempting to implement User-level security on an Access 2003 database in Access 2000 format and have hit a brick wall. I created a Workgroup Information File with myself as admin and added users without any privileges as suggested by Access. Next, I created a Group with only Read-Only access and added one of the users to that group. I then assigned a temporary password to each user and finally set a password for the admin group so...
0
8739
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9088
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8052
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6681
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5995
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4762
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3207
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2602
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2147
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.