Skip to main content

HS.HC.FHIRSQL.Utils.FrontEnd

class HS.HC.FHIRSQL.Utils.FrontEnd extends %Library.RegisteredObject, HS.HC.FHIRSQL.REST.Common, HS.HC.FHIRSQL.REST.Utils.Request

The FHIR SQL Schema Builder application deals with three basic resources:

In addition, the API is responsible for verifying user credentials and calling back to the main server for kicking off analyses and building actual tables based on specs developed herein.

This class is just a collection of stubs with just enough logic behind it to mimick the eventual behavior of the system. Canned responses and dummy data are stored here and in Globals for the short term and to serve as a pattern for how the actual backend can interface with the REST API

Method Inventory

Methods

classmethod AnalysisLock(pAnalysisID, Output pLockManager) as %Boolean
classmethod DELETEanalysis(pID As %String, Output pReply As %DynamicObject, pAPIVersion As %Integer = 1)
Delete analysis task
classmethod DELETEcredentials(pID As %String, Output pReply As %DynamicObject)
Delete credentials entry
classmethod DELETEprojection(pProjectionId As %String, Output pReply As %DynamicObject, pAPIVersion As %Integer = 1)
classmethod Executeprojection(pProjectionObject As %DynamicObject, pIsNew As %Boolean, Output pReply As %DynamicObject, pAPIVersion As %Integer = 1)
classmethod GETanalysis(taskId As %String, Output pReply As %DynamicObject)
Query a known repository analysis task to get updates on its status
classmethod GETanalysis/(Output pReply As %DynamicObject, pPredicate As %DynamicAbstractObject = {{}})
classmethod GETanalysisresult(pID As %String, Output pReply As %DynamicObject)
classmethod GETanalysisstatus(pScanId As %String, Output pReply As %DynamicObject, pOnce As %Boolean = 0)
background job to monitor the scan on the fhir repository and update the status locally
classmethod GETcredentials(pSystemName, Output pReply As %DynamicObject, pIncludePassword=0)
classmethod GETcredentials/(Output pReply As %DynamicObject)
classmethod GEThostfhirrepository(pHostProperties As %DynamicAbstractObject, Output pReply As %DynamicObject, pPrefix="")
classmethod GETprojection(pProjectionId As %String, Output pReply As %DynamicObject, pSupported As %String)
Query a known repository analysis task to get updates on its status
classmethod GETprojection/(Output pReply As %DynamicObject, pPredicate As %DynamicAbstractObject = {{}})
classmethod GETssl/(Output pReply As %DynamicObject) as %Status
classmethod GETtransformspec(pID As %String, Output pReply As %DynamicObject)
classmethod GETtransformspec/(Output pReply As %DynamicObject, pPredicate As %DynamicAbstractObject = {{}})
classmethod POSTanalysis(pScanRequest As %DynamicObject, Output pReply As %DynamicObject, pAPIVersion As %Integer = 1)
{
	"fhirRepositoryId":(string),
	"maxDistinct":(number - e.g.1000),  
	"selectivityPercentage":50, (either selectivityPercentage or maxRecords, 
									currently only selectivityPercentage is partially working)
	"maxRecords":(number - 1000),
	---
	"startTime":(string - schedule for future, absence means ASAP),
	"startDate":(string)
}

classmethod POSTcredentials(pCredentials As %DynamicObject, Output pReply)
classmethod POSTprojection(pProjectionObject As %DynamicObject, Output pReply As %DynamicObject, pAPIVersion As %Integer = 1)
classmethod PUTanalysis(pScanId As %String, pReply As %DynamicObject, pAPIVersion As %Integer = 1)
Called from both above and a scheduled task
classmethod PUTcredentials(pCredentials As %DynamicObject, Output pReply)
classmethod PUTdatatransfer(pProjectionId As %String, Output pReply As %DynamicObject)
Toggle data transfer status between Active / Suspended
classmethod PUTprojection(pProjectionObjectID As %String, Output pReply As %DynamicObject, pProjectionObject As %DynamicObject, pAPIVersion As %Integer = 1)
Update projection in one of 2 ways: 1. if pProjectionObjectID is provided, only the specification has changed 2. if pProjectionObject is provided, we need to merge the updates (eg users) with the existing projection document
classmethod ServerDELETEanalysis(pScanId As %String, Output pReply As %DynamicObject, pAPIVersion As %Integer = 1)
classmethod ServerDeleteProjection(pProjectionObject As %DynamicObject, Output pReply As %DynamicObject, pAPIVersion As %Integer = 1)
classmethod ServerPUTProjection(pBuildStructure As %DynamicObject, Output pReply As %DynamicObject, pAPIVersion As %Integer = 1)
classmethod UpdateHostInfo(ByRef pObject As %DynamicObject, pFHIRRepositoryId)
classmethod ValidateResource(pResourceObject, Output pTables, pResourceType=pResourceObject.resourceType)
classmethod ValidateStructure(pTemplate As %DynamicObject, pReply As %DynamicObject)
Validate the transformation structure

Inherited Members

Inherited Methods

FeedbackOpens in a new tab