PHP Class WorklistManager

Class WorklistManager
Inheritance: extends CComponent
Show file Open project: openeyes/openeyes Class Usage Examples

Public Properties

Property Type Description
$AUDIT_TARGET_AUTO
$AUDIT_TARGET_MANUAL

Protected Properties

Property Type Description
$DEFAULT_DASHBOARD_FUTURE_DAYS string The interval between now and the future used for determining which Automatic Worklists should be rendered on the dashboard.
$DEFAULT_DASHBOARD_SKIP_DAYS array Array of 3 letter days of the week that should be skipped for picking dates to render worklist dashboards for.
$DEFAULT_DUPLICATE_PATIENTS boolean Whether patients can be added to the same automatic worklist more than once.
$DEFAULT_GENERATION_LIMIT string
$DEFAULT_SHOW_EMPTY boolean Whether worklists with no patient assignments should be displayed or not.
$DEFAULT_WORKLIST_END_TIME string
$DEFAULT_WORKLIST_PAGE_SIZE integer
$DEFAULT_WORKLIST_START_TIME string
$do_audit boolean Flag to turn off auditing.
$errors array Internal store of error messages.
$yii CApplication

Public Methods

Method Description
__construct ( CApplication $yii = null )
addPatientToWorklist ( Patient $patient, Worklist $worklist, DateTime $when = null, array $attributes = [] ) : WorklistPatient | null If the given Patient is successfully added to the given Worklist, returns true. false otherwise.
addWorklistToUserDisplay ( $worklist, $user, null $display_order = null ) : mixed
allowDuplicatePatients ( ) : boolean
canUpdateWorklistDefinition ( WorklistDefinition $definition ) : integer
createWorklistForUser ( Worklist $worklist, null $user = null, boolean $display = true ) : boolean
deleteWorklistDefinitionInstances ( WorklistDefinition $definition ) : boolean
disableAudit ( ) Simple function for use during bulk procesess.
enableAudit ( ) Re-enable after disabling auditing.
generateAllAutomaticWorklists ( DateTime $date_limit = null ) : boolean | integer Iterate through all the worklist definitions and generate the instances up until the given date limit.
generateAutomaticWorklists ( WorklistDefinition $definition, DateTime $date_limit = null ) : boolean Generate worklist instances for the given definition up until the given date limit If false is returned, getErrors should be used to determine the issue.
generateWorklistName ( $definition, DateTime $date ) : string Generates a Worklist instance name from the given definition and date.
getAvailableManualWorklistsForUser ( $user ) : mixed
getCurrentAutomaticWorklistsForUserContext ( $user, Site $site, Firm $firm, DateTime $when ) : array
getCurrentManualWorklistsForUser ( $user ) : array
getDashboardRenderDates ( DateTime $date ) : array Works out the dates we should retrieve Worklists for rendering.
getDefaultEndTime ( ) : string Wrapper for managing default end time for scheduled worklists.
getDefaultStartTime ( ) : string Wrapper for managing default start time for scheduled worklists.
getErrors ( ) : array
getGenerationTimeLimitDate ( ) : DateTime
getPatientsForWorklist ( $worklist ) : CActiveDataProvider
getWorklist ( $id ) : Worklist
getWorklistDefinition ( null $id = null ) : WorklistDefinition | null
getWorklistDefinitions ( ) : WorklistDefinition[]
getWorklistIgnoreDate ( ) : DateTime The time before which we are relaxed about appointments not finding matches.
getWorklistPageSize ( ) : integer
getWorklistPatient ( Worklist $worklist, Patient $patient ) : array | CActiveRecord | mixed | null
hasErrors ( ) : boolean
mapPatientToWorklistDefinition ( Patient $patient, DateTime $when, array $attributes = [] ) : WorklistPatient | null
renderAutomaticDashboard ( CWebUser $user = null ) : array | null Render the automatic dashboard for the given user.
renderManualDashboard ( User | null $user = null ) : array | null
renderWorklistForDashboard ( $worklist ) : mixed
saveWorklistDefinition ( WorklistDefinition $definition ) : boolean
setAttributesForWorklistPatient ( WorklistPatient $worklist_patient, array $attributes = [] ) : boolean
setDateLimitOnRrule ( string $rrule, DateTime $limit ) : string Manipulates the given RRULE string so that it finishes on the given date.
setWorklistDefinitionDisplayOrder ( array $ids = [], null $start = null, null $end = null ) : boolean Set the display order for the worklist definitions The start and end values will support a re-ordering request from a paginated list.
setWorklistDefinitionMappingDisplayOrder ( WorklistDefinition $definition, array $ids = [] ) : boolean
setWorklistDisplayOrderForUser ( $user, array $worklist_ids = [] ) : boolean
shouldDisplayWorklistForContext ( Worklist $worklist, Site $site, Firm $firm )
shouldRenderEmptyWorklist ( ) : boolean
updateWorklistDefinitionMapping ( WorklistDefinitionMapping $mapping, $key, string $values, $display = true ) : boolean Update the mapping specification for an automatic worklist definition.
updateWorklistPatientFromMapping ( WorklistPatient $worklist_patient, DateTime $when, array $attributes = [], boolean $allow_worklist_change = false ) : WorklistPatient | null

Protected Methods

Method Description
addError ( string $message )
addModelErrors ( $errors )
audit ( $target, $action, null $data = null, null $log_message = null, array $properties = [] ) Audit Wrapper.
checkWorklistMappingMatch ( Worklist $wl, $attributes ) : boolean
createAutomaticWorklist ( WorklistDefinition $definition, DateTime $date ) : boolean Create a worklist instance from the given definition for the given date.
getAppParam ( $name ) : array | string | null Wrapper for retrieve app parameters.
getCurrentFirm ( ) : Firm | null
getCurrentSite ( ) : Site | null
getCurrentUser ( ) : mixed Wrapper for retrieving current active User.
getInstanceForClass ( $class, $args = [] ) : mixed Abstraction for getting instance of class.
getModelForClass ( $class ) : mixed Abstraction for getting model instance of class.
getWorklistForMapping ( DateTime $when, array $attributes = [] ) : Worklist | null
renderPartial ( $view, array $parameters = [] ) : mixed Wrapper for partial rendering to encapsulate the call out to the static app for retrieving the controller object.
reset ( ) Internal method to reset state for error tracking.
startTransaction ( ) : CDbTransaction | null Wrapper for starting a transaction.

Method Details

__construct() public method

public __construct ( CApplication $yii = null )
$yii CApplication

addError() protected method

protected addError ( string $message )
$message string

addModelErrors() protected method

protected addModelErrors ( $errors )
$errors

addPatientToWorklist() public method

If the given Patient is successfully added to the given Worklist, returns true. false otherwise.
public addPatientToWorklist ( Patient $patient, Worklist $worklist, DateTime $when = null, array $attributes = [] ) : WorklistPatient | null
$patient Patient
$worklist Worklist
$when DateTime
$attributes array
return WorklistPatient | null

addWorklistToUserDisplay() public method

public addWorklistToUserDisplay ( $worklist, $user, null $display_order = null ) : mixed
$worklist
$user
$display_order null
return mixed

allowDuplicatePatients() public method

public allowDuplicatePatients ( ) : boolean
return boolean

audit() protected method

Audit Wrapper.
protected audit ( $target, $action, null $data = null, null $log_message = null, array $properties = [] )
$target
$action
$data null
$log_message null
$properties array

canUpdateWorklistDefinition() public method

public canUpdateWorklistDefinition ( WorklistDefinition $definition ) : integer
$definition WorklistDefinition
return integer

checkWorklistMappingMatch() protected method

protected checkWorklistMappingMatch ( Worklist $wl, $attributes ) : boolean
$wl Worklist
$attributes
return boolean

createAutomaticWorklist() protected method

Create a worklist instance from the given definition for the given date.
protected createAutomaticWorklist ( WorklistDefinition $definition, DateTime $date ) : boolean
$definition WorklistDefinition
$date DateTime
return boolean - indicate whether the instance was created (true) or if it already existed (false)

createWorklistForUser() public method

public createWorklistForUser ( Worklist $worklist, null $user = null, boolean $display = true ) : boolean
$worklist Worklist
$user null
$display boolean
return boolean

deleteWorklistDefinitionInstances() public method

public deleteWorklistDefinitionInstances ( WorklistDefinition $definition ) : boolean
$definition WorklistDefinition
return boolean

disableAudit() public method

Simple function for use during bulk procesess.
public disableAudit ( )

enableAudit() public method

Re-enable after disabling auditing.
public enableAudit ( )

generateAllAutomaticWorklists() public method

Returns false for errors, otherwise a total count of worklist instances that have been created.
public generateAllAutomaticWorklists ( DateTime $date_limit = null ) : boolean | integer
$date_limit DateTime
return boolean | integer

generateAutomaticWorklists() public method

Generate worklist instances for the given definition up until the given date limit If false is returned, getErrors should be used to determine the issue.
public generateAutomaticWorklists ( WorklistDefinition $definition, DateTime $date_limit = null ) : boolean
$definition WorklistDefinition
$date_limit DateTime
return boolean - true if the process had no failures, false otherwise.

generateWorklistName() public method

Generates a Worklist instance name from the given definition and date.
public generateWorklistName ( $definition, DateTime $date ) : string
$definition
$date DateTime
return string

getAppParam() protected method

Wrapper for retrieve app parameters.
protected getAppParam ( $name ) : array | string | null
$name
return array | string | null

getAvailableManualWorklistsForUser() public method

public getAvailableManualWorklistsForUser ( $user ) : mixed
$user
return mixed

getCurrentAutomaticWorklistsForUserContext() public method

public getCurrentAutomaticWorklistsForUserContext ( $user, Site $site, Firm $firm, DateTime $when ) : array
$user
$site Site
$firm Firm
$when DateTime
return array

getCurrentFirm() protected method

protected getCurrentFirm ( ) : Firm | null
return Firm | null

getCurrentManualWorklistsForUser() public method

public getCurrentManualWorklistsForUser ( $user ) : array
$user
return array

getCurrentSite() protected method

protected getCurrentSite ( ) : Site | null
return Site | null

getCurrentUser() protected method

Wrapper for retrieving current active User.
protected getCurrentUser ( ) : mixed
return mixed

getDashboardRenderDates() public method

Works out the dates we should retrieve Worklists for rendering.
public getDashboardRenderDates ( DateTime $date ) : array
$date DateTime
return array

getDefaultEndTime() public method

Wrapper for managing default end time for scheduled worklists.
public getDefaultEndTime ( ) : string
return string

getDefaultStartTime() public method

Wrapper for managing default start time for scheduled worklists.
public getDefaultStartTime ( ) : string
return string

getErrors() public method

public getErrors ( ) : array
return array

getGenerationTimeLimitDate() public method

public getGenerationTimeLimitDate ( ) : DateTime
return DateTime

getInstanceForClass() protected method

Abstraction for getting instance of class.
protected getInstanceForClass ( $class, $args = [] ) : mixed
$class
return mixed

getModelForClass() protected method

Abstraction for getting model instance of class.
protected getModelForClass ( $class ) : mixed
$class
return mixed

getPatientsForWorklist() public method

public getPatientsForWorklist ( $worklist ) : CActiveDataProvider
$worklist
return CActiveDataProvider

getWorklist() public method

public getWorklist ( $id ) : Worklist
$id
return Worklist

getWorklistDefinition() public method

public getWorklistDefinition ( null $id = null ) : WorklistDefinition | null
$id null
return WorklistDefinition | null

getWorklistDefinitions() public method

public getWorklistDefinitions ( ) : WorklistDefinition[]
return WorklistDefinition[]

getWorklistForMapping() protected method

protected getWorklistForMapping ( DateTime $when, array $attributes = [] ) : Worklist | null
$when DateTime
$attributes array
return Worklist | null

getWorklistIgnoreDate() public method

The time before which we are relaxed about appointments not finding matches.
public getWorklistIgnoreDate ( ) : DateTime
return DateTime

getWorklistPageSize() public method

public getWorklistPageSize ( ) : integer
return integer

getWorklistPatient() public method

public getWorklistPatient ( Worklist $worklist, Patient $patient ) : array | CActiveRecord | mixed | null
$worklist Worklist
$patient Patient
return array | CActiveRecord | mixed | null

hasErrors() public method

public hasErrors ( ) : boolean
return boolean

mapPatientToWorklistDefinition() public method

public mapPatientToWorklistDefinition ( Patient $patient, DateTime $when, array $attributes = [] ) : WorklistPatient | null
$patient Patient
$when DateTime
$attributes array
return WorklistPatient | null

renderAutomaticDashboard() public method

Render the automatic dashboard for the given user.
public renderAutomaticDashboard ( CWebUser $user = null ) : array | null
$user CWebUser
return array | null

renderManualDashboard() public method

public renderManualDashboard ( User | null $user = null ) : array | null
$user User | null
return array | null

renderPartial() protected method

Wrapper for partial rendering to encapsulate the call out to the static app for retrieving the controller object.
protected renderPartial ( $view, array $parameters = [] ) : mixed
$view
$parameters array
return mixed

renderWorklistForDashboard() public method

public renderWorklistForDashboard ( $worklist ) : mixed
$worklist
return mixed

reset() protected method

Internal method to reset state for error tracking.
protected reset ( )

saveWorklistDefinition() public method

public saveWorklistDefinition ( WorklistDefinition $definition ) : boolean
$definition WorklistDefinition
return boolean

setAttributesForWorklistPatient() public method

public setAttributesForWorklistPatient ( WorklistPatient $worklist_patient, array $attributes = [] ) : boolean
$worklist_patient WorklistPatient
$attributes array
return boolean

setDateLimitOnRrule() public method

Manipulates the given RRULE string so that it finishes on the given date.
public setDateLimitOnRrule ( string $rrule, DateTime $limit ) : string
$rrule string
$limit DateTime
return string

setWorklistDefinitionDisplayOrder() public method

Set the display order for the worklist definitions The start and end values will support a re-ordering request from a paginated list.
public setWorklistDefinitionDisplayOrder ( array $ids = [], null $start = null, null $end = null ) : boolean
$ids array
$start null
$end null
return boolean

setWorklistDefinitionMappingDisplayOrder() public method

public setWorklistDefinitionMappingDisplayOrder ( WorklistDefinition $definition, array $ids = [] ) : boolean
$definition WorklistDefinition
$ids array
return boolean

setWorklistDisplayOrderForUser() public method

public setWorklistDisplayOrderForUser ( $user, array $worklist_ids = [] ) : boolean
$user
$worklist_ids array
return boolean

shouldDisplayWorklistForContext() public method

public shouldDisplayWorklistForContext ( Worklist $worklist, Site $site, Firm $firm )
$worklist Worklist
$site Site
$firm Firm

shouldRenderEmptyWorklist() public method

startTransaction() protected method

Wrapper for starting a transaction.
protected startTransaction ( ) : CDbTransaction | null
return CDbTransaction | null

updateWorklistDefinitionMapping() public method

Update the mapping specification for an automatic worklist definition.
public updateWorklistDefinitionMapping ( WorklistDefinitionMapping $mapping, $key, string $values, $display = true ) : boolean
$mapping WorklistDefinitionMapping
$key
$values string
return boolean

updateWorklistPatientFromMapping() public method

public updateWorklistPatientFromMapping ( WorklistPatient $worklist_patient, DateTime $when, array $attributes = [], boolean $allow_worklist_change = false ) : WorklistPatient | null
$worklist_patient WorklistPatient
$when DateTime
$attributes array
$allow_worklist_change boolean - only allow values to change that don't affect which worklist is mapped
return WorklistPatient | null

Property Details

$AUDIT_TARGET_AUTO public static property

public static $AUDIT_TARGET_AUTO

$AUDIT_TARGET_MANUAL public static property

public static $AUDIT_TARGET_MANUAL

$DEFAULT_DASHBOARD_FUTURE_DAYS protected static property

The interval between now and the future used for determining which Automatic Worklists should be rendered on the dashboard.
protected static string $DEFAULT_DASHBOARD_FUTURE_DAYS
return string

$DEFAULT_DASHBOARD_SKIP_DAYS protected static property

Array of 3 letter days of the week that should be skipped for picking dates to render worklist dashboards for.
protected static array $DEFAULT_DASHBOARD_SKIP_DAYS
return array

$DEFAULT_DUPLICATE_PATIENTS protected static property

Whether patients can be added to the same automatic worklist more than once.
protected static bool $DEFAULT_DUPLICATE_PATIENTS
return boolean

$DEFAULT_GENERATION_LIMIT protected static property

protected static string $DEFAULT_GENERATION_LIMIT
return string

$DEFAULT_SHOW_EMPTY protected static property

Whether worklists with no patient assignments should be displayed or not.
protected static bool $DEFAULT_SHOW_EMPTY
return boolean

$DEFAULT_WORKLIST_END_TIME protected static property

protected static string $DEFAULT_WORKLIST_END_TIME
return string

$DEFAULT_WORKLIST_PAGE_SIZE protected static property

protected static int $DEFAULT_WORKLIST_PAGE_SIZE
return integer

$DEFAULT_WORKLIST_START_TIME protected static property

protected static string $DEFAULT_WORKLIST_START_TIME
return string

$do_audit protected property

Flag to turn off auditing.
protected bool $do_audit
return boolean

$errors protected property

Internal store of error messages.
protected array $errors
return array

$yii protected property

protected CApplication $yii
return CApplication