in util/src/main/java/com/google/cloud/healthcare/imaging/dicomadapter/AttributesUtil.java [231:252]
private static void setPatientNames(Attributes attrs, int tag, JSONArray jsonValues) {
List<String> results = new ArrayList<>();
for (Object itemObj : jsonValues) {
JSONObject item = (JSONObject) itemObj;
String alphabetic = item.has(PN_ALPHABETIC) ? item.getString(PN_ALPHABETIC) : "";
String ideographic = item.has(PN_IDEOGRAPHIC) ? item.getString(PN_IDEOGRAPHIC) : "";
String phonetic = item.has(PN_PHONETIC) ? item.getString(PN_PHONETIC) : "";
StringBuilder result = new StringBuilder();
result.append(alphabetic);
if (ideographic.length() > 0 || phonetic.length() > 0) {
result.append(PN_DELIMITER);
}
result.append(ideographic);
if (phonetic.length() > 0) {
result.append(PN_DELIMITER);
}
result.append(phonetic);
results.add(result.toString());
}
attrs.setString(tag, VR.PN, results.toArray(new String[0]));
}