Ich habe mich gerade gefragt, ob es eine Möglichkeit gibt, auf eine Ressource innerhalb eines Bundles zuzugreifen.Zugriff auf eine Ressource innerhalb eines Bundles HL7-FHIR
I.E
FhirContext ctx = FhirContext.forDstu3();
String baseSite= "http://fhirtest.uhn.ca/baseDstu3/";
IGenericClient client = ctx.newRestfulGenericClient("http://fhirtest.uhn.ca/baseDstu3");
System.out.println("Connected to server");
Bundle bundle = client.search().forResource(DiagnosticReport.class).where(DiagnosticReport.IDENTIFIER.exactly().identifier(id)).returnBundle(Bundle.class).execute();
DiagnosticReport diag =client.read().resource(DiagnosticReport.class).withId(bundle.getEntry().get(0).getResource());
String finalBundle=ctx.newXmlParser().setPrettyPrint(true).encodeResourceToString(diag);
System.out.println(finalBundle);
Observation obv = client.read().resource(Observation.class).withUrl(baseSite+diag.getResult().get(0).getReference()).execute();
Sequence seq = client.read().resource(Sequence.class).withUrl(baseSite+obv.getRelated().get(0).getTarget()).execute();
diag ist derzeit, was Probleme verursacht. Da ich einen Client über eine ID, die generiert wird, auf seinen Bericht zugreifen kann (also den Befehl bundle search), aber auf alle anderen Ressourcen zugreifen kann, auf die diagnosebericht verweist, kann ich keine Möglichkeit finden, die Ressource vom Bundle zu trennen oder direkt zu greifen aus dem Bündel.
Danke
Für DiagnosticReport dr = bundle.getEntry(). get (0) .getResource(); Ich erhalte den Fehler, dass die Ressource nicht in DiagnosticReport konvertiert werden kann. – Georgrio
Behoben, musste nur einen Cast zu DiagnosticReport hinzufügen – Georgrio