{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveDataTypeable #-}
module Text.HTML5.MetaData.Schema.PalliativeProcedure where

--  Valid: 2016-03-21 (Schema.rdfs.org)

import Text.HTML5.MetaData.Class
import Text.HTML5.MetaData.Type
import Data.Text
import Data.Typeable
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.Thing
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.MedicalEntity
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.MedicalProcedure
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.PalliativeProcedure
import {-# SOURCE #-} qualified Text.HTML5.MetaData.Schema.MedicalTherapy

-- | A medical procedure intended primarily for palliative purposes, aimed at relieving the symptoms of an underlying health condition.
--
--   [@id@] PalliativeProcedure
--
--   [@label@] Palliative Procedure
--
--   [@comment@] A medical procedure intended primarily for palliative purposes, aimed at relieving the symptoms of an underlying health condition.
--
--   [@ancestors@] @'Thing','MedicalEntity','MedicalProcedure','PalliativeProcedure','Thing','MedicalEntity','MedicalTherapy'@
--
--   [@subtypes@]
--
--   [@supertypes@] @'MedicalProcedure','MedicalTherapy'@
--
--   [@url@] <http://schema.org/PalliativeProcedure>
data PalliativeProcedure = PalliativeProcedure { followup :: Followup
                                               , howPerformed :: HowPerformed
                                               , preparation :: Preparation
                                               , procedureType :: ProcedureType
                                               , code :: Code
                                               , guideline :: Guideline
                                               , medicineSystem :: MedicineSystem
                                               , recognizingAuthority :: RecognizingAuthority
                                               , relevantSpecialty :: RelevantSpecialty
                                               , study :: Study
                                               , adverseOutcome :: AdverseOutcome
                                               , contraindication :: Contraindication
                                               , duplicateTherapy :: DuplicateTherapy
                                               , indication :: Indication
                                               , seriousAdverseOutcome :: SeriousAdverseOutcome
                                               , additionalType :: AdditionalType
                                               , alternateName :: AlternateName
                                               , description :: Description
                                               , image :: Image
                                               , mainEntityOfPage :: MainEntityOfPage
                                               , name :: Name
                                               , potentialAction :: PotentialAction
                                               , sameAs :: SameAs
                                               , url :: Url
                                               }
                           deriving (Show, Read, Eq, Typeable)

instance MetaData PalliativeProcedure where
  _label         = const "Palliative Procedure"
  _comment_plain = const "A medical procedure intended primarily for palliative purposes, aimed at relieving the symptoms of an underlying health condition."
  _comment       = const "A medical procedure intended primarily for palliative purposes, aimed at relieving the symptoms of an underlying health condition."
  _url           = const "http://schema.org/PalliativeProcedure"
  _ancestors     = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.MedicalEntity.MedicalEntity)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.MedicalProcedure.MedicalProcedure)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.PalliativeProcedure.PalliativeProcedure)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.MedicalEntity.MedicalEntity)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.MedicalTherapy.MedicalTherapy)]
  _subtypes      = const []
  _supertypes    = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.MedicalProcedure.MedicalProcedure)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.MedicalTherapy.MedicalTherapy)]