Напишите метод Controller для принятия комбинации входов - PullRequest
0 голосов
/ 16 октября 2019

Может ли кто-нибудь помочь мне написать метод в контроллере, который принимает комбинацию переменных на основе следующих инструкций:

  1. Либо _id, либо комбинация идентификатора, даты рождения, имени, данногоНеобходимо указать параметры семьи, адреса, почтового индекса, телефона или электронной почты.
  2. Параметр пола можно указать только в том случае, если указан хотя бы один из идентификатора, даты рождения, имени, фамилии, семьи, адреса, почтового индекса, телефона,или указаны параметры электронной почты.
  3. Имя, семейство и данные параметры поддерживают модификатор :exact и будут искать только текущие имена.
  4. Параметр address-postalcode поддерживает :exactмодификатор.
  5. Идентификатор, имя, фамилия, имя, телефон, электронная почта, адрес-почтовый индекс или пол могут быть предоставлены только один раз и могут иметь только одно значение.
  6. Параметр рожденияможет указываться дважды для указания диапазона дат, но должен содержать включающие префиксы 'le' и 'ge'
  7. РождениеПараметр ate может быть предоставлен один раз со следующими префиксами: 'ge', 'le', 'gt', 'lt', 'eq'.
    @GetMapping({"/Patient_id?={id}","/identifier={identifier}","/name={name}","/family={family}","given={given}",
    "birthdate={birthdate}","phone={phone}","email={email}","address-postalcode={address-postalcode}"})
    public JsonNode getPatientById(@PathVariable(value = "id") Integer id) throws IOException {
        String patientString = tokenReciever.getTokenResponse()
            .flatMap(tokenResponse -> client.get().uri(
                baseUri+"Patient?_id="+id)
                .headers(h -> h.setBearerAuth(tokenResponse.getAccessToken()))
                .header(HttpHeaders.ACCEPT, "application/json+fhir").retrieve()
                .bodyToMono(String.class))
            .block();
        JsonNode node = objectMapper.readTree(patientString);
        return  node;
    }

Подробнее: http://fhir.cerner.com/millennium/dstu2/individuals/patient/

...