Skip to main content

HS.SDA3.CustomObject

serial class HS.SDA3.CustomObject extends HS.SDA3.SuperClass

Generic SDA3 custom object, to hold a collection of NVPairs

To display CustomObjects in the Clinical Viewer:
1. In [install-dir]\distlib\trak\misc\, create a file
SITE-Default-CustomObject.txt. Copy to it the single entry from the
HS-Default file:
PROGRAMS^Program Membership^ProgramName,ProgramDescription
2. Add an entry for each type of CustomObject in the form:
Code^Description^Fields
Where "Fields" is a comma-delimited list of fields (NVPair Names) the
CustomObject can have. "Code" is the CustomType of the CustomObjects to
be displayed. "Description" is what will appear in the viewer.
3. Load this data into the Access Gateway by doing a reset:
do ##class(HS.Util.Installer.AccessGateway).Reset()
4. Log in to Trak to edit the viewer.
5. The CustomObjects will be displayed via a Questionnaire Profile. Either
create a new chart to display the profile or pick an existing one to add it
to.
6. On the Chart Setup screen, click "Add/Edit Questionnaire Profile".
7. Fill in a name for the Questionnaire Profile, and under Questionnaire
Group, select the option corresponding to the desired CustomType. (This
list is populated by the Codes and Descriptions from either the HS- or
SITE-Default-CustomObject.txt file.) Click "Update".
8. Add the newly created Questionnaire Profile to the chart and click
"Update".
9. On the chart, the columns that will contain the Values from CustomPairs
will initially be called "Significant Answer 1", "Significant Answer 2",
etc. The Column Editor may be used to control which columns are displayed,
and the Layout Editor may be used to set the names of the columns.

Property Inventory

Method Inventory

Properties

property ActionCode as %String;
Supported values:
D = Delete
C = Clear All
Any other value = Add or Update
See the annotation on the superclass property for more information on how
ActionCode is used.

VIEWERLIB: Not stored
Property methods: ActionCodeDisplayToLogical(), ActionCodeGet(), ActionCodeIsValid(), ActionCodeLogicalToDisplay(), ActionCodeLogicalToOdbc(), ActionCodeNormalize(), ActionCodeSet()
property ActionScope as %String;
See the annotation on the superclass property for more information on how
ActionScope is used.
If the ActionCode of an inbound CustomObject is "C" and ActionScope is not
null, then only CustomObjects with CustomType = ActionScope
(case-insensitive) will be deleted.

VIEWERLIB: Not stored
Property methods: ActionScopeDisplayToLogical(), ActionScopeGet(), ActionScopeIsValid(), ActionScopeLogicalToDisplay(), ActionScopeLogicalToOdbc(), ActionScopeNormalize(), ActionScopeSet()
property CustomMatchKey as %String (MAXLEN = 220);
In addition to CustomType, this is one of the match properties used to
determine if an inbound CustomObject matches an existing one. This will
probably be computed from some concatenation of Values from CustomPairs.

VIEWERLIB: Not stored
Property methods: CustomMatchKeyDisplayToLogical(), CustomMatchKeyGet(), CustomMatchKeyIsValid(), CustomMatchKeyLogicalToDisplay(), CustomMatchKeyLogicalToOdbc(), CustomMatchKeyNormalize(), CustomMatchKeySet()
property CustomPairs as list of HS.SDA3.NVPair;
The generic container to hold all sorts of data about this object

Viewer cache:
When the Access Gateway is reset and the HS- or SITE-Default-
CustomObject.txt file is loaded, a class will be generated in the Access
namespace for each entry in the file. The name of the class will be
"questionnaire.Q[ShortUpperCode]", where [ShortUpperCode] is the first 10
characters of the Code from the file, converted to uppercase. A property
will be generated in this class for each field named in the entry. The name
of the property will be "Q[field]", where [field] is the field from the
entry.
When attempting to load a CustomObject into the Viewer Cache, first a check
is made to see if there is a class for the object's CustomType. If there
is, the CustomPairs list is iterated over and every NVPair whose Name
corresponds to a property of the class will have its Value stored in that
property.

VIEWERLIB: questionnaire.Qxxx(Qyyy)
Property methods: CustomPairsBuildValueArray(), CustomPairsCollectionToDisplay(), CustomPairsCollectionToOdbc(), CustomPairsDisplayToCollection(), CustomPairsGet(), CustomPairsGetObject(), CustomPairsGetObjectId(), CustomPairsGetSwizzled(), CustomPairsIsValid(), CustomPairsOdbcToCollection(), CustomPairsSet(), CustomPairsSetObject(), CustomPairsSetObjectId()
property CustomType as %String;
A short string classifying this custom object

Streamlet cache:
In the OnValidate method of the Streamlet class, the InfoSubType property
of the streamlet is set to the value of the CustomType, converted to
uppercase. Also, ActionScope matches on CustomType. See the ActionScope
property for more info.

Viewer cache:
If the Clinical Viewer is configured to display CustomObjects (see above),
they will be grouped by CustomType.

VIEWERLIB: Not stored
Property methods: CustomTypeDisplayToLogical(), CustomTypeGet(), CustomTypeIsValid(), CustomTypeLogicalToDisplay(), CustomTypeLogicalToOdbc(), CustomTypeNormalize(), CustomTypeSet()
property EnteredBy as HS.SDA3.CodeTableDetail.User;
Viewer cache:
For this property to be stored in the Viewer Cache, there must be an entry
in the HS- or SITE-Default-CustomObject.txt file with Code=CustomType of
this object. The class it is stored to will be
"questionnaire.Q[ShortUpperCode]", where [ShortUpperCode] is the first 10
characters of the Code from the file, converted to uppercase.

SDATableName=User, ViewerClass=User.HS.SSUser
VIEWERLIB: questionnaire.Qxxx(QUESUserDR)
Property methods: EnteredByGet(), EnteredByGetObject(), EnteredByGetObjectId(), EnteredByGetSwizzled(), EnteredByIsEmpty(), EnteredByIsValid(), EnteredByNewObject(), EnteredBySet(), EnteredBySetObject(), EnteredBySetObjectId(), EnteredByUnSwizzle()
property EnteredOn as HS.SDA3.TimeStamp;
Viewer cache:
For this property to be stored in the Viewer Cache, there must be an entry
in the HS- or SITE-Default-CustomObject.txt file with Code=CustomType of
this object. The class it is stored to will be
"questionnaire.Q[ShortUpperCode]", where [ShortUpperCode] is the first 10
characters of the Code from the file, converted to uppercase.

VIEWERLIB: questionnaire.Qxxx(QUESDate) + questionnaire.Qxxx(QUESTime)
Property methods: EnteredOnDisplayToLogical(), EnteredOnGet(), EnteredOnIsValid(), EnteredOnLogicalToDisplay(), EnteredOnLogicalToTimeStamp(), EnteredOnLogicalToXSD(), EnteredOnNormalize(), EnteredOnOdbcToLogical(), EnteredOnSet(), EnteredOnXSDToLogical()

Methods

classmethod GetStreamletClass(pType)
Inherited description: For standard and extended SDA classes, pType will be the short SDA classname For custom SDA classes, pType will be the full SDA classname

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab