Skip to main content


class EnsPortal.HL7.Dialog.CustomSegmentStructure extends EnsPortal.Dialog.standardDialog

Create a new production and add components to it.

Property Inventory

Method Inventory


parameter APPLYBUTTON = 0;
Inherited description: If true, then this dialog displays an Apply button.
parameter CSSINCLUDES = ensemble/Ensemble_Wizards.css,ensemble/Ensemble_EDI.css;
Inherited description: Comma-separated list of additional CSS include files for the page. If this page is using CSS3 then the CSS3INCLUDES parameter is used (if defined).
parameter PAGENAME = Custom Segment Structure Wizard;
Inherited description: Optional. This is the display name used for this page. If not provided, the class name is used.
parameter RESOURCE = %Ens_EDISchema:WRITE;
User needs WRITE permissions on the %Ens_EDISchema resource to view this page.


property %propNames as %String [ MultiDimensional ];
Array for disambiguation of names
Property methods: %propNamesDisplayToLogical(), %propNamesGet(), %propNamesIsValid(), %propNamesLogicalToDisplay(), %propNamesLogicalToOdbc(), %propNamesNormalize(), %propNamesSet()
property baseSchema as %ZEN.Datatype.string (ZENURL = "BASE");
Immediate base schema of the schema being edited
Property methods: baseSchemaDisplayToLogical(), baseSchemaGet(), baseSchemaIsValid(), baseSchemaLogicalToDisplay(), baseSchemaLogicalToOdbc(), baseSchemaNormalize(), baseSchemaSet()
property caseType as %ZEN.Datatype.string (ZENURL = "TYPE");
"newFromSchemaMain", "copyFromSchemaMain", and "edit" are the valid values. Identifies the context in which the dialog is being used.
Property methods: caseTypeDisplayToLogical(), caseTypeGet(), caseTypeIsValid(), caseTypeLogicalToDisplay(), caseTypeLogicalToOdbc(), caseTypeNormalize(), caseTypeSet()
property category as %ZEN.Datatype.string (ZENURL = "CAT");
Schema being edited
Property methods: categoryDisplayToLogical(), categoryGet(), categoryIsValid(), categoryLogicalToDisplay(), categoryLogicalToOdbc(), categoryNormalize(), categorySet()
property chooseCT as %ZEN.Datatype.string;
Comma-separated string suitable for being used as a valueList for a combobox where the user chooses code tables.
Property methods: chooseCTDisplayToLogical(), chooseCTGet(), chooseCTIsValid(), chooseCTLogicalToDisplay(), chooseCTLogicalToOdbc(), chooseCTNormalize(), chooseCTSet()
property chooseDS as %ZEN.Datatype.string;
Comma-separated string suitable for being used as a valueList for a combobox where the user chooses data structures.
Property methods: chooseDSDisplayToLogical(), chooseDSGet(), chooseDSIsValid(), chooseDSLogicalToDisplay(), chooseDSLogicalToOdbc(), chooseDSNormalize(), chooseDSSet()
property currentFields as %Integer;
Keeps track of how many fields are currently displaying.
Property methods: currentFieldsDisplayToLogical(), currentFieldsGet(), currentFieldsIsValid(), currentFieldsLogicalToDisplay(), currentFieldsNormalize(), currentFieldsSet(), currentFieldsXSDToLogical()
property customSeg as %String (ZENURL = "SS");
Segment structure being worked on
Property methods: customSegDisplayToLogical(), customSegGet(), customSegIsValid(), customSegLogicalToDisplay(), customSegLogicalToOdbc(), customSegNormalize(), customSegSet()
property fieldCount as %Integer;
Keeps track of where we are in counting fields, so we can create unique field ids.
Property methods: fieldCountDisplayToLogical(), fieldCountGet(), fieldCountIsValid(), fieldCountLogicalToDisplay(), fieldCountNormalize(), fieldCountSet(), fieldCountXSDToLogical()
property incomingData as %ZEN.Datatype.list);
In the case of "copyFromSchemaMain" or "edit" we have existing data to put onto the screen
Property methods: incomingDataDisplayToLogical(), incomingDataGet(), incomingDataIsValid(), incomingDataLogicalToDisplay(), incomingDataLogicalToOdbc(), incomingDataNormalize(), incomingDataSet()
property retValue as %ZEN.Datatype.string;
Holder for return value.
Property methods: retValueDisplayToLogical(), retValueGet(), retValueIsValid(), retValueLogicalToDisplay(), retValueLogicalToOdbc(), retValueNormalize(), retValueSet()


method %OnAfterCreatePage() as %Status
Inherited description: Avoid writing out the session cookie if we are in a Studio session.
method %OnGetPageName() as %String
Get the (localized) name of the page.
method %OnGetSubtitle() as %String
Get the (localized) subtitle string for the dialog. This should be implemented in a subclass.
method %OnGetTitle() as %String
Get the (localized) title string for the page.
method DrawContent(pSeed As %String) as %Status
classmethod GetHyperEventResources(pMethod As %String = "") as %String
Callback to return a list of resources required for a specific HyperEvent. The user must have sufficient privileges on one of the resource/permission pairs to be permitted to execute the hyperevent. An empty string implies the user already has sufficient privileges for the ZenMethod specified in pMethod.
method GetSegStructUpdateFromServer(pSchema As %String, pSegStruct As %String) as %String [ ZenMethod ]
Get all the necessary data about the segment structure from the server in one call.
classmethod GetValidationDataFromServer(pCustomSchema As %String, pNewSS As %String) as %String [ ZenMethod ]
Get all the necessary data from the server in one call and use it later. pCustomSchema and pNewMS are without prefix or suffix.

Here is the format of the semi-colon separated string (values shown in angle brackets which are not really there):

method GetValueList(pCategory As %String, pQuery As %String, pColumn As %String, pBlankChoice As %Boolean) as %String
method OnWizardCompletion(pCustomSchema As %String, pNewSS As %String, pDescription As %String, pDetails As %String) as %String [ ZenMethod ]
This method is invoked when the user completes the Wizard pressing "OK". Returns a null string if it succeeds, or an error message otherwise.
method PopulateSegmentFieldsFromSchema(pCategory As %String, pSegStruct As %String) as %String
method SetUpSchemaComboboxList(pCombo As %ZEN.Component.combobox, pCategory As %String, pQuery As %String, pColumn As %String, pBlankChoice As %Boolean)
clientmethod addAllGroups(incomingData) [ Language = javascript ]
clientmethod addRow(incomingData) [ Language = javascript ]
clientmethod chooseCopySeg() [ Language = javascript ]
clientmethod deleteAllGroups() [ Language = javascript ]
clientmethod deleteGroup(currentGroup) [ Language = javascript ]
Intended for a group that contains a row of fields
clientmethod deleteOption(n) [ Language = javascript ]
Intended for responding to the delete button at the left of a row of fields
clientmethod getDialogValue() [ Language = javascript ]
Inherited description: Get the value that will be applied when the user presses the OK button. This is implemented by subclasses.
clientmethod getSelectString(index) [ Language = javascript ]
clientmethod getTextString(index) [ Language = javascript ]
clientmethod labelFields(n) [ Language = javascript ]
Label the fields in the indicated row in order from left to right.
clientmethod makeNewRow(incomingData) [ Language = javascript ]
incomingData is a string separated with \u0006 characters that contains the data to use in populating the fields in this row. If not provided, a blank-appearing row (empty of data) is created and returned.
clientmethod moveLine(currentGroup, where) [ Language = javascript ]
clientmethod moveRowDown(n) [ Language = javascript ]
clientmethod moveRowUp(n) [ Language = javascript ]
clientmethod ondialogCancel() [ Language = javascript ]
This callback, if defined, is called when the user presses the Cancel button. If this returns false, then the dialog is not cancelled.
clientmethod ondialogFinish(action) as %Boolean [ Language = javascript ]
This callback is called when the user presses the OK button. If this returns false, then the action is canceled.
clientmethod ondialogStart() [ Language = javascript ]
This callback, if defined, is called when the dialog page is loaded.
clientmethod removeLine(currentGroup) [ Language = javascript ]
Utility method for manipulating the line array when deleting a row of fields
clientmethod sortOutEntityName(name, msg) [ Language = javascript ]
clientmethod unlabelFields(n) [ Language = javascript ]
Remove labels from the fields in the indicated row.
clientmethod updateDisplay() [ Language = javascript ]
clientmethod validateAll() [ Language = javascript ]

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab