Skip to main content

HS.FHIRServer.Storage.Indexer

class HS.FHIRServer.Storage.Indexer extends %Library.RegisteredObject, HS.FHIRServer.Util.FHIRQueryUtils

Property Inventory

Method Inventory

Parameters

parameter MAXSEARCHINDEXLEN = 220;
The max length value that can be indexed for search. The indices for values longer than this will be truncated. The actual resource data will not be affected though.
parameter MaxNumber = 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999;
Longest string of 9's that %Numeric would validate
parameter MinNumber = -9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999;

Properties

property CommonSearchTableEntry as %Persistent;
Property methods: CommonSearchTableEntryGet(), CommonSearchTableEntryGetObject(), CommonSearchTableEntryGetObjectId(), CommonSearchTableEntryGetSwizzled(), CommonSearchTableEntryIsValid(), CommonSearchTableEntryNewObject(), CommonSearchTableEntrySet(), CommonSearchTableEntrySetObject(), CommonSearchTableEntrySetObjectId(), CommonSearchTableEntryUnSwizzle()
property Context [ MultiDimensional ];
Track quantity objects for each search param via an array. ..Context( ) = %ArrayOfObjects /// ..Context(, "ptr") =
Property methods: ContextDisplayToLogical(), ContextGet(), ContextIsValid(), ContextLogicalToDisplay(), ContextLogicalToOdbc(), ContextNormalize(), ContextSet()
property IsBaseResourceProperty as %Boolean;
Property methods: IsBaseResourcePropertyDisplayToLogical(), IsBaseResourcePropertyGet(), IsBaseResourcePropertyIsValid(), IsBaseResourcePropertyLogicalToDisplay(), IsBaseResourcePropertyNormalize(), IsBaseResourcePropertySet()
property QuantityObjectsToSave as %ListOfObjects;
Property methods: QuantityObjectsToSaveGet(), QuantityObjectsToSaveGetObject(), QuantityObjectsToSaveGetObjectId(), QuantityObjectsToSaveGetSwizzled(), QuantityObjectsToSaveIsEmpty(), QuantityObjectsToSaveIsValid(), QuantityObjectsToSaveNewObject(), QuantityObjectsToSaveSet(), QuantityObjectsToSaveSetObject(), QuantityObjectsToSaveSetObjectId(), QuantityObjectsToSaveUnSwizzle()
property SearchTableEntry as %Persistent;
Property methods: SearchTableEntryGet(), SearchTableEntryGetObject(), SearchTableEntryGetObjectId(), SearchTableEntryGetSwizzled(), SearchTableEntryIsValid(), SearchTableEntryNewObject(), SearchTableEntrySet(), SearchTableEntrySetObject(), SearchTableEntrySetObjectId(), SearchTableEntryUnSwizzle()
property Update as %Boolean [ InitialExpression = 0 ];
Flag to know if this is a new row or an update to an existing search table row.
Property methods: UpdateDisplayToLogical(), UpdateGet(), UpdateIsValid(), UpdateLogicalToDisplay(), UpdateNormalize(), UpdateSet()
property interactions as HS.FHIRServer.Storage.Json.Interactions;
Property methods: interactionsGet(), interactionsGetSwizzled(), interactionsIsValid(), interactionsNewObject(), interactionsSet()
property json as %DynamicObject;
Property methods: jsonGet(), jsonGetObject(), jsonGetObjectId(), jsonGetSwizzled(), jsonIsValid(), jsonNewObject(), jsonSet(), jsonSetObject(), jsonSetObjectId(), jsonUnSwizzle()
property keyBeingIndexed as %String [ Transient ];
Property methods: keyBeingIndexedDisplayToLogical(), keyBeingIndexedGet(), keyBeingIndexedIsValid(), keyBeingIndexedLogicalToDisplay(), keyBeingIndexedLogicalToOdbc(), keyBeingIndexedNormalize(), keyBeingIndexedSet()
property mdAPI as HS.FHIRMeta.API;
Property methods: mdAPIGet(), mdAPIGetSwizzled(), mdAPIIsValid(), mdAPINewObject(), mdAPISet()
property paramBeingIndexed as %String [ Transient ];
Property methods: paramBeingIndexedDisplayToLogical(), paramBeingIndexedGet(), paramBeingIndexedIsValid(), paramBeingIndexedLogicalToDisplay(), paramBeingIndexedLogicalToOdbc(), paramBeingIndexedNormalize(), paramBeingIndexedSet()
property silenceIndexErrors as %Boolean [ InitialExpression = 0 ];
opt in setting, configured from the strategy config settings. Recommended to keep this off unless temporarily needed while an issue is resolved.
Property methods: silenceIndexErrorsDisplayToLogical(), silenceIndexErrorsGet(), silenceIndexErrorsIsValid(), silenceIndexErrorsLogicalToDisplay(), silenceIndexErrorsNormalize(), silenceIndexErrorsSet()
Property methods: strategyGet(), strategyGetSwizzled(), strategyIsValid(), strategyNewObject(), strategySet()

Methods

method %OnNew(json As %DynamicObject, interactions As HS.FHIRServer.Storage.Json.Interactions) as %Status
Inherited description: This callback method is invoked by the %New() method to provide notification that a new instance of an object is being created.

If this method returns an error then the object will not be created.

It is passed the arguments provided in the %New call. When customizing this method, override the arguments with whatever variables and types you expect to receive from %New(). For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:

Method %OnNew(dob as %Date = "", name as %Name = "") as %Status If instead of returning a %Status code this returns an oref and this oref is a subclass of the current class then this oref will be the one returned to the caller of %New method.

method AddToSearchTableEntry(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pValue As %String, pSuffix As %String = "")
method IndexAddress(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexAge(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexAttachment(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexBase64Binary(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexBoolean(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexCanonical(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexCode(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexCodeableConcept(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexCoding(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexContactPoint(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexDate(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexDateAsPeriod(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexDateTime(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexDecimal(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexDuration(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexExactString(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexExtension(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
Index the variant value found in the specified individual Extension object. This method handles SearchParameter FHIRPaths that omit ".value[datatype]" from their extension expressions. Expressions such as this are not found in core FHIR SearchParameter FHIRPaths. This method assumes that the values for a given extension will always be the same correct data type.
method IndexHumanName(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexId(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexIdentifier(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexInstant(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexInteger(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexInteger64(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexLocationPosition(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexMarkdown(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexMoney(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexNumber(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexOid(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexPeriod(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexPositiveInt(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexQuantity(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexRange(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexReference(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexString(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexTiming(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexUnsignedInt(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexUri(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexUrl(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnPropName As %String, pColumnDataType As %String, value)
method IndexValues()

Inherited Members

Inherited Methods

FeedbackOpens in a new tab