Пожалуйста, посмотрите на следующий ответ пациента, полученный от http://fhirtest.uhn.ca/baseDstu3.. Я хотел бы получить доступ к значению 4081340 в теге id, но мне не удалось найти его в org.hl7.fhir.dstu3.model.Patient API.Кто-нибудь, пожалуйста, покажите мне, как?
<Patient xmlns="http://hl7.org/fhir">
<id value="4081340"></id>
<meta>
<versionId value="1"></versionId>
<lastUpdated value="2018-06-04T15:13:28.069+00:00"></lastUpdated>
</meta>
<text>
<status value="generated"></status>
<div xmlns="http://www.w3.org/1999/xhtml">
<div class="hapiHeaderText">Robert Jozef
<b>VAESSEN </b>
</div>
<table class="hapiPropertyTable">
<tbody>
<tr>
<td>Identifier</td>
<td>12345</td>
</tr>
<tr>
<td>Date of birth</td>
<td>
<span>30 January 1954</span>
</td>
</tr>
</tbody>
</table>
</div>
</text>
<identifier>
<system value="http://dmw.levy.com/mrn"></system>
<value value="12345"></value>
</identifier>
<name>
<family value="Vaessen"></family>
<given value="Robert"></given>
<given value="Jozef"></given>
</name>
<gender value="male"></gender>
<birthDate value="1954-01-30"></birthDate>
</Patient>
Обновление:
Причина, по которой я хочу получить доступ к значению 4081340, заключается в том, что оно мне нужно для выполнения кода, такого как этот:
private void deletePatient(String id) {
try {
OperationOutcome outcome = (OperationOutcome) client.delete().resourceById(new IdDt("Patient", id)).execute();
}
catch (Exception e) {
System.out.printf("Cannot delete patient with id = %s\n%s\n", id, e.getMessage());
}
}
private void retrievePatient(String id) {
try {
Patient patient = client.read().resource(Patient.class).withId(id).execute();
String description = parser.encodeResourceToString(patient);
System.out.printf("Successfully retrieved patient with ID = %s:\n%s\n", id, description);
}
catch (ResourceNotFoundException e) {
System.out.printf("Cannot find patient with id = %s\n", id);
}
}
Все следующие операторы печатают http://hapi.fhir.org/baseDstu3/Patient/4081340/_history/1. Я могу разобрать, что для получения 4081340
System.out.printf("\t%s\n", patient.getId());
System.out.printf("\t%s\n", patient.getIdBase());
System.out.printf("\t%s\n", patient.getIdElement());
Когда я проверяю пациента в отладчике, я вижу значение вполе myUnqualifiedId
но я не могу понять, как к нему добраться.
![enter image description here](https://i.stack.imgur.com/Zea5k.png)