diff --git a/src/main/java/bio/ferlab/fhir/converter/FhirAvroConverter.java b/src/main/java/bio/ferlab/fhir/converter/FhirAvroConverter.java index 944ef0f..88dafb9 100644 --- a/src/main/java/bio/ferlab/fhir/converter/FhirAvroConverter.java +++ b/src/main/java/bio/ferlab/fhir/converter/FhirAvroConverter.java @@ -138,8 +138,9 @@ private static ByteBuffer bytesForString(String string) { return ByteBuffer.wrap(string.getBytes(StandardCharsets.UTF_8)); } + // valueQuantity and valueCode from DeviceProperty in FHIR R4 should not be treated as value[x] fields. private static Boolean isRealValueXField(Base base, String fieldName) { - return !(base instanceof Device.DevicePropertyComponent) || (!fieldName.equals("valueQuantity") && !fieldName.equals("valueCode")); + return !((base instanceof Device.DevicePropertyComponent) && (fieldName.equals("valueQuantity") || fieldName.equals("valueCode"))); } private static Optional getProperty(Base base, Schema.Field field) {