Skip to main content

SchemaMap.Tool.DTL.Generate

abstract class SchemaMap.Tool.DTL.Generate extends SchemaMap.Tool.Base.Generate

This class will evolve, but was started based on the server side code in %MPRL.UI.NewWizard, %MPRL.Model.linkageDefinition, and %MPRL.UI.AuditLogDebug, and DTL classes in the package HS.FHIR.DTL.ToSDA.

Method Inventory

Methods

classmethod AddTransform(xData, fromElement, toElement, from, to, fromPath, sourceValue, transformationSource, toPath, toNotes, classmethod, defaultValue, subtransform, extension, dependsOn, excludeList, append) as %Status
classmethod CreateDTLClass(package As %String, from As %String, to As %String, source As %String, target As %String, Output className As %String) as %Status
Create a new transformation class.
classmethod CreateXDataBlock(classDefinition As %Dictionary.ClassDefinition, blockName As %String, timestamp As %String, from As %String, to As %String, source As %String, target As %String, sourceClass As %String, targetClass As %String) as %Status
classmethod EnterLoop(xData As %Dictionary.XDataDefinition, arg As %String, key As %Integer) as %Status
classmethod ExitLoop(xData As %Dictionary.XDataDefinition, arg As %String, key As %Integer, toList As %Boolean = 1) as %Status
classmethod GenerateAll(from As %String, to As %String, package As %String = "", replaceMappingsWithTransforms As %Boolean = 0) as %Status
replaceMappingsWithTransforms will search the mappings for the current resource, and for each object see if there are entries in the mapping table for that object. If there are, it will generate that object first, then generate the current object as usual. updateReferences is not a provided parameter here because it is a slower operation and, more importantly, it will be done intrensically assuming replaceMappingsWithTransforms is set to true.
classmethod GenerateDependencies(package As %String, from As %String, to As %String, source As %String, target As %String) as %Status
classmethod GenerateTransforms(package As %String = "", from As %String, to As %String, source As %String, target As %String = "", replaceMappingsWithTransforms As %Boolean = 0, updateReferences As %Boolean = 0, level=0) as %Status
replaceMappingsWithTransforms will search the mappings for source, and for each object in source see if there are entries in the mapping table with a type that matches the object's type. If there are, it will generate that transform first then update the object's mapping in source to use that subtransform, then generate source as usual. updateReferences will, after source is generated, go through the mapping table and see if there are any instances where the newly created transform could replace existing mappings, and will update those entries. level is used in cases where transform A depends on transform B which depends on transform A, so we don't get caught in an infinite loop. Should always be 0 when called from the outside world.
classmethod GetGenerateResourceCount(from As %String, to As %String, Output message As %String = "") as %Status
How many resources would we be transforming if we ran GenerateAll right now? Form a reply message that explains what will be happening in terms of resource count.
classmethod IsNewLoop(fromElement As %String, %currLoopLevel As %Integer) as %Boolean
classmethod WriteXDataBlock(timestamp As %String, xData As %Dictionary.XDataDefinition, from As %String, to As %String, source As %String, target As %String, sourceClass As %String, targetClass As %String) as %Status

Inherited Members

Inherited Methods

FeedbackOpens in a new tab