From 3d5023bb701db8a5a1259acc3ab2755a0ae02e17 Mon Sep 17 00:00:00 2001 From: oliveregger Date: Mon, 24 Jun 2024 17:03:55 +0200 Subject: [PATCH] add support for dateTime #243 --- .../main/java/org/hl7/fhir/r5/fhirpath/FHIRPathEngine.java | 4 ++-- .../src/test/resources/mapping-language/qrext.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/matchbox-engine/src/main/java/org/hl7/fhir/r5/fhirpath/FHIRPathEngine.java b/matchbox-engine/src/main/java/org/hl7/fhir/r5/fhirpath/FHIRPathEngine.java index 3e6911ad5ee..b7ca34faeb7 100644 --- a/matchbox-engine/src/main/java/org/hl7/fhir/r5/fhirpath/FHIRPathEngine.java +++ b/matchbox-engine/src/main/java/org/hl7/fhir/r5/fhirpath/FHIRPathEngine.java @@ -2998,7 +2998,7 @@ private List opMinus(List left, List right, ExpressionNode exp throw makeExceptionPlural(right.size(), expr, I18nConstants.FHIRPATH_RIGHT_VALUE, "-"); } // matchbox patch #1655 - if (!right.get(0).isPrimitive() && !((left.get(0).isDateTime() || left.get(0).hasType("Date") || "0".equals(left.get(0).primitiveValue()) || left.get(0).hasType("Quantity")) && right.get(0).hasType("Quantity"))) { + if (!right.get(0).isPrimitive() && !((left.get(0).isDateTime() || left.get(0).hasType("date") || left.get(0).hasType("dateTime") || "0".equals(left.get(0).primitiveValue()) || left.get(0).hasType("Quantity")) && right.get(0).hasType("Quantity"))) { throw makeException(expr, I18nConstants.FHIRPATH_RIGHT_VALUE_WRONG_TYPE, "-", right.get(0).fhirType()); } @@ -3017,7 +3017,7 @@ private List opMinus(List left, List right, ExpressionNode exp result.add(qty.copy().setValue(qty.getValue().abs())); } // matchbox patch #1655 - } else if ((l.isDateTime() || l.hasType("Date")) && r.hasType("Quantity")) { + } else if ((l.isDateTime() || l.hasType("date") || left.get(0).hasType("dateTime")) && r.hasType("Quantity")) { DateTimeType dl = l instanceof DateTimeType ? (DateTimeType) l : new DateTimeType(l.primitiveValue()); result.add(dateAdd(dl, (Quantity) r, true, expr)); } else { diff --git a/matchbox-engine/src/test/resources/mapping-language/qrext.json b/matchbox-engine/src/test/resources/mapping-language/qrext.json index b4182d66402..f11fb838d2e 100644 --- a/matchbox-engine/src/test/resources/mapping-language/qrext.json +++ b/matchbox-engine/src/test/resources/mapping-language/qrext.json @@ -23,7 +23,7 @@ }, { "url": "urn:dateTime", - "valueDate": "2023-09-25T13:19:13.502Z" + "valueDateTime": "2023-09-25T13:19:13.502Z" } ], "id": "qrpatientsexeresponse"