HS.FHIRServer.Storage.JsonAdvSQL.Indexer
class HS.FHIRServer.Storage.JsonAdvSQL.Indexer extends %Library.RegisteredObject, HS.FHIRServer.Util.FHIRQueryUtils
Property Inventory
- CommonSearchTableEntry
- Context
- IsBaseResourceProperty
- RelatedObjectsToUpdate
- RelatedPointer
- SearchTableEntry
- Update
- interactions
- json
- keyBeingIndexed
- mdAPI
- paramBeingIndexed
- silenceIndexErrors
Method Inventory
- %OnNew()
- AddToSearchTableEntry()
- IndexAddress()
- IndexBoolean()
- IndexCanonical()
- IndexCode()
- IndexCodeableConcept()
- IndexCoding()
- IndexContactPoint()
- IndexDate()
- IndexDecimal()
- IndexHumanName()
- IndexIdentifier()
- IndexInteger()
- IndexMoney()
- IndexPeriod()
- IndexQuantity()
- IndexRange()
- IndexReference()
- IndexString()
- IndexTiming()
- IndexTypeDate()
- IndexTypeNumber()
- IndexTypeQuantity()
- IndexTypeReference()
- IndexTypeString()
- IndexTypeToken()
- IndexTypeUri()
- IndexValues()
Properties
property CommonSearchTableEntry as %Persistent;
Current instance of the common Resource search table class to populate
Property methods: CommonSearchTableEntryGet(), CommonSearchTableEntryGetObject(), CommonSearchTableEntryGetObjectId(), CommonSearchTableEntryGetSwizzled(), CommonSearchTableEntryIsValid(), CommonSearchTableEntryNewObject(), CommonSearchTableEntrySet(), CommonSearchTableEntrySetObject(), CommonSearchTableEntrySetObjectId(), CommonSearchTableEntryUnSwizzle()
property Context [ MultiDimensional ];
When a search column can have more than more value for a given resource, we store the collection of values in a sub-table
This MVArray allows holding the set of values so they can be added to the correct sub-tables
Property methods: ContextDisplayToLogical(), ContextGet(), ContextIsValid(), ContextLogicalToDisplay(), ContextLogicalToOdbc(), ContextNormalize(), ContextSet()
property IsBaseResourceProperty as %Boolean;
flag to know when a particular search column is a base Resource param or for a specific resource-type
Property methods: IsBaseResourcePropertyDisplayToLogical(), IsBaseResourcePropertyGet(), IsBaseResourcePropertyIsValid(), IsBaseResourcePropertyLogicalToDisplay(), IsBaseResourcePropertyNormalize(), IsBaseResourcePropertySet()
property RelatedObjectsToUpdate as %ArrayOfObjects;
When we do an update we need to also update values in related tables without doing a delete/recreate.
Track the objects for related tables for each search param.
Property methods: RelatedObjectsToUpdateGet(), RelatedObjectsToUpdateGetObject(), RelatedObjectsToUpdateGetObjectId(), RelatedObjectsToUpdateGetSwizzled(), RelatedObjectsToUpdateIsEmpty(), RelatedObjectsToUpdateIsValid(), RelatedObjectsToUpdateNewObject(), RelatedObjectsToUpdateSet(), RelatedObjectsToUpdateSetObject(), RelatedObjectsToUpdateSetObjectId(), RelatedObjectsToUpdateUnSwizzle()
property RelatedPointer as %String;
Pointer for RelatedObjectsToUpdate so we can track our position in the array while updating rows.
Property methods: RelatedPointerDisplayToLogical(), RelatedPointerGet(), RelatedPointerIsValid(), RelatedPointerLogicalToDisplay(), RelatedPointerLogicalToOdbc(), RelatedPointerNormalize(), RelatedPointerSet()
property SearchTableEntry as %Persistent;
Current instance of the search table class to populate
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.JsonAdvSQL.Interactions;
Interactions instance to use
Property methods: interactionsGet(), interactionsGetSwizzled(), interactionsIsValid(), interactionsNewObject(), interactionsSet()
property json as %DynamicObject;
Json for the resource to index
Property methods: jsonGet(), jsonGetObject(), jsonGetObjectId(), jsonGetSwizzled(), jsonIsValid(), jsonNewObject(), jsonSet(), jsonSetObject(), jsonSetObjectId(), jsonUnSwizzle()
property keyBeingIndexed as %String [ Transient ];
Key of the resource being indexed by this indexer
Property methods: keyBeingIndexedDisplayToLogical(), keyBeingIndexedGet(), keyBeingIndexedIsValid(), keyBeingIndexedLogicalToDisplay(), keyBeingIndexedLogicalToOdbc(), keyBeingIndexedNormalize(), keyBeingIndexedSet()
property mdAPI as HS.FHIRMeta.API;
Metadata API to evaluate FHIR Path expressions. Taken from provided interactions instance
Property methods: mdAPIGet(), mdAPIGetSwizzled(), mdAPIIsValid(), mdAPINewObject(), mdAPISet()
property paramBeingIndexed as %String [ Transient ];
Search column param name, used for error messages primarily
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()
Methods
method %OnNew(json As %DynamicObject, interactions As HS.FHIRServer.Storage.JsonAdvSQL.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)
method IndexAddress(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexBoolean(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexCanonical(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexCode(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexCodeableConcept(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexCoding(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, pCoding)
method IndexContactPoint(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, pContactPoint)
method IndexDate(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexDecimal(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexHumanName(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexIdentifier(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, pIdentifier)
method IndexInteger(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexMoney(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, pQuantity)
method IndexPeriod(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexQuantity(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, pQuantity)
method IndexRange(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, pQuantity)
method IndexReference(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, pReference)
method IndexString(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexTiming(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
method IndexTypeDate(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
Basic Parameter Types: date, number, quantity, reference, string, token, uri
Handle each possible date data type: "date", "dateTime", "instant", "Period", "Timing"
method IndexTypeNumber(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
Handle each possible number data type: "decimal", "integer", "positiveInt", "unsignedInt"
method IndexTypeQuantity(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
Handle each possible quantity data type: "Age", "Duration", "Money", "Quantity", "Range"
method IndexTypeReference(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
Handle each possible reference data type: "canonical", "uri", "Reference"
method IndexTypeString(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
Handle each possible string data type: "markdown", "string", "Address", "HumanName"
method IndexTypeToken(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
Handle each possible token data type: "boolean", "canonical", "code", "id", "string", "CodeableConcept", "Coding", "ContactPoint", "Identifier"
method IndexTypeUri(searchColumn As HS.FHIRServer.Storage.Json.SearchColumn, pColumnDataType As %String, value)
Handle each possible uri data type: "canonical", "uri"
method IndexValues()
Inherited Members
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()
- AddNewFHIRMetaSubs()
- FirstInstant()
- GetListOfResources()
- HighDecimal()
- LastInstant()
- LowDecimal()
- MapToFHIRVersionHeader()
- MapToPackageId()
- NormalizeParamName()
- NormalizePhone()
- PreviousInstant()
- SetupVersionsTable()
- runQuery()