From 9b753ce1a9e13c06d060343bed969d10065db5e8 Mon Sep 17 00:00:00 2001 From: Christian Ohr Date: Fri, 31 Jan 2025 09:18:33 +0100 Subject: [PATCH] #467: enhance sorting by author --- .../fhir/iti66/Iti66DocumentManifestSearchParameters.java | 6 ++++++ .../ipf/commons/ihe/fhir/iti67/Iti67SearchParameters.java | 6 ++++++ src/site/changes.xml | 3 +++ 3 files changed, 15 insertions(+) diff --git a/commons/ihe/fhir/r4/mhd/src/main/java/org/openehealth/ipf/commons/ihe/fhir/iti66/Iti66DocumentManifestSearchParameters.java b/commons/ihe/fhir/r4/mhd/src/main/java/org/openehealth/ipf/commons/ihe/fhir/iti66/Iti66DocumentManifestSearchParameters.java index 37ae115ad8..dcc7880e78 100644 --- a/commons/ihe/fhir/r4/mhd/src/main/java/org/openehealth/ipf/commons/ihe/fhir/iti66/Iti66DocumentManifestSearchParameters.java +++ b/commons/ihe/fhir/r4/mhd/src/main/java/org/openehealth/ipf/commons/ihe/fhir/iti66/Iti66DocumentManifestSearchParameters.java @@ -25,6 +25,7 @@ import lombok.Setter; import lombok.ToString; import org.hl7.fhir.r4.model.DocumentManifest; +import org.hl7.fhir.r4.model.Patient; import org.hl7.fhir.r4.model.Practitioner; import org.hl7.fhir.r4.model.PractitionerRole; @@ -110,6 +111,11 @@ private static String getAuthorName(DocumentManifest documentManifest) { var name = practitioner.getNameFirstRep(); return name.getFamilyElement().getValueNotNull() + name.getGivenAsSingleString(); } + if (author.getResource() instanceof Patient patient) { + if (!patient.hasName()) return null; + var name = patient.getNameFirstRep(); + return name.getFamilyElement().getValueNotNull() + name.getGivenAsSingleString(); + } return null; } } diff --git a/commons/ihe/fhir/r4/mhd/src/main/java/org/openehealth/ipf/commons/ihe/fhir/iti67/Iti67SearchParameters.java b/commons/ihe/fhir/r4/mhd/src/main/java/org/openehealth/ipf/commons/ihe/fhir/iti67/Iti67SearchParameters.java index a5cadbca7e..8be49097f4 100644 --- a/commons/ihe/fhir/r4/mhd/src/main/java/org/openehealth/ipf/commons/ihe/fhir/iti67/Iti67SearchParameters.java +++ b/commons/ihe/fhir/r4/mhd/src/main/java/org/openehealth/ipf/commons/ihe/fhir/iti67/Iti67SearchParameters.java @@ -32,6 +32,7 @@ import lombok.Setter; import lombok.ToString; import org.hl7.fhir.r4.model.DocumentReference; +import org.hl7.fhir.r4.model.Patient; import org.hl7.fhir.r4.model.Practitioner; import org.hl7.fhir.r4.model.PractitionerRole; import org.openehealth.ipf.commons.ihe.fhir.FhirSearchAndSortParameters; @@ -137,6 +138,11 @@ private static String getAuthorName(DocumentReference documentReference) { var name = practitioner.getNameFirstRep(); return name.getFamilyElement().getValueNotNull() + name.getGivenAsSingleString(); } + if (author.getResource() instanceof Patient patient) { + if (!patient.hasName()) return null; + var name = patient.getNameFirstRep(); + return name.getFamilyElement().getValueNotNull() + name.getGivenAsSingleString(); + } return null; } diff --git a/src/site/changes.xml b/src/site/changes.xml index ae11a77abc..b4ef9852a1 100644 --- a/src/site/changes.xml +++ b/src/site/changes.xml @@ -24,6 +24,9 @@ + + Allow to sort by patient author name in ITI-66 and ITI-67 queries + Early support for Swiss UPI transactions eCH-0213, eCH-0214, eCH-0215.