Как выполнить итерацию по ответу API и поиск конкретной строки?

#java #rest #hl7-fhir

#java #отдых #hl7-fhir #rest

Вопрос:

Содержание API
https://imgur.com/a/nJ4mFbs

Я новичок в использовании API. Единственное, что я могу в настоящее время сделать, это выполнить поиск диагностического отчета по идентификатору с помощью кода:

 DiagnosticReport dR = client.read().resource(DiagnosticReport.class).withId("3281").execute();
  

Но как я могу выполнить поиск, чтобы узнать, существует ли тема со ссылкой: «Пациент / 3250», и если она существует, как я могу вернуть строку «Встреча / 3267» из:

"context": { "reference": "Encounter/3267"

Комментарии:

1. Используйте анализатор JSON, такой как gson, jackson и т. Д

2. что такое DiagnosticReport ?

3. Речь идет о FHIR ( hl7.org/fhir ), предположительно, из кода, использующего HAPI ( hapifhir.io )

Ответ №1:

Вы можете попробовать это с помощью JSON :-

 JSONObject jsonObject = new JSONObject(JSON);
JSONObject getFirst = jsonObject.getJSONObject("Context");
Object level2 = getFirst.get("reference");
if(level2.equals("Patient/3250")){
    System.out.println("True");
    }
else{
    System.out.println("False");
    }
  

Ответ №2:

вы можете выполнить первую часть с помощью запроса. Я не уверен в синтаксисе HAPI для этого, поэтому я покажу это в URL. Ваш запрос

 GET [base]/DiagnosticReport/3281
  

Запрос, который вы хотите использовать для поиска, чтобы узнать, существует ли тема со ссылкой «Пациент / 3250», будет

 GET [base]/DiagnosticReport?subject:Patient.id=3250