

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Metadaten von Bilddatensätzen aktualisieren
<a name="update-image-set-metadata"></a>

Verwenden Sie die `UpdateImageSetMetadata` Aktion, um die [Metadaten](getting-started-concepts.md#concept-metadata) des Bildsatzes in AWS zu aktualisieren HealthImaging. Sie können diesen asynchronen Prozess verwenden, um Metadatenattribute von Bilddatensätzen hinzuzufügen, zu aktualisieren und zu entfernen. Dabei handelt es sich um Manifestationen von [DICOM-Normalisierungselementen](metadata-normalization.md), die während des Imports erstellt werden. Mithilfe der `UpdateImageSetMetadata` Aktion können Sie einzelne SOP-Instanzen entfernen, um Bilddatensätze mit externen Systemen synchron zu halten und Bilddatensatz-Metadaten zu anonymisieren. Weitere Informationen finden Sie [https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html](https://docs.aws.amazon.com/healthimaging/latest/APIReference/API_UpdateImageSetMetadata.html)in der * HealthImaging AWS-API-Referenz*.

**Anmerkung**  
Bei echten DICOM-Importen müssen Attribute in den Metadaten des Bildsatzes aktualisiert, hinzugefügt und entfernt werden. Beachten Sie bei der Aktualisierung von Bilddatensatz-Metadaten die folgenden Punkte:  
Übergeben Sie die `--include-study-image-sets` Markierung, um alle primären Bilddatensätze zu aktualisieren, die dieselbe Study Instance UID wie der angeforderte Bilddatensatz haben. Dies ist ein atomarer Vorgang, bei dem die Versionen aller betroffenen Bilddatensätze inkrementiert werden. Hinweis: Das `--include-study-image-sets` Flag wird bei `revertToVersionId` Operationen nicht unterstützt, da Revert eine frühere Version wiederherstellt und keine Attributänderungen anwendet.
Durch das Aktualisieren von Bilddatensatz-Metadaten wird eine neue Version im Verlauf des Bilddatensatzes erstellt. Weitere Informationen finden Sie unter [Versionen von Bildsätzen auflisten](list-image-set-versions.md). Verwenden Sie den optionalen [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, um zu einer früheren Versions-ID des Bildsatzes zurückzukehren.
Das Aktualisieren von Bilddatensatz-Metadaten ist ein asynchroner Prozess. Daher [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)sind [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)Antwortelemente verfügbar, die den jeweiligen Status und Status eines Bilddatensatzes angeben, der gerade aktualisiert wird. Sie können keine anderen Schreibvorgänge an einem `LOCKED` Bilddatensatz ausführen.
Wenn die `UpdateImageSetMetadata` Aktion nicht erfolgreich ist, rufen Sie das [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)Antwortelement auf und überprüfen Sie es [`common errors`.](https://docs.aws.amazon.com/healthimaging/latest/APIReference/CommonErrors.html) 
DICOM-Elementbeschränkungen werden auf Metadaten-Updates angewendet. Der [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)Anforderungsparameter ermöglicht es Ihnen, Elemente von [Bilddatensätzen](getting-started-concepts.md#concept-image-set) zu aktualisieren, die nicht primär sind, wenn Sie sie überschreiben möchten. [Einschränkungen für DICOM-Metadaten](dicom-metadata-constraints.md)
[Die Aktualisierung von UID, `force` UID und StudyInstance SOPInstance UID für primäre SeriesInstance Bilddatensätze UpdateImageSet wird nicht unterstützt.](getting-started-concepts.md#concept-image-set)
[Stellen Sie den [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)Anforderungsparameter ein, um den Abschluss der `UpdateImageSetMetadata` Aktion für Bilddatensätze zu erzwingen, die nicht primär sind.](getting-started-concepts.md#concept-image-set) Die Einstellung dieses Parameters ermöglicht die folgenden Aktualisierungen eines Bilddatensatzes:  
Aktualisierung der `Tag.StudyID` Attribute `Tag.StudyInstanceUID` `Tag.SeriesInstanceUID``Tag.SOPInstanceUID`,, und
Private DICOM-Datenelemente auf Instanzebene hinzufügen, entfernen oder aktualisieren
Um eine Instanz aus einem Image-Set zu entfernen, muss der `--force` Parameter in der `UpdateImageSetMetadata` Anfrage angegeben werden.
Durch das Heraufstufen eines Bilddatensatzes zum primären Bilddatensatz wird die ID des Bildsatzes geändert.
Bei der Aktualisierung eines VR=SQ-Attributs wird das gesamte Sequenzattribut aktualisiert. Diese API unterstützt keine teilweisen Aktualisierungen von Sequenzattributen.

Das folgende Diagramm zeigt Bilddatensatz-Metadaten, in denen aktualisiert werden HealthImaging.

![Das Diagramm zeigt, wie das Aktualisieren von Bildsatz-Metadaten in aussieht HealthImaging.](http://docs.aws.amazon.com/de_de/healthimaging/latest/devguide/images/image-set-example-update-metadata.png)


**Um Bildsatz-Metadaten zu aktualisieren**  
Wählen Sie eine Registerkarte, die auf Ihren Zugriffspräferenzen für AWS basiert HealthImaging.

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

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

**AWS CLI**  
**Beispiel 1: So fügen Sie ein Attribut in Bildsatz-Metadaten ein oder aktualisieren es**  
Im folgenden Beispiel für `update-image-set-metadata` wird ein Attribut in die Metadaten eines Bildsatzes eingefügt.  

```
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}}
```
Inhalt von `metadata-updates.json`  

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

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Beispiel 2: So entfernen Sie ein Attribut aus den Metadaten eines Bildsatzes**  
Im folgenden Beispiel für `update-image-set-metadata` wird ein Attribut aus den Metadaten eines Bildsatzes entfernt.  

```
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}}
```
Inhalt von `metadata-updates.json`  

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

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Beispiel 3: So entfernen Sie eine Instance aus den Metadaten eines Bildsatzes**  
Im folgenden Beispiel für `update-image-set-metadata` wird eine Instance aus den Metadaten eines Bildsatzes entfernt.  

```
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
```
Inhalt von `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\": {}}}}}}"
    }
}
```
Ausgabe:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "ea92b0d8838c72a3f25d00d13616f87e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Beispiel 4: So setzen Sie einen Bildsatz auf eine frühere Version zurück**  
Das folgende `update-image-set-metadata` Beispiel zeigt, wie Sie einen Image-Satz auf eine frühere Version zurücksetzen können. CopyImageSet und UpdateImageSetMetadata Aktionen erstellen neue Versionen von Bilddatensätzen.  

```
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"}}}'
```
Ausgabe:  

```
{
    "datastoreId": "12345678901234567890123456789012",
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "latestVersionId": "4",
    "imageSetState": "LOCKED",
    "imageSetWorkflowStatus": "UPDATING",
    "createdAt": 1680027126.436,
    "updatedAt": 1680042257.908
}
```
**Beispiel 5: So fügen Sie einer Instance ein privates DICOM-Datenelement hinzu**  
Das folgende Beispiel für `update-image-set-metadata` zeigt, wie ein privates Element zu einer angegebenen Instance innerhalb eines Bildsatzes hinzugefügt wird. Der DICOM-Standard erlaubt private Datenelemente für die Übertragung von Informationen, die nicht in Standarddatenelementen enthalten sein dürfen. Mit der UpdateImageSetMetadata Aktion können Sie private Datenelemente erstellen, aktualisieren und löschen.  

```
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}}
```
Inhalt von `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\"}}}}}}}"
    }
}
```
Ausgabe:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Beispiel 6: So aktualisieren Sie ein privates DICOM-Datenelement in einer Instance**  
Das folgende Beispiel für `update-image-set-metadata` zeigt, wie der Wert eines privates Datenelements, das zu einer Instance eines Bildsatzes gehört, aktualisiert wird.  

```
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}}
```
Inhalt von `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\"}}}}}}}"
    }
}
```
Ausgabe:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
**Beispiel 7: Um eine SOPInstance UID mit dem Force-Parameter zu aktualisieren**  
Das folgende `update-image-set-metadata` Beispiel zeigt, wie eine SOPInstance UID aktualisiert wird, indem der Force-Parameter verwendet wird, um die DICOM-Metadatenbeschränkungen zu überschreiben.  

```
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}}
```
Inhalt von `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\"}}}}}}}"
    }
}
```
Ausgabe:  

```
{
    "latestVersionId": "2",
    "imageSetWorkflowStatus": "UPDATING",
    "updatedAt": 1680042257.908,
    "imageSetId": "53d5fdb05ca4d46ac7ca64b06545c66e",
    "imageSetState": "LOCKED",
    "createdAt": 1680027126.436,
    "datastoreId": "12345678901234567890123456789012"
}
```
Weitere Informationen finden Sie im *AWS HealthImaging Entwicklerhandbuch* unter [Aktualisieren von Bilddatensatz-Metadaten](https://docs.aws.amazon.com/healthimaging/latest/devguide/update-image-set-metadata.html).  
+  Einzelheiten zur API finden Sie [UpdateImageSetMetadata](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/medical-imaging/update-image-set-metadata.html)in der *AWS CLI Befehlsreferenz*. 

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

**SDK für 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;
        }
    }
```
Anwendungsfall 1: Fügen Sie ein Attribut ein oder aktualisieren Sie es.  

```
                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);
```
Anwendungsfall 2: Entfernen Sie ein Attribut.  

```
                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);
```
Anwendungsfall 3: Entfernen Sie eine 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);
```
Anwendungsfall 4: Kehren Sie zu einer früheren Version zurück.  

```
                // 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);
```
+  Einzelheiten zur API finden Sie [UpdateImageSetMetadata](https://docs.aws.amazon.com/goto/SdkForJavaV2/medical-imaging-2023-07-19/UpdateImageSetMetadata)unter *AWS SDK for Java 2.x API-Referenz*. 
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/medicalimaging#code-examples) einrichten und ausführen. 

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

**SDK für 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);
  }
};
```
Anwendungsfall 1: Fügen Sie ein Attribut ein oder aktualisieren Sie es und erzwingen Sie das Update.  

```
    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,
    );
```
Anwendungsfall 2: Entfernen Sie ein Attribut.  

```
    // 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,
    );
```
Anwendungsfall 3: Entfernen Sie eine 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,
    );
```
Anwendungsfall 4: Kehren Sie zu einer früheren Version zurück.  

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

    await updateImageSetMetadata(
      datastoreID,
      imageSetID,
      versionID,
      updateMetadata,
    );
```
+  Einzelheiten zur API finden Sie [UpdateImageSetMetadata](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/medical-imaging/command/UpdateImageSetMetadataCommand)in der *AWS SDK für JavaScript API-Referenz*. 
 Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/medical-imaging#code-examples) einrichten und ausführen. 

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

**SDK für 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
```
Der folgende Code instanziiert das MedicalImagingWrapper Objekt.   

```
    client = boto3.client("medical-imaging")
    medical_imaging_wrapper = MedicalImagingWrapper(client)
```
Anwendungsfall 1: Fügen Sie ein Attribut ein oder aktualisieren Sie es.  

```
            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
            )
```
Anwendungsfall 2: Entfernen Sie ein Attribut.  

```
            # 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
            )
```
Anwendungsfall 3: Entfernen Sie eine 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
            )
```
Anwendungsfall 4: Kehren Sie zu einer früheren Version zurück.  

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

            self.update_image_set_metadata(
                data_store_id, image_set_id, version_id, metadata, force
            )
```
+  Einzelheiten zur API finden Sie [UpdateImageSetMetadata](https://docs.aws.amazon.com/goto/boto3/medical-imaging-2023-07-19/UpdateImageSetMetadata)in *AWS SDK for Python (Boto3) API* Reference. 
 Es gibt noch mehr dazu. GitHub Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/medical-imaging#code-examples) einrichten und ausführen. 

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

**SDK für 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.
```
+  Einzelheiten zur API finden Sie [UpdateImageSetMetadata](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)in der *AWS API-Referenz zum SDK für SAP ABAP*. 
 Es gibt noch mehr dazu. GitHub Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das [AWS -Code-Beispiel-](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/mig#code-examples) einrichten und ausführen. 

------

**Beispiel für die Verfügbarkeit**  
Sie können nicht finden, was Sie brauchen? Fordern Sie über den Link **Feedback geben** in der rechten Seitenleiste dieser Seite ein Codebeispiel an.

Mithilfe von, und können Sie SOP-Instanzen zwischen Bilddatensätzen verschieben, Konflikte mit Metadatenelementen lösen und Instanzen zu den primären Bilddatensätzen hinzufügen oder `CopyImageSet` daraus `UpdateImageSetMetadata` entfernen. `DeleteImageSet` APIs

Mit der `DeleteImageSet` Aktion können Sie einen Bildsatz aus der primären Sammlung entfernen.

## Um die Metadaten eines primären Bilddatensatzes zu aktualisieren
<a name="w2aac31c19c17b5"></a>

1. Verwenden Sie die CopyImageSet Aktion, um einen nicht-primären Bildsatz zu erstellen, der eine Kopie des primären Bildsatzes ist, den Sie ändern möchten. Nehmen wir an, dies wird `103785414bc2c89330f7ce51bbd13f7a` als ID des nicht primären Bilddatensatzes zurückgegeben.

   ```
             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. Verwenden Sie die UpdateImageSetMetadata Aktion, um Änderungen am nichtprimären Bilddatensatz vorzunehmen. `(103785414bc2c89330f7ce51bbd13f7a)` Zum Beispiel das Ändern der PatientenID.

   ```
   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. Löschen Sie den primären Bilddatensatz, den Sie ändern.

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

1. Verwenden Sie die CopyImageSet Aktion mit dem Argument`--promoteToPrimary`, um den aktualisierten Bildsatz zur primären Sammlung hinzuzufügen.

   ```
   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. Löschen Sie den nicht primären Bildsatz.

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

## Um einen Bildsatz, der nicht primär ist, primär zu machen
<a name="w2aac31c19c17b7"></a>

1. Verwenden Sie die UpdateImageSetMetadata Aktion, um Konflikte mit vorhandenen primären Bilddatensätzen zu lösen.

   ```
   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. Wenn die Konflikte gelöst sind, verwenden Sie die CopyImageSet Aktion mit dem Argument, `--promoteToPrimary` um den Bilddatensatz zur Sammlung des primären Bilddatensatzes hinzuzufügen.

   ```
   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. Nachdem Sie bestätigt haben, dass die CopyImageSet Aktion erfolgreich war, löschen Sie den Quell-Imagedatensatz.

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