

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Atualização dos metadados do conjunto de imagens
<a name="update-image-set-metadata"></a>

Use a `UpdateImageSetMetadata` ação para atualizar os [metadados](getting-started-concepts.md#concept-metadata) do conjunto de imagens na AWS HealthImaging. Você pode usar esse processo assíncrono para adicionar, atualizar e remover atributos de metadados do conjunto de imagens, que são manifestações dos [elementos de normalização DICOM](metadata-normalization.md) criados durante a importação. Usando a ação `UpdateImageSetMetadata`, você também pode remover instâncias de séries e SOP para manter os conjuntos de imagens sincronizados com sistemas externos e para desidentificar os metadados do conjunto de imagens. Para obter mais informações, consulte [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html)a *AWS HealthImaging API Reference*.

**nota**  
As importações DICOM do mundo real exigem atualização, adição e remoção de atributos dos metadados do conjunto de imagens. Lembre-se dos seguintes pontos ao atualizar os metadados do conjunto de imagens:  
A atualização dos metadados do conjunto de imagens cria uma nova versão no histórico do conjunto de imagens. Para obter mais informações, consulte [Listando versões do conjunto de imagens](list-image-set-versions.md). Para reverter para um ID de versão anterior do conjunto de imagens, use o [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)parâmetro opcional.
A atualização de metadados do conjunto de imagens é um processo assíncrono. Portanto, elementos [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)de [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)resposta estão disponíveis para fornecer o respectivo estado e status de um conjunto de imagens em atualização. Você não pode realizar outras operações de gravação em um conjunto de `LOCKED` imagens.
Se a `UpdateImageSetMetadata` ação não for bem-sucedida, ligue e revise o elemento de [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)resposta para ver [`common errors`.](https://docs.aws.amazon.com/healthimaging/latest/APIReference/CommonErrors.html) 
As restrições do elemento DICOM são aplicadas às atualizações de metadados. O parâmetro de [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)solicitação permite que você atualize elementos de [conjuntos de imagens](getting-started-concepts.md#concept-image-set) não primários nos casos em que você deseja substituir[Restrições de metadados de DICOM](dicom-metadata-constraints.md).
Os elementos de metadados em nível de paciente e série não podem ser atualizados para [conjuntos de imagens](getting-started-concepts.md#concept-image-set) primárias. [Não UpdateImageSet suportará -- `force` para atualizar StudyInstance UID, UID e SeriesInstance SOPInstance UID para conjuntos de imagens primárias.](getting-started-concepts.md#concept-image-set)
Defina o parâmetro de [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)solicitação para forçar a conclusão da `UpdateImageSetMetadata` ação em [conjuntos de imagens](getting-started-concepts.md#concept-image-set) não primárias. A configuração desse parâmetro permite as seguintes atualizações em um conjunto de imagens:  
Atualizando `Tag.StudyInstanceUID` os `Tag.StudyID` atributos `Tag.SeriesInstanceUID``Tag.SOPInstanceUID`,, e
Adicionar, remover ou atualizar elementos de dados DICOM privados no nível da instância
A ação de promover um conjunto de imagens como primário alterará o ID do conjunto de imagens.

O diagrama a seguir representa os metadados do conjunto de imagens que estão sendo atualizados em HealthImaging.

![\[Diagrama mostrando a aparência da atualização dos metadados do conjunto de imagens em HealthImaging.\]](http://docs.aws.amazon.com/pt_br/healthimaging/latest/devguide/images/image-set-example-update-metadata.png)


**Para atualizar metadados de um conjunto de imagens**  
Escolha uma guia com base na sua preferência de acesso à AWS HealthImaging.

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

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

**AWS CLI**  
**Exemplo 1: inserir ou atualizar um atributo nos metadados do conjunto de imagens**  
O exemplo `update-image-set-metadata` a seguir insere ou atualiza um atributo nos metadados do conjunto de imagens.  

```
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
```
Conteúdo de `metadata-updates.json`  

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

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Exemplo 2: remover um atributo dos metadados do conjunto de imagens**  
O exemplo `update-image-set-metadata` a seguir remove um atributo dos metadados do conjunto de imagens.  

```
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
```
Conteúdo de `metadata-updates.json`  

```
{
    "DICOMUpdates": {
        "removableAttributes": "{\"SchemaVersion\":1.1,\"Study\":{\"DICOM\":{\"StudyDescription\":\"CHEST\"}}}"
    }
}
```
Saída:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Exemplo 3: remover uma instância dos metadados de um conjunto de imagens**  
O exemplo `update-image-set-metadata` a seguir remove uma instância dos metadados de um conjunto de imagens.  

```
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
```
Conteúdo de `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\": {}}}}}}"
    }
}
```
Saída:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Exemplo 4: reverter um conjunto de imagens para uma versão anterior**  
O `update-image-set-metadata` exemplo a seguir mostra como reverter um conjunto de imagens para uma versão anterior. CopyImageSet e UpdateImageSetMetadata ações criam novas versões de conjuntos de imagens.  

```
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"}'
```
Saída:  

```
{
    "datastoreId": "12345678901234567890123456789012",
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "latestVersionId": "4",
    "imageSetState": "LOCKED",
    "imageSetWorkflowStatus": "UPDATING",
    "createdAt": 1680027126.436,
    "updatedAt": 1680042257.908
}
```
**Exemplo 5: adicionar um elemento de dados DICOM privado a uma instância**  
O exemplo `update-image-set-metadata` a seguir mostra como adicionar um elemento privado a uma instância especificada em um conjunto de imagens. O padrão DICOM permite elementos de dados privados para comunicação de informações que não podem estar contidas em elementos de dados padrão. Você pode criar, atualizar e excluir elementos de dados privados com a UpdateImageSetMetadata ação.  

```
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
```
Conteúdo de `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\"}}}}}}}"
    }
}
```
Saída:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Exemplo 6: atualizar um elemento de dados DICOM privado a uma instância**  
O exemplo `update-image-set-metadata` a seguir mostra como atualizar o valor de um elemento privado que pertence a uma instância em um conjunto de imagens.  

```
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
```
Conteúdo de `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\"}}}}}}}"
    }
}
```
Saída:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Exemplo 7: Para atualizar um SOPInstance UID com o parâmetro force**  
O `update-image-set-metadata` exemplo a seguir mostra como atualizar um SOPInstance UID usando o parâmetro force para substituir as restrições de metadados 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
```
Conteúdo de `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\"}}}}}}}"
    }
}
```
Saída:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
Para obter mais informações, consulte [Atualização dos metadados do conjunto de imagens](https://docs.aws.amazon.com/healthimaging/latest/devguide/update-image-set-metadata.html) no *Guia do AWS HealthImaging desenvolvedor*.  
+  Para obter detalhes da API, consulte [UpdateImageSetMetadata](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/medical-imaging/update-image-set-metadata.html)em *Referência de AWS CLI Comandos*. 

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

**SDK para 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 de uso 1: insira ou atualize um atributo.  

```
                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 de uso 2: remova um atributo.  

```
                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 de uso 3: remova uma instância.  

```
                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 de uso 4: reverta para uma versão anterior.  

```
                // 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);
```
+  Para obter detalhes da API, consulte [UpdateImageSetMetadata](https://docs.aws.amazon.com/goto/SdkForJavaV2/medical-imaging-2023-07-19/UpdateImageSetMetadata)a *Referência AWS SDK for Java 2.x da API*. 
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/medicalimaging#code-examples). 

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

**SDK para 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 de uso 1: insira ou atualize um atributo e force a atualização.  

```
    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 de uso 2: remova um atributo.  

```
    // 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 de uso 3: remova uma instância.  

```
    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 de uso 4: reverta para uma versão anterior.  

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

    await updateImageSetMetadata(
      datastoreID,
      imageSetID,
      versionID,
      updateMetadata,
    );
```
+  Para obter detalhes da API, consulte [UpdateImageSetMetadata](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medical-imaging/command/UpdateImageSetMetadataCommand)a *Referência AWS SDK para JavaScript da API*. 
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/medical-imaging#code-examples). 

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

**SDK para 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
```
O código a seguir instancia o MedicalImagingWrapper objeto.   

```
    client = boto3.client("medical-imaging")
    medical_imaging_wrapper = MedicalImagingWrapper(client)
```
Caso de uso 1: insira ou atualize um atributo.  

```
            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 de uso 2: remova um atributo.  

```
            # 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 de uso 3: remova uma instância.  

```
            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 de uso 4: reverta para uma versão anterior.  

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

            self.update_image_set_metadata(
                data_store_id, image_set_id, version_id, metadata, force
            )
```
+  Para obter detalhes da API, consulte a [UpdateImageSetMetadata](https://docs.aws.amazon.com/goto/boto3/medical-imaging-2023-07-19/UpdateImageSetMetadata)Referência da API *AWS SDK for Python (Boto3*). 
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/medical-imaging#code-examples). 

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

**SDK para 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.
```
+  Para obter detalhes da API, consulte a [UpdateImageSetMetadata](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)referência da *API AWS SDK for SAP ABAP*. 
 Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no [AWS Code Examples Repository](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/mig#code-examples). 

------

**Exemplo de disponibilidade**  
Não consegue encontrar o que precisa? Solicite um exemplo de código usando o link **Fornecer feedback** na barra lateral direita desta página.

Você pode mover instâncias SOP entre conjuntos de imagens, resolver conflitos de elementos de metadados e adicionar ou remover instâncias dos conjuntos de imagens primários usando o `CopyImageSet``UpdateImageSetMetadata`, e. `DeleteImageSet` APIs

Você pode remover um conjunto de imagens da coleção primária com a `DeleteImageSet` ação.

## Para atualizar os metadados de um conjunto de imagens primário
<a name="w2aac31c19c17b5"></a>

1. Use a CopyImageSet ação para criar um conjunto de imagens não primárias que seja uma cópia do conjunto de imagens primárias que você deseja modificar. Digamos que isso retorne `103785414bc2c89330f7ce51bbd13f7a` como o ID do conjunto de imagens não primário.

   ```
             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. Use a UpdateImageSetMetadata ação para fazer alterações no conjunto `(103785414bc2c89330f7ce51bbd13f7a)` de imagens não primárias. Por exemplo, alterar o ID do paciente.

   ```
   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. Exclua o conjunto de imagens primário que você está modificando.

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

1. Use a CopyImageSet ação com o argumento `--promoteToPrimary` para adicionar o conjunto de imagens atualizado à coleção primária.

   ```
   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. Exclua o conjunto de imagens não primárias.

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

## Para tornar uma imagem não primária, defina como primária
<a name="w2aac31c19c17b7"></a>

1. Use a UpdateImageSetMetadata ação para resolver conflitos com conjuntos de imagens primárias existentes.

   ```
   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. Quando os conflitos forem resolvidos, use a CopyImageSet ação com o argumento `--promoteToPrimary` para adicionar o conjunto de imagens à coleção primária do conjunto de imagens.

   ```
   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. Depois de confirmar que a CopyImageSet ação foi bem-sucedida, exclua o conjunto de imagens não primárias de origem.

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