Home > Class Reference > HSLIB namespace > HS.Registry.Person.User

HS.Registry.Person.User

persistent class HS.Registry.Person.User extends %Library.Persistent, HS.Push.Registry.Recipient, HS.Registry.Person.Base

SQL Table Name: HS_Registry_Person.UserClinician

Include (HS.Common, %ZHSLIB)

Property Inventory

Method Inventory

Parameters

parameter DSINTERVAL = 5;
Inherited description: DSINTERVAL is the number of seconds between one DSTIME value and the next. The DSTIME value for DSINTERVAL > 0 is computed from $ZTIMESTAMP and is the number of seconds from day 0, time 0 to the nearest interval, rounded down. Using an interval has the effect of grouping all DSTIME entries for the class in some number of seconds.
parameter DSTIME = AUTO;
Inherited description: If the DSTIME parameter is set to AUTO then the most recent filing operation in the current DSTIME value for each object will be recorded in a global, ^OBJ.DSTIME:
^OBJ.DSTIME(ExtentName,DSTIME,objectID) = filing operation
For DSTIME=AUTO the DSTIME value is recorded in ^OBJ.DSTIME and is set by the consumer of DSTIME data.
Refer to %DeepSee documentation for more information on how DSTIME is used by %DeepSee.
The filing operations are:
CodeOperation
0Update
1Insert
2Delete

If the DSTIME parameter is set to MANUAL then the user is responsible for journaling object filing operations.

Properties

property Active as %Boolean [ InitialExpression = 1 ];
Set to True to prevent recipient from being selected
Property methods: ActiveDisplayToLogical(), ActiveGet(), ActiveGetStored(), ActiveIsValid(), ActiveLogicalToDisplay(), ActiveLogicalToXSD(), ActiveNormalize(), ActiveSet(), ActiveXSDToLogical()
property CacheUser as %Boolean [ InitialExpression = 0 ];
If this is a Cache User, then the UserID is their Cache User ID, and their authentication cannot be delegated
Property methods: CacheUserDisplayToLogical(), CacheUserGet(), CacheUserGetStored(), CacheUserIsValid(), CacheUserLogicalToDisplay(), CacheUserLogicalToXSD(), CacheUserNormalize(), CacheUserSet(), CacheUserXSDToLogical()
property Description as %String;
Inherited description: Description of clinician
Property methods: DescriptionDisplayToLogical(), DescriptionGet(), DescriptionGetStored(), DescriptionIsValid(), DescriptionLogicalToDisplay(), DescriptionLogicalToOdbc(), DescriptionNormalize(), DescriptionSet()
relationship Emails as array of HS.Registry.Person.UserEmail [ InitialExpression = $listbuild("HS.Registry.Person.UserEmail","UserClinician",+$this,"children",1,1) , Transient , Inverse = UserClinician , Cardinality = children ];
Property methods: EmailsGet(), EmailsGetObject(), EmailsGetObjectId(), EmailsGetSwizzled(), EmailsIsEmpty(), EmailsIsValid(), EmailsNewObject(), EmailsRClose(), EmailsRExec(), EmailsRFetch(), EmailsRelate(), EmailsSQLCompute(), EmailsSet(), EmailsUnRelate()
relationship Facilities as array of HS.Registry.Person.UserFacility [ InitialExpression = $listbuild("HS.Registry.Person.UserFacility","UserClinician",+$this,"children",1,1) , Transient , Inverse = UserClinician , Cardinality = children ];
Property methods: FacilitiesGet(), FacilitiesGetObject(), FacilitiesGetObjectId(), FacilitiesGetSwizzled(), FacilitiesIsEmpty(), FacilitiesIsValid(), FacilitiesNewObject(), FacilitiesRClose(), FacilitiesRExec(), FacilitiesRFetch(), FacilitiesRelate(), FacilitiesSQLCompute(), FacilitiesSet(), FacilitiesUnRelate()
relationship Folders as array of HS.Push.MessageCenter.Folder [ InitialExpression = $listbuild("HS.Push.MessageCenter.Folder","OwnerUser",+$this,"many",1,1) , Transient , Inverse = OwnerUser , Cardinality = many ];
Property methods: FoldersGet(), FoldersGetObject(), FoldersGetObjectId(), FoldersGetSwizzled(), FoldersIsEmpty(), FoldersIsValid(), FoldersNewObject(), FoldersRClose(), FoldersRExec(), FoldersRFetch(), FoldersRelate(), FoldersSQLCompute(), FoldersSet(), FoldersUnRelate()
relationship Idents as array of HS.Registry.Person.UserIdentifier [ InitialExpression = $listbuild("HS.Registry.Person.UserIdentifier","UserClinician",+$this,"children",1,1) , Transient , Inverse = UserClinician , Cardinality = children ];
Property methods: IdentsGet(), IdentsGetObject(), IdentsGetObjectId(), IdentsGetSwizzled(), IdentsIsEmpty(), IdentsIsValid(), IdentsNewObject(), IdentsRClose(), IdentsRExec(), IdentsRFetch(), IdentsRelate(), IdentsSQLCompute(), IdentsSet(), IdentsUnRelate()
property IgnoreProviderUpdates as %Boolean [ InitialExpression = 0 ];
When true and syncing with provider directory , will ignore demographic, telecom and identifier updates sent from HSPD
Property methods: IgnoreProviderUpdatesDisplayToLogical(), IgnoreProviderUpdatesGet(), IgnoreProviderUpdatesGetStored(), IgnoreProviderUpdatesIsValid(), IgnoreProviderUpdatesLogicalToDisplay(), IgnoreProviderUpdatesLogicalToXSD(), IgnoreProviderUpdatesNormalize(), IgnoreProviderUpdatesSet(), IgnoreProviderUpdatesXSDToLogical()
property LastLoginDate as %Date;
Used to check for inactivity
Property methods: LastLoginDateDisplayToLogical(), LastLoginDateGet(), LastLoginDateGetStored(), LastLoginDateIsValid(), LastLoginDateLogicalToDisplay(), LastLoginDateLogicalToOdbc(), LastLoginDateLogicalToXSD(), LastLoginDateNormalize(), LastLoginDateOdbcToLogical(), LastLoginDateSet(), LastLoginDateXSDToLogical()
property Location as %String (MAXLEN = 256);
Free text, site specific meaning
Property methods: LocationDisplayToLogical(), LocationGet(), LocationGetStored(), LocationIsValid(), LocationLogicalToDisplay(), LocationLogicalToOdbc(), LocationNormalize(), LocationSet()
relationship LoginIDs as array of HS.Registry.Person.UserLoginID [ InitialExpression = $listbuild("HS.Registry.Person.UserLoginID","UserClinician",+$this,"children",1,1) , Transient , Inverse = UserClinician , Cardinality = children ];
Property methods: LoginIDsGet(), LoginIDsGetObject(), LoginIDsGetObjectId(), LoginIDsGetSwizzled(), LoginIDsIsEmpty(), LoginIDsIsValid(), LoginIDsNewObject(), LoginIDsRClose(), LoginIDsRExec(), LoginIDsRFetch(), LoginIDsRelate(), LoginIDsSQLCompute(), LoginIDsSet(), LoginIDsUnRelate()
property MessageRepository as %String (MAXLEN = 256);
Property methods: MessageRepositoryDisplayToLogical(), MessageRepositoryGet(), MessageRepositoryGetStored(), MessageRepositoryIsValid(), MessageRepositoryLogicalToDisplay(), MessageRepositoryLogicalToOdbc(), MessageRepositoryNormalize(), MessageRepositorySet()
property ProviderID as %String;
The UniqueID of the Home Provider created for the User
Property methods: ProviderIDDisplayToLogical(), ProviderIDGet(), ProviderIDGetStored(), ProviderIDIsValid(), ProviderIDLogicalToDisplay(), ProviderIDLogicalToOdbc(), ProviderIDNormalize(), ProviderIDSet()
property Proxies as array of %String;
The set of users who are allowed to be a proxy for this user Proxies act on behalf of this user, and implicitly get their consent groups This is an array of UserID strings
Property methods: ProxiesBuildValueArray(), ProxiesCollectionToDisplay(), ProxiesCollectionToOdbc(), ProxiesDisplayToCollection(), ProxiesDisplayToLogical(), ProxiesGet(), ProxiesGetObject(), ProxiesGetObjectId(), ProxiesGetStored(), ProxiesGetSwizzled(), ProxiesIsValid(), ProxiesLogicalToDisplay(), ProxiesLogicalToOdbc(), ProxiesNormalize(), ProxiesOdbcToCollection(), ProxiesSet(), ProxiesSetObject(), ProxiesSetObjectId()
property Specialty as %String (MAXLEN = 256);
Property methods: SpecialtyDisplayToLogical(), SpecialtyGet(), SpecialtyGetStored(), SpecialtyIsValid(), SpecialtyLogicalToDisplay(), SpecialtyLogicalToOdbc(), SpecialtyNormalize(), SpecialtySet()
property SubSpecialty as %String (MAXLEN = 256);
Property methods: SubSpecialtyDisplayToLogical(), SubSpecialtyGet(), SubSpecialtyGetStored(), SubSpecialtyIsValid(), SubSpecialtyLogicalToDisplay(), SubSpecialtyLogicalToOdbc(), SubSpecialtyNormalize(), SubSpecialtySet()
property UserID as %String (SELECTIVITY = 1) [ Required ];
Will end up as $username. It's not an IDKEY - that's an internalID
Property methods: UserIDDisplayToLogical(), UserIDExists(), UserIDGet(), UserIDGetStored(), UserIDIsValid(), UserIDLogicalToDisplay(), UserIDLogicalToOdbc(), UserIDNormalize(), UserIDSet()

Methods

classmethod FindByEmail(pEmail As %String, Output pId As %String, Output pName As %String, Output pUserId As %String) as %Status [ Language = objectscript ]
classmethod FindUsersClose(ByRef qHandle As %Binary) as %Status [ Language = objectscript ]
classmethod FindUsersExecute(ByRef qHandle As %Binary, pActiveOnly As %Boolean = 1, pLastName As %String, pFirstName As %String, pUserId As %String, pNumber As %String, pAssignAuth As %String, pCliniciansOnly As %Boolean, pFilterFlag As %Boolean, pFacilities As %String, pRelationshipId As %String, pMPIID As %String, pDelivery As %Boolean) as %Status [ Language = objectscript ]
classmethod FindUsersFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status [ Language = objectscript ]
method GetExistingData(Output pId As %String) as %Status [ Language = objectscript ]
classmethod GetUserClinicianFromRequest(pRequestingUser As %String) as %String [ Language = objectscript ]
classmethod OnCheckPermission(Output pHandled As %Boolean = 0, pOperation As %String, pID As %Integer, pObject As %RegisteredObject = "") as %Status [ Language = objectscript ]
Checks permissions (parameter-based) on a particular operation + object.
If pHandled is set to true, CheckPermission() will be bypassed.
pOperation is "C" (create), "R" (read), "U" (update), or "D" (delete)
pID is the ID of the object being operated on (empty for new objects)
pObject is the object being operated on (for create/read/update; empty for delete)
Returns $$$ERROR($$$AccessDenied) if the user does not have the requisite permission.
classmethod ResolveClinicianGroup(ByRef pClinicianId As %String = "") as %String [ Language = objectscript ]
Resolve a clinician group ID
classmethod ResolveUserClinician(ByRef pClinicianId As %String = "", pRequestingUser As %String = "") as %Status [ Language = objectscript ]
classmethod ReturnSessionInfoResponse(pUserName) as HS.Registry.Person.User.WebServices.Containers.SessionInfo [ Language = objectscript ]
classmethod SessionUserClinician(pUser As %String = "") as %String [ Language = objectscript ]

Queries

query FindUsers(pActiveOnly As %String, pLastName As %String, pFirstName As %String, pUserId As %String, pNumber As %String, pAssignAuth As %String, pCliniciansOnly As %Boolean, pFilterFlag As %Boolean, pFacilities As %String, pRelationshipId As %String, pMPIID As %String, pDelivery As %Boolean = 0)
Selects ID As %String, Name As %String, UserId As %String, Description As %String, Number As %String, AssigningAuthority As %String, ClinicianFlag As %Boolean, Active As %Boolean
Search for users

Indexes

index (NameIndex on NameParts.Family);
Index methods: NameIndexExists()
index (ProviderIndex on ProviderID);
Will be used when we create a UI for Home Providers, to update corresponding users
Index methods: ProviderIndexExists()
index (Proxies on Proxies(KEYS));
Index methods: ProxiesBuildValueArray(), ProxiesCollectionToDisplay(), ProxiesCollectionToOdbc(), ProxiesDisplayToCollection(), ProxiesDisplayToLogical(), ProxiesGet(), ProxiesGetObject(), ProxiesGetObjectId(), ProxiesGetStored(), ProxiesGetSwizzled(), ProxiesIsValid(), ProxiesLogicalToDisplay(), ProxiesLogicalToOdbc(), ProxiesNormalize(), ProxiesOdbcToCollection(), ProxiesSet(), ProxiesSetObject(), ProxiesSetObjectId()
index (UserID on UserID);
Index methods: UserIDDisplayToLogical(), UserIDExists(), UserIDGet(), UserIDGetStored(), UserIDIsValid(), UserIDLogicalToDisplay(), UserIDLogicalToOdbc(), UserIDNormalize(), UserIDSet()

Inherited Members

Inherited Properties

Inherited Methods

Storage

Storage Model: Storage (HS.Registry.Person.User)

^HS.Registry.Person.UserD(ID,"AdditionalInfo",n)
=
AdditionalInfo(n)

Storage Model: Storage (HS.Registry.Person.User)

^HS.Registry.Person.UserD(ID,"Addresses",n)
=
Addresses(n)

Storage Model: Storage (HS.Registry.Person.User)

^HS.Registry.Person.UserD(ID,"Identifiers",n)
=
Identifiers(n)

Storage Model: Storage (HS.Registry.Person.User)

^HS.Registry.Person.UserD(ID,"Proxies",n)
=
Proxies(n)

Storage Model: Storage (HS.Registry.Person.User)

^HS.Registry.Person.UserD(ID,"Telecoms",n)
=
Telecoms(n)

Storage Model: Storage (HS.Registry.Person.User)

^HS.Registry.Person.UserD(ID)
=
%%CLASSNAME
NameParts
Name
Type
BirthDateTime
BirthPlace
AdministrativeGender
Active
CacheUser
Race
EthnicGroup
LanguageCommunication
VIPIndicator
Description
MaritalStatus
MessageRepository
ReligiousAffiliation
UserID
LastLoginDate
Specialty
SubSpecialty
Location
Roles
ProviderID
IgnoreProviderUpdates
FeedbackOpens in a new window