Australia Zoo Wildlife Hospital (AZWH) is a charity organization that exists to treat and or care for sick, injured or orphaned wildlife. They are brought animals from across South East Queensland, and beyond, and are re-knowned for their specialization in both Koalas and Sea Turtles.
As a charity that operates separately from the main Australia Zoo company, the Zoo runs with very little funds. As part of an ongoing agreement between University of the Sunshine Coast and Australia Zoo Wildlife Hospital, we are re-developing their database systems.
Stage one is the Accession (admissions) system which stores information on who brought in the wildlife, where it was found, suspected injuries, initial triage and/or vet notes and what wildlife career if any the animal is assigned to for re-habilitation or care. Animals are brought for a large variety of reasons and sometimes multiple reasons,
and the database is to record these and be able to query them.
The Wildlife hospital can see up to 6000-8000 admissions per year, and there is a large database of information that is maintained both for their own record keeping and for regulatory requirements set down by the State and Federal Governments. One such regulatory requirement is that all Koalas treated in Queensland are given a unique QPWS (Queensland Parks and Wildlife Service) identifier that must be maintained. A monthly report is generated to give to QPWS on these koalas and their
treatment. Other wildlife such as birds can be either transferred in or out of AZWL, and as such may have more than one ID that the database needs to be able to store, recall
In appendices of this document you fill find an example of a blank Australia Zoo Wildlife Hospital Accession form, a list of conditions that the animals may suffer, a partially completed form. These will form the basis of your universe of discourse. Sample data will be made available in or before in week 11 of semester (this is to have you consider your design before implementation).
- Every patient admitted has a unique patient id. If the patient is a koala, it will have also have a koala tag. It may have a microchip. Animals including, but not limited to, wallabies, kangaroos, and possums may have ear tags in one or both ears that uniquely identify them (The tags should have the same number but should be able to tell if one is missing). Turtles may also have a tag. Not all tag number formats will be the same (more info to come in the sample data).
- In addition to formal tags, some animals will have one or more alternate identifiers, being either a Queensland Parks and Wildlife identifier, or transfer from or to another facility such as Currumbin Wildlife Hospital, RSPCA, or Australia Zoo, these must all be maintained and searchable.
- Wildlife are grouped into types which represent both their ‘taxon’ and a macro-level grouping within that type, these are different per type. E.g:
- In addition to type, animals are sorted into ‘breeds’, of which there are nearly 1000 in the current system. Each breed must be associated with exactly one ‘type’.
- All animal wildlife may be admitted more than once, if they are re-admitted their previous patient number should be re-used, along with the date they were re- admitted – all historical admissions should be maintained (and not over written).
- All animals may have a name, and a picture associated.(Hint: look at
‘MEDUIMBLOB’ type for the image! - also user TEXT for the notes on the accession form)
- DNA samples may be taken from the animals and results recorded in the database.
This should be stored with the date/time the sample was taken, the date/time it was entered into the system, and the results of the sample analysis (for the results
use the TEXT datatype).
- The database needs to record who brought in the animal, where it was found, including the regional or local council area it was found it – reports are generated for particular councils upon request. There should be a link between the postcode that the animal was found in and the local council it belongs to.
- A set of wildlife carers are maintained by the system. These are persons who have animals released into their care after acute treatment, but before they are able to be released back into the wild.
- The system should be loss-less, no data should be over written.
- Aetiology is the term used to describe the diagnosis categories for the wildlife.
Animals can and will present with more than one aetiology. In addition, animals may be diagnosed with multiple diagnoses within a category – e.g. an animal may have multiple broken bones/anatomical issues.
- During treatment, the vets will put notes on the forms, this information should be
maintained where possible using searchable text fields (Use the TEXT datatype).
- A wildlife patient can be assigned a treatment, this could be multiple medicines, or particular surgery or other actions. For medicine, the system should allow the start and stop date of each medicine/treatment. A treatment will be uniquely identified for patient, accession, and date it was prescribed.
- Once the patient is improving it may be sent to a wildlife carer. Wildlife carers are part of carer groups. These groups must have a current permit, which has a permit number and an expiry date. The groups have particular specialisations. Within the groups, are a number of individual people that can be contacted.
- AZWH maintains a contact list – they have other hospitals, other zoos/wildlife parks, government departments, other organisations, wildlife carers, vets, researchers, volunteers and general public that have brought in a patient. For all contacts, AZWH maintains, their first name, last name, title/salutation, email, phone number(s), street address, suburb, state, country, postcode, and what sort of contact they are.
For the purposes of your assignment you are to create queries for the following user reports. The queries should be in the main .sql file but separated by a comment showing which query it is. Eg. # Query 2.a.i
You should include the query used on your database design to get that data.
- List the patient id, accession number, animal name, and breed for all animals, sorted by animal type, that are currently being treated (where they have not been released, or sent to a carer or other facility).
- Monthly report (this is multiple queries):
- list the total for all in-coming accessions in the previous calendar month grouped by
- Local government area
- Cause of affliction
- List the total number of accessions for this month in the previous years.
- List all details for Carer Groups with an expired permit.
The database schema for your assignment should be submitted under an open- source royalty free license, this allows you to use the database in your portfolio when you are seeking work as well as allowing for further development of the database for AZWH. The license we have selected is CC-BY 4.0. Please include the comment text in Appendix E at the start of your .sql file. Please note that all data is copyright and owned by Australia Zoo Wildlife Hospital and is used with their permission for the purposes of this assignment. Further distribution of this data is not permitted.
For Part A you are to include a word document or PDF that contains:
- ER Diagram
- Relational Schema (including primary & foreign keys)
- Supplementary design requirements (e.g. any information on length of identifiers, postcodes, names, what data attributes are compulsory, structure and or format of any columns etc.)
- Assumptions that explain important design choices you made: for example:
can a carer care for more than one animal at a time?
For Part B you are to submit
- A single plain text file, name _azwh.sql. In this file you are to include all the SQL for your implementation. This includes:
o The License agreement as seen in Appendix E.
o CREATE TABLE statements including all integrity constraints, and actions on update and delete
o INSERT INTO statements for populating the database (if this must happen in a particular order then make sure you order it appropriately!)
o SELECT statements for the required demonstration queries.
The completed assignment is to be submitted to Blackboard by the due date.
The assignment will be assessed according to the marking sheet. Late submission will be penalised according to the policy in the course outline. Please note Saturday and Sunday are included in the count of days late.
Marking Sheet for ICT701 Task 2
Student name: Student ID:
PART A: DESIGN (50 marks made up of)
- ER Diagram (20 marks)
o Completeness (participation & cardinality constraints & all relevant data represented)
- Relational Schema & normalisation (20 marks)
- Assumptions/Additional Information (10 marks)
PART B: IMPLEMENTATION (50 marks made up of)
- SQL STATEMENTS:
o CREATE TABLE (15 marks)
§ Consider data duplication &
appropriateness of table design
o Integrity Constraints (5 marks)
o INSERT Statements (10 Marks)
o QUERIES – (20 marks total)