About the Software

Indications for Use Radimetrics™ Enterprise Platform is a software system whose intended use is to track information within Radiology by interfacing with PACS/RIS and other systems. From these sources, Radimetrics Software: acquires radiation dose, operational and examination data; tracks and reports device-based or patient- based cumulative dose records; performs analysis of collected dosimetric data; manages protocols, device utilization; and reports results. Radimetrics™ Enterprise Platform can also be used for the collection, management and analysis of contrast related data when received via manual entry or from Certegra® Workstation.

Supported Modalities Radimetrics™ Software supports the following modalities: Extracts dose information from RDSRs and DICOM dose image captures, provides modality utilization information and analyzes contrast and saline data CT from Bayer injection systems (when connected to Certegra) and manually entered hand administered contrast agents CBCT Extracts dose information from RDSRs and DICOM dose image captures CR and DX Extracts dose information from RDSRs and DICOM dose image captures DXA Extracts dose information from DICOM dose image captures Extracts mean glandular dose, compression force, and number of images from MG DICOM Extracts dose information from DICOM, provides modality utilization information MR and analyzes contrast and saline data from Bayer injection systems (when connected to Certegra) and manually entered hand administered contrast agents Extracts dose information from HL7, customized dose message formats or NM manual logbook entry PT Extracts dose information from RDSRs and DICOM dose image captures RF and XA Extracts dose information from RDSRs, and MPPS US Extracts Ultrasound Structured Report data

3 About this guide

Required Training This document is a user guide that outlines how to use Radimetrics™ Enterprise Platform. This software requires trained personnel in order to be used. The content of this guide is available in both online (context- sensitive) and PDF formats. Screen images in this manual are for illustration purposes only. Actual screens may vary.

Contact To provide feedback or request support, please use the contact form provided on https://radiology.bayer.com/contact. Report any serious incident that has occurred in relation to this device to Bayer (https://radiology.bayer.com/contact) and to your local European competent authority (or, where applicable, to the appropriate regulatory authority of the country in which the incident has occurred).

Legal Information ©2015-2020 Bayer. This material may not be reproduced, displayed, modified, or distributed without the express prior written consent of Bayer. Bayer, the Bayer Cross, Certegra and Radimetrics are trademarks owned by and/or registered to Bayer in the U.S. and/or other countries. Other trademarks and company names mentioned herein are properties of their respective owners and are used herein solely for informational purposes. No relationship or endorsement should be inferred or implied. Bayer reserves the right to modify the specifications and features described herein or to discontinue any product or service identified in this publication at any time without prior notice or obligation. Please contact your Bayer representative for the most current information. The patient data that appear in this document are fictitious protected health information (PHI) and/or actual PHI from which all personally identifiable information (PII) have been removed or otherwise anonymized. No personally identifiable information is shown.

4 Addresses

Bayer Medical Care Inc. 1 Bayer Drive Indianola, PA 15051-0780 U.S.A. Phone:+1.412.767.2400 Phone:+1.800.633.7231 Fax: +1.412.767.4120 https://radiology.bayer.com/

Symbol Definitions

Indicates the Manufacturer (ISO 15223-1, 5.1.1)

5 This page intentionally left blank to ensure new chapters start on right (odd number) pages.

6 CONTENTS Configuration Detail Summary Navigation Logging Addresses About Front Master Device Organizing Definitions Dose Patient Exam Graph Adding Summary Bookmark Graph Navigation Alerts Symbol Legal Contact Required About Supported Indications Cover Pages the Reference In Information Details Notification this Types Buttons Protocol Protocol Details or Definitions Pages Software Training Editing Page guide Bar Modalities for Drop- Data Use Sorting Library Mapping Levels Down Summary Menu Pages 72 67 60 53 43 41 37 19 16 14 14 14 11 10 4 4 4 3 3 5 4 RadLex Assignment 75 RadLex Configuration 77 Value Indicators 78 Administration Users & Alerts 81 Audit Logs 87 Rejected Studies 88 DICOM 89 Interfaces 91 Patient Merge 92 Protocol Management Introduction to Protocols 94 Master Protocol Editor 96 Master Protocol Library 107 Alerts Alert details and history 111 Editing Alerts 112 Forwarding Alerts 114 Exporting Alerts 114 Filters Adding or Editing a Filter 118 Summary Page and Graph Filters 118 Tags Editing Tags 120 GLOSSARY Licenses Back Cover

8 Logging In

This is the Radimetrics software login dialog. Enter your username and password here. User access and credentials are managed in the Administration pages. See "Users & Alerts" on page 81. Once you are logged in, you are brought to your default Summary Page.

9 Navigation

The navigation bar appears at the top of the Radimetrics software. In addition to providing navigation to different pages, it also has a search function and indicates new alerts, errors, and notifications.

The Back button returns you to the previous page.

Clicking on the Radimetrics title will return you to your default home page. By default, this is your Summary page. If you do not have access to the Summary pages, then it will be the next module that you have permission to access to as listed using the Menu button as below.

The search field allows you to search for exams, patients, protocols, and Summary Pages. You can also enter the name of a tag to display items associated with that tag. After entering at least 3 characters, a drop down preview of the top search results is shown. Pressing Enter, or the Search button brings up a Search Results page.

The Dose Alert button, the System Errors button, and the Notifications button allow you to review Alerts for each of their respective categories. These buttons appear with a number in a bubble indicating that there are new Alerts available for review.

The Help button navigates to the Operations Manual (this document).

The User button, when activated, displays a drop-down menu indicating the username and time zone of the current user, as well as access to the current user's settings page and the ability to lock or log out of the software. The Lock feature allows you to lock the screen while maintaining your current view; upon locking, only the login dialog will be shown on the screen, but the username will not be modifiable, showing the currently logged-in user. Entering the password will return the Radimetrics™ software to the screen it was at prior to the lock. Alternately, the currently logged in user can be logged off. If this happens, the original user will lose their session. See "Users & Alerts" on page 81 for more details on editing the available options in the User Settings page.

The Menu button displays the Navigation Drop-Down menu. See below.

Alerts Notification When there are new alerts, the corresponding Alert icon appears with a numbered indicator advising how many alerts are pending for review. See "Alerts" on page 110 for more details on how Alerts are defined.

10 See "Users & Alerts" on page 81 for details on how to subscribe to alerts.

Clicking on the corresponding Alert icon causes the display of a pop-up window lists the most recent alerts. Click on "View All" to navigate to the corresponding alerts page. Clicking on an individual alert under Dose Alerts will bring you to that alert's acquisition or examination detail page.

Navigation Drop-Down Menu The Navigation Drop-Down menu is a two-tiered menu that allows access to other pages within the Radimetrics software. The currently active page is indicated by bold text. The table below describes or refers you to the topics that cover these pages. Note that the menu options available may vary depending on user account permissions. See "Users & Alerts" on page 81.

11 Summary Pages allow you to review, manipulate and create reports of , productivity and utilization data. See "Summary Pages" on the facing page.

The Summary Pages Library allows you to organize and edit Summary Pages. See "Summary Page Library" on page 14.

The Master Protocol Editor lists all the Master Protocols, and allows for their organization into groups as well as their creation, importing and editing. See "Master Protocol Editor" on page 96.

The Master Protocol Library serves as a searchable list of all the Master Protocols in the system and allows the protocol details to be reviewed. See "Master Protocol Library" on page 107.

The Configuration module allows you to manage default Dose Reference Levels as well as organize and edit the mapping of DICOM fields and protocols. See "Configuration" on page 43.

Through the Administration module various aspects of the workflow can be managed and configured, including the management and monitoring of user access to Radimetrics software. See "Administration" on page 81.

12 Summary Pages

Summary Pages allow you to review, manipulate and create reports of dosimetry, productivity and utilization data. Each page contains flexible, interactive components including tables, bar graphs and more. Using components you are able to "drill down" to any level of detail. Component data can be exported for further analysis in a spreadsheet application. Several System Default Summary Pages are built into Radimetrics software, and are listed with italic titles. Some examples of these include the Patients, Examinations, and Acquisitions pages. These default pages allow for system-level review of the data within their respective categories. You may click on the Summary Pages menu option in the navigation bar to return there. See "Navigation" on page 10 for details on the navigation bar.

This is an example of a graph component.

The Refresh button reloads the current Summary Page, updating with any new data available since the Summary Page was displayed.

13 The Share button opens a dialog box allowing you to share the currently selected Summary Page with one or more users.

The Edit button allows you to edit the Summary Page, including its name and components.

Graph Buttons Buttons can be seen on several types of graphs. For your reference, some of these are described below. The Export button opens a dialog box allowing you to export the graph's data to CSV, XLS, or XLSX formats. The Table button switches the view of the graph to a table format. The Info button may be clicked to display statistical information relevant to the current graph such as the median, mean, and standard deviation. Click on the Unassigned button in order to toggle the display of bars in bar charts that have zero values assigned to them.

Bookmark Bar The Bookmark Bar allows you to quickly switch between predefined Summary Pages and sub-navigation of pages.

The active Summary Page is indicated by bold text and a blue line underneath its name.

Click on the Menu button to access options allowing you to view the Summary Page Library, to create a new Summary Page, to bookmark the currently displayed Summary Page, and to edit the Bookmark Bar.

Summary Page Library The Summary Page Library allows you to manage your Summary Pages. You can organize your Summary Pages into groups, or add, edit, copy or delete Summary Pages, as well as share them with other users.

14 This group of icons allows you to organize your Summary Page Groups. The Add button allows you to add a new Summary Page Group. The Edit button allows you to change the name of the currently selected Summary Page Group. You can also use the Delete button to delete a Summary Page Group. The Share button shares currently selected Summary Page Group and the Summary Pages contained within it with one or more users.

The Summary Page Inbox contains Summary Pages that have been shared with you by other users and are waiting for your acceptance. The Bookmark Bar group is not editable or deletable. It contains the list of the Summary Pages that you have bookmarked. Bookmark groups can be reordered to user preference. The first page in the bookmark group will be your default Summary Page. The Summary Page Library contains your current Summary Pages, organized into user-defined groups. The Summary Page groups can be dragged and dropped to rearrange them and they can also be nested into subgroups in this way. The System Default Pages group contains Summary Pages that are permanent. They cannot be shared or deleted, and edits made to them are temporary. However, they can be copied. A copy of a System Default Summary Page requires a new name and subsequently can be edited, shared and deleted.

Clicking on the Star icon will cause the star to toggle to black like this: . This means the Summary Page in this row has been bookmarked and will appear in the Bookmark Bar group.

The View button allows you to view the currently selected Summary Page.

The Add button brings you to the interface to add a new Summary Page. See "Adding or Editing Summary Pages" on the next page.

The Edit button allows you to edit the currently selected Summary Page. See "Adding or Editing Summary Pages" on the next page.

15 The Copy button copies the currently selected Summary Page and opens the interface to edit the new copy of the page.

The Share button opens a dialog box allowing you to share the currently selected Summary Page with one or more users.

The Delete button deletes the currently selected Summary Page.

Adding or Editing Summary Pages Summary Pages can be created and edited using a drag and drop interface as shown below. At the top are the graph types, in pictograph form, and below this you'll find the Summary Page preview.

In order to add a graph type to the Summary Page, drag and drop the graph to the bottom of the page, to the area below the Summary Page Title. This will create a new instance of that graph type. Multiple instances of the same graph type may be used in a Summary Page. Scroll through the list of available graphs by clicking on the arrows that appear at either end of the row.

Name your Summary Page with this field.

You can filter the data range for your graphs to display using this drop down menu. A custom or preset time interval (such as the last 7 days or last year) are available. If the Summary Page date filter is used, it overrides the date filters used within individual graphs. In order to have different date filters per graph, the Summary Page Date Filter must be set to none or left blank.

Filters are available, allowing you to further narrow the data displayed by your graphs within the current Summary Page. See "Filters" on page 117.

Once graphs are added, they are added in preview form to the Summary Page as in the example below.

16 Clicking on the Menu button brings up a menu allowing you to edit the graph's parameters, to copy it, to synchronize it with other graphs, or to remove the graph from the Summary Page. Synchronization causes the y-axis limits of identical graph types to be scaled to match the graph with the widest y-axis range, allowing for easier comparison between their values.

The Resize button causes the graph to be resized to fit the width of the window (or to return it to half the width if it has been expanded already).

Click and drag on the graph title bar in order to move the graph to a new location within the Summary Page.

Graph Editor When editing a graph, the interface below appears. The options available depend on the type of graph that is being edited, so not all of the parameters available may be described below. The example below is of the Value Frequency Distribution graph.

17 The title for the graph can be changed in this field. By default, the title is the name of the type of graph component you are editing.

The source for the data can be picked in this drop down - either examinations or acquisitions are available choices.

Use this drop down menu to select the Value of Interest to be used for the X-axis.

Use this drop down menu to select the units on the X-axis that will be displayed for your chosen Value of Interest.

Y-Axis Count By can be changed on some graphs to specify counting by exams, acquisitions, or injections.

The Date Range drop-down will apply a date filter to the graph that you're editing. Note that this will not be used if the Summary Page has a date filter applied.

Additional filters can be applied via clicking the Filter button here.

If filters have been applied to the Summary Page that this graph belongs to, they will be displayed here.

Click on Save prior to leaving the Graph Editor in order to save any changes to the parameters you have made, or alternately click on Cancel to discard any changes that have been made.

18 Data Categories Categorization selection in charts groups data from all exams or acquisitions that share the same name for that category. For example, if two pieces of equipment have the same name, 'Hospital A - CT1', the data from both will be displayed under the same equipment category in the chart. Pie Charts and Box plots also group data but observe the hierarchy in their organization. but As such, it is important to properly maintain names for equipment, staff, etc. in the Organizing Data module. See "Organizing Data" on page 60. Below is a table of the categories that allow grouping and the data sources (examination, acquisition, injection, or alerts) required to use them in charts. Can use with Source Category Description Property Of Exam Acquisition Injection Device The model name of the scanner used Exam or Y Y Y Acquisition Equipment The specific scanner used Exam or Y Y Y Acquisition Institution The institution where the exam took Exam Y Y Y place Order Code Often used as the study description Exam Y Y Y Protocol The Device Protocol used for data Exam or Y Y N acquisition Acquisition Operator The technologist performing the scan Exam Y Y Y Referring The ordering physician Exam Y Y Y Physician Performing The performing/reading physician Exam Y Y Y Physician Injector The name of the injector used for the Exam Y N Y exam Injection Operator The technologist operating the injector Exam Y N Y Injection The protocol used for the injection Injection Y N Y Template sequence Injection Site The site on the body used for contrast Injection N N Y injection

Graph Types Most of the available Graph Types within Radimetrics are described below. These may include different types of charts or tables. Each of these may be added to a Summary Page. User-configurable parameters that apply to specific graph types are described where applicable; these are accessible when editing the graph. Most graphs also allow you to click on bars or data points in order to display more detailed information about the exams or injections associated with them.

19 Value Frequency Distribution The Value Frequency Distribution graph displays a user-selected Value of Interest on the x-axis against the number of examinations along the y-axis. Statistics including the median, mean, standard deviation, and various percentile levels can be displayed.

Device Monitor Activity The Device Monitor Activity graph displays utilization data (for example, for CT scanners) over time.

20 Device Monitor Volume The Device Monitor Volume graph displays the number of exams performed on the Y-axis over time.

Category Usage Over Time The Category Usage over Time graph is a bar chart that plots a Value of Interest over time - for example, the number of examinations or acquisitions done by individual CT scanners over time.

21 Category Usage Over Time Configuration Options Additional options specific to the Category Usage Over Time graph are described below.

You can cluster the usage by intervals including day, week, 3 Cluster By months, quarters or year.

This toggles the display of a color-matched trend line for each Trend Line category over time.

Clustered Bar Chart The Clustered Bar chart allows you to cluster Values of Interest by time intervals. For example, you can obtain the average or specific percentile of the ICRP 103 dose for a specific head CT protocol over sequential weeks or months.

22 Editing a Clustered Bar Chart

Grouping can be done using Date by Category, which places the Category on the X-axis, or Category by Date, which places the Date on the X-axis.

This drop-down can be used to cluster by the day, week, month, every 3 months, quarters, or by the year.

You can choose whether to display the mean value, the total value, or a custom percentile for the chosen Value of Interest.

23 If displaying by percentile, enter the percentile value here.

You can use the Label checkbox to display the labels for the custom lines. The Trend Line checkbox is present only if the grouping is done by Date. When this is enabled, and you hover over a bar with your mouse cursor in the graph, the trend line for the Value of Interest will be displayed.

Use the Add button to add a new custom line to the chart.

Fill in the name of the custom line and its associated numerical value here.

Clicking on this icon allows you to choose a color to be associated with the percentile level (or correspondingly, the other values to be displayed on the graph).

Use the Delete button to delete the custom line.

Injection Deviations The Injection Deviations graph keeps track of incidents related to injections, including repeat injections, atypical injections, and IV issue counts.

24 Local Dose Reference Level The Local Dose Reference Level (LDRL) chart may be helpful to track exams specific to an institution by equipment, protocol or other metrics, as it provides an easy-to-interpret view with percentiles and available custom levels that are color-coded.

The Local Dose Reference Level represents the mean of the means for all the equipment in the chart. The threshold is set at 2 times the standard error of the mean and is applied only if the mean of the equipment doses exceeds the Local Dose Reference Level by 20%. Editing a Local Dose Reference Level Chart

Use the checkbox to enable or disable the display of a percentile level on the chart.

Set the percentile's value in this text box. Five different percentile levels can be set.

25 Clicking on this icon allows you to choose a color to be associated with the percentile level (or correspondingly, the other values to be displayed on the graph).

This checkbox enables the display of the Mean line.

This checkbox enables the display of the LDRL.

This checkbox enables the display of numerical labels for the percentiles, Mean, LDRL and any custom lines.

Use the Add button to add a new custom line to the chart.

Fill in the name of the custom line and its associated numerical value here. Choose a unique color as desired.

Use the Delete button to delete the adjacent custom line.

Threshold Chart This graph types displays a high-level view of the number of exams, acquisitions, or patients that are below and above the DRL thresholds or that have triggered an Action Level based on the Protocol, Device or other parameters. If you are viewing by Action Levels, it displays color coded bars representing the number of exams that have triggered a particular Action, with the Action to follow being labeled in the graph's legend.

26 Injection Adherence The Injection Adherence report displays contrast injection related data (such as batch number, catheter gauge, site location, etc.) against the total number or percent of injections along the y-axis.

27 Deviation Analysis The Deviation Analysis chart displays a Pareto chart that allows analysis of deviation alert categories. In particular, it allows for the quick visualization of the most prominent deviation categories and their cumulative effect in proportion to the total number or percentage of alerts. The blue line represents the cumulative total percentage of alerts that the bars account for. Bars are split into red and grey parts, with the red part indicating alerts that have not yet been acknowledged.

Deviation Analysis Configuration Options Additional options specific to the Deviation Analysis graph are described below.

Choose between displaying only your alerts ("My Alerts") or All Alert Ownership Alerts.

Alert Source Choose between displaying all alerts, study alerts, or other alerts.

Pie Chart Pie Charts are useful for breaking down and comparing dosimetry or utilization data by a particular factor (e.g. analyzing dose measurements by Operator). You can click on segments of the pie to drill down further into the factors affecting that segment.

28 Scatter Plot A scatter plot uses dots to display values obtained for two different Values of Interest and may be used to gauge correlation.

29 If you have zoomed in to an area of the graph by clicking and dragging an area of the graph, the Zoom out button can be clicked to return back to the original zoomed-out view of the graph.

Scatter Plot Configuration Options Additional options specific to the scatter plot graph are described below.

You can choose not to categorize by picking the blank item on this drop-down menu, or you can categorize the plot points by the Categorize By selected category (e.g. Protocol Name, Operator, Equipment, etc.); this will color code the plot points.

Choose between no regression line, a linear regression line, or an Regression Line exponential regression line.

Enabling this will show individual regression lines for each category Regression By Category on the plot.

Mean Line Displays the mean line for the Value of Interest

Run Chart The Run Chart displays a line graph showing a chosen Value of Interest over time. This is helpful during process improvement, as it can show trends in a specific value - for example, after a process intervention, and demonstrate whether there is improvement (or lack thereof). Clicking on a data point will display a view of the chart with that point highlighted along with a table of the exams associated with that data point.

30 If you have zoomed in to an area of the graph by clicking and dragging an area of the graph, the Zoom out button can be clicked to return back to the original zoomed-out view of the graph.

Box Plot The Box Plot graph displays minimums/averages/maximums or quartiles for a chosen Value of Interest associated with a specific modality, protocol, order, equipment, device, operator, or physician (referring or performing). The data can be from exams or acquisitions and the chart can also be displayed as a table.

31 Xbar-S Chart The Xbar-S chart allows the application of Nelson Rules to the data you choose to display. A sample XbarS chart is shown below, with averages on the upper graph and standard deviations represented on the lower graph. Colored circles represent the points that triggered the Nelson rule associated with that color.

32 Data points can be hovered over to display a ToolTip displaying relevant information such as the number of exams and control limits.

The Process Intervention button allows you to add a Process Intervention to the Xbar-S chart. A dialog box will appear asking you to choose which Process Intervention(s) to add. The Process Intervention must fall within the date range of the chart in order to be added. Once this is done, the graph will display a vertical line indicating the time that the Process Intervention took place, so you can evaluate its impact on the Value of Interest over time. See "Process Intervention" on page 54 for more details on configuring a Process Intervention. An example of the Xbar-S chart with a Process Intervention is shown next.

33 Editing an Xbar-S chart

Values will be clustered by the time span selected - month, 3 months, quarter, or year.

The Show Labels option toggles the display of the mean and standard deviation on the graph.

The Show Grid Lines option toggles the display of grid lines on the graph.

The Nelson rules are used in process control to detect whether a measurement is unstable (i.e. out of control). Clicking on a rule enables it as shown by a highlighted border. Multiple Nelson rules can be applied simultaneously. The description for each rule is displayed if you hover over the pictoral graph, and the colored circles represent the appearance of the point in the XbarS chart when a rule is violated.

34 Nelson Rules The Nelson rules are described for your reference below.

Definition Implication

Rule 1 One point is more than 3 standard deviations from the One sample is grossly out of control. mean.

Rule 2 Eight points in a row are on the same side of the Some prolonged bias exists. mean.

Rule 3 Six points in a row are continually increasing (or A trend exists. decreasing).

Rule 4 Fourteen points in a row alternate in direction. This much oscillation is beyond noise.

Rule 5 Two (or three) out of three points in a row are more There is a medium tendency for than 2 standard deviations from the mean in the same samples to be mediumly out of control. direction.

Rule 6 Four (or five) out of five points in a row are more than There is a strong tendency for samples 1 standard deviation from the mean in the same to be slightly out of control. direction.

Rule 7 Fifteen points in a row are all within 1 standard With 1 standard deviation, greater deviation of the mean on either side of the mean. variation would be expected.

Rule 8 Eight points in a row exist with none within 1 standard Jumping from above to below whilst deviation of the mean and the points are in both missing the first standard deviation directions from the mean. band is rarely random.

Injection Utilization The Injection Utilization report displays contrast injection equipment related data such as the number of injections, utilization, peak contrast flow and pressure and volume delivered.

35 Detailed Value Analysis Table The Detailed Value Analysis Table displays the Minimum, Maximum, Average and Median doses as well as quartiles for a selected Value of Interest(e.g. ICRP 103) and parameter (Order, Equipment, Device, etc). For example, you could use the Third Quartile (75%) levels as a rough guide for setting an exam DRL.

36 Detail Pages

Detail Pages provide information regarding specific exams, acquisitions, injections, devices, patients, or staff. They can be accessed via results within certain pages (such as Summary Pages and Alerts) or via the search bar. An example of accessing a Detail Page from a table in a Summary Page is shown below:

Click on the desired row in the Accession column to open up the Exam Details page.

Click on the desired row in the Patient Name column to open up the Patient Details page.

Click on the arrow to show the high level details of this entry, including Dose Reference Levels and exam thresholds.

NOTE: In order to access Detail Pages from a Summary Page, a table must be created for a Summary Page. For more information on this, See "Graph Types" on page 19.

Exam Details The Exam Details page allows for the review of the technical details of an exam while reviewing and acknowledging dose alerts. On the left side of the page is the Exam Card. The Exam Card includes a basic overview of the exam data including and not limited to the exam modality, protocol, dosimetry, injection information, and patient demographics.

37 From the Exam Details page, you can also open the exam's Interactive Dosimetry, Logbook, Radiation Dose Structured Report (RDSR), and Dose Sheet pages. See "Interactive Dosimetry" on the facing page. See "Logbook" on page 41.

Click on the Tag button to assign one or more Tags to the examination. A dialog box will appear for this. Tags can be used as a search criteria for associated examinations.

Click on the Reprocessing button to display a menu that allows a number of functions to be performed on the exam as shown below. See "Reprocessing Menu" below.

On the Exam Card, some items, such as the protocol name, operator, or patient names will appear in a different color, indicating you can click on them to go to their respective Detail Pages.

The main right-hand side column displays exam details including acquisition information, dosimetry overview, and an Organ Dose bar chart and timeline.

Reprocessing Menu The Reprocessing menu appears as a drop-down menu. From this menu you can choose from a number of functions, as shown in the table below. Reprocess functions are restricted to users with System Administrator level access or above.

38 Recalculate Dose Forces a dose recalculation on the selected study.

Reprocess Dose Sheet Causes the dose sheet to be reprocessed.

Reprocess study Causes the whole study to be reprocessed.

Attempts to re-retrieve the study and overwrites the original study retrieved Re-retrieve study in Radimetrics.

Send to Nuance Sends the exam to Nuance (PowerScribe).

Delete Examination Deletes the currently selected exam(s).

Marks a study as invalid. If this is selected, another dialog box will appear Invalidate Analysis asking the user to enter a comment on why the study is being invalidated.

Invalidated studies are excluded from charts and calculations, but they are still sent to the American College of Radiology (ACR) Dose Index Registry (DIR).

Interactive Dosimetry The Interactive Dosimetry module allows you to simulate "what if" scenarios using the built in Monte Carlo simulation engine. The user can explore and visualize the potential effects in a mathematical model on estimated radiation doses when scan parameters are varied. For example, the actual scan length of an examination can be modified to illustrate the effects of over scanning or under scanning on the dose received by the patient, or the phantom model can be changed. No records are modified during simulation, but simulated data can be exported to CSV format for further analysis. Below is an overview of the Interactive Dosimetry interface. The initial organ doses displayed on the graph are based on the doses from all the available acquisitions combined. In addition, the initial calculations are made using the averaged CTDIvol per scan and do not incorporate the CT scanner's modulation. As exam parameters are changed, the dose calculations are updated.

39 The Select Phantom button allows you to choose a different phantom model to be used in the simulation. This will also cause the Organ Dose chart to display doses based on the selected phantom.

This reset button returns the phantom to the default for the exam.

This column lists the acquisitions for the exam; clicking on a specific acquisition selects it to be used for the interactive dosimetry simulation. This enables the simulation parameters to be modified.

Choose a Scan Region from this drop-down menu.

This reset button returns the simulation parameters back to default and deselects the currently selected acquisition.

Once an acquisition is selected, the scan range controls will be displayed. You can adjust the width of the scan range with the up and down arrows, and the middle arrow allows you to move the scan range.

40 Clicking on the Modulation, Overranging, Localizer, or Phantom labels toggles the respective graphical representation of these items. Below this, you can toggle the display of the AP and lateral views of the phantom.

Click on Run Simulation to recalculate the organ doses. The Organ Dose window will then show both the Acquisition and Simulation doses, as well as the Phantom doses if a different phantom has been selected. In the above example, the Scan Region has been changed from Abdomen to Chest.

The Export button can be found at the bottom of the Organ Doses window. This allows export of the simulated organ dose information to CSV format. Next to this is the Table button, which displays the Organ Doses in a table format.

Logbook The logbook provides the ability to document examination information based on the modalities utilized. This may include information such as body site, contrast used, patient type (e.g. outpatient or inpatient), and reasons (if any needed) for why the scan was started early or late, or why it was short or long. For RF/XA exams, you can enter dose data manually here. If an RF/XA exam does not include dose data to begin with, then a dose calculation will be performed based on the data entered in this tab. CR and DX exams may also have dose calculations derived from the information entered here.

Patient Details The Patient Details allows for the review of a patient's cumulative dose exposure history. as well as prior exams. The Patient Card includes details such as the patient's cumulative dosimetry, previous exams, and organ value comparison charts.

41 Click on the Tag button to assign one or more Tags to the patient. A dialog box will appear for this. Tags can be used as a search criteria for associated patients.

The Date Range drop-down can be used to restrict the dosing data displayed for the patient to a specific time interval.

Select different values to view dose across different dose reference levels (or to display trends in other Values of Interest as relevant).

Cumulative Dose History may be shown as a bar chart if the patient has only one exam, or as a line graph for patients that have multiple exams as shown in this example.

42 Configuration

The Configuration module allows you to manage default Dose Reference Levels as well as organize and edit the mapping of DICOM fields and protocols. This is important in allowing the reports to display useful, organized information. Depending on your user access permissions, you may or may not be able to access all pages within the Configuration module.

Dose Reference Levels In the Dose Reference Levels configuration section, you can set default Dose Reference Levels (DRLs) globally for examinations, acquisitions, protocols and patients. Dose or Diagnostic Reference Levels are user established reference values, that if exceeded, identify radiation exposures that are unusually high for common diagnostic medical imaging procedures. Action Levels and Cumulative Levels can also be named and defined.

This drop down menu allows you to switch between the DRL, Action Levels and Cumulative Windows interfaces.

Adding or Editing Dose Reference Levels Below, the process of reviewing and modifying each type of DRL is described. Patient DRLs For Patient DRLs, the DRL name, Risk Level, Threshold Value, Value of Interest (VOI), gender, age limits and associated Cumulative Window is listed. Patient DRLs use threshold values and are associated with Risk Levels (either Low, Medium or High respectively). Patient DRLs can use Cumulative Windows to determine if Risk Levels have been exceeded over a period of time for an individual patient.

43 Clicking on the Add button will allow you to add a new DRL.

Under the Action column, clicking on the Edit icon allows you to edit the parameters for the corresponding DRL. Clicking on the Delete button allows you to delete the corresponding DRL. A warning dialog will pop-up, asking whether you are sure you wish to delete.

When adding or editing Patient DRLs, the interface below appears. You can modify DRL parameters with a graph that updates automatically to show you how your selected threshold level will apply to the current exam data set. Once you've finished editing, you must click on the Save button (located at the bottom right of the page) to keep your changes.

44 The DRL parameters for patients are described in the table below.

The Male and Female threshold graphs allow you to see the how the threshold levels you set apply to the Value of Interest by age. The Risk Levels are color coded (green for Low, yellow for Medium, and red for High). To be displayed, each risk level must have a corresponding Patient DRL entry present. Patient Filters must be used to define and display different DRL values for different sexes or ages. See "Patient Filters" on page 50.

Patient DRL Parameters

A unique name for the DRL. If a Cumulative Window is DRL Name selected it is recommended to add a related descriptor to the DRL Name. Category The DRL Category is set to Patient by default. Value of Interest Allows you to choose the Value of Interest for this DRL. The Threshold Value is set for the Value of Interest you Threshold Value choose and the units assigned are automatically chosen based on the VOI.

45 Risk Level The Risk Level can be set to Low, Medium or High. Allows you to set an associated Cumulative Window for this Cumulative Window DRL if required. See "Cumulative Windows" on page 52. Allows you to describe additional details about this patient DRL Message DRL.

Default Examination and Acquisition DRLs For Default Examination or Default Acquisition DRLs, the DRL parameters include minimum, average and maximum values as well as age limits, gender, description and associated Action Levels. Default Exam and Acquisition DRLs are fallback values in cases where no other Dose Reference Level has been set, or when master protocols have not been mapped to the device protocols. This may be useful in tracking outlying exams or acquisitions; for example, you can define a maximum value that no exam should ever exceed and set an alert if this occurs.

Clicking on the Add button will allow you to add a new DRL.

Under the Action column, clicking on the Edit icon allows you to edit the parameters for the corresponding DRL. Clicking on the Delete button allows you to delete the corresponding DRL. A warning dialog will pop-up, asking whether you are sure you wish to delete.

When adding or editing Default Examination or Acquisition DRLs, the interface below appears. You can modify DRL parameters with a graph that updates automatically to show you how your selected DRLs will

46 apply to the current exam data set. Once you've finished editing, you must click on the Save button (located at the bottom right of the page) to keep your changes.

Choose the Value of Interest from this drop-down menu.

The panel on the left allows you to set absolute minimum, average, and maximum values or percentiles (if the corresponding "Use Percentiles" checkbox is selected). If you are setting a default protocol DRL, then you can only edit minimum, average and maximum percentages.

You can modify the date range of the graph (e.g. for a period of days, months, years or a custom date range) via this drop-down menu.

This graph displays the number of acquisitions on the y-axis against the Value of Interest that has been selected, allowing for easy visualization of the selected minimum/average/maximum levels with respect to the currently available data set.

Default Protocol - Acquisition and Examination Default Protocol DRLs apply to the dose reference levels of all protocols (approved or draft) that have not been explicitly defined. Individual protocols that have had their dose reference levels defined follow their specific reference levels. You can manually initiate or define schedules for the recalculation of Default Protocol DRLs for examinations or acquisitions here also.

47 The Initiate Recalculation button, as it implies, starts a DRL Percentile Recalculation event immediately. The recalculation event will run in the background and the updated percentiles will be displayed after returning to this page once the recalculation is complete.

The Add New / Edit Schedule button allows you to set the schedule for the DRL Percentile Recalculation.

Clicking on the Add button will allow you to add a new Default Protocol DRL.

Under the Action column, clicking on the Edit icon allows you to edit the Default Protocol DRL. Clicking on the Delete button allows you to delete the corresponding DRL. A warning dialog will pop-up, asking whether you are sure you wish to delete the Action Level.

When adding or editing Default Protocol Examination or Acquisition DRLs, the interface below appears.

48 This drop-down allows you to choose a Value of Interest.

Enter a percentile for the Minimum value here.

Enter a percentile for the Average value here.

Enter a percentile for the Maximium value here.

Patient Filters and Alert Settings are also available to be applied to the DRL. After finishing your changes, click on the Save button. DRL Percentile Recalculation The Recalculation Schedule window is shown below.

From this window, you can set the frequency of DRL percentile recalculations and also the Start and End times defining the interval over which the DRLs are re-calculated. If the End time is set as "No end date", then the recalculations will occur indefinitely as specified by the frequency. If the End time is in the past, then no recalculations will occur. The window also displays the date and time of the last recalculation.

49 Parameters common to Patient, Examination, Acquisition and Default Protocol DRLs Patient Filters Patient Filters are shown in the screen below.

Patient Filters allow you to apply your DRLs based on gender or minimum and/or maximum values of the patient's age, diameter, Water Equivalent Diameter, height, Body Mass Index (BMI), and weight. Note that these values are dependent on the exam data that has been received by the Radimetrics software. The "Use for unidentified values" checkbox allows you to apply the filter only if there is no existing value for that Value of Interest. Alert Settings The Alert Settings window, shown below, allows you to enable or disable Alerts for the DRL, with checkbox options allowing for e-mail notifications and more as described in the table below.

Do not alert for this DRL Disables or enables alerts for this DRL. Enable email notifications with this checkbox. Use the drop-down menu to the right to determine which Action Level is associated Email Notifications with generating an email notification. See "Action Levels" on the facing page. Enables the display of colors on exam search results to indicate Use Value Indicators normal, high and exceeding the maximum values. Not applicable to Patient DRLs. You may add text to this text box to describe your alert's Add custom alert description parameters in detail. Not applicable to Patient DRLs.

50 Master Protocol - Acquisition and Examination Master Protocol specific dose reference levels (Protocol DRLs) are set to account for differences in expected doses due to a number of factors, for example, the range of the scans, or the radiosensitivity of the affected organs. They appear when reviewing exams and can be attached to alerts. For each Master Protocol, you can add multiple dose reference levels associated with different organs or standards. In addition, you can enable Alerts, Incidents, Email Notifications and associate an Action Level as well.

The top part of the interface contains a Modality drop-down, Protocol Name field and a Value of Interest field that allows you to narrow the list of protocols in the list at the bottom. Multiple Values of Interest can be selected, and the Contains/Does Not Contain selector allows you to choose whether or not the Values of Interest are or aren't the ones you are searching for.

Click on the arrow to expand the Master Protocol's list of associated Values of Interest.

Clicking on the Add button will allow you to add a new Value of Interest to the Master Protocol. Clicking on the Edit icon allows you to edit the parameters for the specified Value of Interest associated with the Master Protocol. Clicking on the Delete button allows you to delete the corresponding associated Value of Interest. A warning dialog will pop-up, asking whether you are sure you wish to delete it.

Action Levels In this section you can define Action Levels. Action Levels are user-defined "Actions" that can be tied to maximum values in the Default Examination or Acquisition DRLs, or to specific protocols.

51 You can click and drag on this icon to rearrange the order of the Action Levels. The highest priority Action Level should be set as the first on the list, followed by the rest in descending order.

Clicking on the Add button will allow you to add a new Action Level. The only editable parameter is the name.

Under the Action column, clicking on the Edit icon allows you to edit the name of the Action Level. Clicking on the Delete button allows you to delete the corresponding Action Level. A warning dialog will pop-up, asking whether you are sure you wish to delete the Action Level.

Cumulative Windows You can specify the periods of time over which a Patient Cumulative Dose Reference Level may be tracked. These periods are known as Cumulative Windows. They can be defined by both days and hours.

Clicking on the Add button will allow you to add a new Cumulative Window.

52 Under the Action column, clicking on the Edit icon allows you to edit the parameters for the corresponding Cumulative Window - the name, number of days and number of hours. Clicking on the Delete button allows you to delete the corresponding Cumulative Window. A warning dialog will pop-up, asking whether you are sure you wish to delete the Cumulative Window.

Definitions The Definitions configuration has pages for Deviation Category, Process Intervention, Diagrams, and Anatomical Landmarks. Deviation Categories represent different types of root causes associated with alerts. Process Intervention defines a time frame for interventions. Diagrams can be uploaded or selected from the pre-existing database to be used in the Master Protocol Editor. Landmarks are pre-defined positions that mark the beginning and endpoints of an acquisition and are used to define scan regions. Landmarks can be displayed on diagrams also.

Deviation Category Alerts may be categorized by means of user customized Deviation Categories. Deviation Categories may be created to represent and assign different types of root causes to specific alerts. The number of alerts associated with a deviation category are listed in the table. This may be helpful to prevent the deletion of Deviation Categories currently being used.

53 The Add button opens a dialog box allowing you to add a new Deviation Category. You will be asked to enter a unique category name and optionally, a description for the category.

The Edit button opens a dialog box allowing you to edit the currently selected Deviation Category.

The Delete button allows you to delete the currently selected Deviation Category.

Process Intervention The Process Intervention page allows you to define the time frame for interventions. Doing this will allow the Xbar-S graph (See "Xbar-S Chart" on page 32) to show the effects of an intervention taking place on the mean and standard deviation.

The Add button opens a dialog box allowing you to add a new Deviation Category. You will be asked to enter a unique category name and optionally, a description for the category.

The Edit button opens a dialog box allowing you to edit the currently selected Deviation Category.

54 The Delete button allows you to delete the currently selected Deviation Category.

Diagrams Diagrams are custom images or anatomy including custom landmarks that can be added to your Master Protocols.

Adding a Diagram When you create or modify a diagram, Radimetrics software will bring up a display of sample images you can choose from, organized by Modality and Orientation as shown below. You can free-text search for the type of diagram you are looking for also (e.g. "chest"). You may also import your own.

55 The Add button brings up the Diagrams dialog box, allowing you to select from the Diagrams that are already stored and organized within the Radimetrics software.

The Import button brings up a dialog box that allows you to manually choose an image file in JPEG, PNG or GIF format to be used for the diagram.

The Diagrams dialog box is shown below.

Several drop-down menus can be used to more quickly sort through the available Diagrams. Clicking on an image will select it, and the Select button in the bottom right can be used to finalize the selection.

56 Once an image is selected (or uploaded), the Landmark interface appears as shown below.

If a Landmark is Active, indicated by the checkbox, clicking on a row will display the Landmark's location on the diagram on the right.

If the Landmark line is present, it can be clicked and dragged to move it to the location that is appropriate for it relative to the diagram.

Use the Save button to save the Diagram and associated Landmarks.

Anatomical Landmarks Anatomical Landmarks are pre-defined positions that mark the beginning and endpoints of an acquisition.

57 The Add button allows you to add a new landmark.

The Edit button allows you to edit the currently selected landmark. The interface will appear as below.

The Delete button deletes the currently selected landmark. A dialog box will appear asking you to confirm the deletion.

58 Adding or Editing an Anatomical Landmark

The Remove button removes the set Anatomical Landmark location.

Clicking in this field displays a drop-down menu allowing you to select one or more body systems for display on the anatomical model. Clicking on the x beside the system will remove it from display. An example of the Skeleton and Digestive systems both being displayed follows this section.

This slider allows you to zoom in/out of the anatomical model by clicking and dragging the slider on the bar.

The red horizontal line is the current location of the Anatomical Landmark. It can be dragged and dropped to a new location.

59 Organizing Data This module allows you to define how Radimetrics software sorts studies so that useful, organized information can be displayed in the Summary Pages and other areas. The groupings are:

Organize the institutions (hospitals or other locations) identified in retrieved Institutions studies.

Equipment Organize the equipment (e.g. CT scanners) identified in retrieved studies.

Device Organize the specific devices types identified in retrieved studies.

Order Code Organize the Orders and Requested Procedures in retrieved studies.

Staff Organize the staff (physicians, technologists) identified in retrieved studies.

Organize and configure Power Injector related parameters such as the Power Injector Contrast injectors, injection sites, operators, fluids, and catheters.

The overall interface for editing each of these categories is similar. Below is an example of the interface for organizing devices:

60 In this column, click on the category you want to sort. The currently selected category is indicated by a blue border.

The Add button allows you to add a new group. A dialog box will appear, asking you to name the new group. The Edit button allows you to edit the name of the currently selected group. The Delete button deletes the currently selected group. For Order Code Groups, as the organization is similar to the Device Protocol Sorting section (See "Device Protocol Sorting" on page 67) the interface also adds a Copy button, a Paste button, and editing a group allows for logic rules that match variables against regular expressions.

Groups are listed here and can be nested and rearranged by dragging and dropping the name of the group into the desired location.

The search scope can be changed with this drop-down menu to display either entries in the currently selected group, or entries in the group and its subgroups, or all the entries regardless of grouping.

You can use this search box to find an entry within the current search scope.

61 The Merge button allows you to merge two or more selected entries. This may be used when duplicates are present. In the Institution, Equipment, Secondary Capture Configuration and Injector interfaces, the Edit button is present and can be used to edit the currently selected entry. In the Equipment interface, the Hide button is used to hide equipment that have no associated exams. In the Secondary Capture Configuration interface, the Add button allows you to add a new Secondary Capture Configuration, and the Delete button deletes the selected configuration.

The list of entries is shown in this table. Columns of note include the Matching Key, which is used to match the entry to a device protocol via the DICOM header, and on the right hand side, the number of exams or acquisitions that have been associated with each entry. Entries can organized by dragging and dropping them into different groups on the left hand side of the window.

Merging When merging, the following dialog box appears, allowing you to compare the items you are planning to merge.

Click on the entry that you want to keep after the merge occurs. Then, click the Merge button to complete the merger of the entries. Subsequently, the Summary Pages and other areas will show only the entry you chose to keep.

Editing Institutions After selecting an institution and clicking on the Edit button, the dialog box below appears:

62 Here, you can specify the institution's Address, City, State / Province, Country, and Zip / Postal Code as well as its time zone.

Editing Equipment When editing an equipment entry, the dialog box below appears:

63 The name of the equipment can be changed using the name field. Other options are as described below:

Selects whether the device supports RDSR (Radiation Dose Structured Supports RDSR Report), which is defined by the DICOM standard.

Selects whether the device supports Dose Sheets. Many older scanners produce Dose Sheets as bitmapped images (study images) that need to be Supports Dose Sheets passed through OCR (Optical Character Recognition) so the data can be recognized by Radimetrics.

Reports CTDIw Selects whether the device reports CTDIw.

Selects whether the device reports Max CTDIvol rather than average Reports Max CTDIvol CTDIvol in its DICOM tags.

Older Toshiba CT device models are known in the wider CT community for outputting CTDvol Max in their DICOM tags and Dose DICOM Secondary Capture images, which is different than what all other CT vendors record. For a facility attempting to compare and benchmark their CT device doses this difference between vendors can skew the results, making the Toshiba doses appear higher. If you have such a Toshiba CT, you can use the "Reports Max CTDIvol" option to cause the software to output an average CTDIvol per acquisition. Please note that you will need to contact Bayer support to reprocess any exams that were received before making this change.

Editing Power Injector Contrast - Secondary Capture Configuration Contrast devices may send a DICOM image that can be routed to a PACS/RIS system or archive. The routing and appearance of such images may be configured here. When editing a Secondary Capture Configuration, two configuration pages are available - one for options, and the other for layout. The General Options configuration section is as shown below:

64 The General Options allow you to name the current configuration, the modality, and the PACS/Archive where the image will be sent. You can also enable/disable automatic transfer of the image and specify a delay for the transfer. The Advanced Options section is shown below:

The advanced tab allows you to format options such as the date, time and other units (e.g. cm for length). In addition, you can configure parameters related to querying the PACS server including timeouts, attempts, and the query parameters to use such as Accession Number, Patient ID, and Study UID.

65 The Layout tab defines how the Secondary Capture image will appear. It is possible to rearrange the fields displayed or to choose to include the programmed vs. actual protocol, or a pressure or flow graph. The Layout - Quick Read section is shown below:

The Quick Read section can be used to customize the text displayed on the image including wording, fields used, font size, as well as centering on the image. The Content section defines how the Secondary Capture image will appear and is shown as below:

66 It is possible to rearrange the fields displayed by using the drop-downs to select the field that will appear in that location. You can choose to include the programmed vs. actual protocol, or a pressure or flow graph.

Device Protocol Sorting The Device Protocol Sorting page is used to arrange unsorted Device Protocols into groups. Groups are set up based on logic OR and AND rules that match variables such as Device or Protocol Name against regular text expressions.

What are the Benefits? Organizing your Device Protocols has two primary functions: allows the presentation of meaningful data within the dashboard reports is a pre-requisite for mapping Device to Master protocols for triggering protocol based alerts All the data that has come into Radimetrics™ Enterprise Platform will initially appear in a group titled ‘Unsorted Protocols’. If the method of receiving data is query/retrieve, some outside studies may be visible. It will be important in the next steps to ensure only relevant data is captured in groups.

The Add button allows you to add a new group. The Edit button allows you to edit the currently selected group. The Copy button copies the currently selected group, while the Paste button will paste the copied group, if any exists, into the group that is currently selected. The Delete button deletes the currently selected group.

This area lists all the groups including their hierarchical structure.

67 The Search Scope drop-down allows you to select the scope of the currently selected group for display (as in, whether to show the device protocols for that group only or the group and all of its subgroups). You can also choose to Search All to deselect the currently selected group in order to display all the device protocols.

The Modality drop-down allows you to narrow the device protocols displayed to a specific modality.

The Protocol Name field allows you to display protocols matching an expression.

This area displays the attributes of the device protocols including their name, modality, institution, associated device, specific protocol name, study description, procedure code, and the number of associated exams or acquisitions. You can click on the column headers to sort the protocols in ascending or descending order by that column's attribute.

This is the starting place for organizing your protocols in a meaningful structure. The ‘Master Protocols’ group (constructed in Protocol Editor) will also appear. This will provide a quick reference for ensuring consistency between the nomenclature of the Master and Device Protocols. Before mapping Device to Master protocols we need to ensure the protocols are organized appropriately; the group names and structure in Master Protocols must match those in Device Protocols. In other words, you need to use identical anatomical groupings to create an association for mapping – 'Thorax' and 'Thorax' works vs. 'Thorax' and 'Chest' which does not. Upper and lower case letters and spaces must match. The sorting process begins with the creation of a hierarchical group structure. The objective is to funnel the data from a large scope (Modality) to a finer-grained level of information (Anatomical Region found in the Protocol Name).

68 Suggested group structure We suggest that the following structure will provide the most effective interactive Summary Page: {Institution Name} Enterprise Modality Anatomical Region Pediatric Head Chest ...... etc. Adult Head Chest ...... etc.

Filtering data into groups You are able to filter the data from the ‘Unsorted Protocols’ into the appropriate anatomical group using a step-by-step process, filtering the data through each level of the group structure using ‘regular expression rules’.

69 Regular expression rules are created for each group. The data is filtered by several variables, which come across with the DICOM tags on the examination, including: Name, Modality, Institution, Device, Equipment, ProtocolName, StudyDescription, and ProcedureCode. The system will use the expression rules of the groupo to pull in any data with matching criteria from groups higher in the hierarchy. The regular expression rules are used to filter the device protocols into the desired groups.

Wildcards There are many variations in the format of protocol names. In order to ensure all desired protocols are filtered appropriately, a wildcard .* is used in the regular expression rule, before and after the key word. Regular expression rules with a wild card will filter in any protocols that have the keyword, including those with additional words or characters before and after. The regular expression rules are not case sensitive. For example, in the Head group, using the following regular expression rules: .*head.*, .*brain.*, .*facial.*, .*iac.* , would pull in all of the following desired protocols: 01_head or HeadRoutine or FacialBones.

Group Order The order of the groups is key in determining where the protocols will filter. The application reviews all data to determine if it meets the criteria of the expression rules. If it does, it will place it in that group. For example: In order to capture a PE protocol in the Chest group, the regular expression rule .*pe.* would be used In order to capture a Pelvis protocol in the Pelvis group the regular expression rule of .*pel.* or .*pel- vis.* may be used If the Chest group was first in the sequence, pelvis protocols would filter into the Chest group due to the fact it met the criteria of the .*pe.* expression rule To ensure the Pelvis protocol filtered into the Pelvis group, the group can be dragged above the Chest group so the protocol will meet the criteria of .*pelvis.* before it reaches the regular expres- sion rule of .*pe.* in the Chest group

The group creation process The first group to create is one to start sorting the device protocols (ie. {Institution Name} Enterprise). The Device Protocol Group dialog window is shown below.

70 First, edit the name of the Device Protocol Group. Then, click on Add Sorting Rule. The interface will expand as shown in the example below, allowing you to add rules based on a variable (like Modality, Institution, or Equipment) and a matching regular expression as described above.

Click on Add Or Rule to add a broadening rule to the sorting rule. The Or rule requires that either one of the variables match their expressions. Note that order of operations is respected; the border around the rule serves the same function as parentheses.

Click on Add And Rule to add a narrowing rule to the sorting rule. The And rule requires that both the preceding and following variables match their expressions.

71 Adding or Editing a rule for the Institution group You will need to determine what you would like to take from the Unsorted group. If all of the data is relevant you can choose a variable and put only .* as the regular expression which will move everything from the previous group into this one. If there are outside studies which should not be filtered into the group, more specific rules need to be made in order to capture the data accurately. Adding a Modality group The next step is to add a Modality group inside the Institution group. Adding anatomical region groups The final set of groups to be added are the anatomical regions. Use the variable of Protocol Name for this. Include as many regular expressions as you can. The group structure can be copied for subsequent devices, therefore reducing the need to add additional rules. The last folder to be created should be an “Other” group and this is the “catch all” folder for the protocols that are left unsorted. The key is to ensure this is the last group in the sequence as the regular expression rule used will be ".*" (without the quotation marks). When doing “housekeeping” this is the folder to review in the event additional regular expression rules need to be created in order to capture protocols in this folder. Finalizing the group structure and making a copy After you have created all of the anatomical groups, you should review the contents of each group to ensure the appropriate protocols have been captured in the desired groups. Once you have completed a group structure for one scanner, you can simply highlight the highest level group you want to copy and the group structure to apply to another piece of equipment. The items to change to ensure filtering is correct with the copied group is the name and regular expression rule in the Site group as well as the name and regular expression rule in the equipment group. For example, in the copied group: Change the group name to Site B and the regular expression rule to Site B Change the equipment group name to CT (or whatever name applies) and the regular expression rule Review the groups to ensure all protocols are filtering as expected

Key points to remember when sorting device protocols Equipment has been sorted and nomenclature standardized There are identical group names between Master Protocol group structure and Device Protocol group structure The .* wildcard is used in regular expression rules Group order is considered, as this will impact how protocols will filter by the regular expression rules

Master Protocol Mapping Master Protocol Mapping is the process of associating Exam Parameters with the Master Protocol standards through the Device Protocol name. This mapping process enables alerting, variance analysis, and simplified Dashboard reporting.

72 For example, a location may have numerous head protocols being performed with slightly different names on several devices. Mapping allows us to associate those Device Protocols to the Master Protocol that best represents the procedure being performed. Once Device Protocols are mapped to a specific Master Protocol it allows the system to compare the results of that particular study to all other “similar or associated” studies; for example, when viewing a dose frequency distribution.

Use the Modalities drop-down menu to select the specific modality for which you will be mapping protocols. Note that when activated, the drop-down menu indicates the number of unmapped Device Protocols associated with the modality.

The Device Protocols are listed here, including the group to which they belong. Alternately, you can select an individual group for display using the Protocol Groups listing to the left. Hovering over a Device Protocol shows its path, allowing you to verify that it belongs to the group path you intended.

The Master Protocols are listed on the left hand column, and if one is selected by clicking on it, the mapped Device Protocols are listed on the right hand column. Hovering over a Master Protocol shows its path, allowing you to verify that it belongs to the group path you intended.

This search field allow you to narrow the list of Device Protocols by entering a search term.

This drop-down menu allows you to choose between displaying Mapped Device Protocols, Unmapped Device Protocols, or all of them.

73 This search field allow you to narrow the list of Master Protocols by entering a search term.

The View button will bring up a window displaying the currently selected Master Protocol's details.

Mapping The process of mapping is described below.

Click on one or more Device Protocols on the left hand side. Multiple protocols may be selected for mapping at once by using the Control or Shift keys.

If a single Device Protocol is selected, the Group Mapping checkbox allows you to filter the list of Master Protocols to match the group of the selected Device Protocol.

The list of already mapped Device Protocols is on the right hand side for your reference.

The Chain-link button maps the selected Device Protocol(s) to the selected Master Protocol.

74 Once you have completed the process of mapping all appropriate Device Protocols to the list of Master Protocols you may want to review any remaining unmapped Device Protocols.

Unmapping

The Unlink button removes the mapping of the currently selected mapped Device Protocol from its Master Protocol.

Suggestions to make protocol mapping easier 1. Have a common protocol naming convention across devices 2. Name the Master Protocol in Radimetrics™ Enterprise Platform the same as the common protocol name on the devices 3. If renaming is not possible, add a reference code at the beginning of the protocol on the device; this makes it easier to locate the same protocol across devices 4. Record Master Protocol names with Device Protocol names for multiple scanners to be associated in mapping

RadLex Assignment The RadLex Playbook Assignment page allows you to link Master or Device Protocols to specific RadLex Playbook Protocols. The interface has some similarities to the Master Protocol Mapping page.

75 Choose between assigning Master Protocols or Device Protocols here.

This drop-down allows you to filter the list of Protocols by modality.

The Assigned drop-down allows you to filter the list of protocols by whether they have already been assigned a RadLex Playbook Protocol. Note that an RPID (RadLex Playbook ID) will be shown in the RPID column for protocols that have been assigned already.

The search field allows you to filter the list of protocols by entering a search expression.

This vertical bar is clickable, allowing you to show and hide the Protocol Groups. You can select individual groups to show only the protocols associated with that group.

The Version drop-down allows you to select which RadLex Playbook Protocol versions you want to list (V1.0 or V2.0 or both).

The Chain-link button allows you to assign one or more selected Master or Device Protocols to the selected RadLex Playbook protocol.

76 If a Master or Device Protocol is selected from the right-hand column, then the Unlink button can be used to remove the assignment of its associated RadLex Playbook Protocol.

RadLex Configuration The RadLex Playbook Configuration page contains a list of RadLex defined exams. From this interface you can browse RadLex Playbook entries or toggle whether individual entries are shown or hidden. Hiding unused entries may help simplify assignment by limiting selection to only those entries that your site uses.

The search field allows you to filter the list of protocols by entering a search expression.

The Version drop-down allows you to select which RadLex Playbook Protocol versions you want to list (V1.0 or V2.0 or both).

If a search expression was entered, you can clear the search by clicking on this button.

You can use the Select All button to select all the listed protocols. When protocol(s) are selected, the Show and Hide buttons allows you to toggle the visibility of the protocols when performing assignment.

77 Value Indicators The Value Indicator Settings module allows customization of the displayed Values of Interest depending on context (i.e. Patient, Examination, Acquisition or Injection) and modality. In addition, custom values for display in the Details View for Examinations and Acquisitions can be chosen. If no customized values have been defined for a particular combination of modalities the default displayed Values of Interest are defined by the customized values for the individual modalities first. If individual modality does not exist, then the lines containing "All" under the Modality column are used. For example, if under the context of Examination the modality CT/PT/DX has not been defined, the Values of Interest displayed would be whatever is contained under the context Examination with the individual modalities CT, PT and DX.

Click on the column headers to sort the list in ascending or descending order.

The Add button allows you to add a new scope and modality combination to which Value Indicators will be applied. The Edit button opens a dialog box that allows you to edit the currently selected combination. The Delete button deletes the currently selected combination. The Refresh button reloads the list.

78 Adding a Value Indicator Clicking on the Add button brings up a dialog box.

Choose a scope (Patient, Examination, Acquisition or Injection) and then a modality (or a combined set of modalities as appropriate). Clicking on the Add button will bring up the window allowing editing as shown in the next section. If you choose a combination of scope and modality that already exists, you will then be allowed to edit the pre-existing combination.

Editing a Value Indicator

79 The Add button allows you to add a new Value Indicator. The Delete button deletes the currently selected Value Indicator.

You can sort the order that the Value Indicators appear in by clicking on the left hand side of the Value Indicator and then dragging and dropping it into a new location.

On the right-hand side you can modify the displayed precision for the Value Indicator along with its text description and unit of measure. Note that both the Precision and Units fields have a red asterisk next to them, indicating that it is mandatory to have a value entered here.

80 Administration

Through the Administration module various aspects of the workflow can be managed and configured, including the management and monitoring of user access to Radimetrics software. Depending on your user access permissions, you may not be able to access all pages within the Administration module.

Users & Alerts Users accounts, roles, and their specific Alert Details settings can be managed through Users & Alerts under the Administration page. The Users interface displays Users Groups and lists users, including their name, username, roles, email address, last login/logout time, and online or active status. The Alert Categories & Subscribers interface lists and allows for the editing of the users subscribed to each Alert Category (as opposed to editing the categories that an individual user is subscribed to). The Users interface is shown below:

Add a new Users Group by clicking on the Add button. Click on the Edit button to edit the name of the selected Users Group. Delete a group by clicking on the Delete button. Groups can be nested and rearranged by dragging and dropping the name of the group into the desired location. Users can be placed into specific groups by dragging and dropping them into the appropriate group in this panel.

Add a new user by clicking on the Add button. See "Adding/Editing a User" on page 83.

81 Click on the Edit button to edit the chosen user and associated alerts. Delete a user by clicking on the Delete button. See "Adding/Editing a User" on the facing page.

Click on this arrow to expand the Alert Categories & Subscribers interface as shown below.

Alert Categories & Subscribers The Alert Categories & Subscribers interface lists and allows you to edit the users that are subscribed to each Alert Category. In addition, you can change the filters that are applied to the Alert Category for a specific user.

Click on this arrow to display the users that are subscribed to the Alert Category.

The category Edit button allows you to edit the list of users that are subscribed to this Alert Category.

This Edit button allows you to change the Alert Details for the user. See "Editing Alert Details" on page 86.

The Delete button removes the user as a subscriber to this Alert Category.

The Filter button allows you to define Filters to apply to the user's subscription to this Alert Category.

82 Adding/Editing a User The interface for adding or editing a user is shown below. The Unit Preferences (only available when editing your own user's settings via the navigation bar button) and Alert Details interface starts out minimized underneath the Add/Edit User interface, but can be expanded for display as noted below. Once editing is complete, the Save button must be clicked at the bottom of the page in order to save any changes. A red asterisk is displayed next to fields that cannot be left blank, including the Name and Username fields. Otherwise, the Cancel button can be used to go back to the Users & Alerts page.

Click on the up or down arrows respectively to switch between expanding the User editing interface and the Alert Details editing interface.

User Roles define the core available modules that a user may have access to. See "User Roles" on the next page.

The Module Access section is used to enable and disable access to specific modules for the user being edited.

The fields in the interface are as described below:

Name The user's real name goes here.

83 The username that is used for logging into the system. If an LDAP server has Username been configured, then this field may not be modifiable.

The e-mail address is used for communications generated by Radimetrics Email software such as Alerts subscriptions. In order to utilize this feature, a valid SMTP email server must be configured.

The user's password. This field needs to be confirmed by entering it again on the second row. If you are creating a new user or if an LDAP account is being edited, these fields will be disabled for editing. Radimetrics™ Enterprise Platform will Password bring up a new window with an automatically generated default password in this case for you to give the new user. Subsequently, upon their first login, Radimetrics software will request they change their password.

This is the amount of time (in minutes) after which an idle user will automatically be logged out from Radimetrics™ Enterprise Platform. The default system Timeout [min] timeout of 30 minutes (unless otherwise set by a system administrator) is used if this is blank.

Roles define the set of pages that the user may have access to, if given User Roles permission. A user may have multiple roles selected. See "User Roles" below.

Disable Patient Name If you enable this option, patient names are anonymized for the user. Access

Enables a dark color scheme for the interface that can be helpful when the Enable Dark Theme software is being used in a dark room.

Enables or disables the user from accessing Radimetrics™ Enterprise Platform. If a user is having difficulty logging into Radimetrics software despite having had Active their password reset, this field should be checked. After a system-defined number of failed attempts at login, the user is deactivated.

User Roles Below is a table of the User Roles and their default accessible areas. An 'X' indicates that the role has access to that area. Permissions for users may be defined by System Administrators with access to the Users And Alerts page under the Administration module. The Base User is the same as a user that has no User Roles selected. The fifth role, External Interface, is primarily for user accounts that provide access to external applications. Summary Master Protocol Master Protocol Configuration Administration Pages Library Editor System Administrator X X X X X Super User X X X X - Advanced User X X X - - Base User X X - - -

84 External Interface X X - - -

Unit Preferences A user can set their own preferred units to be used for displaying Values of Interest throughout the Radimetrics software via their own Settings page on the navigation bar; these override the system default units. This section is not available via the Users and Alerts page. The current list of Values of Interest that have custom associated units are shown as noted below.

Clicking on the Add button will allow you to add a new default unit for a specified Value of Interest.

Clicking on the Edit icon allows you to edit the parameters for the specified Value of Interest and it's associated unit. Clicking on the Delete button allows you to delete the corresponding association.

Adding/Editing Unit Preferences

The pop-up window for adding or editing a default unit is shown below. The Unit drop-down menu indicates the system default unit for the specific Value of Interest along with listing the rest of the available units that are potentially applicable. Click on the Save button once done in order to add the Value of Interest and its unit pairing to the list of unit preferences.

85 Editing Alert Details The available Alert Categories are listed here along with options allowing the current user to be subscribed to them. Filters and email notification of alerts can be enabled. Again, once editing is complete, the Save button must be clicked at the bottom of the page in order to save the changes.

The checkbox next to the Alert Category enables or disables subscriptions to that category.

Email Frequency can be defined here, ranging from sending no emails, to immediately, once per day, twice per day, or every hour. The immediate option will email the user regarding an alert as soon as it is generated.

Enabling Apply to Past Alerts will apply alert subscriptions and filters to past alerts. If alerts do not match the filters, they will be removed from the user's list of alerts. Alerts that match the filters will be added to the user's list of alerts.

If Apply to Past Alerts is enabled, then a date range for the Past Alerts can be specified here.

86 The checkbox in the Email column enables email alerts for the specified Alert Category. A valid email address must be available in the user account, and as previously noted, a valid SMTP e-mail server must also be configured.

The Filter button allows you to define Filters to apply to the specified Alert Category. This allows the user to receive only alerts that are of interest to them.

Depending on the chosen Email Frequency, a time or set of times will need to be defined for when the emails will be sent. Clicking on the Time icon will display a drop-down menu allowing for easy selection of a time of day in half-hour intervals.

Audit Logs The Audit Logs administration module allows users with appropriate permissions to view logs of Radimetrics software system activity. This includes events such as logging in and out of the software and access to patient records.

To search for audit logs related to a specific user, patient medical record number, or patient name, a search string can be entered into these fields.

This drop-down menu allows you to select the time interval over which you would like to display logs for (e.g. last 7 days, last 6 months, etc).

87 The Description column on the right-hand side details the activity associated with each log event.

The Export button allows you to save the currently displayed audit logs to a CSV file. A dialog will appear indicating the filters that were applied to the audit results and the fields that will be exported. It will also remind you that PHI is present in the exported data.

Rejected Studies The Rejected Studies module allows you to review studies that have been sent to Radimetrics™ Enterprise Platform but have been rejected from processing. Rejected examinations may be retrieved or reprocessed as well.

Rejected studies can be sorted into groups. They are placed into the New group by default. Use the Add button to add a new group, the Edit button to edit the name of the currently selected group, and the Delete button to delete the currently selected group. Groups can be dragged and dropped to rearrange them or to create subgroups. Note that deleting a group will delete all the rejected studies contained in that group (and its subgroups).

The right-hand side panel of the Rejected Study Summary lists the rejected studies in entries that group those that have the same modality, station name, device, manufacturer, institution, and serial number. The number of examinations (studies) associated with each grouping is listed in the first column. Clicking on an entry will automatically populate the details of the studies contained in that grouping in the Rejected Studies Detail section.

88 This Delete button deletes the selected study.

These fields can be used to searching a study for specific examinations. You can search by Study UID, accession number, modality, station name, device, manufacturer, institution, or serial number.

When a check-mark appears under the restored column it indicates that the examination has been successfully processed. It may be deleted after this.

The Reset button clears the Rejected Studies Detail list and the search fields.

The Search button can be clicked to search for rejected exams based on the entered search parameters.

The Tool button allows you to re-retrieve the currently selected examinations or to attempt to reprocess them. When re-retrieving examinations, a dialog box will appear, asking you which DICOM node to use for this.

This Delete button deletes the selected examination.

DICOM The DICOM module allows you to remotely query DICOM nodes and initiate retrievals of studies as a whole or as individual series or images. You can also review the raw XML data associated with studies, series or images. The interface is as shown below:

89 Enter your search parameters into the fields here or select from the drop down menu options as needed. You can search by patient ID, name, gender, accession #, description, procedure, modality or date and time range.

Click on the Search button once you have entered your search parameters. A query will be sent to the DICOM node.

Click on the Reset button to reset the search parameters and results.

This drop-down menu allows you to choose the DICOM node that you will be querying.

Once a query is performed, you can review the results and perform additional operations including retrieval as shown below:

90 The Retrieve button retrieves the currently selected study from the DICOM node.

The View button opens a dialog box displaying the raw XML data associated with the study.

Note that clicking to select a study (it will appear highlighted when selected) will list the series that are associated with that study. In turn, selecting a series will list the images associated with that series.

Interfaces The Interfaces module allows you to monitor external interfaces including publications events, Radiation Dose Structured Reports (RDSR) sent to the ACR, and Nuance. For Publication Events, the current status of publication events is displayed for interfaces including the Dose Alert Publisher, HL7 events and more. The Publication Events interface is shown as below:

The Status drop-down menu allows you to search for specific event statuses, including Pending, Processed, Stopped, Pending Demand, and Dispatched.

The Type drop down menu allows you to choose the Publication Event type. This may include the DICOM publisher, the Dose Alert Publisher, Exam Change Processor and different HL7 or web services interfaces including via Certegra® Workstation.

91 You may search for specific Accession numbers or MRNs via these fields; note that you can also search by Performed Date and Time or Published Date with the adjacent drop down menus.

You may republish events via the Republish button if an event is selected. This will set the event status back to Pending.

The Search button performs a search based on your currently defined criteria.

On the Publication Events interface, clicking on a rightwards facing arrow will cause the event entry to expand to display the history of that event. An example of an expanded entry is shown.

Patient Merge The Patient Merge module allows you to merge any two patient records together, including exams and any other associated data. This is useful when multiple records for the same patient exist within the software. A merge operation cannot be reversed, so extra care must be taken to ensure that the two records being merged represent the same patient. The steps for performing a merge are described below.

Enter the patient ID or medical record number (MRN) here or:

92 Enter the patient's name here, and a list of the matching patients will show up below. Repeat the task on the right hand side of the screen.

Select one patient record from each side to be merged by clicking on its row. It will be highlighted.

Click on Merge Selected Patients. A dialog box will open, asking you which of the two records will be kept after merger. You will be asked to confirm the merge operation again before the merger takes place.

93 Protocol Management

Introduction to Protocols

Radimetrics Protocol Definitions There are three ways we define protocols in Radimetrics™ Enterprise Platform. Master Protocol Device Protocol Exam parameters

Master Protocols

The Master Protocol is used as the standard a technologist is attempting to achieve when performing the specified protocol on a patient.

It contains detailed information, including: Patient Preparation Positioning Contrast Information Diagrams and Landmarks Technical Factors Diagnostic Reference Levels In Radimetrics software this information is a combination of manual data entry and if available information exported from a device.

Multiple device contrast and acquisition factors can be housed under a single Master Protocol name.

94 Why do we have Radimetrics™ Master Protocols?

After an exam has been performed the technical factors can be used for variance analysis At order entry we can use the Master Protocol data to estimate the potential dose to a patient Technical factors in the Master Protocol can be supplemented for missing exam parameters for calculating Radimetrics’ Monte Carlo simulation Alerts may be triggered based on exams which exceed the diagnostic reference levels entered in the Master Protocols Reminders can be customized to alert a user to review protocols on a prescribed basis (e.g., monthly, yearly)

Device Protocols

Device Protocols are the protocols housed on the device, which may or may not mirror the Master Protocols in Radimetrics software.

For some devices this information can be exported and used to setup the Radimetrics software's Master Protocols.

Exam Parameters

Captured from the DICOM information of a performed exam, this includes: Device Protocol Name Exam Technical Factors

95 Protocol Relationship Diagram

Master Protocol Editor The Master Protocol Editor lists all the Master Protocols, and allows for their organization into groups as well as their creation, importing and editing.

96 The left hand column displays the list of Master Protocol groups. These can be user-defined, and can be expanded or minimized to display their sub-groups by clicking on the directional arrows. Clicking on the name of the group displays the protocols in that group on the right hand pane. The Add button adds a new Protocol Group and brings up a dialog box allowing you to specify its name. The Edit button brings up a dialog box allowing you to edit the name of the currently selected Protocol Group. The Delete button deletes the currently selected group.

The Search Scope drop-down menu allows you to narrow the scope of the protocols you are searching for by the Protocol Group that is currently selected, with or without its associated subgroups. It also allows you to expand the scope back to all protocols in the system.

The Modality drop-down menu allows you to narrow the scope of your search by the particular modality of the protocol (e.g. XR, CT, US).

The Status drop down narrows the scope of the search by the current status of the protocol - Active, Pending, New, or All. Active protocols have been approved and will have their Dose Reference Levels applied if present.

The Protocol Name search box allows you to search for Master Protocols by entering part of their name.

97 The Add button allows you to add a new protocol and to edit its parameters, while the Edit button allows you to edit the currently selected protocol. The Duplicate button copies the currently selected protocol and brings up the same interface as the Add or Edit function - allowing you to change the name or edit the parameters of the copied protocol prior to saving it as a new one. The Import button allows you to import protocols from a file that you upload into the currently selected group. The Delete button deletes the currently selected protocol.

Adding or Editing Master Protocols Adding or editing Master Protocols is done via an intuitive drag and drop interface made up of fields that can be rearranged and customized including formatted text and images. The right side of the interface shows the protocol's current fields. Every Master Protocol contains a Dose Reference Level field. A RadLex Playbook Entry field is present if a RadLex Playbook Protocol is assigned.

The top-left corner contains pertinent information with respect to the protocol's status, including the creator, reviewer, whether it has been approved, the revision number, and the next review date.

A palette containing several field types is listed here, and these can be dragged and dropped into the protocol on the right side. As a field is dragged, Radimetrics will show valid locations to drop the field into via a box with a dotted border that says "Drop section here", as shown below. See "Field Types" on the facing page.

98 The Preview button generates a preview of the protocol as it will appear in the Master Protocol Library. Approving a protocol is detailed below. See "Approving a protocol" on page 101. A currently approved protocol can be marked as reviewed via the Review button. See "Reviewing a protocol" on page 102. Save and return saves the current state of the protocol and returns to the Master Protocol Editor page, while Save and continue saves the current state of the protocol and remains in the editing interface.

The Information field is present at the top of every protocol and indicates its name and modality. Additional information such as the Reference, Patient Position, associated Billing Codes and other protocol details can be added by clicking on the Edit button.

Below the Information field the rest of the protocol fields can be placed. The field can be moved to change its order within the protocol by clicking in this area (the top) of the field and dragging it to the desired location, above or below other fields. A hand icon will be shown if the field is eligible to be moved.

The Duplicate button generates a copy of the current field; the duplicated field will be displayed just below the current field. The Delete button deletes the field.

Field Types The four field types include Rich Text, Contrast, Device Imaging, and Diagrams. These can be added to the protocol in any order and quantity as needed.

99 Rich Text

The Rich Text field type offers word-processor level text and graphic formatting capabilities. These can be used to create descriptions of the protocol or annotate other fields. It is possible to copy and paste text from existing documents into the Rich Text field.

Contrast

The Contrast field allows a protocol to store details related to contrast administration associated with the protocol. First, a route is selected (oral, IV, etc) and after, the specific parameters for the chosen route of contrast can be edited including type, volume, rate and more. The Contrast field can be contained within a Device Imaging section (as can be seen below) or within an Acquisition.

Device Imaging

The Device Imaging field describes the specific hardware devices associated with a protocol and is shown below.

Specific scouts/localizers, acquisitions and contrast types can be directly associated with the imaging device by clicking on the button. Clicking on the Active checkbox activates the Device Imaging section

100 within the protocol, and prevents a user from editing the field. The additional options available are described in the table below. The Add Scout/Localizer option will add a sub-field that can be used to describe Add Scout/Localizer the scout or localizer parameters, including fields such as orientation, voltage, current, direction, as well as additional comments. The Add Acquisition option adds a sub-field that describes an acquisition phase for the protocol. Within this, relevant acquisition parameters such as scan region, Add Acquisition slice thickness, and scan mode can be defined. Reconstruction parameters can be added, along with Contrast parameters. The Add Contrast option adds a sub-field that describes contrast parameters Add Contrast associated with the device used for the protocol. The interface is described above. See "Contrast" on the previous page.

Diagrams

The Diagrams field can be used to display protocol-relevant diagrams or images with a caption and associated comments. These diagrams are sourced from the Definitions library.

Approving a protocol In addition to setting the protocol to approved status, the Approve Protocol dialog box allows for setting the effective date for the protocol, the next review date, the names of the approvers, and the description for the protocol revision being approved.

101 Reviewing a protocol A currently approved protocol can be marked as having been reviewed. The review button brings up a dialog box allowing the next review date to be set along with a field to enter the names of other reviewers.

102 Importing Master Protocols Master Protocols can be imported from XML, CSV or TXT files that have been exported from devices. These can contain one or multiple protocols, and the import process allows for the appropriate mapping of device-specific localizer, acquisition and reconstruction parameters to the Radimetrics equivalent fields. This section details the step-by-step process involved in importing protocols. After clicking on the Import button from the Master Protocol Editor, the screen below appears. Step 1 - Import File

The file containing the protocols can be dragged on top of the dotted area OR

The "Select a File" button can be used to open a dialog box that allows you to choose which file to import.

After this, the File Name, Manufacturer, and Device fields are populated as seen below:

103 Click Next to continue after verifying that the file, manufacturer and device is as expected. After that, Step 2 is shown. Step 2, 3, and 4 - Mapping Fields Step 2, 3 and 4 are similar as they all involve mapping fields. Step 2 allows you to map Localizer Protocol Parameters; Step 3 allows you to map Acquisition Protocol Parameters, and Step 4 allows you to map Reconstruction Protocol Parameters. Step 2 is displayed as an example below. Radimetrics fields appear on the left column, and the Device fields appear on the right column. Note that if you scroll to the bottom of the interface, a listing of all the protocols found in the file can be seen.

104 The drop down here allows you to choose between showing all the parameters, only the mapped parameters, or only the unmapped parameters. If a lot of fields have to be mapped, it may be prudent to display only the fields that remain to be mapped.

Click on the drop-down menu to select the appropriate matching imported file's fields relative to its Radimetrics counterpart on the left side.

Note that Radimetrics fields may not have exactly the same name as corresponding Device fields, as the device manufacturer may have chosen to use a different name for the field. Once mapping has been completed for a step, click on the Next button at the bottom of the interface to move to the next step. Step 5 - Preview Step 5, the Preview step, is shown below:

105 Verify the Protocol Group that the protocols will be imported into here.

Click on the checkbox to mark a protocol for import. The All checkbox at the top of the column can be used to import all the protocols at once, and is useful if there are many protocols to import.

The Preview button opens a preview pane so you can review the protocol details as it will appear in the Master Protocol Library. If errors are seen in mapping, then it is possible to use the Back button to go back in the process to remap fields.

Once you have marked the protocols for importing, click on the Import button to complete the process of adding the protocols to Radimetrics.

Using the Preview button, the below is a sample preview of a protocol as it will appear in the Master Protocol Library.

106 Master Protocol Library The Master Protocol Library interface is shown below. It serves as a searchable list of all the Master Protocols in the system and allows the protocol details to be reviewed.

107 The left hand column displays the list of Master Protocol groups. These can be expanded or minimized to display their sub-groups by clicking on the directional arrows. Clicking on the name of the group displays the protocols in that group on the right hand pane.

The Search Scope drop-down menu allows you to narrow the scope of the protocols you are searching for by the Protocol Group that is currently selected, with or without its associated subgroups. It also allows you to expand the scope back to all protocols in the system.

The Modality drop-down menu allows you to narrow the scope of your search by the particular modality of the protocol (e.g. XR, CT, US).

The Protocol Name search box allows you to search for Master Protocols by entering part of their name.

Clicking on any protocol brings up the protocol's details as in the example shown below.

108 The protocol details window allows for the option of downloading the protocol to a PDF file via the Download button at the top-right of the window. Section headers just under the protocol name can be clicked on to quickly navigate to different parts of the protocol. No editing is allowed.

109 Alerts

Alerts fall under 3 categories:

Dose Alerts Dose Alerts are user-configurable with the appropriate privileges and may be set to notify you of events such as an examination exceeding a dose reference level or a patient who is reaching their cumulative dose thresholds, and are user-configurable with the appropriate privileges. System Errors System Errors pertain to alerts about dose calculations, dose reports, general software errors, licensing or system information. Notifications Notifications cover protocol related information, such as whether protocols have been revised, activated, or are due for review. The interface to address all the categories of alerts is similar and it starts with the Active Alerts page. Note that clicking on an exam or patient name will bring you directly to the Exam or Patient Details page associated with that alert. You can set up subscriptions to Alert categories specific to your needs. See "Editing Alert Details" on page 86 for more details on this. The Alerts interface is shown below:

110 Click on the Filter button to filter the displayed alerts. Note that using the filter will allow you to change the scope of alerts listed. For example, it is possible display all alerts rather than those that apply just for yourself, or to display alerts with a specific status.

The currently applied filters are displayed along this row. It is possible to remove filters directly from here by clicking on the respective Remove button.

The rightward arrow can be clicked to show details and history for each alert, as shown below.

The Viewed Selected button allows you to mark selected alerts as having been viewed. The Delete Selected button allows you to delete the selected alerts. Multiple alerts can be selected simultaneously by using the Shift (for a range of items) or Control (for individual items) keyboard buttons. To prevent accidental deletion, a dialog box will appear asking you to confirm deletion before it occurs.

Click on the Edit button to edit or acknowledge an alert and remove it from the Active Alerts list. Click on the Forward button to forward an alert to another user. Click on the Tag button to assign one or more Tags to the examination or patient associated with the alert. A dialog box will appear for this. Tags can be used as a search criteria for associated examinations or patients. Click on the Delete button to delete an alert. To prevent accidental deletion, a dialog box will appear asking you to confirm deletion before it occurs.

The Export button opens the Alert Exporter interface, allowing you to export the listed alerts to CSV/XLS/XLSX or PDF formats. See "Exporting Alerts" on page 114.

As a user, deleting an alert associated with your account ("My Alerts") will delete it from your account only. For a System Administrator, deleting an alert from the "All Alerts" category will delete the individual alert for all users. Please ensure that is the expected result before deleting for all users. Acknowledging will also remove the alert from all users but maintain the alert for future viewing and modifying.

Alert details and history The details and history of management for each alert are shown in the expanded view. An example of the expanded view is shown below.

111 The values in the expanded view are color coded, with red values indicating that a maximum reference level has been exceeded, and orange values indicating a value that extends below the minimum reference level. The maximum and minimum reference values for each Value of Interest are also shown if present. See "Dose Reference Levels" on page 43 for more details on modifying Dose Reference Levels.

Editing Alerts After clicking on the Edit button, the dialog box below appears.

112 Alerts related to the current alerts may be shown. If present they can be included for being marked as viewed or acknowledged, by either using the Select All button or by individually clicking on the checkboxes beside the listed related alerts.

A Deviation Category can be chosen for the alert.

The "Mark as" section lists options to allow the alert to be marked as Viewed, or Acknowledged (for the current user or for all users). The available "Mark as" options are dependent on the type of alert being addressed.

113 Comments can be added to the specific alert for review later and are mandatory if the alert is being acknowledged.

Click on Save to ensure the alert is marked or acknowledged as you have chosen.

Forwarding Alerts After clicking on the Forward button, the dialog box below appears, allowing you to forward an alert to another user in Radimetrics along with your typed comments. Click on Save to ensure the alert is forwarded.

Exporting Alerts Alerts can be exported to XLS/CSV/XLSX or PDF formats. The interface appears as below:

114 You can switch between exporting to CSV/XLS/XLSX formats, PDF format, and a PDF that only includes a Group Summary Report here. See "Exporting to PDF" below for a description of the Group Summary Report.

The drop-down / field selection menus allow you to select the fields you would like to include regarding the alert details, examination data, and patient data.

If this is checked, only the alerts that were selected before entering the Alerts Exporter will be exported rather than all the listed alerts.

The Values of Interest check box, if enabled, will include relevant Values of Interest as defined by the Value Indicator Settings configuration module. See "Value Indicators" on page 78.

This drop down menu allows you to choose between CSV, XLS, and XLSX formats.

Exporting to PDF When exporting PDFs, the interface appears slightly differently:

115 Type in a title to be used for the PDF export file in this field.

The Group By drop-down menu allows a choice between no grouping (the default), or grouping exported alerts by the specified parameter such as by patient, examination, or operator.

Include Group Summary, when selected, puts a summary of the exported alerts on the first page of the PDF report. This may include information such as the number or percentage of alerts associated with a specific patient, exam or other parameter as you have specified in Group By. If you have selected to export a PDF Group Summary Report then it will only contain the summary of the alerts selected for export.

116 Filters

Filtering is a powerful tool that allows you to display a subset of the available data on pages like the Summary page or Alerts by applying your specified criteria, such as specific protocols, devices, dose ranges, alert categories and more. Note that the filters for the Summary page are different than the filters for the Alerts pages used in the example shown below. However, the overall interface remains the same. At the top of a page that allows filters, you can see the list of applied filters, each represented by a text box, and the filter button, as shown below:

After you click on the Filter button on the left hand side of the page, the Filter Options list below appears. The list of filters available is specific to the context of the active page, but the general interface is intuitive and similar across all the pages.

Clicking on the Add Filter button or clicking on an applied filter allows you to add a new filter type or or edit the current filter type's parameters as described below.

117 Clicking on the Remove button removes the corresponding filter.

Clicking on Remove All Filters removes all the filters.

Adding or Editing a Filter

Click on the Add Filter button or click on an applied filter.

This opens a second dialog box to the right side, allowing you to modify the specific parameters of the chosen filter.

You must click on the Apply button after finishing your edits to the parameters in order to apply them.

Summary Page and Graph Filters Filters can be used at the individual graph level and at the Summary Page level. At the Summary Page level, when filters are applied (while editing a non-system default Summary Page), it is possible to have a conflict with the graph-level filters. This will result in a null set for display. If there is a conflict, the filter icon will turn red and this will need to be resolved. All the filters will be applied, with the Summary Page level filters taking precedence over the chart level filters. An example is shown below.

118 Note the red Filter icon on the graph, indicating the presence of a conflicting filter that has resulted in no information being displayed.

119 Tags

Tags can be applied to exams or patients, allowing them to be grouped together and searched. For example, you could tag patients that were participating in a study, or tag examinations that require follow up due to having triggered specific dose alerts. Multiple tags can be applied to an exam or patient, and they can be assigned through different areas in the Radimetrics software. The below example is from the Alerts page.

The number on the top right of the Tag button indicates the total number of tags associated with this alert. Click on the Tag button to display the options to assign an exam or patient tag.

Clicking on the Exam icon will open a dialog box allowing you to edit the exam's associated tags.

Likewise, clicking on the Patient icon will open a dialog box allowing you to edit the patient's associated tags.

Editing Tags The following dialog box appears when editing exam or patient tags.

120 The Tag icon appears with the total number of tags associated with this exam or patient. To the right are the names of the tags that are associated. Clicking on the button on the top-right of the tag will remove it.

This drop-down menu will allow you to select a currently existing tag to associate with this exam or patient, or to create a new one by entering in a new tag name after clicking on the menu.

121 This page intentionally left blank to ensure new chapters start on right (odd number) pages.

122 GLOSSARY CBCT C Bq B ALARA ACR A procedures. generally standard provides emitted CBCT second, 1 emits to while safety Stands ACR Bq the represents stands energy maintaining amount principle stands for in and 3D CT, lower. a "As (Bq). cone- for imaging 37 the as for of Low the that billion One a a CBCT ionizing Cone imaging shaped rate result diagnostic American As aims of information Reasonably (3.7 of Beam is three of radioactive radiation to used resolution beam. the x reduce 10^10) units quality. College Computed radioactive primarily Relative but released used radiation Achievable". is Bq decay with of decreased equals to in Radiology. Tomography. higher to decay measure dental equal when standard exposure 1 In radiation of curie and to but an radiology, an radioactivity, 1 element the x- interventional disintegration unstable In (Ci). as ray CBCT, radiation much dose. imaging, ALARA spontaneously atom. as Relative the which dose possible x- radiology per this is rays As refers a is such, to are CTDI CTDI stands for Computed Tomography Dose Index and is a measured dose quantity per slice of the scan. The measurement is quantified in units of (Gy).

CTDIvol CTDIvol stands for volume CTDI, a derivative of the CTDI which describes the average delivered to a scan volume. The scan volumes used are standardized phantoms, 16 cm in diameter for the head and 32 cm in diameter for the body.

CTDIw The weighted (or average) CTDI across a single CT scan plane.

Curie Curie (Ci) - One of three units used to measure the intensity of radioactivity in a sample of material. Radioactivity is also the term used to describe the rate at which radioactive material emits radiation, or how many atoms in the material decay (or disintegrate) in a given time period. As such, 1 Ci is equal to 37 billion (3.7 x 10^10) disintegrations per second, so 1 Ci also equals 37 billion (3.7 x 10^10) Bequer- els (Bq). A curie is also a quantity of any radionuclide that decays at a rate of 37 billion disintegrations per second (1 gram of radium, for example).

D

DAP The Dose Area Product quantifies radiation risk from diagnostic or interventional procedures by includ- ing both the radiation dose and the area of the tissue irradiated. It is expressed in units of mGy*cm^2.

DICOM Stands for Digital Imaging and Communications in Medicine. DICOM is the international standard for defining the exchange of medical imaging data. It is defined in ISO 12052.

DLP DLP stands for Dose-Length Product. It is an estimate of the total radiation dose delivered by a CT scan. See DLP Body and DLP Head. The Dose-Length Product is derived from the CTDIvol.

DLP Body Represents CTDIvol (mGy) multiplied by scan length (cm). For DLP Body, a 32 cm acrylic phantom is used in the calculation of CTDIvol.

124 DLP Head Represents CTDIvol (mGy) multiplied by scan length (cm). For DLP Head, a 16 cm acrylic phantom is used in the calculation of CTDIvol.

DRL Dose or Diagnostic Reference Levels are established reference values, that if exceeded, identify radi- ation exposures that are unusually high for common diagnostic medical imaging procedures.

DXA DXA (also known as DEXA) stands for Dual-energy X-ray absorptiometry. In a DEXA scan, two x-ray beams with different energy levels are used. This type of scan is mainly used to measure bone mineral density.

G

Gray The gray is the SI unit defined by the absorption of one joule of energy per kilogram of matter. Gy is short for gray, whereas mGy stands for milliGray (1/1000th of a gray).

Gy The gray is the SI unit defined by the absorption of one joule of ionizing radiation energy per kilogram of matter. Gy is short for gray, whereas mGy stands for milliGray (1/1000th of a gray).

H

HL7 This is a term used to refer to both the organization Health Level 7 and the standards for the exchange, management and integration of electronic healthcare information that have been created by the organ- ization.

HVL HVL, or half value layer, is the thickness of a material required to reduce the intensity of radiation enter- ing it by one half; it is measured in millimeters of aluminum (mm Al).

125 I

ICRP ICRP stands for the International Commission on Radiological Protection. It is an independent, inter- national organization that develops and maintains the International System of Radiological Protection used world-wide as the common basis for radiological protection standards, legislation, guidelines, pro- grammes, and practice.

ICRP 103 A method of calculating effective dose. Effective dose is calculated by multiplying weighting factors by an per organ in order to correct for the differences in tissue radiosensitivity. The weight- ing factors set out in ICRP Publication 60 were updated in ICRP Publication 103 (2007). In Radi- metrics, this calculation is derived from phantom simulations, the scan region, scan length, KVP, and CTDIvol.

ICRP 106 A method of calculating effective dose. Effective dose is calculated by multiplying administered activity by weighting factors of equivalent dose per organ in order to correct for the differences in tissue radi- osensitivity and pharmacological persistence.

ICRP 128 A method of calculating effective dose. Effective dose is calculated by multiplying administered activity by weighting factors of equivalent dose per organ in order to correct for the differences in tissue radi- osensitivity and pharmacological persistence.

ICRP 53 A method of calculating effective dose. Effective dose is calculated by multiplying administered activity by weighting factors of equivalent dose per organ in order to correct for the differences in tissue radi- osensitivity and pharmacological persistence.

ICRP 60 A method of calculating effective dose. Effective dose is calculated by multiplying weighting factors by an equivalent dose per organ in order to correct for the differences in tissue radiosensitivity. One set of weighting factors is set out in the ICRP Publication 60 (1990).

126 K

KVO KVO, also known as Keep Vein Open, is a setting on an injector that uses the lowest possible infusion rate of saline in order to keep a patient’s vein open.

L

Localizer The localizer or scout image is essentially an x-ray taken before the imaging series in order to plan the location of the actual CT scan or series of scans. Some manufacturers refer to this as a Surview or Topogram.

M

mCi A Millicurie represents 1/1000th of a Curie.

mGy The gray is the SI unit defined by the absorption of one joule of ionizing radiation energy per kilogram of matter. Gy is short for gray, whereas mGy stands for milliGray (1/1000th of a gray).

Modulation Refers to the modulation of CT tube current. In general, this is done to minimize radiation dose while keeping diagnostic image quality optimal. Most CT scan manufacturers have their own optimizations for modulation of the CT tube current.

mSv The is the SI unit defined by the biological effect of the absorption of one joule of ionized radi- ation per kilogram. Unit-wise it is equivalent to the gray, however, it is not interchangeable as it describes the delivered dose in relation to its effect on biological tissues. X-rays, alpha rays, gamma rays and neutrons are different forms of ionizing radiation that may be measured in terms of gray but have different impacts on biological tissue measured in . mSv stands for milliSievert (1/1000th of a Sievert).

127 O

Overranging In order to generate the first and last slice in a spiral CT scan, the scanner is required to scan past the ends of the defined scan length. This is termed 'overranging'. It is a source of excess radiation.

P

PACS An acronym standing for Picture Archiving and Communications System. It is the basis for storage and retrieval of medical imaging and reports.

Pareto A Pareto chart is composed of a bar graph (in descending order) which is overlaid with a line graph that represents the cumulative total of the values represented by the bars. It can help to isolate the most important factors among a large set of factors.

Patient Body Mass Index The Patient Body Mass Index (BMI) is derived from the Patient Height and Weight measurements, and is equal to the patient's weight in kg / (height in m)^2.

Patient Height The Patient Height is a measurement derived from the patient's height in centimetres (cm) at the time of the exam.

Patient Weight The Patient Weight is a measurement derived from the patient's height in kilograms (kg) at the time of the exam.

Phantom A phantom within the context of Radimetrics software is a virtual model of the human body used to help model and calculate radiation dosing.

PT PT (more commonly known as PET) stands for Positron Emission Tomography. PET scans fall under the category of nuclear medicine. PET utilizes a positron-emitting radioactive tracer as part of a

128 molecule that is the analog of a metabolically active molecule in the body such as glucose. Gamma rays that are emitted from this molecule are detected by a gamma camera and the resulting images are often combined with another modality such as CT or MRI to produce metabolic (functional) and ana- tomic information that can be correlated.

R

RadLex A unified language of radiology terms created by committees formed by the Radiological Society of North America (RSNA), intended to allow standardized indexing and retrieval of radiology information resources. The RadLex Playbook provides consistent procedure names for radiology procedures.

RPID RPID stands for RadLex Playbook ID - a unique identifier of a Playbook name.

S

SAR SAR stands for Specific absorption rate, which is the rate at which radiofrequency energy is absorbed by a biological mass. The units used are watts per kilogram (W/kg).

Scout The localizer or scout image is essentially an x-ray taken before the imaging series in order to plan the location of the actual CT scan or series of scans. Some manufacturers refer to this as a Surview or Topogram.

Sievert The sievert is the SI unit defined by the biological effect of the absorption of one joule of ionized radi- ation per kilogram. Unit-wise it is equivalent to the gray, however, it is not interchangeable as it describes the delivered dose in relation to its effect on biological tissues. X-rays, alpha rays, gamma rays and neutrons are different forms of ionizing radiation that may be measured in terms of gray but have different impacts on biological tissue measured in sieverts. mSv stands for milliSievert (1/1000th of a Sievert).

SPC Statistical Process Control (SPC) is a quality control method that applies statistics to determine whether a process is stable. If a process is found to be unstable, controls can be applied to correct the process.

129 SSDE A Size Specific Dose Estimate is used to account for differences in body size and is derived from mul- tiplying CTDIvol and a conversion factor corresponding to the midline axial's effective diameter. In Radi- metrics, the source data used for this calculation includes CTDIvol, SSDE factor lookup, and Water Equivalent Diameter. The diameter can alternately be configured by support to be sourced from the Axial Water Equivalent Diameter, Localizer Water Equivalent Diameter, or Effective Diameter.

Surview The localizer or scout image is essentially an x-ray taken before the imaging series in order to plan the location of the actual CT scan or series of scans. Some manufacturers refer to this as a Surview or Topogram.

Sv The sievert is the SI unit defined by the biological effect of the absorption of one joule of ionized radi- ation per kilogram. Unit-wise it is equivalent to the gray, however, it is not interchangeable as it describes the delivered dose in relation to its effect on biological tissues. X-rays, alpha rays, gamma rays and neutrons are different forms of ionizing radiation that may be measured in terms of gray but have different impacts on biological tissue measured in sieverts. mSv stands for milliSievert (1/1000th of a Sievert).

T

Topogram The localizer or scout image is essentially an x-ray taken before the imaging series in order to plan the location of the actual CT scan or series of scans. Some manufacturers refer to this as a Surview or Topogram.

U

UDI UDI stands for Unique Device Identifier. The UDI is a unique numeric or alphanumeric code defined by the FDA and allows identification of devices through their distribution and use.

Ultrasound Worksheet A user created form containing notes pertaining to an ultrasound examination.

130 W

Water Equivalent Diameter Water Equivalent Diameter (Dw) is defined as the diameter of a circle with an area equal to the image Water Equivalent Area. The Water Equivalent Area is the area of foreground pixels weighted according to their radiodensity, as compared to water. Within Radimetrics, the Patient Water Equivalent Diameter is derived from the patient's most recent examination Water Equivalent Diameter value. By default this value is sourced from the localizer first, and if not present, then the axial images. This is configurable by support to source from the localizer only, axial only, or axial first and then localizer.

X

XbarS - Histogram Chart An XbarS Chart is a statistical quality control chart that is used to monitor the mean and variation of a process utilizing samples in order to calculate control limits and indicate if a process is in-control (within upper and lower control limits) or perhaps trending towards a control limit. In Radimetrics soft- ware we paired the XbarS Chart with additional functionality which allows a user to view a Histogram chart relating to a particular sample.

131 This page intentionally left blank to ensure new chapters start on right (odd number) pages.

132 Licenses

The following are third party licenses applicable to Radimetrics Software.

Component Version License Title License URL

com.beust.jcommander 1.72 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.carrotsearch.hppc 0.8.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.codahale.metrics.metrics-core 3.0.2 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.drewnoakes.metadata-extractor 2.6.2 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.fasterxml.classmate 1.3.4 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.fasterxml.jackson.core.jackson 2.10.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.fasterxml.jackson.dataformat.jackson- 2.8.11 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 dataformat-cbor

com.fasterxml.jackson.dataformat.jackson- 2.8.11 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 dataformat-smile

com.fasterxml.jackson.dataformat.jackson- 2.10.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 dataformat-xml

com.fasterxml.jackson.dataformat.jackson- 2.8.11 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 dataformat-yaml

com.fasterxml.jackson.datatype.jackson-datatype- 2.10.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 jsr310

com.fasterxml.jackson.module.jackson-module- 2.8.11 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 jaxb-annotations

com.fasterxml.woodstox.woodstox-core 5.1.0 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.github.spullara.mustache.java.compiler 0.9.3 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.github.virtuald.curvesapi 1.04 BSD License http://opensource.org/licenses/BSD-3-Clause

com.google.code.findbugs.annotations 2.0.1 GNU Lesser Public License http://www.gnu.org/licenses/lgpl.html

com.google.code.findbugs.jsr305 3.0.2 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.google.code.gson.gson 2.8.5 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.google.errorprone.error_prone_annotations 2.3.2 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.google.guava.failureaccess 1.0.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.google.guava.guava 28.0-jre Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.google.j2objc.j2objc-annotations 1.3 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.googlecode.mp4parser.isoparser 1.0-RC-1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.jayway.jsonpath.json-path 2.2.0 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.jayway.restassured 2.9.0 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

133 com.sun.mail.javax.mail 1.6.2 CDDL/GPLv2+CE https://javaee.github.io/javamail/LICENSE

com.sun.media.jai_imageio 1.2-pre-dr-b05 BSD 3-clause License http://opensource.org/licenses/BSD-3-Clause

com.sun.xml.fastinfoset.FastInfoset 1.2.16 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.tdunning.t-digest 3.2 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.vaadin.external.google.android-json 0.0.20131108.vaadin1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

com.zaxxer.HikariCP 3.3.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-beanutils.commons-beanutils 1.9.4 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-cli.commons-cli 1.3.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-codec.commons-codec 1.12 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-collections.commons-collections 3.2.2 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-dbcp.commons-dbcp 1.4 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-httpclient.commons-httpclient 3.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-io.commons-io 2.6 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-jxpath.commons-jxpath 1.3 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-lang.commons-lang 2.6 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-logging.commons-logging 1.2 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-net.commons-net 3.5 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

commons-pool.commons-pool 1.6 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

de.congrace.exp4j 0.3.11 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

de.l3s.boilerpipe.boilerpipe 1.1.0 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

io.undertow.undertow-core 1.4.28.Final Apache License Version 2.0 http://repository.jboss.org/licenses/apache-2.0.txt

io.undertow.undertow-servlet 1.4.28.Final Apache License Version 2.0 http://repository.jboss.org/licenses/apache-2.0.txt

io.undertow.undertow-websockets-jsr 1.4.27.Final Apache License Version 2.0 http://repository.jboss.org/licenses/apache-2.0.txt

javax.validation.validation-api 1.1.0.Final Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

javax.xml.stream.stax-api 1.0-2 GNU General Public Library http://www.gnu.org/licenses/gpl.txt

joda-time.joda-time 2.9.9 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

net.bytebuddy.byte-buddy 1.9.7 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

net.bytebuddy.byte-buddy-agent 1.9.7 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

net.minidev.accessors-smart 1.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

net.minidev.json-smart 2.2.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

net.sf.jopt-simple.jopt-simple 5.0.2 The MIT License http://www.opensource.org/licenses/mit-license.php

org.assertj.assertj-core 2.6.0 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.ccil.cowan.tagsoup.tagsoup 1.2.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.checkerframework.checker-qual 2.8.1 The MIT License http://opensource.org/licenses/MIT

134 org.codehaus.groovy.groovy 2.4.17 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.codehaus.jackson.jackson 1.6.3&1.9.13 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.codehaus.mojo.animal-sniffer-annotations 1.17 MIT license http://www.opensource.org/licenses/mit-license.php

org.codehaus.woodstox.stax2-api 4.1 The BSD License http://www.opensource.org/licenses/bsd-license.php

org.elasticsearch 7.3.0 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.elasticsearch.jna 4.5.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.gagravarr.vorbis-java-core 0.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.gagravarr.vorbis-java-tika 0.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.hamcrest.hamcrest 1.3 New BSD License http://www.opensource.org/licenses/bsd-license.php

org.hibernate.hibernate-validator 5.3.6.Final Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.jboss.logging.jboss-logging 3.3.2.Final Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.jboss.resteasy.jaxrs-api 2.2.1.GA Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.jboss.resteasy.jaxrs-api 3.0.4.Final Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.jboss.resteasy.resteasy-jackson-provider 2.2.1.GA Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.jboss.resteasy.resteasy-jaxrs 2.2.1.GA Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.jfree.jcommon 1.0.23 GNU Lesser General Public Licence http://www.gnu.org/licenses/lgpl.txt

org.jfree.jfreechart 1.0.19 GNU Lesser General Public Licence http://www.gnu.org/licenses/lgpl.txt

org.objenesis.objenesis 2.6 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.powermock.powermock 2.0.0 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.scannotation.scannotation 1.0.3 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.skyscreamer.jsonassert 1.4.0 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.slf4j.jcl-over-slf4j 1.7.26 MIT License http://www.opensource.org/licenses/mit-license.php

org.slf4j.jul-to-slf4j 1.7.26 MIT License http://www.opensource.org/licenses/mit-license.php

org.slf4j.log4j-over-slf4j 1.7.26 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.slf4j.slf4j-api 1.7.22 MIT License http://www.opensource.org/licenses/mit-license.php

org.springframework.boot.spring-boot 1.5.22.RELEASE Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.springframework.integration.spring-integration 4.3.21.RELEASE Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.springframework.ldap.spring-ldap-core 2.3.2.RELEASE Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.springframework.retry.spring-retry 1.2.4.RELEASE Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.springframework.security.oauth.spring- 2.0.18.RELEASE Apache License Version 2.0 https://www.apache.org/licenses/LICENSE-2.0.txt security-oauth2

org.springframework.security.spring-security 4.2.13.RELEASE Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.springframework.spring 4.3.25.RELEASE Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.yaml.snakeyaml 1.17 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

135 rome.rome 0.9 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

stax.stax-api 1.0.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

xalan.serializer 2.7.2 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

xalan.xalan 2.7.2 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

xerces.xercesImpl 2.8.1 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

xml-apis.xml-apis 1.4.01 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

xml-apis.xml-apis-ext 1.3.04 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

http://www.gnu.org/licenses/old-licenses/lgpl- ch.qos.logback.logback 1.1.11 GNU Lesser General Public License 2.1.html

com.sun.xml.ws.jaxws-rt 2.3.2 Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

GNU General Public License version 2 with the jakarta.annotation.jakarta.annotation-api 1.3.4 https://www.gnu.org/software/classpath/license.html GNU Classpath Exception

GNU General Public License version 2 with the jakarta.json.jakarta.json-api 1.1.5 https://www.gnu.org/software/classpath/license.html GNU Classpath Exception

GNU General Public License version 2 with the jakarta.ws.rs.jakarta.ws.rs-api 2.1.6 https://www.gnu.org/software/classpath/license.html GNU Classpath Exception

GNU Lesser General Public License (LGPL) org.codehaus.jackson.jackson-jaxrs 1.6.3 http://www.gnu.org/licenses/lgpl-2.1.html Version 2.1

GNU Lesser General Public License (LGPL) org.codehaus.jackson.jackson-xc 1.6.3 http://www.gnu.org/licenses/lgpl-2.1.html Version 2.1

GNU General Public License version 2 with the org.glassfish.ha.ha-api 3.1.12 https://www.gnu.org/software/classpath/license.html GNU Classpath Exception

GNU General Public License version 2 with the org.glassfish.hk2.external.jakarta.inject 2.6.1 https://www.gnu.org/software/classpath/license.html GNU Classpath Exception

GNU General Public License version 2 with the org.glassfish.jakarta.json 1.1.5 https://www.gnu.org/software/classpath/license.html GNU Classpath Exception

GNU General Public License version 2 with the org.glassfish.jersey 2.29.1 https://www.gnu.org/software/classpath/license.html GNU Classpath Exception

BSD 2-Clause https://opensource.org/licenses/BSD-2-Clause

Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

Modified BSD http://asm.objectweb.org/license.html

MIT license http://www.opensource.org/licenses/mit-license.php

GNU Lesser General Public License (LGPL) org.javassist.javassist 3.21.0-GA http://www.gnu.org/licenses/lgpl-2.1.html Version 2.1

Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

org.jboss.spec.javax.annotation.jboss-annotations- 1.0.2.Final GNU General Public License v2.0 only api_1.2_spec

136 org.jboss.spec.javax.servlet.jboss-servlet-api_3.1_ 1.0.2.Final GNU General Public License v2.0 only spec

org.jboss.spec.javax.websocket.jboss-websocket- 1.1.3.Final GNU General Public License v2.0 only api_1.1_spec

http://www.opensource.org/licenses/bsd- org.reflections.reflections 0.9.10 The New BSD License license.html

Mockito License The MIT License Copyright (c) 2007 Mockito contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. XMP Toolkit for Java Copyright (c) 2009, Adobe Systems Incorporated All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Adobe Systems Incorporated, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANT ABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN

137 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. jsoup License The jsoup code-base (including source and compiled packages) are distributed under the open source MIT license as described below. The MIT License Copyright (c) 2009 - 2020 Jonathan Hedley (https://jsoup.org/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Aduna BSD License Copyright Aduna (http://www.aduna-software.com/) 2001-2013 All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

138 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. netCDF C library license Copyright 1993-2019 University Corporation for Atmospheric Research/Unidata Portions of this software were developed by the Unidata Program at the University Corporation for Atmospheric Research. Access and use of this software shall impose the following obligations and understandings on the user. The user is granted the right, without any fee or cost, to use, copy, modify, alter, enhance and distribute this software, and any derivative works thereof, and its supporting documentation for any purpose whatsoever, provided that this entire notice appears in all copies of the software, derivative works and supporting documentation. Further, UCAR requests that the user credit UCAR/Unidata in any publications that result from the use of this software or in any product that includes this software, although this is not an obligation. The names UCAR and/or Unidata, however, may not be used in any advertising or publicity to endorse or promote any products or commercial entity unless specific written permission is obtained from UCAR/Unidata. The user also understands that UCAR/Unidata is not obligated to provide the user with any support, consulting, training or assistance of any kind with regard to the use, operation and performance of this software nor to provide the user with any updates, revisions, new versions or "bug fixes." THIS SOFTWARE IS PROVIDED BY UCAR/UNIDATA "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL UCAR/UNIDATA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE. Bouncy Castle License Copyright (c) 2000 - 2020 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

139 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Eclipse Public License - v 1.0 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 1. DEFINITIONS "Contribution" means: a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor: i) changes to the Program, and ii) additions to the Program; where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. "Contributor" means any person or entity that distributes the Program. "Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. "Program" means the Contributions distributed in accordance with this Agreement. "Recipient" means anyone who receives the Program under this Agreement, including all Contributors. 2. GRANT OF RIGHTS a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.

140 c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. 3. REQUIREMENTS A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: a) it complies with the terms and conditions of this Agreement; and b) its license agreement: i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. When the Program is made available in source code form: a) it must be made available under this Agreement; and b) a copy of this Agreement must be included with each copy of the Program. Contributors may not remove or alter any copyright notices contained within the Program. Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. 4. COMMERCIAL DISTRIBUTION Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and

141 cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. 5. NO WARRANTY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. 6. DISCLAIMER OF LIABILITY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 7. GENERAL If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the

142 initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. Eclipse Public License - v 2.0 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 1. DEFINITIONS “Contribution” means: a) in the case of the initial Contributor, the initial content Distributed under this Agreement, and b) in the case of each subsequent Contributor: i) changes to the Program, and ii) additions to the Program; where such changes and/or additions to the Program originate from and are Distributed by that particular Contributor. A Contribution “originates” from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include changes or additions to the Program that are not Modified Works. “Contributor” means any person or entity that Distributes the Program. “Licensed Patents” mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. “Program” means the Contributions Distributed in accordance with this Agreement. “Recipient” means anyone who receives the Program under this Agreement or any Secondary License (as applicable), including Contributors. “Derivative Works” shall mean any work, whether in Source Code or other form, that is based on (or derived from) the Program and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. “Modified Works” shall mean any work in Source Code or other form that results from an addition to, deletion from, or modification of the contents of the Program, including, for purposes of clarity any new file in Source Code form that contains any contents of the Program. Modified Works shall not include works that contain only declarations, interfaces, types, classes, structures, or files of the Program solely in each case in order to link to, bind by name, or subclass the Program or Modified Works thereof.

143 “Distribute” means the acts of a) distributing or b) making available in any manner that enables the transfer of a copy. “Source Code” means the form of a Program preferred for making modifications, including but not limited to software source code, documentation source, and configuration files. “Secondary License” means either the GNU General Public License, Version 2.0, or any later versions of that license, including any exceptions or additional permissions as identified by the initial Contributor. 2. GRANT OF RIGHTS a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, Distribute and sublicense the Contribution of such Contributor, if any, and such Derivative Works. b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in Source Code or other form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to Distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. e) Notwithstanding the terms of any Secondary License, no Contributor makes additional grants to any Recipient (other than those set forth in this Agreement) as a result of such Recipient's receipt of the Program under the terms of a Secondary License (if permitted under the terms of Section 3). 3. REQUIREMENTS 3.1 If a Contributor Distributes the Program in any form, then: a) the Program must also be made available as Source Code, in accordance with section 3.2, and the Contributor must accompany the Program with a statement that the Source Code for the Program is available under this Agreement, and informs Recipients how to obtain it in a reasonable manner on or through a medium customarily used for software exchange; and b) the Contributor may Distribute the Program under a license different than this Agreement, provided that such license: i) effectively disclaims on behalf of all other Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; ii) effectively excludes on behalf of all other Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;

144 iii) does not attempt to limit or alter the recipients' rights in the Source Code under section 3.2; and iv) requires any subsequent distribution of the Program by any party to be under a license that satisfies the requirements of this section 3. 3.2 When the Program is Distributed as Source Code: a) it must be made available under this Agreement, or if the Program (i) is combined with other material in a separate file or files made available under a Secondary License, and (ii) the initial Contributor attached to the Source Code the notice described in Exhibit A of this Agreement, then the Program may be made available under the terms of such Secondary Licenses, and b) a copy of this Agreement must be included with each copy of the Program. 3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices, disclaimers of warranty, or limitations of liability (‘notices’) contained within the Program from any copy of the Program which they Distribute, provided that Contributors may add their own appropriate notices. 4. COMMERCIAL DISTRIBUTION Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor (“Commercial Contributor”) hereby agrees to defend and indemnify every other Contributor (“Indemnified Contributor”) against any losses, damages and costs (collectively “Losses”) arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. 5. NO WARRANTY EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. 6. DISCLAIMER OF LIABILITY

145 EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 7. GENERAL If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be Distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to Distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. Nothing in this Agreement is intended to be enforceable by any entity that is not a Contributor or Recipient. No third- party beneficiary rights are created under this Agreement. Exhibit A – Form of Secondary Licenses Notice “This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: {name license(s), version(s), and exceptions or additional permissions here}.” Simply including a copy of this Agreement, including this Exhibit A is not sufficient to license the Source Code under Secondary Licenses.

146 If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. You may add additional accurate notices of copyright ownership. dcm4che License Version: MPL 1.1/GPL 2.0/LGPL 2.1 The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

The Original Code is part of dcm4che, an implementation of DICOM(TM) in Java(TM), hosted at http://sourceforge.net/projects/dcm4che.

The Initial Developer of the Original Code is Portions created by the Initial Developer are Copyright (C) 2002-2006 the Initial Developer. All Rights Reserved.

Contributor(s):

Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to use your version of this file under the terms of the MPL, indicate your decision by deleting the provisions above and replace them with the notice

147 and other provisions required by the GPL or the LGPL. If you do not delete the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages-- typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license

148 from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.

149 Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.

150 Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)

151 b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If

152 you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY

153 GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Apache License, Version 2.0 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the

154 Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: You must give any other recipients of the Work or Derivative Works a copy of this License; and You must cause any modified files to carry prominent notices stating that You changed the files; and You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

155 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS ASM License ASM: a very small and fast Java bytecode manipulation framework Copyright (c) 2000-2011 INRIA, France Telecom All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE

156 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. H2 License This software contains unmodified binary redistributions for H2 database engine (http://www.h2database.com/), which is dual licensed and available under the MPL 2.0 (Mozilla Public License) or under the EPL 1.0 (Eclipse Public License). An original copy of the license agreement can be found at: http://www.h2database.com/html/license.html jsch License (Revised BSD) JSch 0.0.* was released under the GNU LGPL license. Later, we have switched over to a BSD-style license. ------Copyright (c) 2002-2015 Atsuhiko Yamanaka, JCraft,Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The names of the authors may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT, INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,

157 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. XMLUnit License /* ****************************************************************** Copyright (c) 2001-2014, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the xmlunit.sourceforge.net nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN

158 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ****************************************************************** */ The MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 1. Definitions. 1.1. "Contributor" means each individual or entity that creates or contributes to the creation of Modifications. 1.2. "Contributor Version" means the combination of the Original Software, prior Modifications used by a Contributor (if any), and the Modifications made by that particular Contributor. 1.3. "Covered Software" means (a) the Original Software, or (b) Modifications, or (c) the combination of files containing Original Software with files containing Modifications, in each case including portions thereof. 1.4. "Executable" means the Covered Software in any form other than Source Code. 1.5. "Initial Developer" means the individual or entity that first makes Original Software available under this License. 1.6. "Larger Work" means a work which combines Covered Software or portions thereof with code not governed by the terms of this License. 1.7. "License" means this document. 1.8. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein. 1.9. "Modifications" means the Source Code and Executable form of any of the following: A. Any file that results from an addition to, deletion from or modification of the contents of a file containing Original Software or previous Modifications; B. Any new file that contains any part of the Original Software or previous Modification; or

159 C. Any new file that is contributed or otherwise made available under the terms of this License. 1.10. "Original Software" means the Source Code and Executable form of computer software code that is originally released under this License. 1.11. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor. 1.12. "Source Code" means (a) the common form of computer software code in which modifications are made and (b) associated documentation included in or with such code. 1.13. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. License Grants. 2.1. The Initial Developer Grant. Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, the Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license: (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer, to use, reproduce, modify, display, perform, sublicense and distribute the Original Software (or portions thereof), with or without Modifications, and/or as part of a Larger Work; and (b) under Patent Claims infringed by the making, using or selling of Original Software, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Software (or portions thereof). (c) The licenses granted in Sections 2.1(a) and (b) are effective on the date Initial Developer first distributes or otherwise makes the Original Software available to a third party under the terms of this License. (d) Notwithstanding Section 2.1(b) above, no patent license is granted: (1) for code that You delete from the Original Software, or (2) for infringements caused by: (i) the modification of the Original Software, or (ii) the combination of the Original Software with other software or devices. 2.2. Contributor Grant. Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination). (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party. (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software

160 (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor. 3. Distribution Obligations. 3.1. Availability of Source Code. Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange. 3.2. Modifications. The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License. 3.3. Required Notices. You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer. 3.4. Application of Additional Terms. You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients' rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. 3.5. Distribution of Executable Versions. You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient's rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. 3.6. Larger Works. You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software. 4. Versions of the License. 4.1. New Versions.

161 Oracle is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section 4.3, no one other than the license steward has the right to modify this License. 4.2. Effect of New Versions. You may always continue to use, distribute or otherwise make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. If the Initial Developer includes a notice in the Original Software prohibiting it from being distributed or otherwise made available under any subsequent version of the License, You must distribute and make the Covered Software available under the terms of the version of the License under which You originally received the Covered Software. Otherwise, You may also choose to use, distribute or otherwise make the Covered Software available under the terms of any subsequent version of the License published by the license steward. 4.3. Modified Versions. When You are an Initial Developer and You want to create a new license for Your Original Software, You may create and use a modified version of this License if You: (a) rename the license and remove any references to the name of the license steward (except to note that the license differs from this License); and (b) otherwise make it clear that the license contains terms which differ from this License. 5. DISCLAIMER OF WARRANTY. COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. 6. TERMINATION. 6.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. 6.2. If You assert a patent infringement claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You assert such claim is referred to as "Participant") alleging that the Participant Software (meaning the Contributor Version where the Participant is a Contributor or the Original Software where the Participant is the Initial Developer) directly or indirectly infringes any patent, then any and all rights granted directly or indirectly to You by such Participant, the Initial Developer (if the Initial Developer is not the Participant) and all Contributors under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively and automatically at the expiration of such 60 day notice period, unless if within such 60 day period You withdraw Your claim with respect to the Participant Software against such Participant either unilaterally or pursuant to a written agreement with Participant. 6.3. If You assert a patent infringement claim against Participant alleging that the Participant Software directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by

162 such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license. 6.4. In the event of termination under Sections 6.1 or 6.2 above, all end user licenses that have been validly granted by You or any distributor hereunder prior to termination (excluding licenses granted to You by any distributor) shall survive termination. 7. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. 8. U.S. GOVERNMENT END USERS. The Covered Software is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" (as that term is defined at 48 C.F.R. § 252.227-7014(a)(1)) and "commercial computer software documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Software with only those rights set forth herein. This U.S. Government Rights clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or provision that addresses Government rights in computer software under this License. 9. MISCELLANEOUS. This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by the law of the jurisdiction specified in a notice contained within the Original Software (except to the extent applicable law, if any, provides otherwise), excluding such jurisdiction's conflict-of-law provisions. Any litigation relating to this License shall be subject to the jurisdiction of the courts located in the jurisdiction and venue specified in a notice contained within the Original Software, with the losing party responsible for costs, including, without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. You agree that You alone are responsible for compliance with the United States export administration regulations (and the export control laws and regulation of any other countries) when You use, distribute or otherwise make available any Covered Software. 10. RESPONSIBILITY FOR CLAIMS. As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability.

163 NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) The code released under the CDDL shall be governed by the laws of the State of California (excluding conflict-of-law provisions). Any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California and the state courts of the State of California, with venue lying in Santa Clara County, California. Eclipse Distribution License - v 1.0 Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the Eclipse Foundation, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PostgreSQL License Copyright (c) 1997, PostgreSQL Global Development Group All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"

164 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. GNU GENERAL PUBLIC LICENSE (Version 2) Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

165 Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

166 In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies

167 directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES

168 OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS GNU LESSER GENERAL PUBLIC LICENSE (Version 3) Version 3, 29 June 2007 Copyright © 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, “this License” refers to version 3 of the GNU Lesser General Public License, and the “GNU GPL” refers to version 3 of the GNU General Public License. “The Library” refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A “Combined Work” is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the “Linked Version”. The “Minimal Corresponding Source” for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The “Corresponding Application Code” for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files.

169 The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License.

170 The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. Mozilla Public License Version 2.0 1. Definitions 1.1. “Contributor” means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. 1.2. “Contributor Version” means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor’s Contribution. 1.3. “Contribution” means Covered Software of a particular Contributor. 1.4. “Covered Software” means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. 1.5. “Incompatible With Secondary Licenses” means that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. 1.6. “Executable Form” means any form of the work other than Source Code Form. 1.7. “Larger Work” means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. 1.8. “License” means this document. 1.9. “Licensable”

171 means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. 1.10. “Modifications” means any of the following: any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or any new file in Source Code Form that contains any Covered Software. 1.11. “Patent Claims” of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. 1.12. “Secondary License” means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. 1.13. “Source Code Form” means the form of the work preferred for making modifications. 1.14. “You” (or “Your”) means an individual or a legal entity exercising rights under this License. For legal entities, “You” includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. License Grants and Conditions 2.1. Grants Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. 2.2. Effective Date The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. 2.3. Limitations on Grant Scope The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: for any code that a Contributor has removed from Covered Software; or

172 for infringements caused by: (i) Your and any other third party’s modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or under Patent Claims infringed by Covered Software in the absence of its Contributions. This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). 2.4. Subsequent Licenses No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). 2.5. Representation Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. 2.6. Fair Use This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. 2.7. Conditions Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. 3. Responsibilities 3.1. Distribution of Source Form All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients’ rights in the Source Code Form. 3.2. Distribution of Executable Form If You distribute Covered Software in Executable Form then: such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License. 3.3. Distribution of a Larger Work You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). 3.4. Notices

173 You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. 3.5. Application of Additional Terms You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. 4. Inability to Comply Due to Statute or Regulation If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. 5. Termination 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non- compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. 6. Disclaimer of Warranty Covered Software is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. 7. Limitation of Liability

174 Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party’s negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. 8. Litigation Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party’s ability to bring cross-claims or counter-claims. 9. Miscellaneous This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. 10. Versions of the License 10.1. New Versions Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. 10.2. Effect of New Versions You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. 10.3. Modified Versions If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. Exhibit A - Source Code Form License Notice This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. You may add additional accurate notices of copyright ownership.

175 Exhibit B - “Incompatible With Secondary Licenses” Notice This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the Mozilla Public License, v. 2.0. W3C® DOCUMENT NOTICE AND LICENSE Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/ Public documents on the W3C site are provided by the copyright holders under the following license. The software or Document Type Definitions (DTDs) associated with W3C specifications are governed by the Software Notice. By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions: Permission to use, copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use: A link or URL to the original W3C document. The pre-existing copyright notice of the original author, or if it doesn't exist, a notice of the form: "Copyright © [$date-of-document] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/" (Hypertext is preferred, but a textual representation is permitted.) If it exists, the STATUS of the W3C document. When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof. No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those requirements. THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON- INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders. RadLex License LICENSE AGREEMENT AND TERMS OF USE

176 RadLex License Version 2.0 Last Updated: November 14, 2014 http://www.rsna.org/radlexdownloads/ This License Agreement and Terms of Use (the “Agreement”) applies to the Work (as defined below) and describes your obligations and the terms and conditions to which you agree to use the work. Any use of a Work other than as described in this Agreement is strictly prohibited. By making any use of a Work you hereby agree to be bound by this Agreement. In consideration of your agreement to be bound by the terms and conditions contained in the Agreement, The Radiological Society of North America (RSNA) grants you the rights contained herein. 1. Definitions. “Licensor” shall mean The Radiological Society of North America (RSNA). “Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. “You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this Agreement. “Work” shall mean the Release Version of RadLex®, and any work of authorship related to the Release Version of RadLex® made available under this Agreement, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). “Adaptation” shall mean any work in any medium that is based on (or derived from) the Work including derivative works, editorial revisions, annotations, elaborations, or other modifications or adaptations that may or may not, as a whole, represent an original work of authorship. “Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is submitted to Licensor by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on customer feedback mechanisms, Licensor’s website, electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work. “Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. “RadLex®” shall mean all of the materials, documentation and works or authorship related to the Work in any and all media and formats including, the RadLex® Master Ontology, the Release Version of RadLex® and the RadLex® Playbook. “Release Version of RadLex®” shall mean the released version of RadLex® made available under this Agreement , as indicated in a copyright notice that is included in or attached to the released version of RadLex®. “RadLex® Master Ontology” shall mean the master version of RadLex® controlled and under development by the RadLex® Steering Committee and is distinct from the Release Version of RadLex®. The RadLex® Master Ontology is not available for distribution under any circumstance and is not covered by this Agreement or license.

177 “RadLex® Playbook” shall mean the works of authorship, individually and collectively, that is a portion of a Release Version of RadLex® that provides a standard, comprehensive lexicon of radiology orderables, performables, protocol names and procedure step names and associated attributes and values made available under this Agreement, as indicated in a copyright notice that is included or attached to the RadLex® Playbook. 2. Grant of Copyright License. Subject to the terms and conditions of this Agreement, Licensor hereby grants to You a worldwide, non-exclusive, no-charge, royalty-free copyright license to reproduce, prepare Adaptations of, publicly display, publicly perform, sublicense, and distribute the Work and such Adaptations in any medium. 3. Redistribution. You may reproduce and distribute copies of the Work or Adaptations thereof in any medium, with or without modifications provided that You meet the following conditions: a. You must provide notice of and give any other recipients of the Work or Adaptations a copy of this Agreement; b. You must cause any Adaptations to carry prominent notices stating that You changed the original Work and include a short description of the changes, additions, or transformation of the original Work; c. You must cause any Adaptation, the title of any Adaptation and any communication referring to an Adaptation to clearly identify that the Adaptation is not the original Work and that it is not endorsed by, affiliated with or approved by Licensor, unless otherwise agreed in writing by Licensor. An acceptable identification of an Adaptation is “Licensee’s Reporting System based on RadLex.” d. Changes introduced in Adaptations shall be limited to: i. Addition of new term attributes and corresponding values ii. Addition of new relations between terms iii. Additions or modifications that would not result in confusion between existing terms, attributes, or descriptions. iv. Additions or modifications that do not circumvent the prohibitions described in section 3(d) below. v. Other modifications that do not change the underlying semantics of existing terms and that are clearly described in the Adaptation. e. Changes to the following elements of the Work are not permitted in Adaptations: i. For RadLex® clinical terms: 1. Radlex® unique identifier (RID) 2. Name 3. Synonym 4. Ontologic relations to other terms ii. For RadLex® Playbook terms: 1. RadLex® Playbook unique identifier (RPID) 2. Exam letter code 3. Short Name 4. Long Name 5. Description 6. Existing attribute-value pairs associated with each term

178 7. RadLex® Attributes and their names f. You must retain all copyright, patent, trademark, and attribution notices that are included in the original Work and in any reproduction or Adaptation of the Work; and g. If the Work includes a disclaimer or other similar information as part of its distribution, then any Adaptation that You distribute must include a readable copy of the notices contained within such disclaimer. You may add Your own attribution notices within Adaptations that You distribute, alongside or as an addendum to the attribution notices from the Work, provided that such additional attribution notices cannot be construed as modifying this Agreement. You may add Your own copyright statement to Your modifications or additions that you may have a separable copyright interest in. Your copyright statement may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications or additions, provided that such copyright statement and Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this Agreement and such additional or different terms include the grant of a license for the redistribution and adaptation of Your modifications or additions to third parties in manner substantially similar to the license granted by this Agreement. 4. Submission of Contributions. You hereby assign, grant, or otherwise convey to Licensor all rights, title and interest in any Contribution submitted by You to the Licensor that is related to a Work. Your submissions shall be under the terms and conditions of this Agreement, without any additional consideration, terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. You also warrant that you have the authority to submit any Contribution submitted by You to the Licensor and that your Contribution does not infringe or violate the rights of any third party. You hereby release, indemnify and hold harmless RSNA, including its officials, employees, representatives and agents, successors and assigns, and its licensees from any claims that may arise regarding the use of your Contribution(s). 5. Trademarks. This Agreement does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the attribution or copyright notice required under this Agreement. You shall not use the trademarks RSNA, RadLex, RadLex Playbook, RadLex Master Ontology, any element thereof or any confusingly similar expression without Licensor’s express written permission except as required under the attribution or copyright notice requirements of this Agreement. 6. DISCLAIMER OF WARRANTY. ALL INFORMATION AND MATERIALS PROVIDED BY LICENSOR RELATED TO THE WORK AND INCLUDING THE WORK ARE PROVIDED ON AN “AS IS,” “WHERE IS” AND “WHERE AVAILABLE” BASIS AND SUBJECT TO CHANGE WITHOUT NOTICE. LICENSOR DOES NOT WARRANT THE WORK OR INFORMATION RELATED TO THE WORK EITHER EXPRESSLY OR IMPLIEDLY, FOR ANY PARTICULAR PURPOSE AND EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF TITLE, NON- INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. LICENSOR DOES NOT GUARANTEE THE ACCURACY, VALIDITY, TIMELINESS OR COMPLETENESS OF THE WORK OR ANY INFORMATION RELATED TO THE WORK. LICENSOR DOES NOT WARRANT THAT USE OF THE WORK OR THE INFORMATION RELATED TO THE WORK WILL BE ERROR- FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT USE OF THE INFORMATION RELATED TO THE WORK OR THE WORK WILL MEET OR COMPLY WITH ANY STANDARDS OR CAN BE APPLIED TO ANY OR ALL SYSTEMS OR INFRASTRUCTURE.

179 7. Disclaimer of Liability. You assume all responsibility and risk for the use of the Work and information related to the Work. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall Licensor or anyone else involved in creating or maintaining the Work or an Adaptation be liable for any DIRECT, INDIRECT, INCIDENTAL, SPECIAL or CONSEQUENTIAL DAMAGES, or LOST PROFITS that result from the use or inability to use the Work or any Adaptation. Nor shall Licensor be liable for any such damages including, but not limited to, reliance by any individual or legal entity on any information related to the Work or on the Work; or that result from mistakes, omissions, interruptions, deletion of files, viruses, errors, defects, or any failure of performance, communications failure, theft, destruction or unauthorized access by Licensor. In states which do not allow some or all of the above limitations of liability, liability shall be limited to the greatest extent allowed by law. 8. Accepting Warranty or Additional Liability. While redistributing the Work or Adaptations thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this Agreement. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. 9. Termination. The license and rights granted herein will terminate automatically upon any breach by You of the terms of this Agreement. Subject to the terms of this Agreement, the license granted herein is perpetual. Licensor reserves the right to modify the terms of this Agreement and to license the Work under different terms in the future without notice. 10. Miscellaneous. a. If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. b. No term or provision of this Agreement shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. c. This Agreement constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This Agreement may not be modified without the mutual written agreement of the Licensor and You. Copyright and License Notice Copyright 2014 – The Radiological Society of North America (RSNA), all rights reserved Licensed under RadLex License Version 2.0. You may obtain a copy of the license at: http://www.rsna.org/radlexdownloads/ This work is distributed under the above noted license on an “AS IS” basis, WITHOUT WARRANTIES OF ANY KIND, either express or implied. Please see the license for complete terms and conditions.

180