{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveDataTypeable #-}
module Text.HTML5.MetaData.Schema.PathologyTest 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.MedicalTest

-- | A medical test performed by a laboratory that typically involves examination of a tissue sample by a pathologist.
--
--   [@id@] PathologyTest
--
--   [@label@] Pathology Test
--
--   [@comment@] A medical test performed by a laboratory that typically involves examination of a tissue sample by a pathologist.
--
--   [@ancestors@] @'Thing','MedicalEntity','MedicalTest'@
--
--   [@subtypes@]
--
--   [@supertypes@] @'MedicalTest'@
--
--   [@url@] <http://schema.org/PathologyTest>
data PathologyTest = PathologyTest { tissueSample :: TissueSample
                                   , affectedBy :: AffectedBy
                                   , normalRange :: NormalRange
                                   , signDetected :: SignDetected
                                   , usedToDiagnose :: UsedToDiagnose
                                   , usesDevice :: UsesDevice
                                   , code :: Code
                                   , guideline :: Guideline
                                   , medicineSystem :: MedicineSystem
                                   , recognizingAuthority :: RecognizingAuthority
                                   , relevantSpecialty :: RelevantSpecialty
                                   , study :: Study
                                   , 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 PathologyTest where
  _label         = const "Pathology Test"
  _comment_plain = const "A medical test performed by a laboratory that typically involves examination of a tissue sample by a pathologist."
  _comment       = const "A medical test performed by a laboratory that typically involves examination of a tissue sample by a pathologist."
  _url           = const "http://schema.org/PathologyTest"
  _ancestors     = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.Thing.Thing)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.MedicalEntity.MedicalEntity)
                         ,typeOf (undefined :: Text.HTML5.MetaData.Schema.MedicalTest.MedicalTest)]
  _subtypes      = const []
  _supertypes    = const [typeOf (undefined :: Text.HTML5.MetaData.Schema.MedicalTest.MedicalTest)]