Services\PatientService::search PHP Method

    public function search(array $params)
    {
        $model = $this->getSearchModel();
        if (isset($params['id'])) {
            $model->id = $params['id'];
        }
        if (isset($params['identifier'])) {
            if (strpos($params['identifier'], '|') !== false) {
                list($namespace, $identifier) = explode('|', $params['identifier'], 2);
                switch ($namespace) {
                    case \Yii::app()->params['fhir_system_uris']['hos_num']:
                        $model->hos_num = sprintf('%07s', $identifier);
                        break;
                    case \Yii::app()->params['fhir_system_uris']['nhs_num']:
                        $model->nhs_num = $identifier;
                        break;
                    default:
                        return array();
                }
            } else {
                $model->hos_num = sprintf('%07s', $params['identifier']);
                $model->nhs_num = $params['identifier'];
            }
        }
        $searchParams = array('pageSize' => 5);
        if (isset($params['family'])) {
            $searchParams['last_name'] = $params['family'];
        }
        if (isset($params['given'])) {
            $searchParams['first_name'] = $params['given'];
        }
        return $this->getResourcesFromDataProvider($model->search($searchParams));
    }