Skip to main content

HS.FHIRPath.Engine

class HS.FHIRPath.Engine extends %Library.RegisteredObject

Property Inventory

Method Inventory

Properties

property FNSCOPE [ MultiDimensional ];
FNSCOPE("$this") FNSCOPE("$index") FNSCOPE("$total")
Property methods: FNSCOPEDisplayToLogical(), FNSCOPEGet(), FNSCOPEIsValid(), FNSCOPELogicalToDisplay(), FNSCOPELogicalToOdbc(), FNSCOPENormalize(), FNSCOPESet()
property context as %DynamicObject;
Property methods: contextGet(), contextGetObject(), contextGetObjectId(), contextGetSwizzled(), contextIsValid(), contextNewObject(), contextSet(), contextSetObject(), contextSetObjectId(), contextUnSwizzle()
property decimalPrecision as %Boolean [ InitialExpression = 0 ];
Opt-in setting to preserve leading/trailing zeros on FHIR decimal primitive data types by returning them as a String
Property methods: decimalPrecisionDisplayToLogical(), decimalPrecisionGet(), decimalPrecisionIsValid(), decimalPrecisionLogicalToDisplay(), decimalPrecisionNormalize(), decimalPrecisionSet()
property env as HS.FHIRPath.Environment;
Property methods: envGet(), envGetSwizzled(), envIsValid(), envNewObject(), envSet()
property fhirToDateType [ MultiDimensional ];
Property methods: fhirToDateTypeDisplayToLogical(), fhirToDateTypeGet(), fhirToDateTypeIsValid(), fhirToDateTypeLogicalToDisplay(), fhirToDateTypeLogicalToOdbc(), fhirToDateTypeNormalize(), fhirToDateTypeSet()
property fhirToJson [ MultiDimensional ];
Property methods: fhirToJsonDisplayToLogical(), fhirToJsonGet(), fhirToJsonIsValid(), fhirToJsonLogicalToDisplay(), fhirToJsonLogicalToOdbc(), fhirToJsonNormalize(), fhirToJsonSet()
property opMap [ MultiDimensional ];
Property methods: opMapDisplayToLogical(), opMapGet(), opMapIsValid(), opMapLogicalToDisplay(), opMapLogicalToOdbc(), opMapNormalize(), opMapSet()
property schema as HS.FHIRMeta.API;
Property methods: schemaGet(), schemaGetSwizzled(), schemaIsValid(), schemaNewObject(), schemaSet()
property trace as %Boolean;
Property methods: traceDisplayToLogical(), traceGet(), traceIsValid(), traceLogicalToDisplay(), traceNormalize(), traceSet()

Methods

method CollectionToJsonArray(ByRef input) as %DynamicArray
classmethod JsonArrayToCollection(array As %DynamicArray, type As %String, ByRef INTO)
classmethod compareJSON(obj1 As %DynamicAbstractObject, obj2 As %DynamicAbstractObject, isArray As %Boolean = 0) as %Boolean
method fhirTypeToJsonType(fhirType As %String) as %String
method fhirTypeToMathType(fhirType As %String) as %String
method fhirTypeToStringType(value, fhirType As %String) as %String
method interpret(pResourceObj As %DynamicObject, pParseTree As HS.FHIRPath.Node, Output OUTPUT, env As HS.FHIRPath.Environment = "")
method interpretArray(ByRef INPUT, pParseTree As HS.FHIRPath.Node, Output OUTPUT, env As HS.FHIRPath.Environment = "")
method interpretToJson(pResourceObj As %DynamicObject, pParseTree As HS.FHIRPath.Node, env As HS.FHIRPath.Environment = "") as %DynamicArray
method processFN(fnNode As HS.FHIRPath.Node, ByRef INPUT, Output OUTPUT)
method processFNAsOP(fnNode As HS.FHIRPath.Node, opName As %String, ByRef INPUT, Output OUTPUT)
method processID(pNode As HS.FHIRPath.Node, ByRef INPUT, Output OUTPUT)
method processNode(pNode As HS.FHIRPath.Node, ByRef INPUT, Output OUTPUT)
method processOP(opNode As HS.FHIRPath.Node, ByRef INPUT, Output OUTPUT)
classmethod pushFieldValue(value, type As %String, ByRef INTO)
method resolveToResource(ByRef INPUT, ByRef OUTPUT)
This method is factored out so that in the future, we can allow a plugin resolver for references. For each item in the collection, if it is a string that is a uri (or canonical or url), locate the target of the reference, and add it to the resulting collection. If the item does not resolve to a resource, the item is ignored and nothing is added to the output collection. The items in the collection may also represent a Reference, in which case the Reference.reference is resolved.
classmethod variantFieldName(variantName As %String, fhirType As %String) as %String

Inherited Members

Inherited Methods

Subclasses

FeedbackOpens in a new tab