

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.

# Validierung von FHIR-Ressourcen mit `$validate`
<a name="reference-fhir-operations-validate"></a>

AWS HealthLake unterstützt jetzt den `$validate` Vorgang für FHIR-Ressourcen, sodass Sie eine Ressource anhand der FHIR-Spezifikation validieren und ihre Konformität mit einem bestimmten Profil oder einer Basisressourcendefinition überprüfen können, ohne Speichervorgänge durchführen zu müssen. Dieser Vorgang ist besonders nützlich, wenn Sie:
+ Überprüfen Sie die FHIR CMS-Compliance-Anforderungen
+ Testen Sie Ressourcen, bevor Sie sie in der Produktion verwenden
+ Geben Sie Feedback zur Validierung in Echtzeit, während Benutzer klinische Daten bearbeiten
+ Reduzieren Sie die Anzahl ungültiger Dateneinreichungen bei der Erstellung und Aktualisierung APIs

## Usage
<a name="validate-usage"></a>

Der `$validate` Vorgang kann mit POST-Methoden auf FHIR-Ressourcen aufgerufen werden:

**Unterstützte Vorgänge**  


```
POST [base]/[type]/[id]/$validate
POST [base]/[type]/$validate
```

## Unterstützte Payloads
<a name="validate-payloads"></a>

**Ressource „Parameter“**  


HealthLake unterstützt die folgenden `$validate` FHIR-Parameter:


| Parameter | Typ | Erforderlich | Description | 
| --- | --- | --- | --- | 
| resource | Ressource | Ja | Die zu validierende Ressource | 
| profile | kanonisch | Nein | Kanonische URL des Profils, gegen das validiert werden soll | 
| mode | Code | Nein | Validierungsmodus:create, oder update | 

**Direkte Ressource mit Abfrageparametern**  



| Parameter | Typ | Erforderlich | Description | 
| --- | --- | --- | --- | 
| profile | kanonisch | Nein | Kanonische URL des Profils, gegen das validiert werden soll | 
| mode | Code | Nein | Validierungsmodus:create, oder update | 

## Beispiele
<a name="validate-examples"></a>

**POST-Anfrage für eine Ressource mit ID und Payload mit Parametern**  


```
POST [base]/Patient/example-patient/$validate
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "resource",
      "resource": {
        "resourceType": "Patient",
        "id": "example-patient",
        "name": [
          {
            "family": "Smith",
            "given": ["John"]
          }
        ],
        "gender": "male",
        "birthDate": "1990-01-01"
      }
    },
    {
      "name": "profile",
      "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
    },
    {
      "name": "mode",
      "valueString": "create"
    }
  ]
}
```

**POST-Anforderung für die Payload des Ressourcentyps und der Parameter**  


```
POST [base]/Patient/$validate
Content-Type: application/fhir+json

{
  "resourceType": "Parameters",
  "parameter": [
    {
      "name": "resource",
      "resource": {
        "resourceType": "Patient",
        "name": [
          {
            "family": "Doe",
            "given": ["Jane"]
          }
        ],
        "gender": "female",
        "birthDate": "1985-05-15"
      }
    },
    {
      "name": "profile",
      "valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
    },
    {
      "name": "mode",
      "valueString": "update"
    }
  ]
}
```

**POST-Anfrage für eine Ressource mit ID und direkter Ressourcennutzlast**  


```
POST [base]/Patient/example-patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create
Content-Type: application/fhir+json

{
    "resourceType": "Patient",
    "id": "example-patient",
    "name": [
        {
        "family": "Smith",
        "given": ["John"]
        }
    ],
    "gender": "male",
    "birthDate": "1990-01-01"
}
```

**POST-Anfrage für den Ressourcentyp und die direkte Ressourcennutzlast**  


```
POST [base]/Patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create
Content-Type: application/fhir+json

{
    "resourceType": "Patient",
    "id": "example-patient",
    "name": [
        {
        "family": "Smith",
        "given": ["John"]
        }
    ],
    "gender": "male",
    "birthDate": "1990-01-01"
}
```

**Beispielantwort**  
Der Vorgang gibt eine OperationOutcome Ressource mit Überprüfungsergebnissen zurück:

```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "information",
      "code": "informational",
      "diagnostics": "Validation successful"
    }
  ]
}
```

**Beispielantwort mit Validierungsfehlern**  


```
{
  "resourceType": "OperationOutcome",
  "issue": [
    {
      "severity": "error",
      "code": "required",
      "details": {
        "text": "Missing required element"
      },
      "diagnostics": "Patient.identifier is required by the US Core Patient profile",
      "location": [
        "Patient.identifier"
      ]
    },
    {
      "severity": "warning",
      "code": "code-invalid",
      "details": {
        "text": "Invalid code value"
      },
      "diagnostics": "The provided gender code is not from the required value set",
      "location": [
        "Patient.gender"
      ]
    }
  ]
}
```

## Behavior
<a name="validate-behavior"></a>

Die `$validate` Operation:

1. Validiert die Ressource anhand der FHIR-Spezifikation und der Basisressourcendefinition

1. Überprüft die Konformität mit den angegebenen Profilen, wenn der `profile` Parameter angegeben wird

1. Validiert basierend auf dem angegebenen Modus (oder) `create` `update`

1. Gibt detaillierte Überprüfungsergebnisse zurück, einschließlich Fehlern, Warnungen und Informationsmeldungen

1. Führt keine Speichervorgänge durch — nur Validierung

1. Gibt HTTP 200 OK zurück, wenn die Validierung durchgeführt werden kann, unabhängig davon, ob Validierungsprobleme gefunden wurden

## Validierungsmodi
<a name="validate-modes"></a>
+ **create**: Validiert die Ressource so, als ob sie erstellt würde (neue Ressource)
+ **update**: Validiert die Ressource so, als ob sie aktualisiert würde (bestehende Ressource)

## Fehlerbehandlung
<a name="validate-error-handling"></a>

Die Operation gibt Folgendes zurück:
+ 200 OK: Die Validierung wurde erfolgreich durchgeführt (unabhängig vom Überprüfungsergebnis)
+ 400 Schlechte Anfrage: Ungültiges Anforderungsformat oder ungültige Parameter
+ 404 Nicht gefunden: Ressourcentyp oder Profil nicht gefunden

Weitere Informationen zur `$validate` Operationsspezifikation finden Sie in der [FHIR `$validate` R4-Ressourcendokumentation](https://www.hl7.org/fhir/R4/operation-resource-validate.html).