{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.ComprehendMedical.Types.RxNormEntityCategory
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.ComprehendMedical.Types.RxNormEntityCategory
  ( RxNormEntityCategory
      ( ..,
        RxNormEntityCategory_MEDICATION
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude

newtype RxNormEntityCategory = RxNormEntityCategory'
  { RxNormEntityCategory -> Text
fromRxNormEntityCategory ::
      Core.Text
  }
  deriving stock
    ( Int -> RxNormEntityCategory -> ShowS
[RxNormEntityCategory] -> ShowS
RxNormEntityCategory -> String
(Int -> RxNormEntityCategory -> ShowS)
-> (RxNormEntityCategory -> String)
-> ([RxNormEntityCategory] -> ShowS)
-> Show RxNormEntityCategory
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RxNormEntityCategory] -> ShowS
$cshowList :: [RxNormEntityCategory] -> ShowS
show :: RxNormEntityCategory -> String
$cshow :: RxNormEntityCategory -> String
showsPrec :: Int -> RxNormEntityCategory -> ShowS
$cshowsPrec :: Int -> RxNormEntityCategory -> ShowS
Prelude.Show,
      ReadPrec [RxNormEntityCategory]
ReadPrec RxNormEntityCategory
Int -> ReadS RxNormEntityCategory
ReadS [RxNormEntityCategory]
(Int -> ReadS RxNormEntityCategory)
-> ReadS [RxNormEntityCategory]
-> ReadPrec RxNormEntityCategory
-> ReadPrec [RxNormEntityCategory]
-> Read RxNormEntityCategory
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RxNormEntityCategory]
$creadListPrec :: ReadPrec [RxNormEntityCategory]
readPrec :: ReadPrec RxNormEntityCategory
$creadPrec :: ReadPrec RxNormEntityCategory
readList :: ReadS [RxNormEntityCategory]
$creadList :: ReadS [RxNormEntityCategory]
readsPrec :: Int -> ReadS RxNormEntityCategory
$creadsPrec :: Int -> ReadS RxNormEntityCategory
Prelude.Read,
      RxNormEntityCategory -> RxNormEntityCategory -> Bool
(RxNormEntityCategory -> RxNormEntityCategory -> Bool)
-> (RxNormEntityCategory -> RxNormEntityCategory -> Bool)
-> Eq RxNormEntityCategory
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
$c/= :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
== :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
$c== :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
Prelude.Eq,
      Eq RxNormEntityCategory
Eq RxNormEntityCategory
-> (RxNormEntityCategory -> RxNormEntityCategory -> Ordering)
-> (RxNormEntityCategory -> RxNormEntityCategory -> Bool)
-> (RxNormEntityCategory -> RxNormEntityCategory -> Bool)
-> (RxNormEntityCategory -> RxNormEntityCategory -> Bool)
-> (RxNormEntityCategory -> RxNormEntityCategory -> Bool)
-> (RxNormEntityCategory
    -> RxNormEntityCategory -> RxNormEntityCategory)
-> (RxNormEntityCategory
    -> RxNormEntityCategory -> RxNormEntityCategory)
-> Ord RxNormEntityCategory
RxNormEntityCategory -> RxNormEntityCategory -> Bool
RxNormEntityCategory -> RxNormEntityCategory -> Ordering
RxNormEntityCategory
-> RxNormEntityCategory -> RxNormEntityCategory
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: RxNormEntityCategory
-> RxNormEntityCategory -> RxNormEntityCategory
$cmin :: RxNormEntityCategory
-> RxNormEntityCategory -> RxNormEntityCategory
max :: RxNormEntityCategory
-> RxNormEntityCategory -> RxNormEntityCategory
$cmax :: RxNormEntityCategory
-> RxNormEntityCategory -> RxNormEntityCategory
>= :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
$c>= :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
> :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
$c> :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
<= :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
$c<= :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
< :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
$c< :: RxNormEntityCategory -> RxNormEntityCategory -> Bool
compare :: RxNormEntityCategory -> RxNormEntityCategory -> Ordering
$ccompare :: RxNormEntityCategory -> RxNormEntityCategory -> Ordering
$cp1Ord :: Eq RxNormEntityCategory
Prelude.Ord,
      (forall x. RxNormEntityCategory -> Rep RxNormEntityCategory x)
-> (forall x. Rep RxNormEntityCategory x -> RxNormEntityCategory)
-> Generic RxNormEntityCategory
forall x. Rep RxNormEntityCategory x -> RxNormEntityCategory
forall x. RxNormEntityCategory -> Rep RxNormEntityCategory x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep RxNormEntityCategory x -> RxNormEntityCategory
$cfrom :: forall x. RxNormEntityCategory -> Rep RxNormEntityCategory x
Prelude.Generic
    )
  deriving newtype
    ( Int -> RxNormEntityCategory -> Int
RxNormEntityCategory -> Int
(Int -> RxNormEntityCategory -> Int)
-> (RxNormEntityCategory -> Int) -> Hashable RxNormEntityCategory
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: RxNormEntityCategory -> Int
$chash :: RxNormEntityCategory -> Int
hashWithSalt :: Int -> RxNormEntityCategory -> Int
$chashWithSalt :: Int -> RxNormEntityCategory -> Int
Prelude.Hashable,
      RxNormEntityCategory -> ()
(RxNormEntityCategory -> ()) -> NFData RxNormEntityCategory
forall a. (a -> ()) -> NFData a
rnf :: RxNormEntityCategory -> ()
$crnf :: RxNormEntityCategory -> ()
Prelude.NFData,
      Text -> Either String RxNormEntityCategory
(Text -> Either String RxNormEntityCategory)
-> FromText RxNormEntityCategory
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String RxNormEntityCategory
$cfromText :: Text -> Either String RxNormEntityCategory
Core.FromText,
      RxNormEntityCategory -> Text
(RxNormEntityCategory -> Text) -> ToText RxNormEntityCategory
forall a. (a -> Text) -> ToText a
toText :: RxNormEntityCategory -> Text
$ctoText :: RxNormEntityCategory -> Text
Core.ToText,
      RxNormEntityCategory -> ByteString
(RxNormEntityCategory -> ByteString)
-> ToByteString RxNormEntityCategory
forall a. (a -> ByteString) -> ToByteString a
toBS :: RxNormEntityCategory -> ByteString
$ctoBS :: RxNormEntityCategory -> ByteString
Core.ToByteString,
      RxNormEntityCategory -> ByteStringBuilder
(RxNormEntityCategory -> ByteStringBuilder)
-> ToLog RxNormEntityCategory
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: RxNormEntityCategory -> ByteStringBuilder
$cbuild :: RxNormEntityCategory -> ByteStringBuilder
Core.ToLog,
      HeaderName -> RxNormEntityCategory -> [Header]
(HeaderName -> RxNormEntityCategory -> [Header])
-> ToHeader RxNormEntityCategory
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> RxNormEntityCategory -> [Header]
$ctoHeader :: HeaderName -> RxNormEntityCategory -> [Header]
Core.ToHeader,
      RxNormEntityCategory -> QueryString
(RxNormEntityCategory -> QueryString)
-> ToQuery RxNormEntityCategory
forall a. (a -> QueryString) -> ToQuery a
toQuery :: RxNormEntityCategory -> QueryString
$ctoQuery :: RxNormEntityCategory -> QueryString
Core.ToQuery,
      Value -> Parser [RxNormEntityCategory]
Value -> Parser RxNormEntityCategory
(Value -> Parser RxNormEntityCategory)
-> (Value -> Parser [RxNormEntityCategory])
-> FromJSON RxNormEntityCategory
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [RxNormEntityCategory]
$cparseJSONList :: Value -> Parser [RxNormEntityCategory]
parseJSON :: Value -> Parser RxNormEntityCategory
$cparseJSON :: Value -> Parser RxNormEntityCategory
Core.FromJSON,
      FromJSONKeyFunction [RxNormEntityCategory]
FromJSONKeyFunction RxNormEntityCategory
FromJSONKeyFunction RxNormEntityCategory
-> FromJSONKeyFunction [RxNormEntityCategory]
-> FromJSONKey RxNormEntityCategory
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [RxNormEntityCategory]
$cfromJSONKeyList :: FromJSONKeyFunction [RxNormEntityCategory]
fromJSONKey :: FromJSONKeyFunction RxNormEntityCategory
$cfromJSONKey :: FromJSONKeyFunction RxNormEntityCategory
Core.FromJSONKey,
      [RxNormEntityCategory] -> Encoding
[RxNormEntityCategory] -> Value
RxNormEntityCategory -> Encoding
RxNormEntityCategory -> Value
(RxNormEntityCategory -> Value)
-> (RxNormEntityCategory -> Encoding)
-> ([RxNormEntityCategory] -> Value)
-> ([RxNormEntityCategory] -> Encoding)
-> ToJSON RxNormEntityCategory
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [RxNormEntityCategory] -> Encoding
$ctoEncodingList :: [RxNormEntityCategory] -> Encoding
toJSONList :: [RxNormEntityCategory] -> Value
$ctoJSONList :: [RxNormEntityCategory] -> Value
toEncoding :: RxNormEntityCategory -> Encoding
$ctoEncoding :: RxNormEntityCategory -> Encoding
toJSON :: RxNormEntityCategory -> Value
$ctoJSON :: RxNormEntityCategory -> Value
Core.ToJSON,
      ToJSONKeyFunction [RxNormEntityCategory]
ToJSONKeyFunction RxNormEntityCategory
ToJSONKeyFunction RxNormEntityCategory
-> ToJSONKeyFunction [RxNormEntityCategory]
-> ToJSONKey RxNormEntityCategory
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [RxNormEntityCategory]
$ctoJSONKeyList :: ToJSONKeyFunction [RxNormEntityCategory]
toJSONKey :: ToJSONKeyFunction RxNormEntityCategory
$ctoJSONKey :: ToJSONKeyFunction RxNormEntityCategory
Core.ToJSONKey,
      [Node] -> Either String RxNormEntityCategory
([Node] -> Either String RxNormEntityCategory)
-> FromXML RxNormEntityCategory
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String RxNormEntityCategory
$cparseXML :: [Node] -> Either String RxNormEntityCategory
Core.FromXML,
      RxNormEntityCategory -> XML
(RxNormEntityCategory -> XML) -> ToXML RxNormEntityCategory
forall a. (a -> XML) -> ToXML a
toXML :: RxNormEntityCategory -> XML
$ctoXML :: RxNormEntityCategory -> XML
Core.ToXML
    )

pattern RxNormEntityCategory_MEDICATION :: RxNormEntityCategory
pattern $bRxNormEntityCategory_MEDICATION :: RxNormEntityCategory
$mRxNormEntityCategory_MEDICATION :: forall r. RxNormEntityCategory -> (Void# -> r) -> (Void# -> r) -> r
RxNormEntityCategory_MEDICATION = RxNormEntityCategory' "MEDICATION"

{-# COMPLETE
  RxNormEntityCategory_MEDICATION,
  RxNormEntityCategory'
  #-}