Ressourcenlabels verwenden

Auf dieser Seite wird beschrieben, wie Sie Labels für Cloud Healthcare API-Ressourcen hinzufügen, anzeigen, bearbeiten und entfernen. Labels sind Schlüssel/Wert-Paare, mit denen Sie Ressourcen organisieren können. Sie können ein Label an einzelne Ressourcen anhängen und die Ressourcen dann anhand ihrer Labels filtern. Informationen zu Labels werden an das Abrechnungssystem weitergeleitet, sodass Sie Ihre Rechnungsaufstellung nach Labels aufschlüsseln können.

Sie können Labels mit den folgenden Cloud Healthcare API-Ressourcen verwenden:

  • FHIR-Speicher
  • DICOM-Speicher
  • Einwilligungsspeicher
  • HL7v2-Speicher
  • HL7v2-Nachrichten

Labels sind über die REST API oder RPC API verfügbar. Labels sind in der Google Cloud CLI und Google Cloud Console nicht verfügbar.

Anforderungen an Labels

Die Labels, die auf eine Ressource angewendet werden, müssen die folgenden Anforderungen erfüllen:

  • Jede Ressource kann bis zu 64 Labels haben.
  • Jedes Label muss ein Schlüssel/Wert-Paar sein.
  • Schlüssel haben eine Mindestlänge von 1 Zeichen und eine maximale Länge von 63 Zeichen und dürfen nicht leer sein. Werte dürfen leer sein und haben eine maximale Länge von 63 Zeichen.
  • Schlüssel und Werte dürfen nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Alle Zeichen müssen die UTF-8-Codierung verwenden. Internationale Zeichen sind zulässig.
  • Der Schlüssel eines Labels muss in einer einzelnen Ressource eindeutig sein, aber Sie können denselben Schlüssel für mehrere Ressourcen verwenden.
  • Schlüssel müssen mit einem Kleinbuchstaben oder einem internationalen Zeichen beginnen.

Label hinzufügen

Das folgende Beispiel zeigt, wie Sie einem vorhandenen FHIR-Speicher ein Label hinzufügen.

Sie können beispielsweise mithilfe des Labels angeben, dass der FHIR-Speicher als Testumgebung verwendet wird. Der Schlüssel für das Label wäre environment und der Wert test.

curl

Wenn Sie einem vorhandenen FHIR-Speicher ein Label hinzufügen möchten, senden Sie eine PATCH-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des FHIR-Speichers
  • Die zu aktualisierenden Labeldaten
  • Eine Aktualisierungsmaske, die auf labels festgelegt ist
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine PATCH-Anfrage mit curl.

curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
      'labels': {
        'KEY' : 'VALUE'
      }
     }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels"

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY": "VALUE"
  }
}

PowerShell

Wenn Sie einem vorhandenen FHIR-Speicher ein Label hinzufügen möchten, senden Sie eine PATCH-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des FHIR-Speichers
  • Die zu aktualisierenden Labeldaten
  • Eine Aktualisierungsmaske, die auf labels festgelegt ist
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine PATCH-Anfrage mit Windows PowerShell.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Patch `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body "{
      'labels': {
        'KEY': 'VALUE'
      }
  }" `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels" | Select-Object -Expand Content

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY": "VALUE"
  }
}

Mehrere Labels hinzufügen

Das folgende Beispiel zeigt, wie Sie einem vorhandenen FHIR-Speicher mehrere Labels hinzufügen. Wenn Sie mehrere Labels hinzufügen möchten, trennen Sie die einzelnen Labels durch Kommas.

Sie können beispielsweise mithilfe der Labels angeben, dass der FHIR-Speicher als Testumgebung und für ein Forschungsteam verwendet wird.

Der Schlüssel für das erste Label wäre environment und der Wert test. Der Schlüssel für das zweite Label wäre team und der Wert research.

curl

Um einem vorhandenen FHIR-Speicher mehrere Labels hinzuzufügen, senden Sie eine PATCH-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des FHIR-Speichers
  • Die Label-Daten, die als kommagetrennte Liste von Schlüssel/Wert-Paaren aktualisiert werden sollen
  • Eine Aktualisierungsmaske, die auf labels festgelegt ist
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine PATCH-Anfrage mit curl.

curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
      'labels': {
        'KEY_1' : 'VALUE_1',
        'KEY_2' : 'VALUE_2'
      }
     }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels"

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY_1": "VALUE_1",
    "KEY_2": "VALUE_2"
  }
}

PowerShell

Wenn Sie einem vorhandenen FHIR-Speicher ein Label hinzufügen möchten, senden Sie eine PATCH-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des FHIR-Speichers
  • Die Label-Daten, die als kommagetrennte Liste von Schlüssel/Wert-Paaren aktualisiert werden sollen
  • Eine Aktualisierungsmaske, die auf labels festgelegt ist
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine PATCH-Anfrage mit Windows PowerShell.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Patch `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body "{
      'labels': {
        'KEY_1': 'VALUE_1',
        'KEY_2': 'VALUE_2'
      }
  }" `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels" | Select-Object -Expand Content

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY_1": "VALUE_1",
    "KEY_2": "VALUE_2"
  }
}

Nach Labels auflisten und filtern

Nachdem Sie einer Cloud Healthcare API-Ressource ein Label hinzugefügt haben, können Sie Ressourcen auflisten und nach Labels filtern. Nachdem Sie beispielsweise in den vorherigen Beispielen einem FHIR-Speicher ein Label hinzugefügt haben, können Sie die FHIR-Speicher in Ihrem Dataset auflisten und nach den hinzugefügten Labels filtern.

HL7v2-Nachrichten haben zusätzliche Filteroptionen, die Sie in projects.locations.datasets.hl7V2Stores.messages.list ansehen können.

curl

Wenn Sie die FHIR-Speicher in einem Dataset aufrufen und nach einem Label filtern möchten, senden Sie eine GET-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des FHIR-Speichers
  • Ein Abfragestring mit den Informationen, nach denen gefiltert werden soll
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine GET-Anfrage mit curl.

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores?filter=labels.KEY=VALUE"

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "fhirStores": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
      "labels": {
        "KEY": "VALUE"
      }
    },
    {
      ...
    }
  ]
}

PowerShell

Wenn Sie die FHIR-Speicher in einem Dataset aufrufen und nach einem Label filtern möchten, senden Sie eine GET-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des FHIR-Speichers
  • Ein Abfragestring mit den Informationen, nach denen gefiltert werden soll
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine GET-Anfrage mit Windows PowerShell.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Get `
  -Headers $headers `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores?filter=labels.KEY=VALUE" | Select-Object -Expand Content

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "fhirStores": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
      "labels": {
        "KEY": "VALUE"
      }
    },
    {
      ...
    }
  ]
}

Label entfernen

Sie haben zwei Möglichkeiten, ein Label zu entfernen:

  • Wenn Sie das Label vollständig entfernen möchten, d.h. sowohl den Schlüssel als auch den Wert entfernen, verwenden Sie das Read-Modify-Write-Muster, indem Sie die folgenden Schritte ausführen:

    1. Lesen Sie die aktuellen Labels, indem Sie die Methode get() der Ressource aufrufen.
    2. Bearbeiten Sie die zurückgegebenen Labels, entweder mit einem Texteditor oder programmatisch, um anwendbare Schlüssel und ihre Werte hinzuzufügen oder zu entfernen.
    3. Schreiben Sie die aktualisierten Labels, indem Sie die Methode patch() der Ressource aufrufen.
  • Wenn Sie den Schlüssel behalten und den Wert entfernen möchten, setzen Sie den Wert auf null.

curl

Im folgenden Beispiel wird gezeigt, wie Sie ein Label entfernen, indem Sie den Wert des Labels auf null setzen.

Wenn Sie ein Label aus einem vorhandenen FHIR-Speicher entfernen möchten, senden Sie eine PATCH-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des FHIR-Speichers
  • Die zu aktualisierenden Labeldaten
  • Eine Aktualisierungsmaske, die auf labels festgelegt ist
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine PATCH-Anfrage mit curl.

curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
      'labels': {
        'KEY' : null
      }
     }" "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels"

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY":
  }
}

PowerShell

Im folgenden Beispiel wird gezeigt, wie Sie ein Label entfernen, indem Sie den Wert des Labels auf null setzen.

Wenn Sie ein Label aus einem vorhandenen FHIR-Speicher entfernen möchten, senden Sie eine PATCH-Anfrage und geben Sie die folgenden Informationen an:

  • Der Name des übergeordneten Datasets
  • Der Name des FHIR-Speichers
  • Die zu aktualisierenden Labeldaten
  • Eine Aktualisierungsmaske, die auf labels festgelegt ist
  • Ein Zugriffstoken

Das folgende Beispiel zeigt eine PATCH-Anfrage mit Windows PowerShell.

$cred = gcloud auth application-default print-access-token
$headers = @{ Authorization = "Bearer $cred" }

Invoke-WebRequest `
  -Method Post `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body "{
      'labels': {
        'KEY': nullresource_manager_api
      }
  }" `
  -Uri "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID?updateMask=labels" | Select-Object -Expand Content

Wenn die Anfrage erfolgreich ist, gibt der Server die Antwort im JSON-Format zurück:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID",
  "labels": {
    "KEY":
  }
}

Nächste Schritte

Weitere Verwendungsmöglichkeiten von Labels mit der Cloud Resource Manager API