Skip to content
This repository was archived by the owner on Oct 6, 2025. It is now read-only.

Commit 190ca8d

Browse files
committed
better url encoding of search urls executed against fhir bridge
1 parent 8146b52 commit 190ca8d

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

  • codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/client/fhir

codex-process-data-transfer/src/main/java/de/netzwerk_universitaetsmedizin/codex/processes/data_transfer/client/fhir/FhirBridgeClient.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.hl7.fhir.r4.model.Resource;
2222
import org.slf4j.Logger;
2323
import org.slf4j.LoggerFactory;
24+
import org.springframework.web.util.UriComponentsBuilder;
2425

2526
import ca.uhn.fhir.model.api.annotation.ResourceDef;
2627
import ca.uhn.fhir.rest.api.MethodOutcome;
@@ -250,6 +251,9 @@ private Optional<Resource> findResourceInLocalFhirStore(String url, Class<? exte
250251
if (geccoClient.shouldUseChainedParameterNotLogicalReference())
251252
url = url.replace("patient:identifier", "patient.identifier");
252253

254+
UriComponentsBuilder urlBuilder = UriComponentsBuilder.fromUriString(url);
255+
url = urlBuilder.encode().build().toString();
256+
253257
try
254258
{
255259
Bundle resultBundle = geccoClient.getGenericFhirClient().search().byUrl(url).sort()
@@ -343,7 +347,7 @@ else if (resource instanceof Observation)
343347
logger.debug(
344348
"Replacing reference at Observation.hasMember[{}] from bundle resource {} with existing resource id",
345349
i, resource.getIdElement().getValue());
346-
member.setReferenceElement(resourceId);
350+
member.setReferenceElement(resourceId.toUnqualifiedVersionless());
347351
}
348352
}
349353
}

0 commit comments

Comments
 (0)