diff --git a/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/BooleanLogicFunctions.java b/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/BooleanLogicFunctions.java index d4c9818c51..c6d1d5bddf 100644 --- a/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/BooleanLogicFunctions.java +++ b/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/BooleanLogicFunctions.java @@ -7,6 +7,8 @@ /** * Contains functions for boolean logic. * + * @author Piotr Szul + * @author John Grimes * @see FHIRPath Specification - * Boolean logic */ @@ -27,5 +29,5 @@ public class BooleanLogicFunctions { public static BooleanCollection not(@Nonnull final BooleanCollection input) { return BooleanCollection.build(input.getColumn().not()); } - + } diff --git a/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/BoundaryFunctions.java b/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/BoundaryFunctions.java index b12d9b96f7..ebec1f03fc 100644 --- a/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/BoundaryFunctions.java +++ b/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/BoundaryFunctions.java @@ -23,6 +23,7 @@ /** * Contains functions for calculating the low and high boundaries of a value. * + * @author John Grimes * @see lowBoundary * @see FHIRPath Specification - * Existence */ diff --git a/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/IifFunction.java b/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/IifFunction.java deleted file mode 100644 index 8b0fed1845..0000000000 --- a/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/IifFunction.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2023 Commonwealth Scientific and Industrial Research - * Organisation (CSIRO) ABN 41 687 119 230. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package au.csiro.pathling.fhirpath.function; - -import au.csiro.pathling.fhirpath.annotations.Name; -import au.csiro.pathling.fhirpath.annotations.NotImplemented; - -/** - * This function takes three arguments, Returns the second argument if the first argument evaluates - * to {@code true}, or the third argument otherwise. - * - * @author John Grimes - * @see iif - */ -@Name("iif") -@NotImplemented -public class IifFunction implements NamedFunction { - - // TODO: implement as columns - - // private static final String NAME = "iif"; - // - // @Nonnull - // @Override - // public Collection invoke(@Nonnull final NamedFunctionInput input) { - // final NonLiteralPath inputPath = input.getInput(); - // checkUserInput(input.getArguments().size() == 3, - // "3 arguments must be supplied to iif function"); - // final Collection condition = input.getArguments().get(0); - // checkUserInput(condition instanceof BooleanCollection, - // "Condition argument to iif must be Boolean: " + condition.getExpression()); - // checkUserInput(condition.isSingular(), - // "Condition argument to iif must be singular: " + condition.getExpression()); - // final BooleanCollection conditionBoolean = (BooleanCollection) condition; - // checkUserInput(conditionBoolean.getThisColumn().isPresent(), - // "Condition argument to iif function must be navigable from collection item (use $this): " - // + conditionBoolean.getExpression()); - // - // // Join the three datasets together and create a value column. - // final Collection ifTrue = input.getArguments().get(1); - // final Collection otherwise = input.getArguments().get(2); - // final Column valueColumn = - // when(conditionBoolean.getValueColumn().equalTo(true), ifTrue.getValueColumn()) - // .otherwise(otherwise.getValueColumn()); - // final DatasetWithColumn datasetWithColumn = createColumn(otherwise.getDataset(), valueColumn); - // - // // Build a new ElementPath based on the type of the literal `ifTrue` and `otherwise` arguments, - // // and populate it with the dataset and calculated value column. - // final String expression = expressionFromInput(input, NAME, input.getInput()); - // return ifTrue.combineWith(otherwise, datasetWithColumn.getDataset(), expression, - // inputPath.getIdColumn(), datasetWithColumn.getColumn(), inputPath.isSingular(), - // inputPath.getThisColumn()); - // } - -} diff --git a/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/JoinKeyFunctions.java b/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/JoinKeyFunctions.java index e473c0a4eb..f879c4a3aa 100644 --- a/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/JoinKeyFunctions.java +++ b/fhirpath/src/main/java/au/csiro/pathling/fhirpath/function/JoinKeyFunctions.java @@ -30,6 +30,9 @@ * FHIRPath functions for generating keys for joining between resources. * * @author Piotr Szul + * @see SQL + * on FHIR Specification - Required Additional Functions */ @SuppressWarnings("unused") public class JoinKeyFunctions { @@ -41,7 +44,8 @@ public class JoinKeyFunctions { * @param input The input {@link ResourceCollection} * @return A {@link Collection} of keys * @see getResourceKey + * href="https://build.fhir.org/ig/FHIR/sql-on-fhir-v2/StructureDefinition-ViewDefinition.html#getresourcekey--keytype">SQL + * on FHIR Specification - getResourceKey */ @FhirPathFunction @Nonnull @@ -56,7 +60,8 @@ public static Collection getResourceKey(@Nonnull final ResourceCollection input) * @param typeSpecifier An optional {@link TypeSpecifier} to filter the reference keys by * @return A {@link Collection} of keys * @see getReferenceKey + * href="https://build.fhir.org/ig/FHIR/sql-on-fhir-v2/StructureDefinition-ViewDefinition.html#getreferencekeyresource-type-specifier--keytype">SQL + * on FHIR Specification - getReferenceKey */ @FhirPathFunction @Nonnull