Skip to content

Commit a43c118

Browse files
Remove unused code when getting original text for null-flavor codeable concepts
* Remove unused code when getting original text for null-flavor codeable concepts. (#1148) * Use existing method for get the display value from a description extension. * Refactor for readability and code clarity.
1 parent 1ced970 commit a43c118

File tree

1 file changed

+15
-29
lines changed

1 file changed

+15
-29
lines changed

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

Lines changed: 15 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -328,43 +328,29 @@ private List<Coding> getNonSnomedCodeCodings(CodeableConcept codeableConcept) {
328328
private Optional<String> findOriginalText(
329329
CodeableConcept codeableConcept,
330330
Optional<Coding> coding,
331-
Function<Coding, List<Extension>> getOriginalTextFromDescriptionExtension) {
331+
Function<Coding, Optional<String>> findOriginalTextInDisplayExtension) {
332+
333+
if (codeableConcept.hasText()) {
334+
return Optional.ofNullable(codeableConcept.getText());
335+
}
332336

333337
if (coding.isPresent()) {
334-
if (codeableConcept.hasText()) {
335-
return Optional.ofNullable(codeableConcept.getText());
336-
} else {
337-
if (coding.get().hasDisplay()) {
338-
return getCodingDisplayName(coding.get());
339-
} else {
340-
var extension = getOriginalTextFromDescriptionExtension.apply(coding.get());
341-
return extension.stream()
342-
.filter(displayExtension -> DESCRIPTION_DISPLAY.equals(displayExtension.getUrl()))
343-
.map(extension1 -> extension1.getValue().toString())
344-
.findFirst();
345-
}
338+
if (coding.get().hasDisplay()) {
339+
return getCodingDisplayName(coding.get());
346340
}
347-
} else {
348-
return CodeableConceptMappingUtils.extractTextOrCoding(codeableConcept);
341+
342+
return findOriginalTextInDisplayExtension.apply(coding.get());
349343
}
344+
345+
return CodeableConceptMappingUtils.extractTextOrCoding(codeableConcept);
350346
}
351347

352348
private Optional<String> findOriginalText(CodeableConcept codeableConcept, Optional<Coding> coding) {
353-
return findOriginalText(
354-
codeableConcept,
355-
coding,
356-
codingParameter -> retrieveDescriptionExtension(codingParameter).stream().toList()
357-
);
349+
return findOriginalText(codeableConcept, coding, codingParameter -> Optional.empty());
358350
}
359351

360352
private Optional<String> findOriginalTextUsingNestedDisplayExtension(CodeableConcept codeableConcept, Optional<Coding> coding) {
361-
return findOriginalText(
362-
codeableConcept,
363-
coding,
364-
codingParameter -> retrieveDescriptionExtension(codingParameter)
365-
.map(Extension::getExtension)
366-
.orElseGet(Collections::emptyList)
367-
);
353+
return findOriginalText(codeableConcept, coding, this::getDisplayTextFromDescriptionExtension);
368354
}
369355

370356
private Optional<String> findOriginalTextForAllergy(
@@ -377,13 +363,13 @@ private Optional<String> findOriginalTextForAllergy(
377363
}
378364

379365
if (ACTIVE_CLINICAL_STATUS.equals(allergyIntoleranceClinicalStatus.toCode())) {
380-
return getOriginalTextForActiveAllergy(coding.get());
366+
return getDisplayTextFromDescriptionExtension(coding.get());
381367
}
382368

383369
return CodeableConceptMappingUtils.extractTextOrCoding(codeableConcept);
384370
}
385371

386-
private Optional<String> getOriginalTextForActiveAllergy(Coding coding) {
372+
private Optional<String> getDisplayTextFromDescriptionExtension(Coding coding) {
387373
return retrieveDescriptionExtension(coding)
388374
.flatMap(value -> value
389375
.getExtension().stream()

0 commit comments

Comments
 (0)