Skip to main content


persistent class %ZHSLIB.Audit.LogParticipant extends %Library.Persistent, %Library.Populate, %XML.Adaptor

SQL Table Name: %ZHSLIB_Audit.LogParticipant

Property Inventory

Method Inventory


property Detail as %String);
Property methods: DetailDisplayToLogical(), DetailGet(), DetailGetStored(), DetailIsValid(), DetailLogicalToDisplay(), DetailLogicalToOdbc(), DetailNormalize(), DetailSet()
property IDTypeCode as %String (DISPLAYLIST = ",MRN,Patient MPIID,Report,Criteria,Other,Doctor,Facility,Session", VALUELIST = ",1,2,3,10,O,D,F,21") [ Required ];
We are using 21, defined by RFC 3881 as "Job Stream", for the Ensemble Session ID
Property methods: IDTypeCodeDisplayToLogical(), IDTypeCodeGet(), IDTypeCodeGetStored(), IDTypeCodeIsValid(), IDTypeCodeLogicalToDisplay(), IDTypeCodeLogicalToOdbc(), IDTypeCodeNormalize(), IDTypeCodeSet()
property Identifier as %String) [ Required ];
Property methods: IdentifierDisplayToLogical(), IdentifierGet(), IdentifierGetStored(), IdentifierIsValid(), IdentifierLogicalToDisplay(), IdentifierLogicalToOdbc(), IdentifierNormalize(), IdentifierSet()
property IdentifierText as %String);
Property methods: IdentifierTextDisplayToLogical(), IdentifierTextGet(), IdentifierTextGetStored(), IdentifierTextIsValid(), IdentifierTextLogicalToDisplay(), IdentifierTextLogicalToOdbc(), IdentifierTextNormalize(), IdentifierTextSet()
relationship Log as %ZHSLIB.Audit.Log [ Required , Inverse = Participants , Cardinality = parent ];
Property methods: LogGet(), LogGetObject(), LogGetObjectId(), LogGetStored(), LogGetSwizzled(), LogIsValid(), LogNewObject(), LogOnDelete(), LogRClose(), LogRExec(), LogRFetch(), LogRelate(), LogSQLCompute(), LogSet(), LogSetObject(), LogSetObjectId(), LogUnRelate(), LogUnSwizzle()
property OtherType as %String);
Property methods: OtherTypeDisplayToLogical(), OtherTypeGet(), OtherTypeGetStored(), OtherTypeIsValid(), OtherTypeLogicalToDisplay(), OtherTypeLogicalToOdbc(), OtherTypeNormalize(), OtherTypeSet()


method %OnNew(Output pErr As %String, pType As %String = "", pOtherType As %String = "", pID As %String = "", pIDText As %String = "", pDetail As %String = "", pLog As %ZHSLIB.Audit.Log) as %Status
Inherited description: This callback method is invoked by the %New() method to provide notification that a new instance of an object is being created.

If this method returns an error then the object will not be created.

It is passed the arguments provided in the %New call. When customizing this method, override the arguments with whatever variables and types you expect to receive from %New(). For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:

Method %OnNew(dob as %Date = "", name as %Name = "") as %Status If instead of returning a %Status code this returns an oref and this oref is a subclass of the current class then this oref will be the one returned to the caller of %New method.


query ByLogIDType(LogID As %String, Types As %String)
SQL Query:
SELECT %ID,Detail,Identifier,IdentifierText,IDTypeCode,OtherType FROM LogParticipant WHERE (Log = :LogID) AND (IDTypeCode %INLIST $LISTFROMSTRING(:Types,','))
Query: pass in an ID from %ZHSLIB.Audit.Log, and a comma separated string of participant types 1: MRN, 2: Patient MPIID, etc. as above (ex: "1,2" will pass both MRN and UID) Note - the change requiring the comma separator is new for 2009.1, but has been required because the types can be multiple characters


index (IDKEY on ) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()
index (IdentifierIndex on IDTypeCode,Identifier);
Index methods: IdentifierIndexExists()

Inherited Members

Inherited Methods


Storage Model: Storage (%ZHSLIB.Audit.LogParticipant)

FeedbackOpens in a new tab