{-# LANGUAGE DataKinds #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-duplicate-exports #-} {-# OPTIONS_GHC -fno-warn-name-shadowing #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- | -- Module : Gogol.Healthcare.Projects.Locations.Datasets.FhirStores.Fhir.Resourcevalidate -- Copyright : (c) 2015-2025 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Toni Cebrián -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Validates an input FHIR resource\'s conformance to its profiles and the profiles configured on the FHIR store. Implements the FHIR extended operation $validate (, , or ). The request body must contain a JSON-encoded FHIR resource, and the request headers must contain @Content-Type: application\/fhir+json@. The @Parameters@ input syntax is not supported. The @profile@ query parameter can be used to request that the resource only be validated against a specific profile. If a profile with the given URL cannot be found in the FHIR store then an error is returned. Errors generated by validation contain a JSON-encoded @OperationOutcome@ resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP -- error might be returned instead. -- -- /See:/ for @healthcare.projects.locations.datasets.fhirStores.fhir.Resourcevalidate@. module Gogol.Healthcare.Projects.Locations.Datasets.FhirStores.Fhir.Resourcevalidate ( -- * Resource HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidateResource, -- ** Constructing a Request HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate (..), newHealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate, ) where import Gogol.Healthcare.Types import Gogol.Prelude qualified as Core -- | A resource alias for @healthcare.projects.locations.datasets.fhirStores.fhir.Resourcevalidate@ method which the -- 'HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate' request conforms to. type HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidateResource = "v1" Core.:> Core.Capture "parent" Core.Text Core.:> "fhir" Core.:> Core.Capture "type" Core.Text Core.:> "$validate" Core.:> Core.QueryParam "$.xgafv" Xgafv Core.:> Core.QueryParam "access_token" Core.Text Core.:> Core.QueryParam "callback" Core.Text Core.:> Core.QueryParam "profile" Core.Text Core.:> Core.QueryParam "uploadType" Core.Text Core.:> Core.QueryParam "upload_protocol" Core.Text Core.:> Core.QueryParam "alt" Core.AltJSON Core.:> Core.ReqBody '[Core.JSON] HttpBody Core.:> Core.Post '[Core.JSON] HttpBody -- | Validates an input FHIR resource\'s conformance to its profiles and the profiles configured on the FHIR store. Implements the FHIR extended operation $validate (, , or ). The request body must contain a JSON-encoded FHIR resource, and the request headers must contain @Content-Type: application\/fhir+json@. The @Parameters@ input syntax is not supported. The @profile@ query parameter can be used to request that the resource only be validated against a specific profile. If a profile with the given URL cannot be found in the FHIR store then an error is returned. Errors generated by validation contain a JSON-encoded @OperationOutcome@ resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP -- error might be returned instead. -- -- /See:/ 'newHealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate' smart constructor. data HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate = HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate { -- | V1 error format. xgafv :: (Core.Maybe Xgafv), -- | OAuth access token. accessToken :: (Core.Maybe Core.Text), -- | JSONP callback :: (Core.Maybe Core.Text), -- | Required. The name of the FHIR store that holds the profiles being used for validation. parent :: Core.Text, -- | Multipart request metadata. payload :: HttpBody, -- | Optional. The canonical URL of a profile that this resource should be validated against. For example, to validate a Patient resource against the US Core Patient profile this parameter would be @http:\/\/hl7.org\/fhir\/us\/core\/StructureDefinition\/us-core-patient@. A StructureDefinition with this canonical URL must exist in the FHIR store. profile :: (Core.Maybe Core.Text), -- | Required. The FHIR resource type of the resource being validated. For a complete list, see the FHIR Resource Index (, , or ). Must match the resource type in the provided content. type' :: Core.Text, -- | Legacy upload protocol for media (e.g. \"media\", \"multipart\"). uploadType :: (Core.Maybe Core.Text), -- | Upload protocol for media (e.g. \"raw\", \"multipart\"). uploadProtocol :: (Core.Maybe Core.Text) } deriving (Core.Eq, Core.Show, Core.Generic) -- | Creates a value of 'HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate' with the minimum fields required to make a request. newHealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate :: -- | Required. The name of the FHIR store that holds the profiles being used for validation. See 'parent'. Core.Text -> -- | Multipart request metadata. See 'payload'. HttpBody -> -- | Required. The FHIR resource type of the resource being validated. For a complete list, see the FHIR Resource Index (, , or ). Must match the resource type in the provided content. See 'type''. Core.Text -> HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate newHealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate parent payload type' = HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate { xgafv = Core.Nothing, accessToken = Core.Nothing, callback = Core.Nothing, parent = parent, payload = payload, profile = Core.Nothing, type' = type', uploadType = Core.Nothing, uploadProtocol = Core.Nothing } instance Core.GoogleRequest HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate where type Rs HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate = HttpBody type Scopes HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate = '[CloudHealthcare'FullControl, CloudPlatform'FullControl] requestClient HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidate {..} = go parent type' xgafv accessToken callback profile uploadType uploadProtocol (Core.Just Core.AltJSON) payload healthcareService where go = Core.buildClient ( Core.Proxy :: Core.Proxy HealthcareProjectsLocationsDatasetsFhirStoresFhirResourcevalidateResource ) Core.mempty