Skip to main content

HS.FHIR.vDSTU2.Repository.Storage

deprecated class HS.FHIR.vDSTU2.Repository.Storage extends %Library.RegisteredObject

THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.

Method Inventory

Parameters

parameter CUSTOMSTORAGEPKG;
Individual DSTU2 resource type storage classes that hold the resource-specific search parameter definitions and resource-specific indexing logic are located by default under the product class package HS.FHIR.vDSTU2.Repository.Resource. A custom storage package may be specified, to be used instead of the default package. To do this, extend this class to a custom class and override the CUSTOMSTORAGEPKG class parameter.
parameter RESOURCEIDINSEARCHRESULTSET = 0;
By default the ResultSet that is returned by Search leaves the ResourceId column value blank. To have the ResourceId column unconditionally populated by Search, extend this class and set this class parameter value to 1. Please note that doing so will incur a performance hit for all search interactions.
parameter RepositoryUtilityClass = HS.FHIR.Utils;
Class that provides various utility methods needed for repository processing. The utility class methods that are used by this class are:
  • ValidateResourceTypeFHIR
  • ValidateResourceTypeCapability
  • GetResourceBasicInfo
  • UpdateResourceId
  • UpdateResourceMeta
  • ValidateInteraction
  • parameter ResourceValidatorClass = HS.FHIR.Validation.ResourceValidator;
    Class that provides the FHIR resource validation logic for this storage class. The ResourceValidatorClass must implement the class method ValidateResource. The class is intended to handle structural validation of a resource and intra- resource constraints.
    parameter SchematronXSLTDir = FHIR/vDSTU2/Schematron;
    parameter TEMPSORTGLOBAL = ^||FHIRSearchSort;
    parameter VERSIONKEY = DSTU2;
    A key useable for disambiguating version-specific cached data

    Methods

    deprecated classmethod AddResultToTempSort(pStreamletId As %String, pResourceType As %String, pResourceId As %String, pMode As %String, pSortKeys As %String, pSearchTablePackage As %String, pSortGlobal As %String) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    deprecated classmethod CacheSearchParams(pResourceType As %String) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    deprecated classmethod Create(pContentType As %String, pResourceSchema As %String, pIfNoneExist As %String = "", pValBySchematron As %Boolean = 0, pTransformer, pSessionIdentifier As %String = "", ByRef pResourceStream, ByRef pResourceObject, Output pStorageId As %String, Output pErrors As HS.Types.FHIR.Errors) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    API Create carries out the FHIR storage-specific logic for the create interaction. Reference: http://hl7.org/fhir/DSTU2/http.html#create
    Input:
  • pContentType : (required) May be the ContentType from a FHIR request, or even just "json" or "xml".
  • pResourceSchema : (required) Class package to use as the schema. Example is "HS.FHIR.vDSTU2.Model.Resource".
  • pIfNoneExist : FHIR search parameters for conditional create.
  • pValBySchematron : 1 = Perform schematron-based validation of the FHIR resource, 0 = Do not perform schematron-based validation.
  • pTransformer : (recommended if pValBySchematron=1) Transformer object to use for performing XSLT 2.0 evaluation during schematron validation. If this object is not passed in when it is needed, then this method will create an instance of the transformer and use that. However doing that on each call of this method incurs a performance impact.
  • pSessionIdentifier : Session identifier for session-based use of the FHIR storage.
  • pResourceStream : FHIR resource stream object. This stream will be updated during the course of the create interaction, and will be returned to the caller.
  • pResourceObject : FHIR %XML.Document object or %DynamicObject representation of the FHIR resource. This object will be updated during the course of the create interaction, and will be returned to the caller.
    Output:
  • pStorageId : Physical storage object id (%Id(), not Oref) for the stored resource.
  • pErrors : HS.Types.FHIR.Errors object that includes a collection of error information. See HS.Types.FHIR.Errors for more details.
  • deprecated classmethod Delete(pResourceType As %String, pResourceId As %String = "", pConditionalDelete As %String = "", pParameters As %String = "", pMaxSearchMatches As %Integer = 10, pSessionIdentifier As %String = "", ByRef pResourceIds As %Library.ListOfDataTypes) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    API Delete carries out the FHIR storage-specific logic for the delete interaction. Reference: http://hl7.org/fhir/DSTU2/http.html#delete
    Input:
  • pResourceType : (required) FHIR resource type.
  • pResourceId : (required if not using conditional delete) FHIR resource Id.
  • pConditionalDelete : Conditional delete support value. Valid values are "not-supported", "single", "multiple" and blank. Blank value is considered same as "not-supported".
  • pParameters : Search parameters for conditional delete resource search. May be a Search parameters string, exactly as would be seen in the URL of a FHIR search request, or may be an %ArrayOfDataTypes of parameter $List values.
  • pMaxSearchMatches : Maximum number of resources that may be found by the conditional delete search parameters. If more than this number are found by the search then the conditional delete is rejected as an error.
  • pSessionIdentifier : Session identifier for session-based use of the FHIR storage.
    Output:
  • pResourceIds : %ListOfDataTypes object with each element being the resource id and resource version id of a resource that got deleted, separated by comma.
  • deprecated classmethod DeleteOrphanedResources() as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    API In this context, "orphaned" means the resource references a non-existent session.
    There *should* never be orphaned resources. The deletion of the referenced session should trigger the delete of the resource. Still, this utility is provided in case something goes wrong and orphaned resources are left in the repository.
    deprecated classmethod DeleteSessionResources(pSession As %String) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    deprecated classmethod FindMatchingResourceIds(pResourceType As %String, pResourceStreamId As %String, pSession As %String = "") as %String
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    deprecated classmethod GenerateResourceId(pResourceType As %String, pSession As %String = "") as %String
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    deprecated classmethod GetRefTypeIdsFromSearchParam(pParamName As %String, pParamVals, pSearchResourceType As %String, pReferenceResourceType As %String, ByRef pReturnVals As %String) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    For the specified search parameter name and value(s), if the search parameter is a reference type parameter, gather search parameter id values that unambiguously apply to the specified resource type. Return an error if the search parameter is invalid. Return an error if the search parameter value specifies a resource type that does not apply to the search parameter.
    deprecated classmethod GetSearchParamType(pResourceType As %String, pParamName As %String) as %String
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    Given a resource type and the name of a search parameter, return the type of that parameter (token, string, reference, date, uri, quantity, number, etc.). This will return null if pResourceType is valid but pParamName is not recognized.
    deprecated classmethod GetStorageDataByStorageId(pStorageId As %String, ByRef pResourceType As %String, ByRef pResourceId As %String, ByRef pResourceVId As %String, ByRef pVerb, ByRef pFormat As %String, ByRef pDeleted As %Boolean, ByRef pLastModified As %String, ByRef pResourceStream As %Stream.Object, ByRef pResourceSchema As %String) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    API GetStorageDataByStorageId provides a "lite" read functionality that abstracts away the structure of the physical storage object (indicated by pStorageId) used by this storage class, and retrieves storage object metadata and, if requested, a stream representation of the resource itself. For implementations that store the resource as a FHIR string or stream, as opposed to as an object, the stream is returned "as is", in the format in which it is stored. For implementations that store the FHIR resource as an object, the pFormat parameter can be used as input to specify the format of the returned stream.
    deprecated classmethod GetStorageIdByTypeAndId(pResourceType As %String, pResourceId As %String, pResourceVId As %String = "", pSessionIdentifier As %String = "", Output pStorageId As %String)
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    deprecated classmethod GetStorageObjectByStorageId(pStorageId As %String, ByRef pStorageObject, ByRef pStorageClass) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    deprecated classmethod HardDelete(resourceType As %String, resourceId As %String) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    deprecated classmethod History(pResourceType, pResourceId, pSince="", pAt="", pSessionIdentifier As %String = "", Output pResultSet As HS.Util.TransientTable, Output pErrors As HS.Types.FHIR.Errors) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    API History carries out the FHIR storage-specific logic for the history interaction.
    Reference: http://hl7.org/fhir/DSTU2/http.html#history
    This method retrieves all the stored versions of a specified FHIR resource and returns a result set object that includes minimal but vital information about each item.
    Input:
  • pResourceType : (required) FHIR resource type.
  • pResourceId : (required) FHIR resource id.
  • pSince : FHIR instant-type value for the history _since parameter. This is for requesting only the history items that occurred after a specified time.
  • pAt : (not applicable) STU3-specific history parameter, not applicable to DSTU2.
  • pSessionIdentifier : Session identifier, used for session-based resource storage.
    Output:
  • pResultSet : HS.Util.TransientTable object for holding the results of the history search. Columns in pResultSet are:
    StorageId = The physical storage object id.
    Verb = The HTTP method that produced the history item (e.g., PUT, POST).
    Deleted = 1 means the item is the result of a DELETE, 0 means not deleted.
  • pErrors : HS.Types.FHIR.Errors object that includes a collection of error information. See HS.Types.FHIR.Errors for more details.
  • deprecated classmethod IsSharedResourceType(pResourceType As %String) as %Boolean
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    IsSharedResourceType returns a Boolean value indicating whether the specified FHIR resource type includes a reference property that may point to a Patient resource. "Shared" in the context of this function means the resource type may NOT point to a Patient resource.
    Input:
  • pResourceType : (required) FHIR resource type.
  • deprecated classmethod LoadAllSearchParams() as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    Load the search parameter definitions for all resource types into %HSFHIRSearchParams(). For each resource type, if a custom storage class exists in the class package indicated by CUSTOMSTORAGEPKG, then use that class instead of the one in the standard location.
    deprecated classmethod OnInit() as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    OnInit carries out any tasks desired to be done upon first use of this storage class. For example upon startup of a business host that is using this class as its FHIR storage class.
    deprecated classmethod Read(pContentType As %String, pResourceSchema As %String, pResourceType As %String, pResourceId As %String, pResourceVId As %String = "", pSummary As %String = "", pSessionIdentifier As %String = "", Output pResourceStream, Output pResourceObject, Output pErrors As HS.Types.FHIR.Errors, Output pStorageId As %String) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    API Read carries out the FHIR storage-specific logic for the read and vread interactions. Reference: http://hl7.org/fhir/DSTU2/http.html#read
    Reference: http://hl7.org/fhir/DSTU2/http.html#vread
    Input:
  • pContentType : (required) May be the ContentType from a FHIR request, or even just "json" or "xml".
  • pResourceSchema : (required) Class package to use as the schema. Example is "HS.FHIR.vDSTU2.Model.Resource".
  • pResourceType : (required) FHIR resource type.
  • pResourceId : (required) FHIR resource Id.
  • pResourceVId : FHIR resource version Id.
  • pSummary : (not yet supported) FHIR summary.
  • pSessionIdentifier : Session identifier for session-based use of the FHIR respository.
    Output:
  • pResourceStream : FHIR resource stream object.
  • pResourceObject : FHIR %XML.Document object or %DynamicObject representation of the FHIR resource.
  • pErrors : HS.Types.FHIR.Errors object that includes a collection of error information. See HS.Types.FHIR.Errors for more details.
  • pStorageId : Physical storage object id (%Id(), not Oref) for the stored resource.
  • deprecated classmethod ReadByStorageId(pContentType As %String, pResourceSchema As %String, pStorageId, pSummary As %String = "", pElements As %String = "", Output pResourceStream, Output pResourceObject, Output pErrors As HS.Types.FHIR.Errors, pDoNotReturnObject As %Boolean = 0) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    API ReadByStorageId retrieves the FHIR resource stored at the repository object indicated by pStorageId. This method assumes that the storage id has been obtained by previous means such as FHIR search or history on this repository or by FHIR read cross reference of the input resource type + resource id + session identifier (if any) to storage id. Input:
  • pContentType : (required) May be the ContentType from a FHIR request, or even just "json" or "xml".
  • pResourceSchema : (required) Class package to use as the schema. Example is "HS.FHIR.vDSTU2.Model.Resource".
  • pStorageId : (required) Resource repository storage object id.
  • pSummary : (not yet supported) FHIR _summary parameter value.
  • pElements : (not yet supported) FHIR _elements parameter value.
  • pDoNotReturnObject : 0 = Create a %XML.Document object or %DynamicObject from the resource stream and return it, 1 = Do not create an object. This parameter helps avoid unnecessary performance overhead when the calling application has no use for an output object.
    Output:
  • pResourceStream : FHIR resource stream object.
  • pResourceObject : FHIR %XML.Document object or %DynamicObject representation of the FHIR resource.
  • pErrors : HS.Types.FHIR.Errors object that includes a collection of error information. See HS.Types.FHIR.Errors for more details.
  • THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    API Search executes a specified search on the resource repository and returns a result set of identifiers of the FHIR resources that qualify for the search.
    Input:
  • pResourceType : (required) FHIR resource type.
  • pCompartment : Needed only for compartment-based search.
  • pResourceId : Resource Id for compartment-based search.
  • pParameters : May be a Search parameters string, exactly as would be seen in the URL of a FHIR search request, or may be an %ArrayOfDataTypes of parameter $List values.
  • pSessionIdentifier : Session identifier, used for session-based resource storage.
  • pSearchPostProcessorClass : When specified, the "PostProcessSearch" method of this class is executed on the initial ResultSet of the search.
  • pSessionApplication, pSessionId : Optional inputs, can be used as inputs to the "PostProcessSearch" call.
    Output:
  • pResultSet : HS.Util.TransientTable object for holding the results of the search. Columns in pResultSet are:
    ID = The physical storage object id. Deleted = Initialized as blank for all rows. Provides a means to mark rows for exclusion from the returned Bundle of resources. The search and $everything logic subsequent to the return from PostProcessSearch will ignore result set rows that have the Deleted column set to 1.
    ResourceType = Resource type.
    ResourceId = Resource id, populated only if ..#RESOURCEIDINSEARCHRESULTSET=1.
    Mode = "match" means the resource matched by the search criteria. "include" means the resource is present only because a "match" resource has a reference to it.
    RefersTo = Comma-delimited list of storage ids to which the resource has references.
  • pErrors : HS.Types.FHIR.Errors object that includes a collection of error information. See HS.Types.FHIR.Errors for more details.
  • deprecated classmethod SearchInclude(pResourceType As %String, pStorageId As %String, pSessionIdentifier As %String, pValidIncludes As %List, ByRef pAlreadyIncluded As %String, pStorageIds As %List) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    deprecated classmethod SearchRelated(pCompartment As %String = "", pResourceId As %String = "", pSessionIdentifier As %String = "", ByRef pResultSet As HS.Util.TransientTable) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    deprecated classmethod Update(pContentType As %String, pResourceSchema As %String, pParameters, pIfMatchVersion As %String = "", pUpdateCreate As %Boolean = 1, pValBySchematron As %Boolean = 0, pTransformer, pSessionIdentifier As %String = "", ByRef pResourceStream, ByRef pResourceObject, Output pStorageId As %String, Output pErrors) as %Status
    THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
    API Update carries out the FHIR storage-specific logic for the update interaction. Reference: http://hl7.org/fhir/DSTU2/http.html#update
    Input:
  • pContentType : (required) May be the ContentType from a FHIR request, or even just "json" or "xml".
  • pResourceSchema : (required) Class package to use as the schema. Example is "HS.FHIR.vDSTU2.Model.Resource".
  • pParameters : Search parameters for conditional update resource search. May be a Search parameters string, exactly as would be seen in the URL of a FHIR search request, or may be an %ArrayOfDataTypes of parameter $List values.
  • pIfMatchVersion : Resource version id to match when updating. If pIfMatchVersion has a value, then the current (pre-update) latest version of the resource must match pIfMatchVersion.
  • pUpdateCreate : 1 = Allow update to create a new resource identity (i.e., resource for previously unused resource Id), 0 = Do not allow update to create a new resource identity.
  • pValBySchematron : 1 = Perform schematron-based validation of the FHIR resource, 0 = Do not perform schematron-based validation.
  • pTransformer : (recommended if pValBySchematron=1) Transformer object to use for performing XSLT 2.0 evaluation during schematron validation. If this object is not passed in when it is needed, then this method will create an instance of the transformer and use that. However doing that on each call of this method incurs a performance impact.
  • pSessionIdentifier : Session identifier for session-based use of the FHIR storage.
  • pResourceStream : FHIR resource stream object. This stream will be updated during the course of the update interaction, and will be returned to the caller.
  • pResourceObject : FHIR %XML.Document object or %DynamicObject representation of the FHIR resource. This object will be updated during the course of the update interaction, and will be returned to the caller.
    Output:
  • pStorageId : Physical storage object id (%Id(), not Oref) for the stored resource.
  • pErrors : HS.Types.FHIR.Errors object that includes a collection of error information. See HS.Types.FHIR.Errors for more details.
  • Inherited Members

    Inherited Methods

    FeedbackOpens in a new tab