/**
  * 
  */
 public function get()
 {
     if (!is_object($t_entity = $this->_checkEntity())) {
         return $t_entity;
     }
     $vn_id = $t_entity->getPrimaryKey();
     $t_list = new ca_lists();
     $vn_yes_id = $t_list->getItemIDFromList("yes_no", "yes");
     $vn_no_id = $t_list->getItemIDFromList("yes_no", "no");
     $vn_male_id = $t_list->getItemIDFromList("genders", "male");
     $vn_female_id = $t_list->getItemIDFromList("genders", "female");
     // get victim info
     $va_data = array('id' => $vn_id, 'forename' => $t_entity->get('ca_entities.preferred_labels.forename'), 'other_forenames' => $t_entity->get('ca_entities.preferred_labels.other_forenames'), 'surname' => $t_entity->get('ca_entities.preferred_labels.surname'), 'middlename' => $t_entity->get('ca_entities.preferred_labels.middlename'), 'displayname' => $t_entity->get('ca_entities.preferred_labels.displayname'), 'prefix' => $t_entity->get('ca_entities.preferred_labels.prefix'), 'suffix' => $t_entity->get('ca_entities.preferred_labels.suffix'), 'gender' => $t_entity->get('ca_entities.gender') == $vn_male_id ? "M" : "F", 'pregnant' => $t_entity->get('ca_entities.pregnant') == $vn_yes_id ? 1 : 0, 'final_text_bio' => $t_entity->get('ca_entities.final_text_bio'), 'lifespan' => $t_entity->get('ca_entities.lifespan', array('dateFormat' => 'iso8601')), 'lifespan_as_text' => $t_entity->get('ca_entities.lifetime_text'), 'last_modification' => $t_entity->get('ca_entities.lastModified', array("dateFormat" => 'iso8601')));
     $va_nonpreferred_labels = $t_entity->get('ca_entities.nonpreferred_labels', array('returnAsArray' => true, 'assumeDisplayField' => false));
     foreach ($va_nonpreferred_labels as $va_label) {
         $va_data['alternate_names'][] = $va_label;
     }
     // add place info
     $va_places = $t_entity->getRelatedItems('ca_places');
     $t_place = new ca_places();
     $va_place_type_list = $t_place->getTypeList();
     $va_place_type_idnos = array();
     foreach ($va_place_type_list as $vn_type_id => $va_type) {
         if (!$va_type['is_enabled']) {
             continue;
         }
         $va_place_type_idnos[] = $va_type['idno'];
     }
     $va_data['place_types'] = $va_place_type_idnos;
     foreach ($va_places as $vn_relation_id => $va_rel_info) {
         if ($t_place->load($va_rel_info['place_id'])) {
             $va_place_ids = $t_place->get('ca_places.hierarchy.place_id', array('returnAsArray' => true));
             array_shift($va_place_ids);
             $vn_i = 0;
             foreach ($va_place_ids as $vn_id) {
                 if ($t_place->load($vn_id)) {
                     if (!($vs_type_name = $va_place_type_list[$vn_place_type_id = $t_place->get('type_id')]['idno'])) {
                         $vs_type_name = $vn_place_type_id;
                     }
                     $va_data['locations'][$va_rel_info['relationship_type_code']][$vs_type_name] = $t_place->get('ca_places.preferred_labels.name');
                     $vn_i++;
                 }
             }
         }
     }
     // add affiliations
     $va_entities = $t_entity->getRelatedItems('ca_entities', array('restrict_to_relationship_types' => array('employer', 'affiliation')));
     $t_rel_entity = new ca_entities();
     $va_units = array();
     foreach ($va_entities as $vn_relation_id => $va_rel_info) {
         if ($t_rel_entity->load($va_rel_info['entity_id'])) {
             $va_display_names = $t_rel_entity->get('ca_entities.hierarchy.preferred_labels.displayname', array('returnAsArray' => true));
             if ($va_rel_info['relationship_type_code'] == 'affiliation') {
                 if (sizeof($va_display_names) > 1) {
                     $va_units[] = array_pop($va_display_names);
                 }
             } else {
                 if (sizeof($va_display_names) > 1) {
                     array_pop($va_display_names);
                 }
             }
             $va_data['affiliations'][$va_rel_info['relationship_type_code']][] = array('displayname' => $va_display_names, 'id' => $va_rel_info['entity_id'], 'aliases' => array_values($t_rel_entity->get('ca_entities.nonpreferred_labels.displayname', array('returnAsArray' => true))));
         }
     }
     // add group
     $va_data['affiliations']['group'][] = array('displayname' => array($t_entity->get('ca_entities.groupName')), 'id' => -1, 'aliases' => array());
     // Map bottom level of two level affiliation to fake "unit" relationship
     // This let's the Memorial Table CMS easily make the unit value searchable
     foreach ($va_units as $vs_unit) {
         $va_data['affiliations']['unit'][] = array('displayname' => array($vs_unit), 'id' => -1, 'aliases' => array());
     }
     return $this->makeResponse($va_data);
 }