Project: Data entry forms as web-pages
The project is a web-based Incident Recording Information System. Incidents are “events” involving people / machinery involved in the forestry industry. Typically an incident is an accident and can involve injury and lost time away from the job. A company’s health and safety performance is constantly monitored therefore the data entry screens need to be user-friendly and fast to load
The project consists of entering data, via web-based data entry forms and retrieving data via reports, charts etc. This part of the project focus’s on the data entry forms.
1. Primarily a user will log-on to the system and be verified as a valid user.
2. The user’s level will dictate which tables / forms the user is permitted to add / edit / delete records.
3. The user will also have to be validated by company and restricted to viewing Incident records for the company they are associated with. For example, a user for ABC Company can only add / edit records for ABC Company and no other companies.
4. The main form revolves around the Incident table. This table has a number of foreign key fields:
Field Foreign relationship
SubCompanyID [url removed, login to view]
OSHCategoryID [url removed, login to view]
ForestID [url removed, login to view]
OperationID [url removed, login to view]
TaskID [url removed, login to view]
EmpStatusID [url removed, login to view]
TaskQualID [url removed, login to view]
WindID [url removed, login to view]
TemperatureID [url removed, login to view]
TerrainID [url removed, login to view]
VehicleID [url removed, login to view]
IncidentCauseID [url removed, login to view]
5. Users should be able to filter the recordsets by status
6. There are also two sub-forms or child tables related to the Incident table. These tables are tbl_InjuryDetails and tbl_TreatmentRec
7. tbl_InjuryDetails shows the details of the injury or injuries received in the incident. For this form, the BodyPartClassID is filtered from the Body part, for example, if the user selects the Head as the Body Part, then the Body Part Class ID field, will show the parts of the head. This field is an international classification and used by Accident Compensation Corporation type places around the world.
8. tlb_TreatmentRec shows the details of the treatment or treatments received over a period of time and the number of lost hours. When this column is added together, it should show the total number of lost hours. In this table, a user could determine the number of lost hours as a result of injuries to specific parts of the body.
An attempt has already been made for the Incident form but I think it might be better split so that the first page a user arrives at is the datagrid showing the basic information for an incident. In this grid it would be good to allow the user to directly access the treatment records and injury details forms to either add records to or edit / delete records
Incident Main Page
IncidentID Description Status Treatment Injury Details
1 Fell off log Open Treatment Injury
When the user clicks on a record ID, then the IncidentID parameter is passed to the Record Form. If the user clicks on Treatment then the IncidentID is passed to the Treatment Records Page and if the user clicks on Injury then the IncidentID is passed to the Injury Details page. The Incident Record Form will be a tabular form whereas the Injury Details and Treatment Records pages will be editable grids.
When the user has finished entering the data for the record page, it would be good to show the record on the page and then give the user the option to add a new record, or edit / delete the displayed record. There should also be a button to return to the Previous main page.
For the editable grids, the user should be able to continue entering records with an option to return to the Main Incident page. This page is called “[url removed, login to view]” and is working in that it was loading the IncidentRecord page and passing the correct parameter however, I encountered a problem with this page and not sure how to fix it.
APPLICATION MAIN PAGE
1. Welcome screen with Login details. Name and Password. The page also needs to look up the user’s company and level. Only administrators can change / add / delete specific pages:
2. The user’s company needs to be stored as the incident records loaded into the datagrid on the Incident Main Page can only be for records relating to the user’s company. There are a number of companies involved and the data is confidential to each company.
3. A number of smaller forms have already been developed in Codecharge studio. There are a number of smaller forms which allow the users, with administration rights, to add data to the tables. These tables are listbox controls or combo boxes in the main forms.
* Not built Tbl_injurydetails
With the exception of the items marked with a *, all of these forms are built and working. I used Codecharge Studio builders to construct the Grid / Record forms. I think that for these types of tables, the style of the form is suitable but ideas are always welcomed.
These forms need to be limited so that Users can access the pages for IncidentMain, IncidentRecord, IncidentTreament and IncidentInjury but the user is only permitted to access records for their company. All other pages can only be accessed by System Administrators.
Security has not been attempted at all because I am not sure how.
These forms need to be tied together either with a menu or buttons. If possible, it would be good to show the pages as TAB buttons to create the illusion of TAB forms
4. The Main Form starts with IncidentMain. I have started this and created a grid which allows a user to edit an existing record or view / add / edit Treatment Records and Injury Records. As there could be multiple treatments and multiple injuries, I considered that it would be best to keep these in their own tables and treat them as child forms. Originally I had these displayed on the same form as the Incident Record but it looked rather messy so opted to keep them on separate pages. There is a word document accompanying this one, which has some screen shots of an existing access application. This will give an indication of what type of form the current users are using. I did create the form originally as a TAB layout and then modified the HTML to create a different layout, however, if a similar form to the access project could be created, it would be great.
5. When a user has entered a record and clicked the ADD / SUBMIT button, then I think that the user should be returned to IncidentMain where they can click Treatment or Injury to enter the details in these forms.
6. Treatment Records and Injury Details are related to the IncidentID of the Incident Form. I feel that these forms would suit an editable grid with dro-down list box controls for the foreign fields. The user should be able to enter multiple records before selecting the submit button i.e. submit multiple records
Treatment Records: Foreign fields are TreatmentID [url removed, login to view]; IncidentTypeID [url removed, login to view]
Injury Records: Foreign fields are: BodyPartClassID [url removed, login to view]; ProfileID [url removed, login to view]; InjuryCauseID [url removed, login to view]
For the body Part class ID, this is a list of international classifications for a Body part. Ideally, the user would select a Body Part, in one field, and then have the next field display the BodyPartClass items which are members of the Body Part
Basically the application should have the look and feel of a windows application, with the exception that it is delivered by web pages.
Forms need to load quickly – the client has indicated 15 seconds over a 56K modem.
It is a fairly straight-forward application and needs to flow and be easy to use.
List of Priorities:
1. Have Incident Form and associated child forms working and entering data into the correct tables
2. Make the application flow with menus / buttons
3. Add security and make screens so that users can only view their own company data
This is urgent and the work is required to be undertaken immediately. Priorities one and two are required by this Friday, 16 July 2004 NZ time with Priority three being required as soon as possible after this date
Priority one is required by the 16 July NZ time and priorities two and three are required within 10 days of that.
The budget for this project is up to $200 USD - I selected the wrong price category