Skip to content

Commit ffa9c3c

Browse files
Update ObservationValueQuantityMapper to return an empty string and not generate a quantity if the value is not present in the valueQuantity
Remove duplicate unit test
1 parent 9d7aaba commit ffa9c3c

2 files changed

Lines changed: 15 additions & 13 deletions

File tree

service/src/main/java/uk/nhs/adaptors/gp2gp/ehr/mapper/ObservationValueQuantityMapper.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package uk.nhs.adaptors.gp2gp.ehr.mapper;
22

3+
import org.apache.commons.lang3.StringUtils;
34
import org.hl7.fhir.dstu3.model.BooleanType;
45
import org.hl7.fhir.dstu3.model.Extension;
56
import org.hl7.fhir.dstu3.model.Quantity;
@@ -71,6 +72,10 @@ private ObservationValueQuantityMapper() {
7172
}
7273

7374
public static String processQuantity(Quantity valueQuantity) {
75+
if (!valueQuantity.hasValue()) {
76+
return StringUtils.EMPTY;
77+
}
78+
7479
var stringBuilder = new StringBuilder();
7580

7681
if (isUncertaintyCodePresent(valueQuantity)) {

service/src/test/java/uk/nhs/adaptors/gp2gp/ehr/mapper/ObservationValueQuantityMapperTest.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,16 @@ public void When_MappingQuantityWithUncertaintyExtension_Expect_XmlContainsUncer
114114
assertThat(mappedQuantity).isEqualTo(expectedXml);
115115
}
116116

117+
@Test
118+
public void When_MappingQuantityWithNullValue_ExpectedEmptyString() {
119+
var quantity = (Quantity) new Quantity()
120+
.setSystem(UOM_SYSTEM)
121+
.setCode(CODE_CEL);
122+
var mappedQuantity = ObservationValueQuantityMapper.processQuantity(quantity);
123+
124+
assertThat(mappedQuantity).isEmpty();
125+
}
126+
117127
@Test
118128
public void When_MappingQuantityWithUOMSystemAndCode_Expect_PQXmlWithValueAndQuantitySetAndNoTranslation() {
119129
var quantity = new Quantity()
@@ -239,19 +249,6 @@ public void When_MappingQuantityWithAnyOrNoSystemWithoutUnitOrCode_Expect_PQXmlW
239249
assertThat(mappedQuantity).isEqualTo(expectedXml);
240250
}
241251

242-
@Test
243-
public void When_MappingQuantityWithoutSystemOrUnitOrCode_Expect_PQXmlWithValueSetAndUnitSetToOne() {
244-
var quantity = new Quantity()
245-
.setValue(VALUE_37_1);
246-
247-
var expectedXml = """
248-
<value xsi:type="PQ" value="37.1" unit="1" />""";
249-
250-
var mappedQuantity = ObservationValueQuantityMapper.processQuantity(quantity);
251-
252-
assertThat(mappedQuantity).isEqualTo(expectedXml);
253-
}
254-
255252
@Test
256253
public void When_MappingQuantityWithUncertaintyAndComparatorExtension_Expect_XmlContainsUncertaintyCode() {
257254
var quantity = (Quantity) new Quantity()

0 commit comments

Comments
 (0)