Skip to content
Draft

v2.4 #43

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions docs/p4samd/handbook/changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ Each change listed in the table contains the following information:

- **Title**: A brief description of the identified change and a link to the Jira issue identified by its key.
- **Status**: The status of the change request, actual values depend on the configuration of the corresponding Jira issue type and could include, for example, `Received`, `Reviewed`, `Completed` and `Refused`.
- **Classification**: The classification of the type, scale and impact of the change, actual values depend on the configuration of the corresponding Jira issue type and could include, for example, `patch`, `minor` or `major`.
- **Change Classification**: Report here whether the change request is considered significant or non-significant, according to [MDCG 2020-3](https://health.ec.europa.eu/medical-devices-sector/new-regulations/guidance-mdcg-endorsed-documents-and-other-guidance_en).
- **SW Change**: The Software Change classification, following the semantic version such as with `patch`, `minor` or `major`.
- **Assignee**: The owner of processing the change request.
- **Due Date**: The deadline for the completion and release of the change in the affected software items.
- **Software Items**: The number of software items affected by the change.
Expand Down Expand Up @@ -60,4 +61,4 @@ The **Traceability** tab shows all the issues linked to the change grouped by:
- **Risk Control Measures**
- **Changes**

You can click on any linked item to see its details.
You can click on any linked item to see its details.
Binary file added docs/p4samd/handbook/img/swi_create_modal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/p4samd/handbook/img/swi_create_modal_compare.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/p4samd/handbook/img/swi_edit_modal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/p4samd/handbook/img/swi_edit_modal_compare.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/p4samd/handbook/img/system_versions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 23 additions & 10 deletions docs/p4samd/handbook/insight_and_suggestions.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,24 +21,37 @@ Each suggestion includes:

## Suggestions Rules

### Software Items

For Software Items suggestions, visit the [Software Items](./software_items.md#software-item-drawer) page.

| IEC 62304 Reference Requirement | Title | Description |
|-----------|-----------|----------|
|[**5.7.4**] Evaluate SOFTWARE SYSTEM testing | Missing Tests | Each Requirement must be associated with at least one test. |
|[**5.7.5**] SOFTWARE SYSTEM test record contents | Test not executed | Each Test must be executed at least once to ensure its validity. |
|[**5.7.5**] SOFTWARE SYSTEM test record contents | Missing Information in the Last Execution | The last execution must include all mandatory information. |
|[**7.2.1**] Define RISK CONTROL measures | Missing Risk Control Measures | Risks associated with Software Items of class B or C must be linked to at least one Requirement as a Risk Control Measure. |
### Requirements

| IEC 62304 Reference Requirement | Title | Description |
| ------------------------------------------------ | ----------------------------------------- | ----------------------------------------------------------------- |
| [**5.7.4**] Evaluate SOFTWARE SYSTEM testing | Missing Tests | Each Requirement must be associated with at least one test. |

### Tests

| IEC 62304 Reference Requirement | Title | Description |
| ----------------------------------------------------- | ----------------------------------------- | ----------------------------------------------------------------------------- |
| [**5.7.1**] Establish tests for software requirements | Test not executed | This test has not been executed. |
| [**5.7.5**] SOFTWARE SYSTEM test record contents | Missing Information in the Last Execution | The last execution of the manual test must include all mandatory information. |
| - | Missing Execution Mode | The test Execution Mode - automatic or manual - is not specified. |

### Risks

| IEC 62304 Reference Requirement | Title | Description |
| ---------------------------------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| [**7.2.1**] Define RISK CONTROL measures | Missing Risk Control Measures | Risks associated with Software Items of class B or C must be linked to at least one Requirement as a Risk Control Measure. |

## Suggestions Indicators

Inside tables, two types of icons could appear in the **Suggestions column** to help users quickly identify and navigate suggestions:


|Icon| Meaning |
|-------|-------|
| ![alt text](img/suggestion_icon_cluste.png) | Indicates that one or more child Software Items have suggestions.<br/> *Only for Software Items.* |
| Icon | Meaning |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ![alt text](img/suggestion_icon_cluste.png) | Indicates that one or more child Software Items have suggestions.<br/> *Only for Software Items.* |
| ![alt text](img/suggestion_icon_number.png) | Displays the number of suggestions for the entity.<br/> Hovering over this icon reveals a **clickable menu** that directs the user to the **Suggestions Drawer** section. |

By implementing these automated insights and suggestions, P4SaMD empowers users to efficiently manage compliance and enhance software quality.
3 changes: 2 additions & 1 deletion docs/p4samd/handbook/requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ Furthermore, the user is assisted evaluating the design inputs of the project th
- **Quality**: the latest evaluation performed using AI, see a legend of the different icons below.
- **Type**: the requirement type (functional, regulatory, security, etc.).
- **Assignee**: the Jira user assigned to the requirement.
- **Latest Update**: who performed the last update to the requirement and when.
- **Latest Update**: who performed the last update to the requirement and when.
- **Approval**: who performed the approval of the requirement and when.
- **Status**: the status of the requirement (opened, closed, etc.)
- **Software Items**: the number of software items affected by the requirement.
- **Risks**: the number of risks mitigated by the requirement.
Expand Down
2 changes: 1 addition & 1 deletion docs/p4samd/handbook/sbom.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ where:

- `P4SAMD_BACKEND_URL` is the base URL of your P4SaMD backend service;
- `CI_PROJECT_ID` is the ID of the repository associated to the software item;
- `CI_COMMIT_TAG` is the name of the tag representing the version of the software item (should follow [semantic versioning][semantic-versioning]);
- `CI_COMMIT_TAG` is the name of the tag representing the version of the software item (we recommend following [semantic versioning][semantic-versioning]);
- `P4SAMD_API_KEY` is the API key required to authenticate with P4SaMD;
- `P4SAMD_SBOM_FILE`: absolute or relative path to the SBOM file created previously with [syft][syft] or similar tools.

Expand Down
76 changes: 47 additions & 29 deletions docs/p4samd/handbook/software_items.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ The section allows users to view, create, and edit software items in the Softwar

The Software Items are described by **General** and **Specific** properties: the former are reporting the item information, shared with all the possible instances of the item (e.g. name of Manufacturer for a SOUP-type SWI); the latter refers to properties related to the instances of the SWI, considering the location in the software system, parent and specific usage.

## Create Software Item Design
## Create Software Item Design

![Edit Modal](img/swi_create_modal.png)

1. **Click the "Add software item design" Button**
This will open the modal to create a new Software Item.
Expand Down Expand Up @@ -82,7 +84,7 @@ Each box contains key details about a software item, including:
4. **Count of Suggestions** (shown only if greater than 0)
3. **Approval Status**
5. **Implementation Status**
6. **Software Safety Class** (shown only for medical device)
6. **Software Safety Class** (shown only for Medical Device)

##### **Minimap**
- The minimap (bottom-right corner) provides an overview of the entire graph, helping users navigate large structures efficiently.
Expand All @@ -105,10 +107,9 @@ Depending on the status of the software items, several fast actions are availabl
|![alt text](img/swi_ok.png)| |The software item is in correct status |
|![alt text](img/swi_missing_approval.png)|![alt text](img/swi_approve_btn.png)|The Software Item should be approved|Approve the item, if `SOUP` open a modal to fill required fields|
|![alt text](img/swi_missing_version.png)|![alt text](img/swi_tag_btn.png)|Project \| Service need to be tagged |Redirect to console to create a tag|
|![alt text](img/swi_invalid_version.png)|![alt text](img/swi_create_tag_btn.png)|Version is not following the semantic versioning |Redirect to console to edit a tag|
|![alt text](img/swi_missing_implementation.png)|![alt text](img/swi_create_project_btn.png) ![alt text](img/swi_create_service_btn.png)|The Software Item is not implemented in the console |Redirect to console create Project \| Service|
|![alt text](img/swi_missing_design.png)|![alt text](img/swi_create_btn.png)|A Software Item was detected but not designed | Open modal to create a Software Item, If a design for a Software Item with the same name and version already exists, open the modal with pre-filled data|
|![alt text](img/swi_version_unmatched.png)| |Versions designed and detected are not matched| |
|![alt text](img/swi_version_unmatched.png)| |Versions designed and detected do not match| |
|![alt text](img/swi_undetectable.png)| |Software Item can't be detected| |

## Software Item Drawer
Expand Down Expand Up @@ -144,6 +145,7 @@ This is divided into multiple tabs:
| 17 |[IEC 62304 **4.3**] | Undocumented SWI Reclassification | Please justify the re-classification of the SWI with a rationale in the dedicated classification reason field, describing how the new SOFTWARE ITEMS are segregated so that they may be classified separately. |
| 18 |[IEC 62304 **4.3**] | Possible Software Item Misclassification | This software item has a safety class lower than at least one of its children. |
| 19 |[IEC 62304 **5.3.1**] | Missing SWI Design | When a SWI is included in the software system, if detected but the design is missing, the user shall be warned. |
| 20 | - | Non-semantic versioning | The SWI version does not follow [semantic versioning](https://semver.org/). |

:::warning
If a Software Item is not designed but detected by the system, a warning will appear, and you can proceed with its creation.
Expand All @@ -159,7 +161,11 @@ When the **Edit** button is clicked, an edit modal will appear:

#### Specific Properties Tab

Changes made **exclusively** in the **Specific Properties** tab will affect **only the current instance** of the software item.
Changes made **exclusively** in the **Specific Properties** tab and/or to the switches:

- **Medical device**

will affect **only the current instance** of the software item.

#### General Properties Tab and Switches

Expand All @@ -168,8 +174,9 @@ Changes made in the **General Properties** tab and/or to the switches:
- **SOUP**
- **Based on AI technology**

will be **propagated to all software items** that share this instance.
This will cause **disapproval** of their associated tree structures (parents).
will be **propagated to all software items** that share this instance.

This will cause the automatic **disapproval** of their associated tree structures (parent SWIs).

### Special Case: Version Change

Expand Down Expand Up @@ -202,34 +209,47 @@ The modal displays two options:


:::warning
Be mindful of which tab you're editing. Only changes in Specific Properties are instance-specific. All others may have broader implications.

Be mindful of which tab you're editing. Only changes in Specific Properties are instance-specific. All others may have broader implications.

:::


## Fields description

The fields mentioned in the following sections are presented according to the location and order they appear in the user interface.

### SWI classes

- [**Medical Device**](#medical-device): Flag indicating whether the Software Item is a Medical Device.
- [**SOUP**](#soup): Flag indicating whether the Software Item is a "Software of Unknown Provenance" (SOUP).
- Selectable only if the Software Item **IS NOT** of type `Project`.
- [**Based on AI technology**](#based-on-ai-technology): Flag indicating whether the Software Item uses AI-based technologies.

### SWI common properties

- **Software item name**: Name of Software Item.
- *Only for creation*
- **Version**: Version of Software Item.
- *Only for creation*
- Should follow **semantic versioning** format.
- **Implementation link**: Link to the implementation of the Software Item.
- **Resource type**: Type of the Software Item (project, service, library, or other).
- *Only for creation*
- Selectable from the following options: `Project`, `Service`, `Library`, `Other`.
- **Version**: Version of Software Item.
- All the version formats are allowed; the **semantic versioning** format is recommended.
- **Description**: Description of the Software Item.
- **Interface architecture reference**: Link to the interface architecture reference of the Software Item.
- **Detailed interface architecture reference**: Link to the detailed interface architecture documentation.
- **Detailed design reference**: Link to the detailed design documentation.
- **Parent software item**: Select the parent Software Items.
- *Only for creation*
- Editable only if the Software Item type is `Service` or `Library`.
- Allows the selection of multiple parent Software Items.
- **Description**: Description of the Software Item.
- **Is medical device**: Flag indicating whether the Software Item is a medical device.
- **Is SOUP**: Flag indicating whether the Software Item is a "Software of Unknown Provenance" (SOUP).
- Selectable only if the Software Item **IS NOT** of type `Project`.
- **Is AI**: Flag indicating whether the Software Item uses AI-based technologies.
- **Architecture reference**: Link to the architecture reference of the Software Item.
- **Repository ID**: ID of the repository associated with the Software Item.
- **Repository link**: Link to the repository of the Software Item.
- **Architecture reference**: Link to the architecture reference of the Software Item.
- **Interface architecture reference**: Link to the interface architecture reference of the Software Item.
- **Implementation link**: Link to the implementation of the Software Item.

### SWI related entities

- **Linked requirements**: Requirements associated with the Software Item.
- Requirements are defined in the provider application.
- **Linked integration tests**: Integration tests associated with the Software Item.
Expand All @@ -239,36 +259,34 @@ The modal displays two options:
- **Linked changes**: Applicable regulations for the Software Item.
- Changes are defined in the provider application.

### Medical device
### Medical Device

If you select **Is medical device**, the following additional fields are available:
If you select **Medical Device**, the following additional fields are available:

- **Software safety classification**: Safety class of the medical device.
- **Software safety classification**: Safety class of the Medical Device.
- Available options: `A`, `B`, `C`.
- **Software safety classification reason**: The rationale behind the safety classification of the medical device.
- **Detailed design reference**: Link to the detailed design documentation.
- **Detailed interface architecture reference**: Link to the detailed interface architecture documentation.
- **Software safety classification reason**: The rationale behind the safety classification of the Medical Device.

### SOUP

If you select **Is SOUP**, the following additional fields are available:

- **Verification reason**: Reason for verifying the Software Item.
- **Manufacturer**: Name of the Software Item manufacturer.
- **License**: License of the Software Item.
- **Required hardware and software**: Hardware and Software required for the Software Item.
- **Verification reason**: Reason for verifying the Software Item.

### AI
### Based on AI technology

If you select **Is AI**, the following additional fields are available:

- **AI type**: type of AI technology (`Agent`, `Model`).
- **AI Bias Mitigation Strategies**: measures adopted to address and mitigate AI bias risks.
- **AI Transparency & Explainability**: measures adopted to ensure AI transparency and accountability.
- **Technical Documentation Link/Reference**: link or reference to technical documentation about the model.
- **AI Model/Data Hosting Location**: location of AI hosting and data processing facilities.
- **AI Risk Classification**: risk level of AI system (`Minimal`, `Limited`, `High Risk`, `Unacceptable`)
- **AI Risk Classification description**: additional information about the risk level for the AI system.
- **AI Bias Mitigation Strategies**: measures adopted to address and mitigate AI bias risks.
- **AI Model/Data Hosting Location**: location of AI hosting and data processing facilities.

:::warning
To **Approve** a Software Item all his children should be approved.
Expand Down
12 changes: 7 additions & 5 deletions docs/p4samd/release-notes/v2.3.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,18 +38,20 @@ The Risk Management section now clearly reports the status of each risk in a ded
### Expanded Coverage

Vulnerabilities are now detected for SWIs of the "Other" type.
### Table Consistency fix
### Bugfixes

Sorting tables by column now correctly resets pagination to page 1.
- Table Consistency: sorting tables by column now correctly resets pagination to page 1.
- Formatted text in Design Input descriptions is correctly rendered in the table drawers.
- Copy and Paste action: the command is enabled for the Suggested description of AI-powered Requirement evaluation.

## Released Software Item Components

| SWI | Version |
| ------------------- | ------- |
| P4SaMD Frontend | v1.4.0 |
| P4SaMD Backend | v1.5.0 |
| P4SaMD Frontend | v1.4.2 |
| P4SaMD Backend | v1.5.2 |
| Pipelines Templates | v0.2.2 |
| P4SaMD AI Service | v1.2.0 |
| P4SaMD AI Service | v1.2.1 |


:::info
Expand Down
2 changes: 1 addition & 1 deletion versioned_docs/version-2.3.x/p4samd/handbook/changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ The **Traceability** tab shows all the issues linked to the change grouped by:
- **Risk Control Measures**
- **Changes**

You can click on any linked item to see its details.
You can click on any linked item to see its details.
3 changes: 2 additions & 1 deletion versioned_docs/version-2.3.x/p4samd/handbook/requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ Furthermore, the user is assisted evaluating the design inputs of the project th
- **Quality**: the latest evaluation performed using AI, see a legend of the different icons below.
- **Type**: the requirement type (functional, regulatory, security, etc.).
- **Assignee**: the Jira user assigned to the requirement.
- **Latest Update**: who performed the last update to the requirement and when.
- **Latest Update**: who performed the last update to the requirement and when.
- **Approval**: who performed the approval of the requirement and when.
- **Status**: the status of the requirement (opened, closed, etc.)
- **Software Items**: the number of software items affected by the requirement.
- **Risks**: the number of risks mitigated by the requirement.
Expand Down
Loading