0
バンドル内のリソースにアクセスする方法があるかどうかは不思議でした。バンドル内のリソースへのアクセスHL7-FHIR
すなわち
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は、問題を引き起こしているものは現在あります。私はクライアントが(つまり、バンドル検索コマンド)生成されたIDを介して自分のレポートにアクセスしているが、diagnosticReportによって参照されている他のすべてのリソースにアクセスするために、バンドルからリソースを分離する方法や、バンドルから。あなたが望んでいた場合、あなたはまた、使用することができ返すために含まれて
DiagnosticReport dr = (DiagnosticReport) bundle.getEntry().get(0).getResource();
:
は、あなただけのバンドルからDiagnosticReport
リソースをつかむしたい場合は以下のような何かを行うことができるはずあなたに
DiagnosticReport dr = bundle.getEntry()。get(0).getResource();リソースがDiagnosticReportに変換されないというエラーが表示される – Georgrio
固定されていて、単にDiagnosticReportへのキャストを追加しなければならなかった – Georgrio