Может ли кто-нибудь помочь мне написать метод в контроллере, который принимает комбинацию переменных на основе следующих инструкций:
- Либо _id, либо комбинация идентификатора, даты рождения, имени, данногоНеобходимо указать параметры семьи, адреса, почтового индекса, телефона или электронной почты.
- Параметр пола можно указать только в том случае, если указан хотя бы один из идентификатора, даты рождения, имени, фамилии, семьи, адреса, почтового индекса, телефона,или указаны параметры электронной почты.
- Имя, семейство и данные параметры поддерживают модификатор
:exact
и будут искать только текущие имена. - Параметр address-postalcode поддерживает
:exact
модификатор. - Идентификатор, имя, фамилия, имя, телефон, электронная почта, адрес-почтовый индекс или пол могут быть предоставлены только один раз и могут иметь только одно значение.
- Параметр рожденияможет указываться дважды для указания диапазона дат, но должен содержать включающие префиксы 'le' и 'ge'
- РождениеПараметр 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/