Shift requirements, improvement for Run 14

Introduction

This topic relates to the following improvement identified as needed during Run 13. Users come to their shift without the proper training and we often detect this at the last moment, causing havoc in the shifts (replacements need to be found at the last minute, or untrained and barely authorized individual accompanied until they are trained).

To circumvent this problem, a pre-requisit is to have access to the training record database.

WS access to the training records

A Web Service was developed by ITD based on general requirements:
  • Since we (both on our side and on the ITD side) cannot trust anything else than the userID/guestID, the WS would be ID based
  • Only relevant training would be displayed (not the full history) - expired training would not show up and for renewed training, only the last active would show
  • We require the expiration date to show so we can calculate whether the user will still be trained by the time of his shift ... or not
  • We obviously need the training information (course short hand name and title)
  • We would require the name of the user to be provided so a fuzzy name match could be made against our own database records (cross IS validation principle)
After a few trials and adjustments, the following WS is in place (example below):

https://ias.bnl.gov/BNL.DataHub/Api/EmployeeLookup?id=20835

https://ias.bnl.gov/BNL.DataHub/Api/EmployeeClassLookup?id=20835&latest=true

https://ias.bnl.gov/BNL.DataHub/Api/EmployeeWithClassesLookup?id=20835&latest=true


Format example returned.
<ArrayOfEmployeeClass>
   <EmployeeClass>
     <ClassDate>2013-03-06T00:00:00</ClassDate>
     <CourseKey>AD-CA_COLLIDER_EXAM</CourseKey>
     <CourseTitle>Collider User Trg - Annual Requal Challenge Exam</CourseTitle>
     <Empkey>XXXX</Empkey>
     <Expires>2014-03-06T00:00:00</Expires>
     <PassedFlag>Y</PassedFlag>
   </EmployeeClass>
   <EmployeeClass>
     <ClassDate>2002-12-09T00:00:00</ClassDate>
     <CourseKey>AD-CA_COLLIDER_USER</CourseKey>
     <CourseTitle>Collider User Trg. - Initial Classroom Training</CourseTitle>
     <Empkey>XXXX</Empkey>
     <Expires i:nil="true"/>
     <PassedFlag>Y</PassedFlag>
   </EmployeeClass>
   <EmployeeClass>
     <ClassDate>2002-12-04T00:00:00</ClassDate>
     <CourseKey>AD-GETVID</CourseKey>
     <CourseTitle>General Employee Training for CAD Users</CourseTitle>
     <Empkey>XXXX</Empkey>
     <Expires i:nil="true"/>
     <PassedFlag>Y</PassedFlag>
   </EmployeeClass>
</ArrayOfEmployeeClass>

A section has been added in the latest version with information about the user. The schema is as follows

<EmployeeInfo>
   <BNLBadgeExpire>2018-12-31T00:00:00</BNLBadgeExpire>
   <BNLLastAccess i:nil="true"/> 
   <DateHired>2013-05-13T00:00:00</DateHired>
   <DateIntoPosition>2013-05-13T00:00:00</DateIntoPosition>
   <DateTerminated i:nil="true"/>
   <DeptKey>XX</DeptKey>
   <Email>xx@bnl.gov</Email>
   <EmpKey>$ID</EmpKey>
   <FName>John</FName>
   <FuncDeptKey>XX</FuncDeptKey>
   <GuestFlag>E</GuestFlag>
   <MI> </MI> 
   <MailDrop>515A</MailDrop>
   <StatusKey>A</StatusKey>
   <Surname>DOH</Surname>
   <TeleExt>0000</TeleExt>
</EmployeeInfo>


 

Training required

The following training are required:
  • Any shift takers:
    • Afraid to note this but ... valid BNL Badge, visitor or employee ID menaing, it has NOT expired (we had a few of those before)
    • GE-CYBERSEC ; Cyber Security Training, also a classic many consider this traiing very lightly
    • One of the below (this is a one time requirement)
      • TQ-GSO ; Guest Site Orientation
      • HP-V-001 ; General Employee Training
    • RC-SOCSTAR ; STAR Low Hazard Worker-Planned-Work for Users
    • One of the following need to be active/ valid
      • AD-CA_COLLIDER_USER ; Collider User Trg. - Initial Classroom Training
      • AD-CA_COLLIDER_EXAM ; Collider User Tg - Annual Requal Challenge Exam
         
  • Shift Leader position - all of the above and the below are also required - they all need to be valid i.e. not expired
    • HP-IND-200 ; Hazard Communications
    • AD-11.1 ; Conduct of Ops for RHIC Exp Shift Leaders
    • AD-11.4.4 ; Procedure for Exciting the STAR Magnet
    • AD-2.5.2 ; RHIC Operations Safety Limits/Accel Safety Env
    • AD-3.17 ; Emrg Proc for STAR Detector & 1006 Complex
       
  • ...

Action

Upon detecting a user without proper training
  • The shifter should be immediately color-coded or font coded to indicate a problem - users should NOT be prevented from signing up for shifts as training could be taken at the last minute
  • Optionally, a mouse-over those users would show the missing training
  • A week prior to the shift period, an automated Email should be sent to shift leader (optionally to the period cooridnator for information)
The general guideline above was agreed upon by management on 2013/11/07.

Implementation Guidance

Since the Web service requires a user ID (badge employee / guest ID) and we do not currently have such information in our PhoneBook, we need to create an "incentive" to the individuals who would provide us their badge information. The suggestion is to:
  • along the implementation of a pre-selectionf institution/name, require to enter a badge ID (once only) - only people who would provide their ID would, in other words, benefit from the pre-sign-up selection of institution/user
    • the badge ID would be the querried (WebService provided by ITD)
    • the name matched to your database and the user selected - confirmation would be asked to be sure
  • as people sign-up, we would color code those who do NOT have a badge ID - we woud then have to update our PhoneBook ourselves
  • we would (again noted above) NOT prevent people from signing-up even though they may not have the proper training
  • we do not have to consider special cases (group / bulk sign-up) as the final signing will need to take effect for a shift crew to be complete