HS.FHIRPath.Runtime
class HS.FHIRPath.Runtime extends HS.FHIRPath.Engine
This class implements the interpreter runtime processing for built-in operator and functions. Dispatch is based on the name of the function or operator so it is possible to implement support for a new function by simply adding a method to this class. Because operators are typically special characters, the initializeOperatorToMethodMap method sets up a mapping from the operator name to a valid identifier. The final method name is prefixed by "IOP" or "IUOP" (for binary or unary) handlers. Handlers for built-in functions are prefixed by "IFN"Internally, a collection is represented as a multi-dimensional array. In the method signatures, collections are named in ALL-UPPER-CASE for clarity.
Signature for a Built-in Function handler
Method IFN(ByRef CONTEXT, args As %ListOfObjects, Output OUTPUT) CONTEXT is the context collection for that the function is applied to. arg is a list of Node object representing the arguments to the function. The handler can evaluate these arguments by calling processNode with an appropriate context collection (typically the single input). OUTPUT is the result collection
During the evaluation of a function, the interpreter calls the handler once per value in the context collection for the function. The handler will accumulate the result into the OUTPUT collection.
Signature for a Binary Operator handler
Method IOP(ByRef LEFT, ByRef RIGHT, Output OUTPUT) LEFT is the left-side input operand collection RIGHT is the right-side input operand collection OUTPUT is the result collection
Signature for a Binary Operator handler
Method IOP(ByRef LEFT, ByRef RIGHT, Output OUTPUT) LEFT is the left-side input operand collection RIGHT is the right-side input operand collection OUTPUT is the result collection
Method Inventory
- IFNaggregate()
- IFNchildren()
- IFNdescendants()
- IFNempty()
- IFNendsWith()
- IFNexists()
- IFNextension()
- IFNfirst()
- IFNhasExtension()
- IFNiif()
- IFNindexOf()
- IFNlast()
- IFNnot()
- IFNofType()
- IFNresolve()
- IFNsingle()
- IFNskip()
- IFNstartsWith()
- IFNsubstring()
- IFNtail()
- IFNtake()
- IFNunion()
- IFNunitConversion()
- IFNwhere()
- IOPand()
- IOPas()
- IOPconcat()
- IOPdiv()
- IOPequals()
- IOPimplies()
- IOPin()
- IOPis()
- IOPminus()
- IOPmul()
- IOPne()
- IOPor()
- IOPplus()
- IOPunion()
- IOPxor()
- MathOperation()
- checkStringFunction()
- verifyType()
Parameters
Methods
Inherited Members
Inherited Properties
Inherited Methods
- %AddToSaveSet()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Extends()
- %GetParameter()
- %IsA()
- %IsModified()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OriginalNamespace()
- %PackageName()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %ValidateObject()
- CollectionToJsonArray()
- JsonArrayToCollection()
- compareJSON()
- fhirTypeToJsonType()
- fhirTypeToMathType()
- fhirTypeToStringType()
- interpret()
- interpretArray()
- interpretToJson()
- processFN()
- processFNAsOP()
- processID()
- processNode()
- processOP()
- pushFieldValue()
- resolveToResource()
- variantFieldName()