HS.FHIR.vSTU3.Repository.Storage
deprecated class HS.FHIR.vSTU3.Repository.Storage extends %Library.RegisteredObject
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.Method Inventory
- AddResultToTempSort()
- AddSearchParamToSQL()
- ApplyReverseChainedSearch()
- CacheSearchParams()
- Create()
- Delete()
- DeleteOrphanedResources()
- DeleteSessionResources()
- ExecuteSQLSearch()
- FindMatchingResourceIds()
- GenerateResourceId()
- GetChainedSQL()
- GetRefTypeIdsFromSearchParam()
- GetRevChainedSQL()
- GetSearchParamType()
- GetSearchSQLWHERE()
- GetStorageDataByStorageId()
- GetStorageIdByTypeAndId()
- GetStorageObjectByStorageId()
- HardDelete()
- History()
- InitializeSearchResultSet()
- IsSharedResourceType()
- Lastn()
- LoadAllSearchParams()
- OnInit()
- Patch()
- PatchJSONDynObj()
- PatchXMLWithXSLT()
- Read()
- ReadByStorageId()
- Search()
- SearchInclude()
- SearchIncludes()
- SearchRelated()
- Update()
- ValidateAndLogChainParam()
- ValidateAndLogRevChainParam()
- ValidateSearchInclude()
- ValidateSearchParams()
Parameters
parameter CUSTOMSTORAGEPKG;
Individual STU3 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.vSTU3.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 SEARCHPREFERALWAYSSTRICT = 1;
When SEARCHPREFERALWAYSSTRICT is 1, the "PreferHandling" input to Search is always interpreted
as though the HTTP Prefer header on the search request includes a "handling=strict" parameter.
Therefore when this class parameter is 1, the presence of any invalid or unsupported search
parameter on the request will return an error status, plus errors in the pErrors collection.
When this class parameter is overridden and set to 0, "handling=lenient" is the default
behavior, unless overridden explicitly by the HTTP Prefer header "handling=strict".
parameter SchematronXSLTDir = FHIR/vSTU3/Schematron;
parameter TEMPSORTGLOBAL = ^||FHIRSearchSort;
parameter VERSIONKEY = STU3;
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 AddSearchParamToSQL(pParamType As %String, pResourceType As %String, pWholeParam As %String, pParamVals, pPropType As %String, ByRef pSQL As %String, ByRef pSQLParams As %String)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Given the search parameter type and other search parameter information, construct and add the proper SQL and SQL parameter values to the search SQL statement.
Given the search parameter type and other search parameter information, construct and add the proper SQL and SQL parameter values to the search SQL statement.
deprecated classmethod ApplyReverseChainedSearch(pResourceType As %String, pSessionIdentifier As %String, pHasPrevSearch As %Boolean, ByRef pRevChains As %String, ByRef pResultSet As HS.Util.TransientTable, ByRef pColNums As %String, pLog As %Boolean = 0)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Apply the reverse chaining "_has" parameters to an existing search resultset that contains results.
Apply the reverse chaining "_has" parameters to an existing search resultset that contains results.
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/STU3/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.vSTU3.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.
API Create carries out the FHIR storage-specific logic for the create interaction. Reference: http://hl7.org/fhir/STU3/http.html#create
Input:
Output:
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/STU3/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.
API Delete carries out the FHIR storage-specific logic for the delete interaction. Reference: http://hl7.org/fhir/STU3/http.html#delete
Input:
Output:
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.
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.
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
deprecated classmethod ExecuteSQLSearch(pResourceType As %String, pParameters As %Library.ArrayOfDataTypes, pSQL As %String, ByRef pSQLParams As %String, pLog As %Boolean, ByRef pSQLResultSet As %SQL.StatementResult)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Execute the search and return the %SQL.StatementResult resultset. Log performance statistics if logging is requested.
Execute the search and return the %SQL.StatementResult resultset. Log performance statistics if logging is requested.
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 GetChainedSQL(ByRef pChains As %String, ByRef pChainSQL As %String, ByRef pSQLParams As %String)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Given the pChains log of chained search parameters, construct the SQL and SQL parameter values for the chained portion of the current search.
Given the pChains log of chained search parameters, construct the SQL and SQL parameter values for the chained portion of the current search.
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.
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 GetRevChainedSQL(ByRef pRevChains As %String, ByRef pRevChainSQL As %String, ByRef pRevChainSQLParams As %String)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Given the pRevChains array of reverse chained search parameters, construct the SQL string and SQL parameter values for the reverse chained portion of the current search. This method assumes that pRevChains was generated by ValidateAndLogRevChainParam() and that all reverse chain "_has" parameters are valid for the current search.
Reference: http://hl7.org/fhir/STU3/search.html#has
Search support here does not include chaining of the _has parameter itself.
Given the pRevChains array of reverse chained search parameters, construct the SQL string and SQL parameter values for the reverse chained portion of the current search. This method assumes that pRevChains was generated by ValidateAndLogRevChainParam() and that all reverse chain "_has" parameters are valid for the current search.
Reference: http://hl7.org/fhir/STU3/search.html#has
Search support here does not include chaining of the _has parameter itself.
deprecated classmethod GetSearchParamType(pResourceType As %String, pParamName As %String, ByRef pPropType 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.
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 GetSearchSQLWHERE(pResourceType As %String, pCompartment As %String = "", pResourceId As %String, pParameters As %Library.ArrayOfDataTypes, ByRef pChains As %String, pSessionIdentifier As %String, ByRef pSQL As %String, ByRef pSQLParams As %String)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Construct and return the SQL string and SQL parameter values for the WHERE clause of the current search.
Construct and return the SQL string and SQL parameter values for the WHERE clause of the current search.
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.
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.
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/STU3/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 supported) FHIR dateTime-type value for the history _at parameter.
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.
API History carries out the FHIR storage-specific logic for the history interaction.
Reference: http://hl7.org/fhir/STU3/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:
Output:
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.
deprecated classmethod InitializeSearchResultSet(ByRef pResultSet As HS.Util.TransientTable, pAdditionalColumns As %String = "", ByRef pColNums As %String)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Common method for initializing the search resultset object.
Common method for initializing the search resultset object.
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.
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:
deprecated classmethod Lastn(pParameters="", pMax As %Integer = 1, pSessionIdentifier As %String = "", Output pResultSet As HS.Util.TransientTable, Output pErrors As HS.Types.FHIR.Errors, pPreferHandling As %String = "", pSearchPostProcessorClass As %String = "", pSessionApplication As %String = "", pSessionId As %String = "") as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
API Lastn executes a search on the resource repository, within the constraints and special processing defined for the $lastn operation interaction, and returns a result set of identifiers of the FHIR resources that qualify for the search.
Input:
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.
pMax : Maximum number of resources to return in each Observation.code grouping.
pSessionIdentifier : Session identifier, used for session-based resource storage.
pPreferHandling : Value of "lenient" or null value means ignore unrecognized search parameters
and return warnings about such search parameters in an OperationOutcome
resource in the returned FHIR Bundle. Value of "strict" means return errors
and a 400 Bad Request status when unrecognized search parameters are found
in the request.
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.
API Lastn executes a search on the resource repository, within the constraints and special processing defined for the $lastn operation interaction, and returns a result set of identifiers of the FHIR resources that qualify for the search.
Input:
Output:
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.
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.
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.
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 Patch(pPatchContentType As %String, pPatchStream As %Stream.Object, pResourceType As %String, pResourceId As %String, pResourceSchema As %String, pParameters, pIfMatchVersion As %String = "", pSessionIdentifier As %String = "", pResourceContentType As %String, ByRef pResourceStream As %Stream.Object, Output pResourceObject, Output pStorageId As %String, Output pErrors) as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
deprecated classmethod PatchJSONDynObj(pResourceObj As %Library.DynamicObject, pPatchStream As %Stream.Object, Output pUpdated As %Boolean) as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
deprecated classmethod PatchXMLWithXSLT(pResourceStream As %Stream.Object, pResourceXMLDocument As %XML.Document, pPatchStream As %Stream.Object, ByRef pUpdated As %Boolean, ByRef pAdded As %Boolean) as %Status
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
PatchXMLDocument applies XML Patch to the specified FHIR resource stream and its accompanying %XML.Document representation.
PatchXMLDocument applies XML Patch to the specified FHIR resource stream and its accompanying %XML.Document representation.
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/STU3/http.html#read
Reference: http://hl7.org/fhir/STU3/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.vSTU3.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 storage.
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.
API Read carries out the FHIR storage-specific logic for the read and vread interactions. Reference: http://hl7.org/fhir/STU3/http.html#read
Reference: http://hl7.org/fhir/STU3/http.html#vread
Input:
Output:
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.vSTU3.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.
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:
Output:
deprecated classmethod Search(pResourceType As %String, pCompartment As %String = "", pResourceId As %String = "", pParameters="", pSessionIdentifier As %String = "", Output pResultSet As HS.Util.TransientTable, Output pErrors As HS.Types.FHIR.Errors, pPreferHandling As %String = "", pSearchPostProcessorClass As %String = "", pSessionApplication As %String = "", pSessionId As %String = "") as %Status
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.
pPreferHandling : Value of "lenient" or null value means ignore unrecognized search parameters
and return warnings about such search parameters in an OperationOutcome
resource in the returned FHIR Bundle. Value of "strict" means return errors
and a 400 Bad Request status when unrecognized search parameters are found
in the request.
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.
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:
Output:
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.
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 SearchIncludes(pResourceType As %String, pValidIncludes As %List, pSessionIdentifier As %String, ByRef pResultSet As HS.Util.TransientTable, ByRef pColNums As %String)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Based on the current resultset, add rows to the resultset for resources that need to get pulled in due to _include search parameter(s).
Based on the current resultset, add rows to the resultset for resources that need to get pulled in due to _include search parameter(s).
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/STU3/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.vSTU3.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.
API Update carries out the FHIR storage-specific logic for the update interaction. Reference: http://hl7.org/fhir/STU3/http.html#update
Input:
Output:
deprecated classmethod ValidateAndLogChainParam(pParameters, pWholeParam As %String, pParamVals, pPreferHandling As %String, pResourceType As %String, ByRef pParamType As %String, ByRef pErrors As HS.Types.FHIR.Errors, ByRef pChains As %String, ByRef pAdded As %Boolean)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
If the specified member of pParameters is a chained search parameter, validate it and log it to the pChains array. Chained paramters will be added to the SQL statement last.
If the specified member of pParameters is a chained search parameter, validate it and log it to the pChains array. Chained paramters will be added to the SQL statement last.
deprecated classmethod ValidateAndLogRevChainParam(pParameters, pWholeParam As %String, pParamVals, pPreferHandling As %String, pResourceType As %String, ByRef pParamType As %String, ByRef pErrors As HS.Types.FHIR.Errors, ByRef pRevChains As %String, ByRef pAdded As %Boolean)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
If the specified member of pParameters is a chained search parameter, validate it and log it to the pChains array. Chained paramters will be added to the SQL statement last.
If the specified member of pParameters is a chained search parameter, validate it and log it to the pChains array. Chained paramters will be added to the SQL statement last.
deprecated classmethod ValidateSearchInclude(pResourceType As %String, pParameters As %Library.ArrayOfDataTypes, pPreferHandling As %Boolean, ByRef pValidIncludes As %List, ByRef pErrors As HS.Types.FHIR.Errors)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Validate the _include search parameter value(s).
Validate the _include search parameter value(s).
deprecated classmethod ValidateSearchParams(pResourceType As %String, pParameters As %Library.ArrayOfDataTypes, pPreferHandling As %String, ByRef pHasParams As %Boolean, ByRef pHasChain As %Boolean, ByRef pHasRevChain As %Boolean, ByRef pHasNonChain As %Boolean, ByRef pChains As %String, ByRef pRevChains As %String, ByRef pValidIncludes As %List, ByRef pValidRevIncludes As %String, ByRef pErrors As HS.Types.FHIR.Errors)
THIS CLASS IS DEPRECATED Use HS.FHIRServer.* instead.
Validate the specified parameters for FHIR search, and return any applicable data regarding chained parameters, reverse chained parameters, _includes and _revincludes.
Validate the specified parameters for FHIR search, and return any applicable data regarding chained parameters, reverse chained parameters, _includes and _revincludes.
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()