+ All Categories
Home > Data & Analytics > Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

Date post: 20-Aug-2015
Category:
Upload: thomas-duff
View: 221 times
Download: 0 times
Share this document with a friend
Popular Tags:
60
Thomas Duff Cambia Health Solutions September 12 th – 13 th , 2014 Tracking Ethical Conflicts in a Sometimes Unethical World
Transcript
Page 1: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

Thomas DuffCambia Health SolutionsSeptember 12th – 13th, 2014

Tracking Ethical Conflicts in a Sometimes Unethical World

Page 2: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

2 | SharePointalooza – Branson, MO 2014

Who am I?

Thomas Duff, aka “Duffbert” Technologist, blogger, writer,

speaker, SharePoint developer 20+ years with Microsoft and

IBM collaboration technologies Email: [email protected] Twitter: @duffbert Blog: sharepointduffbert.com

Page 3: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

3 | SharePointalooza – Branson, MO 2014

Rock Star Sponsors

Performer Sponsors

Giveaway Sponsors

Soloist Sponsors

Thank you, sponsors!

Page 4: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

4 | SharePointalooza – Branson, MO 2014

Download the attendee packet at http://bit.ly/SPAloozaAttendee

Attend the “Rock Star” Sessions at the end of each day for fun, raffle prizes, wrist bands for concert access, and your chance to win a Surface Pro 3

Attend Nintex’s Brown Bag lunch Friday and Saturday (lunch provided for first 100 people)

Tweet about the event using #SharePointalooza

Thank our sponsors Have a great time!

A Few Reminders

Page 5: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

5 | SharePointalooza – Branson, MO 2014

What better way to unwind after a long day of working out your brain than with some great live music at the amazing outdoor stage at Branson Landing! The bands will be playing both Friday and Saturday night from 6:30 pm to 10 pm.

The Bands

Page 6: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

6 | SharePointalooza – Branson, MO 2014

Outline

Why use SharePoint to track this information? Why are Ethics programs necessary – my story How we got from there to here Under the Conflict of Interest form covers Questions?

Page 7: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

7 | SharePointalooza – Branson, MO 2014

Why use SharePoint to track this information?

No-code solution – easy to maintain Easy to build forms – Customize Form with

InfoPath Easy to administer – for both SharePoint

Support and the customer/site owner Workflows can trigger notices and set

permissions These are techniques you can use to build any

type of electronic form and workflow solutions

Page 8: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

8 | SharePointalooza – Branson, MO 2014

Why are Ethics programs necessary? My story…

Page 9: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

9 | SharePointalooza – Branson, MO 2014

How we got from there to here… from Notes…

• Started Conflict of Interest tracking application in 2002

• Tracking for 5000+ people (employees and contractors)

• Used Lotus Notes (our main collaboration tool through 2009)

• Surprisingly, many of the benefits of this type of form existed both then in Notes and now in SharePoint

Page 10: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

10 | SharePointalooza – Branson, MO 2014

How we got from there to here… to InfoPath…

• Switched to SharePoint using InfoPath forms in 2010

• It worked, but we were learning as we went along

• There were… issues

• InfoPath client support

• Submissions would disappear

• Workflows couldn’t update information in the XML document

• Cumbersome to work with administratively

Page 11: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

11 | SharePointalooza – Branson, MO 2014

How we got from there to here… to Customized Lists

• Made some major changes for 2014, so decided to go with a SharePoint Customized List

• Major improvements in stability and support

• Browser support

• No reliance on InfoPath client

• Full access to update fields via SPD workflows

• “It just works”

Page 12: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

12 | SharePointalooza – Branson, MO 2014

The Form…

Customizing the list item form using Customize Form With InfoPath

Page 13: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

13 | SharePointalooza – Branson, MO 2014

A series of 14 questions to flag conflicts

• Covers areas such as:

• Connections with providers, vendors, other plans, or customers

• Received gifts/gratuities (you and/or family) or honorariums

• Other employment

• Family members employed at the company

• Other relationships

• Convictions, disbarments, and license revocations

Page 14: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

14 | SharePointalooza – Branson, MO 2014

Behind the scenes… for the Ethics officers

Using hidden sections, information gathered by the Ethics officer is stored

Page 15: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

15 | SharePointalooza – Branson, MO 2014

Behind the scenes… for the form data

To track changes that a person makes on the form in a specific session, we store the current information on Form Load

Page 16: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

16 | SharePointalooza – Branson, MO 2014

The employee number triggers the profile load

When a person creates or edits a COI, we run a routine to update information based on their user profile

Page 17: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

17 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

To accomplish the profile load, we set up a rule that will call the GetUserProfileByName web service and fill in the form fields with the values from that call

Page 18: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

18 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

Start by clicking the Manage Data Connections under the list of fields, and then click Add to create a new data connection:

Page 19: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

19 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

The data connection will be one that receives data (in this case, from the SharePoint profile for the employee)

Page 20: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

20 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

We’ll be using one of the SOAP web services that is built into SharePoint

Page 21: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

21 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

To find the list of web services, enter the URL for the WSDL file

http://<yourSite>/_vti_bin/userprofileservice.asmx?wsdl

Page 22: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

22 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

For this particular form, we want to use GetUserProfileByName as we have the account name (the employee number) as the key to the profile.

Page 23: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

23 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

On this screen, we leave the value blank, as we will provide the value at the time we call the web service with the data connection

Page 24: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

24 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

These are the two final screens, which can be taken with default values. Once that’s done, the new data connection for the web service is finished

Page 25: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

25 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

Once we have the data connection in place, we have to set the fields in the form based on values in the profiles

Page 26: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

26 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

We start by adding an action to our rule – “Set a field’s value”

Page 27: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

27 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

Choose the form field name, click on the fx for the field value, click on Insert Field or Group, and then use the Advanced View to show the GetUserProfileByName data connection fields

Page 28: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

28 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

Within the data connection, click on Value. To filter the data returned in Value, use the Filter Data box to select a filter condition…

Page 29: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

29 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

Since we’re looking for a single property in the data connection record, we filter on the name of the property (in this case, Title)

Page 30: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

30 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

Once that’s done, you now have the value of the Title field in the SharePoint profile loaded into the Employee Title field in the form:

Page 31: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

31 | SharePointalooza – Branson, MO 2014

The profile load – how it’s done…

Side note… if you want to “code that directly instead of working through all the panels, you can select the Edit XPath (advanced) option and do the following:

Page 32: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

32 | SharePointalooza – Branson, MO 2014

The questions start next… looking for “Yes” or “No”

In the case of a “No” answer, not much changes

Page 33: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

33 | SharePointalooza – Branson, MO 2014

“Yes” answers trigger more questions

If a “Yes” answer is given, then a hidden section reveals two required fields asking for detail and how that is different than last year’s disclosure

Page 34: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

34 | SharePointalooza – Branson, MO 2014

This is done via a formatting rule…

If a “Yes” answer is given, then a hidden section reveals two required fields asking for detail and how that is different than last year’s disclosure:

Page 35: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

35 | SharePointalooza – Branson, MO 2014

The rules for when the form loads

The Form Load rules set up the new data for the user, as well as storing existing data for comparison purposes on Form Submit

Page 36: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

36 | SharePointalooza – Branson, MO 2014

We grab all the existing comments on the form

The critical part is storing the existing comments on the form so we can change for changes on Form Submit

Page 37: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

37 | SharePointalooza – Branson, MO 2014

When the form submits, more rules

If there’s at least one “Yes” answer on the form, we set a flag so that the Ethics officer can follow up for investigation

Page 38: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

38 | SharePointalooza – Branson, MO 2014

Clean up of detail fields if the answers were “No”

Housekeeping – make sure that if an answer was set to “No”, that there are no residual comments on the question from prior “Yes” answer

Page 39: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

39 | SharePointalooza – Branson, MO 2014

If a Yes/No answer changes, get that information

For each Yes/No answer change, track what it was changed to, as well as what the comment was on Form Load:

Page 40: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

40 | SharePointalooza – Branson, MO 2014

The Changed Entries field gathers those changes

The Changed Entries field is stored on the form so the Ethics officer can review what was changed

Page 41: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

41 | SharePointalooza – Branson, MO 2014

The Changed Entries field gathers those changes

This is an example of what would be loaded into the Changed Entries field for changes I made:

Page 42: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

42 | SharePointalooza – Branson, MO 2014

SharePoint Designer And Workflows

Page 43: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

43 | SharePointalooza – Branson, MO 2014

Workflow Impersonation – a WONDERFUL thing

Page 44: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

44 | SharePointalooza – Branson, MO 2014

Workflow Impersonation – a WONDERFUL thing

Because people should only be able to see their own COI, it’s important to give each COI unique permissions. This is done via an impersonation step in a workflow built in SharePoint Designer:

Page 45: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

45 | SharePointalooza – Branson, MO 2014

Drilling down to add and/or remove permissionsA drill-down into removing/adding permissions:

Page 46: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

46 | SharePointalooza – Branson, MO 2014

An alternative way to set the permissions

We could have also done permissions this way, but the prior method allows us flexibility if we ever wanted to make specific items visible to supervisors or managers:

Page 47: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

47 | SharePointalooza – Branson, MO 2014

Emails triggered after saves…Letting the user know there will be a review due to one “Yes” answer:

Page 48: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

48 | SharePointalooza – Branson, MO 2014

Emails triggered after saves…

Letting the user know a more thorough review is needed after preliminary review:

Page 49: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

49 | SharePointalooza – Branson, MO 2014

Emails triggered after saves…Initial notice to let people know they need to complete the conflict statement:

Page 50: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

50 | SharePointalooza – Branson, MO 2014

Emails triggered after saves…Initial notice to let people know everything is fine and no further action is required:

Page 51: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

51 | SharePointalooza – Branson, MO 2014

Adding icons on the workflow dropdowns…

Cool Tip… you can add workflows (and icons) to the list item dropdown menus:

These are added to the list in SharePoint Designer under Custom Actions:

Page 52: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

52 | SharePointalooza – Branson, MO 2014

Adding icons on the workflow dropdowns…

Adding a custom action allows you to assign a workflow to the action, as well as an icon to the custom action menu entry

Page 53: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

53 | SharePointalooza – Branson, MO 2014

Bonus Tip! Sending ad-hoc emails on an item…

This is a nice ad-hoc email workflow you can attach to any list:

Page 54: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

54 | SharePointalooza – Branson, MO 2014

Bonus Tip! Sending ad-hoc emails on an item…

It uses the Initiation Form (and parameters) as well as local variables:

Page 55: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

55 | SharePointalooza – Branson, MO 2014

Bonus Tip! Sending ad-hoc emails on an item…

The Initiation Form parameters supply the To/CC/email body fields. The local variables supply some of the standard email body text:

Page 56: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

56 | SharePointalooza – Branson, MO 2014

Bonus Tip! Sending ad-hoc emails on an item…Very simple Initiation Form design… almost the default:

Page 57: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

57 | SharePointalooza – Branson, MO 2014

Bonus Tip! Sending ad-hoc emails on an item…

The Send Email action in the workflow:

Page 58: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

58 | SharePointalooza – Branson, MO 2014

Bonus Tip! Sending ad-hoc emails on an item…

When the workflow is initiated, this is what the user sees:

Page 59: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

59 | SharePointalooza – Branson, MO 2014

Bonus Tip! Sending ad-hoc emails on an item…

This is what the email looks like when it arrives:

Page 60: Being ethical in a sometimes unethical world...- Branson SharePointalooza September 13th, 2014

60 | SharePointalooza – Branson, MO 2014

Questions?

Thank you, and enjoy the conference!


Recommended