

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Aggiornamento dei metadati del set di immagini
<a name="update-image-set-metadata"></a>

Usa l'`UpdateImageSetMetadata`azione per aggiornare i [metadati dei](getting-started-concepts.md#concept-metadata) set di immagini in AWS HealthImaging. È possibile utilizzare questo processo asincrono per aggiungere, aggiornare e rimuovere gli attributi dei metadati del set di immagini, che sono manifestazioni degli elementi di [normalizzazione DICOM creati](metadata-normalization.md) durante l'importazione. Questa `UpdateImageSetMetadata` azione consente di rimuovere singole istanze SOP per mantenere i set di immagini sincronizzati con i sistemi esterni e rendere anonimi i metadati dei set di immagini. Per ulteriori informazioni, [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html)consulta *AWS HealthImaging API Reference*.

**Nota**  
Le importazioni DICOM nel mondo reale richiedono l'aggiornamento, l'aggiunta e la rimozione di attributi dai metadati del set di immagini. Tieni presente i seguenti punti quando aggiorni i metadati del set di immagini:  
Inserisci il `--include-study-image-sets` flag per aggiornare tutti i set di immagini primari che condividono lo stesso Study Instance UID del set di immagini richiesto. Questa è un'operazione atomica e le versioni di tutti i set di immagini interessati verranno incrementate. Nota: il `--include-study-image-sets` flag non è supportato `revertToVersionId` nelle operazioni, poiché revert ripristina una versione precedente e non applica modifiche agli attributi.
L'aggiornamento dei metadati del set di immagini crea una nuova versione nella cronologia del set di immagini. Per ulteriori informazioni, consulta [Elenco delle versioni dei set di immagini](list-image-set-versions.md). Per ripristinare l'ID di una versione precedente del set di immagini, utilizzate il parametro opzionale [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#healthimaging-UpdateImageSetMetadata-request-revertToVersionId](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#healthimaging-UpdateImageSetMetadata-request-revertToVersionId).
L'aggiornamento dei metadati del set di immagini è un processo asincrono. Pertanto, [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#healthimaging-UpdateImageSetMetadata-response-imageSetState](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#healthimaging-UpdateImageSetMetadata-response-imageSetState)sono disponibili elementi di [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#healthimaging-UpdateImageSetMetadata-response-imageSetWorkflowStatus](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#healthimaging-UpdateImageSetMetadata-response-imageSetWorkflowStatus)risposta per fornire il rispettivo stato e lo stato di un set di immagini in fase di aggiornamento. Non è possibile eseguire altre operazioni di scrittura su un set di `LOCKED` immagini.
Se l'`UpdateImageSetMetadata`azione non ha esito positivo, chiama ed esamina l'elemento di [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#healthimaging-UpdateImageSetMetadata-response-message](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#healthimaging-UpdateImageSetMetadata-response-message)risposta per verificarlo [`common errors`.](https://docs.aws.amazon.com/healthimaging/latest/APIReference/CommonErrors.html) 
I vincoli degli elementi DICOM vengono applicati agli aggiornamenti dei metadati. Il parametro [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#API_UpdateImageSetMetadata_RequestParameters](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#API_UpdateImageSetMetadata_RequestParameters)request consente di aggiornare elementi di [set di immagini](getting-started-concepts.md#concept-image-set) non primari nei casi in cui si desidera eseguire l'override. [Vincoli dei metadati DICOM](dicom-metadata-constraints.md)
[Non UpdateImageSet supporterà l'aggiornamento di StudyInstance UID, UID e SOPInstance UID `force` per i SeriesInstance set di immagini primari.](getting-started-concepts.md#concept-image-set)
[Imposta il parametro di [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#API_UpdateImageSetMetadata_RequestParameters](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html#API_UpdateImageSetMetadata_RequestParameters)richiesta per forzare il completamento dell'`UpdateImageSetMetadata`azione su set di immagini non primari.](getting-started-concepts.md#concept-image-set) L'impostazione di questo parametro consente i seguenti aggiornamenti a un set di immagini:  
Aggiornamento degli `Tag.StudyID` attributi `Tag.StudyInstanceUID` `Tag.SeriesInstanceUID``Tag.SOPInstanceUID`,, e
Aggiungere, rimuovere o aggiornare elementi di dati DICOM privati a livello di istanza
Per rimuovere un'istanza da un set di immagini, è necessario fornire il `--force` parametro alla `UpdateImageSetMetadata` richiesta.
L'azione di promozione di un set di immagini a primario modificherà l'ID del set di immagini.
Quando si aggiorna un attributo VR=SQ, viene aggiornato l'intero attributo della sequenza. Questa API non supporta gli aggiornamenti parziali degli attributi della sequenza.

Il diagramma seguente rappresenta i metadati del set di immagini in corso di aggiornamento in. HealthImaging

![Diagramma che mostra come si presenta l'aggiornamento dei metadati del set di immagini. HealthImaging](http://docs.aws.amazon.com/it_it/healthimaging/latest/devguide/images/image-set-example-update-metadata.png)


**Per aggiornare i metadati del set di immagini**  
Scegli una scheda in base alle tue preferenze di accesso ad AWS HealthImaging.

## AWS CLI e SDKs
<a name="code-example-cli-sdk-image-set-metadata"></a>

------
#### [ CLI ]

**AWS CLI**  
**Esempio 1: come inserire o aggiornare un attributo nei metadati del set di immagini**  
L’esempio `update-image-set-metadata` seguente inserisce o aggiorna un attributo nei metadati del set di immagini.  

```
aws medical-imaging update-image-set-metadata \
    --datastore-id {{12345678901234567890123456789012}} \
    --image-set-id {{ea92b0d8838c72a3f25d00d13616f87e}} \
    --latest-version-id {{1}} \
    --cli-binary-format {{raw-in-base64-out}} \
    --update-image-set-metadata-updates {{file://metadata-updates.json}}
```
Contenuto di `metadata-updates.json`  

```
{
    "DICOMUpdates": {
        "updatableAttributes": "{\"SchemaVersion\":1.1,\"Patient\":{\"DICOM\":{\"PatientName\":\"MX^MX\"}}}"
    }
}
```
Output:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Esempio 2: come rimuovere un attributo dai metadati del set di immagini**  
L’esempio `update-image-set-metadata` seguente rimuove un attributo dai metadati del set di immagini.  

```
aws medical-imaging update-image-set-metadata \
    --datastore-id {{12345678901234567890123456789012}} \
    --image-set-id {{ea92b0d8838c72a3f25d00d13616f87e}} \
    --latest-version-id {{1}} \
    --cli-binary-format {{raw-in-base64-out}} \
    --update-image-set-metadata-updates {{file://metadata-updates.json}}
```
Contenuto di `metadata-updates.json`  

```
{
    "DICOMUpdates": {
        "removableAttributes": "{\"SchemaVersion\":1.1,\"Study\":{\"DICOM\":{\"StudyDescription\":\"CHEST\"}}}"
    }
}
```
Output:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Esempio 3: come rimuovere un’istanza dai metadati del set di immagini**  
L’esempio `update-image-set-metadata` seguente rimuove un’istanza dai metadati del set di immagini.  

```
aws medical-imaging update-image-set-metadata \
    --datastore-id {{12345678901234567890123456789012}} \
    --image-set-id {{ea92b0d8838c72a3f25d00d13616f87e}} \
    --latest-version-id {{1}} \
    --cli-binary-format {{raw-in-base64-out}} \
    --update-image-set-metadata-updates {{file://metadata-updates.json}} \
    --force
```
Contenuto di `metadata-updates.json`  

```
{
    "DICOMUpdates": {
        "removableAttributes": "{\"SchemaVersion\": 1.1,\"Study\": {\"Series\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {\"Instances\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {}}}}}}"
    }
}
```
Output:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Esempio 4: come ripristinare la versione precedente di un set di immagini**  
L'`update-image-set-metadata`esempio seguente mostra come ripristinare un set di immagini a una versione precedente. CopyImageSet e UpdateImageSetMetadata le azioni creano nuove versioni dei set di immagini.  

```
aws medical-imaging update-image-set-metadata \
    --datastore-id {{12345678901234567890123456789012}} \
    --image-set-id {{53d5fdb05ca4d46ac7ca64b06545c66e}} \
    --latest-version-id {{3}} \
    --cli-binary-format {{raw-in-base64-out}} \
    --update-image-set-metadata-updates '{{{"revertToVersionId": "1"}}}'
```
Output:  

```
{
    "datastoreId": "12345678901234567890123456789012",
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "latestVersionId": "4",
    "imageSetState": "LOCKED",
    "imageSetWorkflowStatus": "UPDATING",
    "createdAt": 1680027126.436,
    "updatedAt": 1680042257.908
}
```
**Esempio 5: come aggiungere un elemento di dati DICOM privato a un’istanza**  
L’esempio `update-image-set-metadata` seguente aggiunge un elemento privato a un’istanza specificata all’interno di un set di immagini. Lo standard DICOM consente di utilizzare elementi di dati privati nella comunicazione di informazioni che non possono essere contenute in elementi di dati standard. È possibile creare, aggiornare ed eliminare elementi di dati privati con l'UpdateImageSetMetadata azione.  

```
aws medical-imaging update-image-set-metadata \
    --datastore-id {{12345678901234567890123456789012}} \
    --image-set-id {{53d5fdb05ca4d46ac7ca64b06545c66e}} \
    --latest-version-id {{1}} \
    --cli-binary-format {{raw-in-base64-out}} \
    --force \
    --update-image-set-metadata-updates {{file://metadata-updates.json}}
```
Contenuto di `metadata-updates.json`  

```
{
    "DICOMUpdates": {
        "updatableAttributes": "{\"SchemaVersion\": 1.1,\"Study\": {\"Series\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {\"Instances\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {\"DICOM\": {\"001910F9\": \"97\"},\"DICOMVRs\": {\"001910F9\": \"DS\"}}}}}}}"
    }
}
```
Output:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Esempio 6: come aggiornare un elemento di dati DICOM privato a un’istanza**  
L’esempio `update-image-set-metadata` seguente aggiorna il valore di un elemento dati privato appartenente a un’istanza all’interno di un set di immagini.  

```
aws medical-imaging update-image-set-metadata \
    --datastore-id {{12345678901234567890123456789012}} \
    --image-set-id {{53d5fdb05ca4d46ac7ca64b06545c66e}} \
    --latest-version-id {{1}} \
    --cli-binary-format {{raw-in-base64-out}} \
    --force \
    --update-image-set-metadata-updates {{file://metadata-updates.json}}
```
Contenuto di `metadata-updates.json`  

```
{
    "DICOMUpdates": {
        "updatableAttributes": "{\"SchemaVersion\": 1.1,\"Study\": {\"Series\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {\"Instances\": {\"1.1.1.1.1.1.12345.123456789012.123.12345678901234.1\": {\"DICOM\": {\"00091001\": \"GE_GENESIS_DD\"}}}}}}}"
    }
}
```
Output:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Esempio 7: aggiornare un SOPInstance UID con il parametro force**  
L'`update-image-set-metadata`esempio seguente mostra come aggiornare un SOPInstance UID, utilizzando il parametro force per sovrascrivere i vincoli dei metadati DICOM.  

```
aws medical-imaging update-image-set-metadata \
        --datastore-id {{12345678901234567890123456789012}} \
        --image-set-id {{53d5fdb05ca4d46ac7ca64b06545c66e}} \
        --latest-version-id {{1}} \
        --cli-binary-format {{raw-in-base64-out}} \
        --force \
        --update-image-set-metadata-updates {{file://metadata-updates.json}}
```
Contenuto di `metadata-updates.json`  

```
{
    "DICOMUpdates": {
        "updatableAttributes": "{\"SchemaVersion\":1.1,\"Study\":{\"Series\":{\"1.3.6.1.4.1.5962.99.1.3633258862.2104868982.1369432891697.3656.0\":{\"Instances\":{\"1.3.6.1.4.1.5962.99.1.3633258862.2104868982.1369432891697.3659.0\":{\"DICOM\":{\"SOPInstanceUID\":\"1.3.6.1.4.1.5962.99.1.3633258862.2104868982.1369432891697.3659.9\"}}}}}}}"
    }
}
```
Output:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
*Per ulteriori informazioni, consultate [Updating image set](https://docs.aws.amazon.com/healthimaging/latest/devguide/update-image-set-metadata.html) metadata nella Developer Guide.AWS HealthImaging *  
+  Per i dettagli sull'API, consulta [UpdateImageSetMetadata AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/medical-imaging/update-image-set-metadata.html)*Command Reference.* 

------
#### [ Java ]

**SDK per Java 2.x**  

```
    /**
     * Update the metadata of an AWS HealthImaging image set.
     *
     * @param medicalImagingClient - The AWS HealthImaging client object.
     * @param datastoreId          - The datastore ID.
     * @param imageSetId           - The image set ID.
     * @param versionId            - The version ID.
     * @param metadataUpdates      - A MetadataUpdates object containing the updates.
     * @param force                - The force flag.
     * @throws MedicalImagingException - Base exception for all service exceptions thrown by AWS HealthImaging.
     */
    public static void updateMedicalImageSetMetadata(MedicalImagingClient medicalImagingClient,
                                                     String datastoreId,
                                                     String imageSetId,
                                                     String versionId,
                                                     MetadataUpdates metadataUpdates,
                                                     boolean force) {
        try {
            UpdateImageSetMetadataRequest updateImageSetMetadataRequest = UpdateImageSetMetadataRequest
                    .builder()
                    .datastoreId(datastoreId)
                    .imageSetId(imageSetId)
                    .latestVersionId(versionId)
                    .updateImageSetMetadataUpdates(metadataUpdates)
                    .force(force)
                    .build();

            UpdateImageSetMetadataResponse response = medicalImagingClient.updateImageSetMetadata(updateImageSetMetadataRequest);

            System.out.println("The image set metadata was updated" + response);
        } catch (MedicalImagingException e) {
            System.err.println(e.awsErrorDetails().errorMessage());
            throw e;
        }
    }
```
Caso d’uso 1: inserisce o aggiorna un attributo.  

```
                final String insertAttributes = """
                        {
                          "SchemaVersion": 1.1,
                          "Study": {
                            "DICOM": {
                              "StudyDescription": "CT CHEST"
                            }
                          }
                        }
                        """;
                MetadataUpdates metadataInsertUpdates = MetadataUpdates.builder()
                        .dicomUpdates(DICOMUpdates.builder()
                                .updatableAttributes(SdkBytes.fromByteBuffer(
                                        ByteBuffer.wrap(insertAttributes
                                                .getBytes(StandardCharsets.UTF_8))))
                                .build())
                        .build();

                updateMedicalImageSetMetadata(medicalImagingClient, datastoreId, imagesetId,
                        versionid, metadataInsertUpdates, force);
```
Caso d’uso 2: rimuove un attributo.  

```
                final String removeAttributes = """
                        {
                          "SchemaVersion": 1.1,
                          "Study": {
                            "DICOM": {
                              "StudyDescription": "CT CHEST"
                            }
                          }
                        }
                        """;
                MetadataUpdates metadataRemoveUpdates = MetadataUpdates.builder()
                        .dicomUpdates(DICOMUpdates.builder()
                                .removableAttributes(SdkBytes.fromByteBuffer(
                                        ByteBuffer.wrap(removeAttributes
                                                .getBytes(StandardCharsets.UTF_8))))
                                .build())
                        .build();

                updateMedicalImageSetMetadata(medicalImagingClient, datastoreId, imagesetId,
                        versionid, metadataRemoveUpdates, force);
```
Caso d’uso 3: rimuove un’istanza.  

```
                final String removeInstance = """
                        {
                          "SchemaVersion": 1.1,
                          "Study": {
                            "Series": {
                              "1.1.1.1.1.1.12345.123456789012.123.12345678901234.1": {
                                "Instances": {
                                  "1.1.1.1.1.1.12345.123456789012.123.12345678901234.1": {}
                                }
                              }
                            }
                          }
                        }      
                        """;
                MetadataUpdates metadataRemoveUpdates = MetadataUpdates.builder()
                        .dicomUpdates(DICOMUpdates.builder()
                                .removableAttributes(SdkBytes.fromByteBuffer(
                                        ByteBuffer.wrap(removeInstance
                                                .getBytes(StandardCharsets.UTF_8))))
                                .build())
                        .build();

                updateMedicalImageSetMetadata(medicalImagingClient, datastoreId, imagesetId,
                        versionid, metadataRemoveUpdates, force);
```
Caso d’uso 4: ripristina una versione precedente.  

```
                // In this case, revert to previous version.
                String revertVersionId = Integer.toString(Integer.parseInt(versionid) - 1);
                MetadataUpdates metadataRemoveUpdates = MetadataUpdates.builder()
                        .revertToVersionId(revertVersionId)
                        .build();
                updateMedicalImageSetMetadata(medicalImagingClient, datastoreId, imagesetId,
                        versionid, metadataRemoveUpdates, force);
```
+  Per i dettagli sull'API, [UpdateImageSetMetadata](https://docs.aws.amazon.com/goto/SdkForJavaV2/medical-imaging-2023-07-19/UpdateImageSetMetadata)consulta *AWS SDK for Java 2.x API Reference*. 
 C'è altro su GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/medicalimaging#code-examples). 

------
#### [ JavaScript ]

**SDK per JavaScript (v3)**  

```
import { UpdateImageSetMetadataCommand } from "@aws-sdk/client-medical-imaging";
import { medicalImagingClient } from "../libs/medicalImagingClient.js";

/**
 * @param {string} datastoreId - The ID of the HealthImaging data store.
 * @param {string} imageSetId - The ID of the HealthImaging image set.
 * @param {string} latestVersionId - The ID of the HealthImaging image set version.
 * @param {{}} updateMetadata - The metadata to update.
 * @param {boolean} force - Force the update.
 */
export const updateImageSetMetadata = async (
  datastoreId = "xxxxxxxxxx",
  imageSetId = "xxxxxxxxxx",
  latestVersionId = "1",
  updateMetadata = "{}",
  force = false,
) => {
  try {
    const response = await medicalImagingClient.send(
      new UpdateImageSetMetadataCommand({
        datastoreId: datastoreId,
        imageSetId: imageSetId,
        latestVersionId: latestVersionId,
        updateImageSetMetadataUpdates: updateMetadata,
        force: force,
      }),
    );
    console.log(response);
    // {
    //     '$metadata': {
    //     httpStatusCode: 200,
    //         requestId: '7966e869-e311-4bff-92ec-56a61d3003ea',
    //         extendedRequestId: undefined,
    //         cfId: undefined,
    //         attempts: 1,
    //         totalRetryDelay: 0
    // },
    //     createdAt: 2023-09-22T14:49:26.427Z,
    //     datastoreId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    //     imageSetId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    //     imageSetState: 'LOCKED',
    //     imageSetWorkflowStatus: 'UPDATING',
    //     latestVersionId: '4',
    //     updatedAt: 2023-09-27T19:41:43.494Z
    // }
    return response;
  } catch (err) {
    console.error(err);
  }
};
```
Caso d’uso 1: inserisce o aggiorna un attributo e forza l’aggiornamento.  

```
    const insertAttributes = JSON.stringify({
      SchemaVersion: 1.1,
      Study: {
        DICOM: {
          StudyDescription: "CT CHEST",
        },
      },
    });

    const updateMetadata = {
      DICOMUpdates: {
        updatableAttributes: new TextEncoder().encode(insertAttributes),
      },
    };

    await updateImageSetMetadata(
      datastoreID,
      imageSetID,
      versionID,
      updateMetadata,
      true,
    );
```
Caso d’uso 2: rimuove un attributo.  

```
    // Attribute key and value must match the existing attribute.
    const remove_attribute = JSON.stringify({
      SchemaVersion: 1.1,
      Study: {
        DICOM: {
          StudyDescription: "CT CHEST",
        },
      },
    });

    const updateMetadata = {
      DICOMUpdates: {
        removableAttributes: new TextEncoder().encode(remove_attribute),
      },
    };

    await updateImageSetMetadata(
      datastoreID,
      imageSetID,
      versionID,
      updateMetadata,
    );
```
Caso d’uso 3: rimuove un’istanza.  

```
    const remove_instance = JSON.stringify({
      SchemaVersion: 1.1,
      Study: {
        Series: {
          "1.1.1.1.1.1.12345.123456789012.123.12345678901234.1": {
            Instances: {
              "1.1.1.1.1.1.12345.123456789012.123.12345678901234.1": {},
            },
          },
        },
      },
    });

    const updateMetadata = {
      DICOMUpdates: {
        removableAttributes: new TextEncoder().encode(remove_instance),
      },
    };

    await updateImageSetMetadata(
      datastoreID,
      imageSetID,
      versionID,
      updateMetadata,
    );
```
Caso d’uso 4: ripristina una versione precedente.  

```
    const updateMetadata = {
      revertToVersionId: "1",
    };

    await updateImageSetMetadata(
      datastoreID,
      imageSetID,
      versionID,
      updateMetadata,
    );
```
+  Per i dettagli sull'API, consulta la sezione *AWS SDK per JavaScript API [UpdateImageSetMetadata](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medical-imaging/command/UpdateImageSetMetadataCommand)Reference*. 
 C'è altro su GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/medical-imaging#code-examples). 

------
#### [ Python ]

**SDK per Python (Boto3)**  

```
class MedicalImagingWrapper:
    def __init__(self, health_imaging_client):
        self.health_imaging_client = health_imaging_client


    def update_image_set_metadata(
        self, datastore_id, image_set_id, version_id, metadata, force=False
    ):
        """
        Update the metadata of an image set.

        :param datastore_id: The ID of the data store.
        :param image_set_id: The ID of the image set.
        :param version_id: The ID of the image set version.
        :param metadata: The image set metadata as a dictionary.
            For example {"DICOMUpdates": {"updatableAttributes":
            "{\"SchemaVersion\":1.1,\"Patient\":{\"DICOM\":{\"PatientName\":\"Garcia^Gloria\"}}}"}}
        :param: force: Force the update.
        :return: The updated image set metadata.
        """
        try:
            updated_metadata = self.health_imaging_client.update_image_set_metadata(
                imageSetId=image_set_id,
                datastoreId=datastore_id,
                latestVersionId=version_id,
                updateImageSetMetadataUpdates=metadata,
                force=force,
            )
        except ClientError as err:
            logger.error(
                "Couldn't update image set metadata. Here's why: %s: %s",
                err.response["Error"]["Code"],
                err.response["Error"]["Message"],
            )
            raise
        else:
            return updated_metadata
```
Il codice seguente crea un'istanza dell' MedicalImagingWrapper oggetto.   

```
    client = boto3.client("medical-imaging")
    medical_imaging_wrapper = MedicalImagingWrapper(client)
```
Caso d’uso 1: inserisce o aggiorna un attributo.  

```
            attributes = """{
                    "SchemaVersion": 1.1,
                    "Study": {
                        "DICOM": {
                            "StudyDescription": "CT CHEST"
                        }
                    }
                }"""
            metadata = {"DICOMUpdates": {"updatableAttributes": attributes}}

            self.update_image_set_metadata(
                data_store_id, image_set_id, version_id, metadata, force
            )
```
Caso d’uso 2: rimuove un attributo.  

```
            # Attribute key and value must match the existing attribute.
            attributes = """{
                    "SchemaVersion": 1.1,
                    "Study": {
                        "DICOM": {
                            "StudyDescription": "CT CHEST"
                        }
                    }
                }"""
            metadata = {"DICOMUpdates": {"removableAttributes": attributes}}

            self.update_image_set_metadata(
                data_store_id, image_set_id, version_id, metadata, force
            )
```
Caso d’uso 3: rimuove un’istanza.  

```
            attributes = """{
                    "SchemaVersion": 1.1,
                    "Study": {
                        "Series": {
                            "1.1.1.1.1.1.12345.123456789012.123.12345678901234.1": {
                                "Instances": {
                                    "1.1.1.1.1.1.12345.123456789012.123.12345678901234.1": {}
                                }
                            }
                        }
                    }
                }"""
            metadata = {"DICOMUpdates": {"removableAttributes": attributes}}

            self.update_image_set_metadata(
                data_store_id, image_set_id, version_id, metadata, force
            )
```
Caso d’uso 4: ripristina una versione precedente.  

```
            metadata = {"revertToVersionId": "1"}

            self.update_image_set_metadata(
                data_store_id, image_set_id, version_id, metadata, force
            )
```
+  Per i dettagli sull'API, consulta [UpdateImageSetMetadata AWS](https://docs.aws.amazon.com/goto/boto3/medical-imaging-2023-07-19/UpdateImageSetMetadata)*SDK for Python (Boto3) API Reference*. 
 C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/medical-imaging#code-examples). 

------
#### [ SAP ABAP ]

**SDK per SAP ABAP**  

```
    TRY.
        " iv_datastore_id = '1234567890123456789012345678901234567890'
        " iv_image_set_id = '1234567890123456789012345678901234567890'
        " iv_latest_version_id = '1'
        " iv_force = abap_false
        oo_result = lo_mig->updateimagesetmetadata(
          iv_datastoreid = iv_datastore_id
          iv_imagesetid = iv_image_set_id
          iv_latestversionid = iv_latest_version_id
          io_updateimagesetmetupdates = io_metadata_updates
          iv_force = iv_force ).
        DATA(lv_new_version) = oo_result->get_latestversionid( ).
        MESSAGE |Image set metadata updated to version: { lv_new_version }.| TYPE 'I'.
      CATCH /aws1/cx_migaccessdeniedex.
        MESSAGE 'Access denied.' TYPE 'I'.
      CATCH /aws1/cx_migconflictexception.
        MESSAGE 'Conflict error.' TYPE 'I'.
      CATCH /aws1/cx_miginternalserverex.
        MESSAGE 'Internal server error.' TYPE 'I'.
      CATCH /aws1/cx_migresourcenotfoundex.
        MESSAGE 'Image set not found.' TYPE 'I'.
      CATCH /aws1/cx_migservicequotaexcdex.
        MESSAGE 'Service quota exceeded.' TYPE 'I'.
      CATCH /aws1/cx_migthrottlingex.
        MESSAGE 'Request throttled.' TYPE 'I'.
      CATCH /aws1/cx_migvalidationex.
        MESSAGE 'Validation error.' TYPE 'I'.
    ENDTRY.
```
+  Per i dettagli sull'API, consulta [UpdateImageSetMetadata AWS](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)*SDK for SAP* ABAP API reference. 
 C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel [Repository di esempi di codice AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/mig#code-examples). 

------

**Esempio di disponibilità**  
Non riesci a trovare quello che ti serve? Richiedi un esempio di codice utilizzando il link **Fornisci feedback** nella barra laterale destra di questa pagina.

È possibile spostare istanze SOP tra set di immagini, risolvere conflitti tra elementi di metadati e aggiungere o rimuovere istanze dai set di immagini primari utilizzando, e. `CopyImageSet` `UpdateImageSetMetadata` `DeleteImageSet` APIs

È possibile rimuovere un set di immagini dalla raccolta principale con l'azione. `DeleteImageSet`

## Per aggiornare i metadati di un set di immagini primario
<a name="w2aac31c19c17b5"></a>

1. Utilizzate l' CopyImageSet azione per creare un set di immagini non primario che sia una copia del set di immagini principale che desiderate modificare. Supponiamo che questo venga restituito `103785414bc2c89330f7ce51bbd13f7a` come ID del set di immagini non primario.

   ```
             aws medical-imaging copy-image-set --datastore-id 
             a8d19e7875e1532d9b5652f6b25e12c9 --source-image-set-id 
             0778b83b36eced0b76752bfe32192fb7 --copy-image-set-information 
             '{"sourceImageSet": {"latestVersionId": "1" }}' --region us-west-2
   ```

1. Utilizzate l' UpdateImageSetMetadata azione per apportare modifiche al set di immagini non primario. `(103785414bc2c89330f7ce51bbd13f7a)` Ad esempio, cambiando il PatientID.

   ```
   aws medical-imaging update-image-set-metadata \
       --region us-west-2 \
       --datastore-id a8d19e7875e1532d9b5652f6b25e12c9 \
       --image-set-id 103785414bc2c89330f7ce51bbd13f7a \
       --latest-version-id 1 \
       --cli-binary-format raw-in-base64-out \
       --update-image-set-metadata-updates '{
       "DICOMUpdates": {
         "updatableAttributes": "{\"SchemaVersion\":1.1,\"Patient\":
         {\"DICOM\":{\"PatientID\":\"1234\"}}}"
       }
     }'
   ```

1. Eliminate il set di immagini primario che state modificando.

   ```
   aws medical-imaging delete-image-set --datastore-
             id a8d19e7875e1532d9b5652f6b25e12c9 --image-set-
             id 0778b83b36eced0b76752bfe32192fb7
   ```

1. Utilizzate l' CopyImageSet azione con l'argomento `--promoteToPrimary` per aggiungere il set di immagini aggiornato alla raccolta principale.

   ```
   aws medical-imaging copy-image-set --datastore-
             id a8d19e7875e1532d9b5652f6b25e12c9 --source-image-set-
             id 103785414bc2c89330f7ce51bbd13f7a --copy-image-set-information 
             '{"sourceImageSet": {"latestVersionId": "2" }}' --region us-west-2 --
             promote-to-primary
   ```

1. Eliminare il set di immagini non primario.

   ```
   aws medical-imaging delete-image-set --datastore-
             id a8d19e7875e1532d9b5652f6b25e12c9 --image-set-
             id 103785414bc2c89330f7ce51bbd13f7a
   ```

## Per rendere principale un set di immagini non primario
<a name="w2aac31c19c17b7"></a>

1. Utilizzate l' UpdateImageSetMetadata azione per risolvere i conflitti con i set di immagini primarie esistenti.

   ```
   aws medical-imaging update-image-set-metadata \
       --region us-west-2 \
       --datastore-id a8d19e7875e1532d9b5652f6b25e12c9 \
       --image-set-id 103785414bc2c89330f7ce51bbd13f7a \
       --latest-version-id 1 \
       --cli-binary-format raw-in-base64-out \
       --update-image-set-metadata-updates '{
       "DICOMUpdates": {
         "updatableAttributes": "{\"SchemaVersion\":1.1,\"Patient\":{\"DICOM\":
         {\"PatientID\":\"1234\"}}}"
       }
     }'
   ```

1. Una volta risolti i conflitti, utilizzate l' CopyImageSet azione con l'argomento `--promoteToPrimary` per aggiungere il set di immagini alla raccolta del set di immagini principale.

   ```
   aws medical-imaging copy-image-set --datastore-
             id a8d19e7875e1532d9b5652f6b25e12c9 --source-image-set-
             id 103785414bc2c89330f7ce51bbd13f7a --copy-image-set-information 
             '{"sourceImageSet": {"latestVersionId": "2" }}' --region us-west-2 --
             promote-to-primary
   ```

1. Dopo aver verificato l'esito positivo dell' CopyImageSet azione, eliminate il set di immagini di origine non primario.

   ```
   aws medical-imaging delete-image-set --datastore-
             id a8d19e7875e1532d9b5652f6b25e12c9 --image-set-
             id 103785414bc2c89330f7ce51bbd13f7a
   ```