Informationen zum Datenzugriff

Hinweis

Richten Sie die erforderlichen FHIR-Speicherkonfigurationen und ‑ressourcen ein und erzwingen Sie die Zugriffssteuerung. Weitere Informationen finden Sie unter Zugriff auf FHIR steuern. Ressourcen

Übersicht

Mit der Methode ExplainDataAccess können Sie anhand der erzwungenen Richtlinien und Einwilligungen herausfinden, welche Akteure welchen Zugriff auf eine bestimmte Ressource haben.

Mit der Methode ExplainDataAccess können Sie Fragen wie die folgenden beantworten:

  • Wer kann auf eine bestimmte Ressource zugreifen?
  • Zu welchem Zweck können diese Akteure auf diese Ressource zugreifen?
  • Welche Einwilligungsressourcen erzwingen den Zugriff?

Informationen zum Datenzugriff

Um ExplainDataAccess, die ID der gewünschten Ressource übergeben. Die Antwort enthält eine Liste der Gültigkeitsbereiche der Einwilligung (Akteur, Zweck, Umgebung), die den Zugriff auf die bereitgestellte Ressource zulassen oder verweigern. Die Ausnahmen für Einwilligungsbereiche sind im Feld ExplainDataAccessConsentScope.exceptions aufgeführt. Eine Ausnahme kann eintreten, wenn eine Richtlinie actor den Zugriff gewährt Observation/ob1 für einen beliebigen Zweck, obwohl es eine Ablehnungsrichtlinie gibt, die den Zugriff verweigert. actor darf mit dem Zweck research nicht auf diese Ressource zugreifen. Jede Einwilligung Umfang enthält Informationen dazu, welche Einwilligungsressource einen solchen Zugriff erzwungen hat ExplainDataAccessConsentScope.enforcing_consents, können Sie so die Details der erzwungenen und anwendbaren Einwilligungen für diese Ressource.

Es gibt eine Limit von 1.000 Richtlinien zur Einwilligung der Nutzer in der EU und 1.000 Ablehnungsrichtlinien Dieses Limit schränkt die Anzahl der Einwilligungsbereiche ein, die auf eine bestimmte Ressource angewendet werden. Wenn der Parameter die Anzahl der Einwilligungsbereiche das Limit überschreitet, ExplainDataAccessResponse.warning enthält eine relevante Nachricht.

Im Folgenden finden Sie ein Beispiel für eine Anfrage, die den Datenzugriff für eine bestimmte Ressource erläutert:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json" \
    "https://healthcare.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID:explainDataAccess?resource_id=Observation/7473784b-46a8-470c-b9a6-fe38a01025aa"

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
   "consentScopes":[
      {
         "decision":"CONSENT_DECISION_TYPE_PERMIT",
         "enforcingConsents":[
            {
               "consentResource":"projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Consent/73c54e8d-2789-403b-9dee-13085c5d5e34",
               "type":"CONSENT_POLICY_TYPE_PATIENT",
               "enforcementTime":"2024-02-09T02:48:02.721589Z",
               "patientConsentOwner":"projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/3c6aa096-c054-4c22-b2b4-1e4a4d203de2",
               "matchingAccessorScopes":[
                  {
                     "actor":"Practitioner/12942879-f89f-41ae-aa80-0b911b649833",
                     "purpose":"v3/ETREAT",
                     "environment":"*"
                  }
               ]
            }
         ],
         "accessorScope":{
            "actor":"Practitioner/12942879-f89f-41ae-aa80-0b911b649833",
            "purpose":"v3/ETREAT",
            "environment":"*"
         }
      },
      {
         "decision":"CONSENT_DECISION_TYPE_PERMIT",
         "enforcingConsents":[
            {
               "consentResource":"projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Consent/10998b60-a252-405f-aa47-0702554ddc8e",
               "type":"CONSENT_POLICY_TYPE_PATIENT",
               "enforcementTime":"2024-02-09T02:48:02.721589Z",
               "patientConsentOwner":"projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/3c6aa096-c054-4c22-b2b4-1e4a4d203de2",
               "matchingAccessorScopes":[
                  {
                     "actor":"Practitioner/12942879-f89f-41ae-aa80-0b911b649833",
                     "purpose":"*",
                     "environment":"App/123"
                  }
               ]
            }
         ],
         "accessorScope":{
            "actor":"Practitioner/12942879-f89f-41ae-aa80-0b911b649833",
            "purpose":"*",
            "environment":"App/123"
         }
      },
      {
         "decision":"CONSENT_DECISION_TYPE_PERMIT",
         "enforcingConsents":[
            {
               "consentResource":"projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Consent/5c8e3f8a-9fd5-480d-a08e-f29b89feccde",
               "type":"CONSENT_POLICY_TYPE_ADMIN",
               "enforcementTime":"2024-02-09T02:50:03.973252Z",
               "matchingAccessorScopes":[
                  {
                     "actor":"Practitioner/12942879-f89f-41ae-aa80-0b911b649833",
                     "purpose":"v3/BIORCH",
                     "environment":"App/golden"
                  }
               ]
            }
         ],
         "accessorScope":{
            "actor":"Practitioner/12942879-f89f-41ae-aa80-0b911b649833",
            "purpose":"v3/BIORCH",
            "environment":"App/golden"
         }
      }
   ]
}

In diesem Beispiel wurde der folgende Zugriff zugelassen:

  1. Practitioner/12942879-f89f-41ae-aa80-0b911b649833 mit dem Zweck v3/ETREAT in allen Umgebungen, die durch die Einwilligung des Patienten erteilt wurde.
  2. Practitioner/12942879-f89f-41ae-aa80-0b911b649833 mit allen Zwecken in App/123-Umgebung, mit Einwilligung des Patienten gewährt.
  3. Practitioner/12942879-f89f-41ae-aa80-0b911b649833 mit v3/BIORCH Zweck in App/golden-Umgebung, durch Administratoreinwilligung erteilt.

Zusätzliches Beispiel für ExplainDataAccess-Antwort

{
   "consentScopes":[
      {
         "decision":"CONSENT_DECISION_TYPE_PERMIT",
         "accessorScope":{
            "actor":"Practitioner/doctor",
            "purpose":"*",
            "environment":"*"
         },
         "enforcingConsents":[
            {
               "consentResource":"projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Consent/pc1",
               "type":"CONSENT_POLICY_TYPE_PATIENT",
               "enforcementTime":"2024-01-02T14:10:55.271144Z",
               "patientConsentOwner":"projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/p1",
               "matchingAccessorScopes":[
                  {
                     "actor":"Practitioner/doctor",
                     "purpose":"*",
                     "environment":"*"
                  }
               ]
            }
         ],
         "exceptions":[
            {
               "decision":"CONSENT_DECISION_TYPE_DENY",
               "accessorScope":{
                  "actor":"Practitioner/doctor",
                  "purpose":"v3/TREAT",
                  "environment":"*"
               },
               "enforcingConsents":[
                  {
                     "consentResource":"projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Consent/ac1",
                     "type":"CONSENT_POLICY_TYPE_ADMIN",
                     "enforcementTime":"2024-01-02T14:10:55.229196Z",
                     "matchingAccessorScopes":[
                        {
                           "actor":"Practitioner/doctor",
                           "purpose":"v3/TREAT",
                           "environment":"*"
                        }
                     ]
                  },
                  {
                     "consentResource":"projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Consent/ac1-dup",
                     "type":"CONSENT_POLICY_TYPE_ADMIN",
                     "variants":["CONSENT_VARIANT_CASCADE"],
                     "enforcementTime":"2024-01-02T14:10:55.229196Z",
                     "cascadeOrigins":[
                        "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/p1"
                     ],
                     "matchingAccessorScopes":[
                        {
                           "actor":"Practitioner/doctor",
                           "purpose":"v3/TREAT",
                           "environment":"*"
                        }
                     ]
                  }
               ]
            }
         ]
      },
      {
         "decision":"CONSENT_DECISION_TYPE_DENY",
         "accessorScope":{
            "actor":"Practitioner/doctor",
            "purpose":"v3/TREAT",
            "environment":"*"
         },
         "enforcingConsents":[
            {
               "consentResource":"projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Consent/ac1",
               "type":"CONSENT_POLICY_TYPE_ADMIN",
               "enforcementTime":"2024-01-02T14:10:55.229196Z",
               "matchingAccessorScopes":[
                  {
                     "actor":"Practitioner/doctor",
                     "purpose":"v3/TREAT",
                     "environment":"*"
                  }
               ]
            },
            {
               "consentResource":"projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Consent/ac1-dup",
               "type":"CONSENT_POLICY_TYPE_ADMIN",
               "variants":["CONSENT_VARIANT_CASCADE"],
               "enforcementTime":"2024-01-02T14:10:55.229196Z",
               "cascadeOrigins":[
                  "projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient/p1"
               ],
               "matchingAccessorScopes":[
                  {
                     "actor":"Practitioner/doctor",
                     "purpose":"v3/TREAT",
                     "environment":"*"
                  }
               ]
            }
         ]
      }
   ]
}

In diesem Beispiel darf Practitioner/doctor in allen Umgebungen und zu allen Zwecken auf die Ressource zugreifen, mit Ausnahme von v3/TREAT. Die Einwilligung Die Durchsetzung der Richtlinie ist eine PatienteneinwilligungConsent/pc1 und die Einwilligung sind Administratorrichtlinien (Consent/ac1 und Consent/ac1-dup). Consent/ac1-dup ist eine kaskadierende Administratorrichtlinie, die dem Inhaber der Ressource zugeordnet wurde Patient/p1