Skip to main content

HS.FHIRServer.DefaultBundleProcessor

class HS.FHIRServer.DefaultBundleProcessor extends HS.FHIRServer.Util.Bundle

Method Inventory

Parameters

parameter BundleValidatorClass = HS.FHIRServer.Util.BundleValidator;
Class that provides the FHIR Bundle resource validation logic for this Bundle processing class. The class is intended to handle Bundle-specific validation, i.e., the rules applying to transaction, batch, document, and message Bundles.

Methods

classmethod AddToPostOrder(entryId As %String, ByRef visitContext, ByRef postContext, path As %CacheString = "")
This is a function that recurses on all entries that the specified entry needs to have POST'd, then it adds itself to the list. NOTE: This tries to minimize updates of newly posted resources. If a circular reference is detected, then reposting may be necessary and is handled later.
classmethod BuildDependencyCallback(ByRef visitContext, pRefObj As %DynamicObject)
This method is a callback from the VisitAll method. It is called for each Reference object in the resource. If the reference is bundle-internal, we capture it.
classmethod ExecuteBundle(pService As HS.FHIRServer.API.Service, pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response, pBundleType As %String, ByRef visitContext)
ExecuteBundle processes a batch or transaction Bundle according to the FHIR specification at:
http://hl7.org/fhir/http.html#transaction

Inputs:
  • pService : The FHIR Service instance that invoked this processor
  • pRequest : FHIR request message.
  • pResponse : FHIR response object to receive the result
  • pBundleType : String specifying the bundle type ("batch" or "transaction")
  • visitContext : The context multidimensional that is controlling this operation
  • classmethod ExecuteBundleMain(pService As HS.FHIRServer.API.Service, pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response, pBundleType As %String, ByRef visitContext)
    classmethod ExtractUUID(pString As %String, pPrefixRequired As %Boolean = 0) as %String
    API ExtractUUID returns the UUID-portion of the input string if the specified string is a UUID, returns 0 if not. Requirement for the presence of the "urn:uuid:" prefix is determined by the pPrefixRequired input parameter. Once prefix is verified per the requirement, the remainder of validation takes place with the prefix stripped.
    classmethod GetFormatForContentType(mimeType As %String)
    classmethod ProcessBundle(pService As HS.FHIRServer.API.Service, pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response)
    Context layout ctx("entry") : Count of entries ctx("entry", n) : The n-th input bundle entry ctx("entry", n, "response") : The response bundle entry for the n-th input bundle entry ctx("entry", n, "fullUrl") : The temporary id (used only for POST entries) to allow references from other : resources in the bundle. Used only for transaction interactions ctx("ByFullUrl", fullUrl) : The actual id associated with the refkey. Used to resolve references to this resource. ctx("ByFullUrl", fullUrl, "entry") : The entry Index associated with the refkey. : resources in the bundle. Used only for transaction interactions ctx("ByFullUrl", fullUrl, "from", iEntry) : EntryId of a resource referencing the fullUrl ctx("ByFullUrl", fullUrl, "refObj") : Count of References to fullUrl within the bundle ctx("ByFullUrl", fullUrl, "refObj", n) : n-th Reference Object referring to fullUrl ctx("ByMethod", method) : The count of operations to execute for the specified method ctx("ByMethod", method, n) : The entry Index of the n-th operation to execute for the specified method ctx("Depends", entryId, postedId) : Present if the specified entry requires the posted entry to be processed first. ctx("Posted", entryId ) : Present when a POST entry has been processed (used for circular reference management) ctx("Circular", entryId ) : Present when a POST entry has been processed but a prerequisite has not. It will be updated at the end
    classmethod dispatchRequest(pService As HS.FHIRServer.API.Service, pRequest As HS.FHIRServer.API.Data.Request, pResponse As HS.FHIRServer.API.Data.Response, pBundleType As %String, ByRef visitContext)
    classmethod prepareRequest(pService As HS.FHIRServer.API.Service, pTransRequest As HS.FHIRServer.API.Data.Request, ByRef visitContext, entryObj As %DynamicObject) as HS.FHIRServer.API.Data.Request

    Inherited Members

    Inherited Methods

    Subclasses

    FeedbackOpens in a new tab