Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MATCH (user:User)-[directParticipantAt:PARTICIPATES_AT]->(trialSite:TrialSite)-[:PARTICIPATES_IN]->(trial:Trial)-[:BELONGS_TO]->(program:Program)-[:OWNED_BY]->(sponsor:Sponsor)
- WHERE (user.LoginName = 'i:0#.f|sql-membershipprovider|pi304')
- AND (user.HasIncompletePrerequisiteTraining = FALSE})
- AND program.Uid = '6cb29a5f-834d-4d25-b5da-61d5323ba24c'
- WITH user, trialSite, trial.Uid as trialUid, trial.Name as trialName, program.Uid as programUid, sponsor.Uid as sponsorUid, directParticipantAt
- MATCH (trialSite)<-[participatesAtRel:PARTICIPATES_AT*0..1]-(assignee)<-[:ASSIGNED_TO]-(task:Task)-[:INSTANCE_OF]->(distribution:Distribution)-[:DISTRIBUTES]->(document:Document)-[:IS_OF_TYPE]->(documentType:DocumentType), (task)-[:HAS_STATE]->(taskState:TaskState), (taskState)<-[:ACTION*0..]-(allTaskStates:TaskState)
- WHERE ((not(has(task.LatestActivity))) OR (task.LatestActivity = 'Error'))
- AND (taskState.Name <> 'Terminated')
- AND (documentType.IsSafetyDocument = TRUE)
- AND documentType.Uid = 'f9f38e0e-5c5e-4152-ba21-c5f5a27ce758'
- AND (assignee = trialSite OR not(has(task.Scope)) OR task.Scope = trialSite.Uid OR task.Scope = trialUid OR task.Scope = programUid)
- OPTIONAL MATCH (completedBy:User)
- WHERE (taskState.Name = 'Completed')
- AND (completedBy.LoginName = taskState.CreatedBy)
- OPTIONAL MATCH (stateCreator:User)
- WHERE stateCreator.LoginName in allTaskStates.CreatedBy
- OPTIONAL MATCH (stateCreator)-[roleRel:PARTICIPATES_AT]->(trialSite)
- WITH task, assignee, user, collect(distinct trialSite) as trialSites, collect(trialName) as trialNames, collect(directParticipantAt.Role) as directParticipantAtRoles, collect(allTaskStates) as taskStates, distribution, taskState, document, documentType, completedBy, collect(stateCreator) as stateCreators, collect(coalesce(roleRel.Role, "")) as creatorRoles
- return task, distribution, document, documentType, trialSites, head(trialSites), trialNames, head(trialNames), taskStates, completedBy, currentUser, stateCreators, creatorRoles, taskState, ( assignee:TrialSite OR distribution.Role IN directParticipantAtRoles ) AS Actionable
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement