

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memperbarui metadata set gambar
<a name="update-image-set-metadata"></a>

Gunakan `UpdateImageSetMetadata` tindakan untuk memperbarui [metadata](getting-started-concepts.md#concept-metadata) set gambar di AWS. HealthImaging Anda dapat menggunakan proses asinkron ini untuk menambah, memperbarui, dan menghapus atribut metadata kumpulan gambar, yang merupakan manifestasi dari elemen [normalisasi DICOM](metadata-normalization.md) yang dibuat selama impor. Dengan menggunakan `UpdateImageSetMetadata` tindakan, Anda juga dapat menghapus Instans Seri dan SOP agar set gambar tetap sinkron dengan sistem eksternal dan untuk menghilangkan identifikasi metadata kumpulan gambar. Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html)di *AWS HealthImaging API Referensi*.

**catatan**  
Impor DICOM dunia nyata memerlukan pembaruan, penambahan, dan penghapusan atribut dari metadata kumpulan gambar. Ingatlah poin-poin berikut saat memperbarui metadata set gambar:  
Memperbarui metadata set gambar membuat versi baru dalam riwayat kumpulan gambar. Untuk informasi selengkapnya, lihat [Daftar versi set gambar](list-image-set-versions.md). Untuk kembali ke ID versi set gambar sebelumnya, gunakan [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)parameter opsional.
Memperbarui metadata kumpulan gambar adalah proses asinkron. Oleh karena itu, [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)dan elemen [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)respons tersedia untuk memberikan status dan status masing-masing dari kumpulan gambar yang sedang diperbarui. Anda tidak dapat melakukan operasi penulisan lainnya pada kumpulan `LOCKED` gambar.
Jika `UpdateImageSetMetadata` tindakan tidak berhasil, panggil dan tinjau elemen [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)respons untuk melihatnya [`common errors`.](https://docs.aws.amazon.com/healthimaging/latest/APIReference/CommonErrors.html) 
Kendala elemen DICOM diterapkan pada pembaruan metadata. Parameter [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)permintaan memungkinkan Anda memperbarui elemen [kumpulan gambar](getting-started-concepts.md#concept-image-set) non-primer jika Anda ingin mengganti[Kendala metadata DICOM](dicom-metadata-constraints.md).
Elemen metadata tingkat Pasien dan Seri tidak dapat diperbarui untuk set [gambar](getting-started-concepts.md#concept-image-set) utama. [Tidak UpdateImageSet akan mendukung -- `force` untuk memperbarui StudyInstance UID, UID, dan SeriesInstance SOPInstance UID untuk kumpulan gambar utama.](getting-started-concepts.md#concept-image-set)
Tetapkan parameter [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)permintaan untuk memaksa penyelesaian `UpdateImageSetMetadata` tindakan pada [kumpulan gambar](getting-started-concepts.md#concept-image-set) non-primer. Menyetel parameter ini memungkinkan pembaruan berikut ke kumpulan gambar:  
Memperbarui`Tag.StudyInstanceUID`,`Tag.SeriesInstanceUID`,`Tag.SOPInstanceUID`, dan `Tag.StudyID` atribut
Menambahkan, menghapus, atau memperbarui elemen data DICOM pribadi tingkat instans
Tindakan mempromosikan gambar yang disetel ke primer akan mengubah ID kumpulan gambar.

Diagram berikut merupakan metadata kumpulan gambar yang diperbarui di. HealthImaging

![\[Diagram yang menunjukkan seperti apa metadata set gambar memperbarui. HealthImaging\]](http://docs.aws.amazon.com/id_id/healthimaging/latest/devguide/images/image-set-example-update-metadata.png)


**Untuk memperbarui metadata set gambar**  
Pilih tab berdasarkan preferensi akses Anda ke AWS HealthImaging.

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

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

**AWS CLI**  
**Contoh 1: Untuk menyisipkan atau memperbarui atribut dalam metadata set gambar**  
`update-image-set-metadata`Contoh berikut menyisipkan atau memperbarui atribut dalam metadata set gambar.  

```
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
```
Isi dari `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"
}
```
**Contoh 2: Untuk menghapus atribut dari metadata set gambar**  
`update-image-set-metadata`Contoh berikut menghapus atribut dari metadata set gambar.  

```
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
```
Isi dari `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"
}
```
**Contoh 3: Untuk menghapus instance dari metadata set gambar**  
`update-image-set-metadata`Contoh berikut menghapus instance dari metadata set gambar.  

```
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
```
Isi dari `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"
}
```
**Contoh 4: Untuk mengembalikan gambar yang disetel ke versi sebelumnya**  
`update-image-set-metadata`Contoh berikut menunjukkan cara mengembalikan gambar yang disetel ke versi sebelumnya. CopyImageSet dan UpdateImageSetMetadata tindakan membuat versi baru dari set gambar.  

```
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
}
```
**Contoh 5: Untuk menambahkan elemen data DICOM pribadi ke sebuah instance**  
`update-image-set-metadata`Contoh berikut menunjukkan bagaimana menambahkan elemen pribadi untuk contoh tertentu dalam set gambar. Standar DICOM memungkinkan elemen data pribadi untuk komunikasi informasi yang tidak dapat terkandung dalam elemen data standar. Anda dapat membuat, memperbarui, dan menghapus elemen data pribadi dengan UpdateImageSetMetadata tindakan.  

```
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
```
Isi dari `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"
}
```
**Contoh 6: Untuk memperbarui elemen data DICOM pribadi ke sebuah instance**  
`update-image-set-metadata`Contoh berikut menunjukkan cara memperbarui nilai elemen data pribadi milik sebuah instance dalam kumpulan gambar.  

```
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
```
Isi dari `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"
}
```
**Contoh 7: Untuk memperbarui SOPInstance UID dengan parameter gaya**  
`update-image-set-metadata`Contoh berikut menunjukkan cara memperbarui SOPInstance UID, menggunakan parameter gaya untuk mengganti kendala metadata 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
```
Isi dari `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"
}
```
Untuk informasi selengkapnya, lihat [Memperbarui metadata set gambar](https://docs.aws.amazon.com/healthimaging/latest/devguide/update-image-set-metadata.html) di Panduan *AWS HealthImaging Pengembang*.  
+  Untuk detail API, lihat [UpdateImageSetMetadata](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/medical-imaging/update-image-set-metadata.html)di *Referensi AWS CLI Perintah*. 

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

**SDK untuk 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;
        }
    }
```
Kasus penggunaan \$11: Menyisipkan atau memperbarui atribut.  

```
                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);
```
Use case \$12: Hapus atribut.  

```
                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);
```
Use case \$13: Hapus sebuah instance.  

```
                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);
```
Kasus penggunaan \$14: Kembalikan ke versi sebelumnya.  

```
                // 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);
```
+  Untuk detail API, lihat [UpdateImageSetMetadata](https://docs.aws.amazon.com/goto/SdkForJavaV2/medical-imaging-2023-07-19/UpdateImageSetMetadata)di *Referensi AWS SDK for Java 2.x API*. 
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/medicalimaging#code-examples). 

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

**SDK untuk 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);
  }
};
```
Kasus penggunaan \$11: Menyisipkan atau memperbarui atribut dan memaksa pembaruan.  

```
    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,
    );
```
Use case \$12: Hapus atribut.  

```
    // 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,
    );
```
Use case \$13: Hapus sebuah instance.  

```
    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,
    );
```
Kasus penggunaan \$14: Kembalikan ke versi sebelumnya.  

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

    await updateImageSetMetadata(
      datastoreID,
      imageSetID,
      versionID,
      updateMetadata,
    );
```
+  Untuk detail API, lihat [UpdateImageSetMetadata](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medical-imaging/command/UpdateImageSetMetadataCommand)di *Referensi AWS SDK untuk JavaScript API*. 
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/medical-imaging#code-examples). 

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

**SDK untuk 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
```
Kode berikut membuat instance objek. MedicalImagingWrapper   

```
    client = boto3.client("medical-imaging")
    medical_imaging_wrapper = MedicalImagingWrapper(client)
```
Kasus penggunaan \$11: Menyisipkan atau memperbarui atribut.  

```
            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
            )
```
Use case \$12: Hapus atribut.  

```
            # 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
            )
```
Use case \$13: Hapus sebuah instance.  

```
            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
            )
```
Kasus penggunaan \$14: Kembalikan ke versi sebelumnya.  

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

            self.update_image_set_metadata(
                data_store_id, image_set_id, version_id, metadata, force
            )
```
+  Untuk detail API, lihat [UpdateImageSetMetadata](https://docs.aws.amazon.com/goto/boto3/medical-imaging-2023-07-19/UpdateImageSetMetadata)di *AWS SDK for Python (Boto3) Referensi* API. 
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/medical-imaging#code-examples). 

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

**SDK for 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.
```
+  Untuk detail API, lihat [UpdateImageSetMetadata](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)di *AWS SDK untuk referensi SAP ABAP* API. 
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/mig#code-examples). 

------

**Ketersediaan contoh**  
Tidak dapat menemukan apa yang Anda butuhkan? Minta contoh kode menggunakan tautan **Berikan umpan balik** di bilah sisi kanan halaman ini.

Anda dapat memindahkan Instans SOP antara kumpulan gambar, menyelesaikan konflik elemen metadata, dan menambah atau menghapus instance dari kumpulan gambar utama menggunakan,, dan. `CopyImageSet` `UpdateImageSetMetadata` `DeleteImageSet` APIs

Anda dapat menghapus kumpulan gambar dari koleksi utama dengan `DeleteImageSet` tindakan.

## Untuk memperbarui metadata dari kumpulan gambar utama
<a name="w2aac31c19c17b5"></a>

1. Gunakan CopyImageSet tindakan untuk membuat kumpulan gambar non-primer yang merupakan salinan dari kumpulan gambar utama yang ingin Anda modifikasi. Katakanlah ini kembali `103785414bc2c89330f7ce51bbd13f7a` sebagai ID set gambar non-primer.

   ```
             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. Gunakan UpdateImageSetMetadata tindakan untuk membuat perubahan pada kumpulan `(103785414bc2c89330f7ce51bbd13f7a)` gambar non-primer. Misalnya, mengubah 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. Hapus kumpulan gambar utama yang Anda modifikasi.

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

1. Gunakan CopyImageSet tindakan dengan argumen `--promoteToPrimary` untuk menambahkan set gambar yang diperbarui ke koleksi utama.

   ```
   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. Hapus kumpulan gambar non-primer.

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

## Untuk membuat set gambar non-primer primer
<a name="w2aac31c19c17b7"></a>

1. Gunakan UpdateImageSetMetadata tindakan untuk menyelesaikan konflik dengan set gambar Primer yang ada.

   ```
   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. Saat konflik diselesaikan, gunakan CopyImageSet tindakan dengan argumen `--promoteToPrimary` untuk menambahkan set gambar ke koleksi kumpulan gambar utama.

   ```
   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. Setelah mengonfirmasi bahwa CopyImageSet tindakan berhasil, hapus kumpulan gambar non-primer sumber.

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