this screen will load the data for the period selected (whatever you choose .. from one month or 900 months.. suggest update current and 2 prior months as a rule)
The mapping of PI5 depts and staff codes is complex and IS DOCUMENTED HERE
data is in <tla>_PI5Data and <tla>_PI5Util Tables for SQL queries..
Data table holds more detail in Raw form as copied by union query view_PI5_local from the various PI5 servers around the state..
Please ensure that your Application Setup Screen has PI5 set as Allied health System
PI5 Development
This is a complex little thing
Contents
PI5 Development........1
Mapping........3
Mapping Payroll ID to Department (Courtesy of Col Roberts)........4
Jims Comments........4
Development Options........5
Some tips on getting faster queries........6
This is a complex little thing J
Shortcomings in the detail of data applied to “Program” in PI5 means that the only way to identify special Allied health Funded programs is by the use of PAYROLL staff ID’s. There are three Dept elements mappable in PI5.
This is broken out in talons for each Campus TLA as
(At ROBINA & GCH and GCHU there is a letter prefix as they are all Campus_TLA GCH)
While this may seem daunting, once setup it will be simple to keep in order
An ordered priority cascade exists in the views using a COALESCE sql function
The consequence of a new staff member being unmapped is that they will be default map to their program/profession until they are, and if that is not mapped then to the program which will be.
The Products part of the feeder that provides the most manageable number of products is
MINS-<pay level>, with a quantity of minutes. (see options for this)
Group sessions are properly dealt with and shared using the field called DIVISOR.
Where UR’s / MRN’s are not recorded the Talons dummy <x>909090 is used – Mr (or Mrs) Phumph
Data is linked to IP, ED and OP using rules suitable for the fact we have no time for the events recorded. A time of 12:00 midday is used rather than midnight as middle of daylight seemed best. Not sure if AH staff work shifts. Something to think about
Data will be loaded weekly in tblPI5Data routinely in future, an Option on the third party load form exists to pull/refresh a specific period is in place.
Data has been loaded from 1/Jul/2011
As the data is replicated in APP2 Clinics.. no allocation of Allied health Labour and parts should be done in the APP2 Clinic Allied health RVUS – very important point.. we cannot costs the same stuff in two places.
How you have been allocating IP Costs for Allied Health needs to be clearly understood, Allied health distribution on bedday models needs to be considered very carefully if using PI5..
If PI5 is not catching all your inpatients and outpatients.. you may have a problem
After import a spreadsheet is created in T:\PI5 (if you have the Talons SQL Client installed and working correctly!!)
The filename will be similar to <TLA>- PI5-DEPT-MAPPINGS-2013-08-04-1408.xls with the date time of the run in there..
It is similar to the table in dept mapping but with THREE extra columns
Company_TLA |
CAMPUS_TLA |
Talons_code |
Description |
Feeder_System |
Native_Code |
DEPT_CODE |
Ward_Type |
Clinical_Unit |
Campus_No |
Start_date |
End_Date |
Record_Date |
prof_group_desc |
program_desc |
staff_id |
NBR |
CAL |
CALPI:163908 |
Name removed, OO3, Allied Health Assistant |
CALPI |
163908 |
YY9999 |
12 |
AH |
00043 |
01-01-1961 00:00:00 |
01-01-2100 23:59:59 |
05-08-2013 15:23:30 |
Allied Health Assistant |
none |
<removed> |
NBR |
NBR |
NBRPI:10 |
Physiotherapy |
NBRPI |
10 |
ZZ9999 |
12 |
AH |
00049 |
01-01-1961 00:00:00 |
01-01-2100 23:59:59 |
05-08-2013 15:23:30 |
none |
Physiotherapy |
0000000 |
NBR |
CAL |
CALPI:5-8 |
Nutrition and Dietetics, Occupational Therapist |
CALPI |
5-8 |
XX9999 |
12 |
AH |
00043 |
01-01-1961 00:00:00 |
01-01-2100 23:59:59 |
05-08-2013 15:23:30 |
Occupational Therapist |
Nutrition and Dietetics |
0000000 |
NBR |
GYM |
GYMPI:281823 |
Name removed, HP3, Physiotherapist |
GYMPI |
281823 |
YY9999 |
12 |
AH |
00068 |
01-01-1961 00:00:00 |
01-01-2100 23:59:59 |
05-08-2013 15:23:30 |
Physiotherapist |
none |
<removed> |
NBR |
GYM |
GYMPI:14-10 |
Social Work, Social Worker |
GYMPI |
14-10 |
XX9999 |
12 |
AH |
00068 |
01-01-1961 00:00:00 |
01-01-2100 23:59:59 |
05-08-2013 15:23:30 |
Social Worker |
Social Work |
0000000 |
NBR |
GYM |
GYMPI:273896 |
Name removed, HP4, Dietitian |
GYMPI |
273896 |
YY9999 |
12 |
AH |
00068 |
01-01-1961 00:00:00 |
01-01-2100 23:59:59 |
05-08-2013 15:23:30 |
Dietitian |
none |
<removed> |
NBR |
CAL |
CALPI:200625 |
Name removed, HP3, Occupational Therapist |
CALPI |
200625 |
YY9999 |
12 |
AH |
00043 |
01-01-1961 00:00:00 |
01-01-2100 23:59:59 |
05-08-2013 15:23:30 |
Occupational Therapist |
none |
<removed> |
Use the right three Columns with Excel filters and then paste appropriate values into DEPT Code column. you should choose to update on the same filter the Record Date
When finished.. filter using the record date column to those you have changed today, Highlight the columns from Company_TLA to Record Date and the rows you want to paste, right click then copy them, then open the dept mapping table in Talons SQL, then right click in the table grid are and choose paste rows..
My suggestion from scratch,
Mapping Payroll ID to Department (Courtesy of Col Roberts)
Until PI5 is enhanced to record where an intervention is funded from, use the following interim workaround.
At DDHHS we had 321 payroll IDs recorded within PI5. This effectively gives us 321 “products” to map to TII departments within TALONS SQL. I consider this a manageable number, given new products will only appear as new staff are appointed. (where staff work at higher duties and different pay levels there may be more products!!)
Use the following DSS view to extract FTEs paid from each cost centre for each Payroll ID during 2012/13.
Click on the link below in order to view 'Measures by Cost Centre Code,Paypoint Code,Employee Code,Employee'
http://10.21.44.160/Panorama/Dashboard/dss/CustomOpenView.asp?webpartguid=19CAD30554-84F5-41F0-B7C7-8776784D0C42|1
Export this as an Excel.
For each employee, select the cost centre with the maximum FTE, or the one you consider most appropriate to map the product against in TII. Delete any other rows for that payroll ID. Now you have one CC per payroll ID.
You will not find some payroll IDs, as in PI5 an interim ID may be used for new employees and this may never be updated to the actual ID. Similarly students and other unpaid workers will be assigned a dummy ID. If you don’t match to an ID search your payroll download for the employee’s name. If still not found, confirm with your Allied Health directors that this person has not been paid during the period (in our case 2012/13).
Write a Crystal from TII to show your Cost Centre to Department mapping. Export as Excel data only.
Import both these spreadsheets to an MS Access database (or use a VLOOKUP) to tag on the department for each Cost Centre for each payroll ID.
This is your TALONS Dept Code to enter against each payroll ID.
The consequence of a new staff member being unmapped is that they will be default map to their program/profession until they are, and if that is not mapped then to the program which will be.
If there is a need an option to drag this data into Talons SQL by a strictly formatted Excel spreadsheet or two can be considered..
G.1.COM.2 |
Group/Assessment/Community/Allied Health Care Clinic/NIPA – Patients present |
G.1.code_1.4 |
Group/Assessment/Community/Allied Health Care Clinic/NIPA – Without patients |
G.1.COM.4 |
Group/Assessment/Community/Allied Health Care Clinic/NIPA – Without patients |
G.1.WRD.1 |
Group/Assessment/Dialysis Unit/IPA – Patients present (include UR Numbers) |
G.1.WRD.3 |
Group/Assessment/Dialysis Unit/IPA – Without patients (include UR Numbers) |
G.1.WRD.2 |
Group/Assessment/Dialysis Unit/NIPA – Patients present |
G.1.WRD.4 |
Group/Assessment/Dialysis Unit/NIPA – Without patients |
G.1.COM.1 |
Group/Assessment/Educational Facility/IPA – Patients present (include UR Numbers) |
G.1.code_6.4 |
Group/Assessment/Educational Facility/NIPA – Without patients |
G.1.EMG.1 |
Group/Assessment/Emergency Department/IPA – Patients present (include UR Numbers) |
G.1.EMG.2 |
Group/Assessment/Emergency Department/NIPA – Patients present |
G.1.EMG.4 |
Group/Assessment/Emergency Department/NIPA – Without patients |
G.1.CLN.1 |
Group/Assessment/Gym/IPA – Patients present (include UR Numbers) |
G.1.CLN.4 |
Group/Assessment/Gym/NIPA – Without patients |
G.1.HOM.1 |
Group/Assessment/Home Visit/IPA – Patients present (include UR Numbers) |
G.1.HOM.3 |
Group/Assessment/Home Visit/IPA – Without patients (include UR Numbers) |
G.1.HOM.2 |
Group/Assessment/Home Visit/NIPA – Patients present |
G.1.HOM.4 |
Group/Assessment/Home Visit/NIPA – Without patients |
G.1.code_3.1 |
Group/Assessment/Hospital Ward/IPA – Patients present (include UR Numbers) |
G.1.WRD.1 |
Group/Assessment/Hospital Ward/IPA – Patients present (include UR Numbers) |
G.1.WRD.3 |
Group/Assessment/Hospital Ward/IPA – Without patients (include UR Numbers) |
Some tips on getting faster queries
Dynamic episode matching and dept mapping requires all records in a table to be tested for the presence of the episode if you ask for an episode. soooo slow!!!
Using sub queries to limit the scope of the data in which you want to find the episode is much much faster
e.g.
select * from atable where dyn_episode = ‘123456-1’ has to look at all records in atable..
select * from (select * from atable where ur = ‘1234561’) as aa where dyn_episode = ‘123456-1’
limits the examination to a very small set of records. Indexes are used to find the ones with the correct UR and the table of the sub-query passed back to the outer query. Almost instant.
MSSQL does this optimising for many many queries automagically - but function columns like episode cannot be optimised unless you do it.
The same applies to limiting the query by other criteria like date range.