Skip to main content

%Api.InteropEditors.Utils

This class is used internally by InterSystems IRIS. You should not make direct use of it within your applications. There is no guarantee made about either the behavior or future operation of this class.

Method Inventory

Parameters

parameter AllBPLsRead = 1;
parameter AllBPLsWrite = 2;
parameter AllDTLsRead = 1;
parameter AllDTLsWrite = 2;
parameter AllProductionsRead = 1;
parameter AllProductionsWrite = 2;
parameter AllRulesRead = 1;
parameter AllRulesWrite = 2;
parameter BusinessRulesRead = 3;
parameter BusinessRulesWrite = 4;
parameter ProductionsItemUse = 6;
parameter ProductionsRead = 3;
parameter ProductionsTestHost = 7;
parameter ProductionsUse = 5;
parameter ProductionsWrite = 4;
parameter RoutingRulesRead = 5;
parameter RoutingRulesWrite = 6;
parameter WhenCommentDelimeter = &sep;;
Comments on 'when's are stored in an attribute rather than an array of elements. This string acts a the delimeter for the comment attribute on each when.

Methods

classmethod %GetArrayForQuery(pQueryClass As %String, pQueryName As %String, pColumns As %List, pDelim As %String = ".", ByRef pParameters, Output pMetaData, Output pData) as %Status
Execute the given class query and return the results in an array that can be used by the finder.
The query must return the following data:
"name" - name of the item.
"value" - id of the item.
"type" - type (extension) of the item.
"date" - last modified date of the item.
pColumns is a $List containing the names of the columns that supply the above data: $LB(name,value,type,date).
pDelim is the delimiter used to separate the name into groups.
The search criteria are passed in the array pParameters. These include:
pParameters("sort") -- this can be "name" or "date", default is "name"
(refer to the GetClassListArray() for details on "sort").
classmethod BPLReplaceReferencesWithIndices(shapeList As %ListOfObjects, shapeObjectMap As %DynamicObject, container As %DynamicArray, parentIndex="")
classmethod BPLRestoreReferences(shapeList As %ListOfObjects, shapeMap As %DynamicObject, container As %DynamicArray)
classmethod CompileOlderThanSource(cls) as %Integer
Returns -1 if not compiled, 0 if compilation up to date, 1 if compilation older than source
classmethod ContractRuleSet(actions As %DynamicArray) as %Status
Transform provided rule definition JSON to match generated rule definition structure. Recursively iterate through the actions array of a ruleSet. Remove each action.expression.valueObject and move each action.expression.value to action.value. Rename each when.expression.value to when.condition and when.expression.valueObject to when.conditionObject and deserialize when.comments array into delimeted when.comment string. Performs inverse of ExpandRuleSet.
classmethod CreateDTLInputObject(namespace As %String, pInputClass As %String = "", pData As %String = "", Output pStatus As %Status, ByRef pDocProperties) as %RegisteredObject
Create an input message for testing. Note that pData may be a stream object if the source data is sufficiently large.
classmethod ExpandRuleSet(actions As %DynamicArray) as %Status
Transform generated rule definition JSON to be more complete and internally consistent. Recursively iterate through the actions array of a ruleSet Rename each when.condition to match action.expression naming style and deserialize when.comment string into when.comments array. Performs inverse of ContractRuleSet.
classmethod ExtractFinderData(ByRef data, container As %DynamicArray, additionalIndices="")
Extract class names from the finder array into a container
classmethod ExtractSegments(namespace As %String, arrRef As %String, cls As %String = "", doctype As %String = "") as %DynamicAbstractObject
classmethod GetAllHostConnections(pProd As %String, Output pList, Output pColNames) as %Status
classmethod GetBPLContextDataTypes(namespace As %String) as %DynamicObject
classmethod GetBPLContextSuperclasses(namespace As %String) as %DynamicObject
classmethod GetBPLPerms() as %Binary
Get permissions the current user has on business processes. Permissions are returned in a bitstring with the following mapping:
1: %Ens_BPL:READ or %Ens_Code:READ
2: %Ens_BPL:WRITE or %Ens_Code:WRITE
classmethod GetClassListArray(ByRef pParameters, Output pMetaData, Output pData) as %Status
Search for classes that match the input criteria and return them in an array that can be used by the finder.
The search criteria are passed in the array pParameters. These include:
pParameters("sub") -- include all subclasses of this class, but not the class itself
pParameters("super") -- include this class and all subclasses
pParameters("search") -- only return items that include this as (any) part of the name
-- the search is case-insensitive
pParameters("system") -- 1 : only find classes whose System flag is set
-- 0 : only find classes whose System flag is off
-- otherwise : no filter on system flag
pParameters("percent") -- 1 : only find classes whose name starts with %
-- 0 : only find classes whose name does not start with %
-- otherwise : no filter on percent flag
pParameters("product") -- 1 : only find classes that are mapped to a product database, e.g. ENSLIB
-- 0 : only find classes that are not mapped to a product database
-- otherwise : no filter on product flag
pParameters("generated") -- 1 : only find classes that are generated
-- 0 : only find classes that are not generated
-- otherwise : no filter on generated flag
pParameters("context") -- 1 : only find classes that are either persistent, serial, or datatype, no other classtypes
-- 0 : only find classes that are not persistent, serial, or datatype
-- otherwise : no filter on generated flag. note: the value of "context" overrides "persistent" and/or "datatype"
pParameters("abstract") -- 1 : include abstract classes
-- 0 : skip abstract classes
-- otherwise : no filter on abstract flag
pParameters("persistent") -- 1 : only find classes whose classtype is persistent
-- 0 : only find classes whose classtype is not persistent
-- otherwise : no filter on classtype being persistent
pParameters("datatype") -- 1 : only find classes whose classtype is datatype
-- 0 : only find classes whose classtype is not datatype
-- otherwise : no filter on classtype being datatype
pParameters("production") -- 1 : only find production classes
-- otherwise : no filter on class being a Production
pParameters("sort") -- this can be "name" or "date" or "namecasesensitive", default is "name"
  • "name":
    Return the array organized by names (case-insensitive sort!).
    This list should be hierarchical by package.
  • "date":
    Return items by last modified date (and do not split by package).
    Organize dates into the following buckets:
    • "Today"
    • "Yesterday" (option)
    • "Earlier this week" (option)
    • "Last Week" (the closest Sunday to Saturday period that does not contain Today)
    • "Older than last week"
    Within each bucket have one level (with complete class name) ordered by modified date.
  • "namecasesensitive":
    Return the array organized by names allowing for case-sensitivity.
    This list should be hierarchical by name.
classmethod GetClassListForHost(pProduction As %String, pHostName As %String, pSettingName As %String = "Request") as %String [ ZenMethod ]
Return an array of request messages for the given operation.
classmethod GetDTLFunctions(pNamespace As %String) as %DynamicArray
classmethod GetDTLInputSupportedFormats(namespace As %String, cls As %String) as %DynamicArray
classmethod GetDTLPerms() as %Binary
Get permissions the current user has on data transformations. Permissions are returned in a bitstring with the following mapping:
1: %Ens_DTL:READ or %Ens_Code:READ
2: %Ens_DTL:WRITE or %Ens_Code:WRITE
classmethod GetDTLSegments(pNamespace As %String = "", pModes As %String = "", pClasses As %String = "", pDocTypes As %String = "") as %DynamicArray
Fetch the segments of a DTL source and target message class as JSON, given the pNamespace, pModes (a comma-delimited list of top level property names eg "source,target"), pClasses(a comma-delimited list of class names), pDocTypes (a comma-delimited list of document types for virtual documents)
classmethod GetDTLSubSegments(pNamespace As %String, pClass As %String, pDocType As %String = "", pNodeIndex As %String = "") as %DynamicObject
Fetch the subsegments of a given node as JSON, given the pNamespace, pClass(class name), pDocType (document type for virtual documents), pNodeIndex (index of the parent segment)
classmethod GetDTLTestInput(namespace As %String, cls As %String, response As %CSP.Response) as %RawString
classmethod GetDocTypesForClass(namespace As %String, messageClass As %String) as %DynamicArray
classmethod GetInputPlugins(contextClassName As %String, ByRef plugins As %DynamicArray) as %Status
Get properties and plugin metadata of an extended context class. The method arguments hold values for: namespace, Namespace to search for extensions in. contextClassName, Context class to get properties and plugin metadata of.
classmethod GetItemID(pProductionName As %String, hostName As %String, Output hostID As %String = "") as %DynamicAbstractObject
classmethod GetMessageClasses(category As %String, mode As %String = "") as %DynamicArray
Get list of classes using the EnsPortal.Utils::EnumerateMessageClasses SQL procedure Throws exceptions
classmethod GetProductionPerms() as %Binary
classmethod GetRulePerms() as %Binary
Get permissions the current user has on rules. Permissions are returned in a bitstring with the following mapping:
1: %Ens_Rules Read
2: %Ens_Rules Write
3: %Ens_BusinessRules Read
4: %Ens_BusinessRules Write
5: %Ens_RoutingRules Read
6: %Ens_RoutingRules Write
classmethod GetSettingValue(pHostName As %String = "", pSettingType As %String = "Host", pSetting As %String = "") as %String
classmethod GetSubTransforms(subTransformName As %String, transformID As %String, ByRef subsExisting) as %DynamicArray
classmethod GetWholeProductionAsJSON(pProductionName As %String = "", Output prodJSONObject As %String = "") as %DynamicAbstractObject
classmethod HasBPLPerms(permStr As %String, perms As %Binary = 0) as %Boolean
Check if the current user has specified DTL permissions. Input 'permString' defines what permissions to check: valid values are "R", "W", and "RW". Input 'perms' defines the permissions the current user has on BPLs: expected format is a bitstring as returned by GetBPLPerms().
classmethod HasDTLPerms(permStr As %String, perms As %Binary = 0) as %Boolean
Check if the current user has specified DTL permissions. Input 'permString' defines what permissions to check: valid values are "R", "W", and "RW". Input 'perms' defines the permissions the current user has on DTLs: expected format is a bitstring as returned by GetDTLPerms().
classmethod HasKey(parent As %DynamicObject, key As %String) as %Integer
Check if 'parent' has key 'key'
classmethod HasPermsByAssistClass(assistClass As %String, permStr As %String, perms As %Binary) as %Boolean
Check if the current user has specified permissions on rules that use this assist class. Input 'permString' defines what permissions to check: valid values are "R", "W", and "RW". Input 'perms' defines the permissions the current user has on rules: expected format is a bitstring as returned by GetRulePerms().
classmethod HasPermsByProductionClass(productionClass As %String, permStr As %String, perms As %Binary)
Check if the current user has specified permissions on this rule class. Input 'permString' defines what permissions to check: valid values are "R", "W", and "RW". Input 'perms' defines the permissions the current user has on rules: expected format is a bitstring as returned by GetRulePerms().
classmethod HasPermsByRuleClass(ruleClass As %String, permStr As %String, perms As %Binary)
Check if the current user has specified permissions on this rule class. Input 'permString' defines what permissions to check: valid values are "R", "W", and "RW". Input 'perms' defines the permissions the current user has on rules: expected format is a bitstring as returned by GetRulePerms().
classmethod HasPermsByRuleType(ruleTypes As %String, permStr As %String, perms As %Binary) as %Boolean
Check if the current user has specified permissions on all rules in 'ruleTypes' input: valid values are "B" (Business Rules), "R" (Routing Rules), "A" (All Rules), and "*" (Any Rules). Input 'permString' defines what permissions to check: valid values are "R", "W", and "RW". Input 'perms' defines the permissions the current user has on rules: expected format is a bitstring as returned by GetRulePerms().
classmethod HasProductionPerms(permStr As %String, perms As %Binary) as %Boolean
Check if the current user has specified permissions. Input 'permString' defines what permissions to check: valid values are "R", "W", and "RW". Input 'perms' defines the permissions the current user has on production config: expected format is a bitstring as returned by GetProductionPerms().
classmethod InLocale(pName As %String, pTabs As %List) as %Boolean
classmethod IsReadOnly(cls As %String) as %Boolean
Check if this class is read only for this user due to the underlying database or source control User permissions that are specific to the application also need to be checked but that is not done in this generic method.
classmethod IsSubClass(class As %String, superClass As %String) as %Integer
Check if the given 'class' is a subclass of 'superClass': if class is guaranteed to be compiled use %Extends instead.
classmethod ItemLineConnectionsById(pItemId As %String, pProd As %String, inBound As %Boolean, outBound As %Boolean, Output pList, Output pColNames) as %Status
classmethod ItemSettings(pConfigItemName As %String, Output pList, Output pColNames) as %Status
classmethod RuleAlreadyExists(pClassName As %String) as %Boolean
classmethod SaveBPL(namespace As %String, className As %String, BPL As %DynamicObject, Output hasErrors=0, ignoreErrors As %Boolean = 0) as %Status
Save 'BPL' dynamic object into class. If the class exists it will be overwritten.
classmethod SaveDTL(namespace As %String, className As %String, DTL As %DynamicObject) as %Status
Save 'DTL' dynamic object into class. If the class exists it will be overwritten.
classmethod SaveRule(ruleClass As %String, ruleDefinition As %DynamicObject) as %Status
Save 'ruleDefinition' into class 'ruleClass'. If a class 'ruleClass' exists it will be overwritten.
classmethod SubmitRoutingRule(protocol As %String, ruleClass As %String, productionName As %String = "", className As %String = "", itemName As %String = "") as %Status
Add new routing rule to complete a new HL7 or X12 service that has created its own "dedicated" router.
classmethod TestDTL(namespace As %String, cls As %String, inputMessage As %RawString, extras As %DynamicObject, Output raw As %Stream.Object, Output formatted As %Stream.Object)
Callback method to create the necessary objects and capture the transformed output. We make context and process public for possible use is in Transform method
classmethod WritetoAuditLog(action As %String, productionClass As %String, itemName As %String, loggedAction As %String) as %Status
classmethod evaluateExpression(pExpression, %pOneRow)
classmethod evaluateRule(pContext As %RegisteredObject, pRuleName As %String, Output pRuleLogData As %String = "", pDebugFlags As %String = "crd", pSelectMode As %Integer = 2) as %Status
Given a context object evaluate the rule and create result output as JSON
classmethod findDefaultableSettings(pHostType As %String = "") as %DynamicObject
classmethod mactime(pDateTime As %String = "") as %String
classmethod serializeMessageAsHTML(pMessageObject As %RegisteredObject, Output pNeedsHTMLEscaping As %Boolean = 1, Output tXMLStream As %Stream.TmpCharacter) as %Status
Given an object create an HTML serialization of the object.
classmethod sortData(pInputData, %pOutputData, pSort, pDelim)
FeedbackOpens in a new tab