fhir_path library Null safety

Classes

AbsParser
AggregateParser
AllFalseParser
Takes a collection of Boolean values and returns true if all the items are false. If any items are true, the result is false. If the input is empty ({ }), the result is true.
AllParser
AllTrueParser
Takes a collection of Boolean values and returns true if all the items are true. If any items are false, the result is false. If the input is empty ({ }), the result is true.
AndSignParser
AndStringParser
AnswersParser
AnyFalseParser
Takes a collection of Boolean values and returns true if any of the items are false. If all the items are true, or if the input is empty ({ }), the result is false.
AnyTrueParser
Takes a collection of Boolean values and returns true if any of the items are true. If all the items are false, or if the input is empty ({ }), the result is false.
AsParser
AvgParser
BaseDateTimeParser<T>
BaseDateTimeParser: either a DateParser or DateTimeParser
BooleanParser
Boolean Parser, it returns a FHIR Boolean value
BracketsIndexParser
CeilingParser
ChildrenParser
CombineParser
CommaParser
ContainsParser
ConvertsToBooleanParser
ConvertsToDateParser
ConvertsToDateTimeParser
ConvertsToDecimalParser
ConvertsToIntegerParser
ConvertsToQuantityParser
ConvertsToStringParser
ConvertsToTimeParser
CountParser
DateParser
DateTimeParser
DayParser
DaysParser
DecimalParser
DelimitedIdentifierParser
DescendantsParser
DistinctParser
DivModParser
DivSignParser
DivStringParser
DotParser
EmptyParser
Returns true if the input collection is empty ({ }) and false otherwise.
EmptySetParser
EndsWithParser
EnvVariableParser
This allows the passing of a variable from the environment into the evaluation.
EqualsParser
EquivalentParser
ToDo: write test
ExcludeParser
ExistsParser
Returns true if the collection has any elements, and false otherwise. This is the opposite of empty(), and as such is a shorthand for empty().not(). If the input collection is empty ({ }), the result is false. The function can also take an optional criteria to be applied to the collection prior to the determination of the exists. In this case, the function is shorthand for where(criteria).exists(). Note that a common term for this function is any.
ExpParser
FhirPathParser
FhirPathParser: base parser
FhirPathQuantity
FirstParser
FloorParser
FpMatchesParser
FpNotParser
FpWhereParser
FunctionParser
FunctionParser: functions
GreaterEqualParser
GreaterParser
HasValueParser
HourParser
HoursParser
IdentifierParser
IifParser
ImpliesParser
IndexOfParser
IndexParser
InParser
IntegerParser
IntersectParser
IsDistinctParser
IsParser
LastParser
LengthParser
LessEqualParser
LessParser
LnParser
LogParser
LowerParser
MaxParser
MillisecondParser
MinParser
MinusParser
MinutesParser
MonthParser
MonthsParser
NotEqualsParser
NotEquivalentParser
NowParser
OfTypeParser
OperatorParser
OperatorParser: operators
OrdinalParser
OrStringParser
ParenthesesParser
ParenthesesParser: ()
ParserList
ParserList: anything that is a List of FhirPathParsers
PlusParser
PowerParser
QuantityParser
RepeatParser
ReplaceMatchesParser
ReplaceParser
RoundParser
SecondParser
SecondsParser
SelectParser
SingleParser
SkipParser
SqrtParser
StarParser
StartsWithParser
StringParser
SubsetOfParser
SubstringParser
SumParser
SupersetOfParser
TailParser
TakeParser
ThisParser
TimeOfDayParser
TimeParser
ToBooleanParser
ToCharsParser
ToDateParser
ToDateTimeParser
TodayParser
ToDecimalParser
ToIntegerParser
ToQuantityParser
ToStringParser
TotalParser
ToTimeParser
TraceParser
TruncateParser
UcumPrefix
UcumUnit
UnionFunctionParser
UnionOperatorParser
UnitParser
UnitParser: for UCUM values
UpperParser
ValueParser<T>
ValueParser: basic parser that holds a value
WeeksParser
WhiteSpaceParser
This includes all input that should be ignored, this includes pure white space, along with comments, it simply returns whatever has been passed to it
XorParser
YearParser
YearsParser

Constants

FhirDatatypes → const Set<String>
{'Base64Binary', 'Boolean', 'Code', 'Date', 'DateTime', 'Decimal', 'Id', 'Instant', 'Integer', 'Markdown', 'Positive…
polymorphicPrefixes → const Set<String>
{'abatement', 'additive', 'age', 'allowed', 'amount', 'answer', 'asNeeded', 'author', 'born', 'bounds', 'characteris…
unitCode → const List<String>
['m', 's', 'g', 'rad', 'K', 'C', 'cd', '10*', '10^', '[pi]', '%', '[ppth]', '[ppm]', '[ppb]&…

Properties

prefixData List<UcumPrefix>
final
unitsData List<UcumUnit>
final

Functions

dstu2WalkFhirPath(Resource? resource, String pathExpression, [Map<String, dynamic>? passed]) List
executeComparisons(List results, ParserList before, ParserList after, Map passed, Comparator comparator, {bool where = false}) List
foundInList(List list, dynamic e) bool
lexer() Parser<FhirPathParser>
notFoundInList(List list, dynamic e) bool
operatorValues(List fullList) ParserList
r4WalkFhirPath(Resource? resource, String pathExpression, [Map<String, dynamic>? passed]) List
r5WalkFhirPath(Resource? resource, String pathExpression, [Map<String, dynamic>? passed]) List
startsWithAPolymorphicPrefix(String value) bool
stu3WalkFhirPath(Resource? resource, String pathExpression, [Map<String, dynamic>? passed]) List
walkFhirPath(Map<String, dynamic>? resource, String pathExpression, [Map<String, dynamic>? passed, FhirVersion version = FhirVersion.r4]) List
Start here! This is where the fun begins. It first checks to be sure there is a resource to be evaluated, and an AST (abstract syntax tree) which admittedly in this case is a bit of a misnomer, because the AST is actually placed as a list into the value field of a ParserList It then checks if the first node in the AST is the same as the ResourceType of the Resource, if so, it is removed.

Enums

Comparator
FhirVersion

Exceptions / Errors

FhirPathEvaluationException
The evaluation of the expression failed with the given parameters.
FhirPathException
Something went wrong while parsing or executing a FHIRPath expression.
FhirPathInvalidExpressionException
The overall syntax of the expression is incorrect.