/ / JHA एपीआई - जावा, json, hl7-fhir का उपयोग करके JSON को सीरियल FHIR संसाधन

जावा एपीआई का उपयोग कर जेएसओएन को एफआईआईआर संसाधन सीरियलाइजिंग - जावा, जेसन, एचएल 7-फ़िर

मैं एक एफएचआईआर को बदलने की कोशिश कर रहा हूं Resource या ResourceOrFeed JSON स्ट्रिंग का ऑब्जेक्ट। मुझे इसके लिए जावा कार्यान्वयन में उपलब्ध कोई भी एपीआई पद्धति नहीं मिली।

.NET एपीआई के लिए धारावाहिक उपलब्ध हैं लेकिन जावा कार्यान्वयन के लिए समान एपीआई उपलब्ध नहीं है।

कैसे परिवर्तित करने के लिए कोई संकेत ResourceOrFeed वास्तविक स्ट्रिंग JSON प्रतिनिधित्व करने के लिए वस्तु?

स्प्रिंग जैक्सन कनवर्टर से डिफ़ॉल्ट रूपांतरण मेरे लिए काम कर रहा है, लेकिन यह सही JSON आउटपुट नहीं कर रहा है और मैं एक कस्टम ऑब्जेक्ट रैपर लिखना नहीं चाहता हूं।

उत्तर:

जवाब के लिए 3 № 1

HAPI की कोशिश करें: http://hapifhir.io/

पोम फ़ाइल में जोड़ने के लिए मावेन निर्भरता:

<dependency>
<groupId>ca.uhn.hapi.fhir</groupId>
<artifactId>hapi-fhir-base</artifactId>
<version>2.2-SNAPSHOT</version>
</dependency>

जावा स्निपेट:

import org.hl7.fhir.dstu3.model.*;
import ca.uhn.fhir.context.FhirContext;
// for other imports use your IDE.

public void printPatientJSON() {
FhirContext ourCtx = FhirContext.forDstu3();

Patient patient = new Patient();
patient.addName().addFamily("PATIENT");

// now convert the resource to JSON
String output = ourCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(patient);

System.out.println(output);
}

उत्तर № 2 के लिए 1

यह एक तरीका है जिससे इसे किया जा सकता है:

ByteArrayOutputStream bytes = new ByteArrayOutputStream();
new org.hl7.fhir.instance.formats.JsonComposer().compose(bytes, feed, true);
return new String(bytes.toByteArray());