HS.FHIRServer.Storage.Json.Interactions
class HS.FHIRServer.Storage.Json.Interactions extends HS.FHIRServer.Storage.Search
Property Inventory
Method Inventory
- %OnNew()
- Add()
- AddQueriedResourceTypes()
- Delete()
- EndTransactionBundle()
- FindResourceMeta()
- FindResourceObject()
- FindStorageObject()
- GetVersionList()
- HardDelete()
- History()
- JSONPatch()
- JSONPatchAdd()
- JSONPatchCopy()
- JSONPatchMove()
- JSONPatchRemove()
- JSONPatchReplace()
- JSONPatchTest()
- LoadMetadata()
- OnBeforeRequest()
- RawRead()
- Read()
- SetMetadata()
- StartTransactionBundle()
- Update()
- UpdateInPlace()
- findSearchColumn()
- getSearchColumn()
- getSearchColumnsForType()
- getSearchColumnsSorted()
- getTableForResourceType()
- oauth2TokenHandlerGet()
Parameters
parameter BatchHandlerClass = HS.FHIRServer.Storage.Json.BundleProcessor;
Inherited description: @API
Declares the name of the class that will be invoked to handle a FHIR batch or transaction request.
parameter DisableSearchOnAbsoluteURL = 0;
If DisableSearchOnAbsoluteURL = 0, then support for search using a reference
type search parameter with a value that is an absolute URL is enabled.
Otherwise, that functionality is disabled.
parameter OAuth2TokenHandlerClass = HS.FHIRServer.Util.OAuth2Token;
Inherited description: @API
Declares the name of the class that will handle validation of FHIR interactions against OAuth 2.0 tokens.
parameter OperationHandlerClass = HS.FHIRServer.Storage.BuiltInOperations;
Inherited description: @API
Declares the name of the class that will be invoked to handle a FHIR Operation request.
Properties
property isPreferStrictHandling as %Boolean;
Property methods: isPreferStrictHandlingDisplayToLogical(), isPreferStrictHandlingGet(), isPreferStrictHandlingIsValid(), isPreferStrictHandlingLogicalToDisplay(), isPreferStrictHandlingNormalize(), isPreferStrictHandlingSet()
property metadata as %DynamicObject;
Property methods: metadataGet(), metadataGetObject(), metadataGetObjectId(), metadataGetSwizzled(), metadataIsValid(), metadataNewObject(), metadataSet(), metadataSetObject(), metadataSetObjectId(), metadataUnSwizzle()
property metadataTime as %String;
Property methods: metadataTimeDisplayToLogical(), metadataTimeGet(), metadataTimeIsValid(), metadataTimeLogicalToDisplay(), metadataTimeLogicalToOdbc(), metadataTimeNormalize(), metadataTimeSet()
property strategy as HS.FHIRServer.Storage.Json.InteractionsStrategy;
Property methods: strategyGet(), strategyGetSwizzled(), strategyIsValid(), strategyNewObject(), strategySet()
Methods
method %OnNew(pStrategy As HS.FHIRServer.Storage.Json.InteractionsStrategy) 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 Add(pResourceObj As %DynamicObject, pResourceIdToAssign As %String = "", pHttpMethod="POST") as %String
Inherited description: @API
This method will add a resource to the collection managed by this service, returning the ID value of the
newly added resource.
@Input pResourceObj A A %DynamicObject representing the resource to be added. If the resource has an ID value, it will
be ignored.
@Input pResourceIdToAssign If "", then an ID will be assigned to the new resource. If present,
the specified ID must be assigned to the new resource. If the requested id cannot be assigned, an appropriate
error is thrown.
@Input pHttpMethod The Http method that is resulting in this Add request. (POST for a Create or
PUT for Conditional Create)
@Return The ID of the newly added resource
@Throws The implementation must report errors via $$$ThrowStatus.
method AddQueriedResourceTypes(resourceTypes As %List)
Allows specific interactions to compile a list of all resource types
which are queried for this request (regardless of whether any are
actually returned).
Returns VersionId for the "deleted" version
method EndTransactionBundle()
method FindResourceMeta(pResourceType As %String, pResourceId As %String, pVersionId As %String = "") as %List
Inherited description: @API Returns a %List of metadata about a specified resource or "" if none.
@Input pResourceType The requested ResourceType (required)
@Input pResourceId The requested 'id' property (required)
@Input pVersionId The requested 'meta.versionId' property (optional). If missing or "", it is
a request for the "current" version (the return will provide the actual version number).
@Return A %List of 6 properties of the resource, or "" if the resource is not found. The form of the list is:
$ListBuild(rsrcKey, versionId, isDeleted, isCurrentVersion, lastUpdated, verb, mpiid)
where:
rsrcKey: The unique identifier of the current version in the form /
versionId: The version number of the found resource
isDeleted: A %Boolean indicating whether this version of the resource is deleted.
isCurrentVersion: A %Boolean indicating whether this is the current version of the resource
lastModified: The value of the 'meta.lastUpdated' property of the resource
verb: The HTTP Verb used to create or update this resource (PUT, POST, or PATCH)
method FindResourceObject(pResourceType As %String, pResourceId As %String, pVersionId As %String = "") as %DynamicObject
method FindStorageObject(pResourceType As %String, pResourceId As %String, pVersionId As %String = "", Output tSC As %Status = "", pConcurrency As %Integer = -1) as HS.FHIRServer.Storage.Json.Resource
method GetVersionList(pResourceType As %String, pResourceId As %String, Output pCurrentVersionId) as %List
Inherited description: @API Returns a %List of version Id's for the specified resource Id.
@Input pResourceType The requested ResourceType (required)
@Input pResourceId The requested 'id' property (required)
@Output pCurrentVersionId The resource version id of the current version, or "" if the current version has been HardDelete'd
@Return A %List of version Id's stored for the specified resource type and id. (including the current version). May be an empty list.
@API
This method will remove the resource and all versions from the database
@Input pResourceType The 'resourceType' of the resource to be deleted.
@Input pResourceId The ID of the resource to be deleted.
@Input pVersions Specification of which versions to delete as follows:
"" - The current version only
"*" - All Versions
$LB(vid, ...) - A list of version Id's to delete @Throws The implementation must report errors via $$$ThrowStatus.
"" - The current version only
"*" - All Versions
$LB(vid, ...) - A list of version Id's to delete @Throws The implementation must report errors via $$$ThrowStatus.
method History(pResourceType As %String, pResourceId As %String, pSince As %String, pAt As %String) as HS.FHIRServer.Util.SearchResult
Inherited description: @API
This method returns the version history of a specified resource
@Input pResourceType The 'resourceType' of the resource to be described
@Input pResourceId The ID of the resource to be described
@Input pSince The instant value provided in the _since search parameter. Only versions created after this instant
will be included
@Input pAt The the date-time value of the _at search parameter. Only include resource versions that were current at some point
during the time period specified in the date-time value
@Return A HS.FHIRServer.Util.SearchResult object containing one row for each version sorted with the latest
version first.
@Throws The implementation must report errors via $$$ThrowStatus.
method JSONPatch(pPatchOperations As %DynamicArray, pResourceObj As %DynamicObject) as %Boolean
@API
This method will apply the specified JSON Patch operations to the specified resource object.
It does NOT apply the updated FHIR content to the repo.
@Input pPatchOperations %DynamicArray of JSON Patch operations.
@Input pResourceObj %DynamicObject representation of the resource to be patched.
@Return Boolean value indicating whether the resource object content was updated by the patch.
@Throws The implementation must report errors via $$$ThrowStatus.
@Input pPatchOperations %DynamicArray of JSON Patch operations.
@Input pResourceObj %DynamicObject representation of the resource to be patched.
@Return Boolean value indicating whether the resource object content was updated by the patch.
@Throws The implementation must report errors via $$$ThrowStatus.
classmethod JSONPatchAdd(op As %String, path As %String, value, arrayKey As %Integer, valueTypeOf As %String, pathLen As %Integer, ByRef pathPieces, pResourceObj As %DynamicObject, targetIsArray As %Boolean)
classmethod JSONPatchCopy(op, path, value, arrayKey, pResourceObj, pathLen, pathPieces, valueTypeOf, from, fromLen, fromPieces)
classmethod JSONPatchMove(op, path, value, arrayKey, pResourceObj, pathLen, pathPieces, valueTypeOf, from, fromLen, fromPieces)
classmethod JSONPatchRemove(op, path, arrayKey, pResourceObj, pathLen, pathPieces)
classmethod JSONPatchReplace(op, path, value, arrayKey, pResourceObj, pathLen, pathPieces, valueTypeOf)
classmethod JSONPatchTest(op, path, value, arrayKey, pResourceObj, pathLen, pathPieces, valueTypeOf)
method LoadMetadata() as %DynamicObject
Inherited description: @API Gets the active CapabilityStatement for the service.
@Return A %DynamicObject Json representation of a CapabilityStatement that the service
is supporting.
method OnBeforeRequest(pFHIRService As HS.FHIRServer.API.Service, pFHIRRequest As HS.FHIRServer.API.Data.Request, pTimeout As %Integer)
Inherited description: @API Notification that a request in about to be dispatched. The Interactions object
may use this to manage any session information or other bookkeeping. By default, no processing
is performed.
@Input pFHIRService The instance of HS.FHIRServer.Service that invoked this method
@Input pFHIRRequest The request about to be processed
@Input pTimeout The maximum number of sessions between requests that session data remains valid
method RawRead(pResourceType As %String, pResourceId As %String, pVersionId As %String = "") as %DynamicObject
method Read(pResourceType As %String, pResourceId As %String, pVersionId As %String = "") as %DynamicObject
Inherited description: @API Returns the %DynamicObject representing the requested resource.
@Input pResourceType The requested ResourceType (required)
@Input pResourceId The requested 'id' property (required)
@Input pVersionId The requested resource version (optional). If missing, this is
a request for the "current" version
@Return A %List of 6 properties of the resource, or "" if the resource is not found. The form of the list is:
$ListBuild(rsrcKey, versionId, isDeleted, isCurrentVersion, lastUpdated, verb)
where:
rsrcKey: The unique identifier of the current version in the form /
versionId: The version number of the found resource
isDeleted: A %Boolean indicating whether this version of the resource is deleted.
isCurrentVersion: A %Boolean indicating whether this is the current version of the resource
lastModified: The value of the 'meta.lastUpdated' property of the resource
@Throws The implementation must report errors via $$$ThrowStatus. Common exceptions are
$$$HSFHIRErrResourceNotFound and $$$HSFHIRErrResourceVersionNotFound.
method SetMetadata(metadata As %DynamicObject)
Inherited description: @API Sets the active CapabilityStatement to be used by the service. This is typically
called by an installer when the service is being configured or updated.
@Input metadata A Json representation of a CapabilityStatement resource that will be
returned on a GET request to "/metadata"
method StartTransactionBundle(pBundleTransactionId As %Integer)
method Update(pResourceObj As %DynamicObject) as %String
Inherited description: @API
This method will take the provided resource as an update to an existing resource.
@Input pResourceObj A %DynamicObject representing the resource to be deleted.
@Return The ID of the updated resource
@Throws The implementation must report errors via $$$ThrowStatus.
method UpdateInPlace(pResourceObj As %DynamicObject, pMethod As %String) as %String
method findSearchColumn(resourceType As %String, paramName As %String) as HS.FHIRServer.Storage.Json.SearchColumn
method getSearchColumn(resourceType As %String, paramName As %String) as HS.FHIRServer.Storage.Json.SearchColumn
method getSearchColumnsForType(resourceType As %String)
method getSearchColumnsSorted(pResourceType As %String, ByRef pSearchColsSorted)
Return the ..spcacheSorted Private Multidimensional as a local array.
- pSearchColsSorted(resourceType, propName, tableName, columnIx) = "" - pSearchColsSorted(0, "hasExists") = $ListBuild of property name / table name / column number combos whose FHIRPath contains ".exists()"
- pSearchColsSorted(resourceType, propName, tableName, columnIx) = "" - pSearchColsSorted(0, "hasExists") = $ListBuild of property name / table name / column number combos whose FHIRPath contains ".exists()"
method oauth2TokenHandlerGet() as HS.FHIRServer.API.OAuth2Token
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()
- AddNewFHIRMetaSubs()
- Batch()
- DecrementDateTime()
- FindRevIncludedResources()
- FirstInstant()
- GetFirstInCollection()
- GetLastInCollection()
- GetListOfResources()
- GetPatientCompartmentId()
- GetPatientStatus()
- GetResourceMeta()
- HighDecimal()
- IncrementDateTime()
- LastInstant()
- LowDecimal()
- MapToFHIRVersionHeader()
- MapToPackageId()
- NormalizeAccents()
- NormalizeParamName()
- NormalizePhone()
- OnAfterRequest()
- Operation()
- PostProcessRead()
- PostProcessSearch()
- PreviousInstant()
- Search()
- SetupVersionsTable()
- WhereClause()
- WhereDate()
- WhereNumber()
- WhereQuantity()
- WhereReference()
- WhereString()
- WhereToken()
- WhereURI()
- isSelectCountAllowed()
- nextQueryLevel()
- runQuery()
- searchColumnFromSearchParam()