{-# 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-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- 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.Data as Data
import qualified Amazonka.Prelude as Prelude

newtype RxNormEntityCategory = RxNormEntityCategory'
  { RxNormEntityCategory -> Text
fromRxNormEntityCategory ::
      Data.Text
  }
  deriving stock
    ( Int -> RxNormEntityCategory -> ShowS
[RxNormEntityCategory] -> ShowS
RxNormEntityCategory -> String
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]
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
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
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
Prelude.Ord,
      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
    ( Eq RxNormEntityCategory
Int -> RxNormEntityCategory -> Int
RxNormEntityCategory -> Int
forall a. Eq 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 -> ()
forall a. (a -> ()) -> NFData a
rnf :: RxNormEntityCategory -> ()
$crnf :: RxNormEntityCategory -> ()
Prelude.NFData,
      Text -> Either String RxNormEntityCategory
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String RxNormEntityCategory
$cfromText :: Text -> Either String RxNormEntityCategory
Data.FromText,
      RxNormEntityCategory -> Text
forall a. (a -> Text) -> ToText a
toText :: RxNormEntityCategory -> Text
$ctoText :: RxNormEntityCategory -> Text
Data.ToText,
      RxNormEntityCategory -> ByteString
forall a. (a -> ByteString) -> ToByteString a
toBS :: RxNormEntityCategory -> ByteString
$ctoBS :: RxNormEntityCategory -> ByteString
Data.ToByteString,
      RxNormEntityCategory -> ByteStringBuilder
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: RxNormEntityCategory -> ByteStringBuilder
$cbuild :: RxNormEntityCategory -> ByteStringBuilder
Data.ToLog,
      HeaderName -> RxNormEntityCategory -> [Header]
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> RxNormEntityCategory -> [Header]
$ctoHeader :: HeaderName -> RxNormEntityCategory -> [Header]
Data.ToHeader,
      RxNormEntityCategory -> QueryString
forall a. (a -> QueryString) -> ToQuery a
toQuery :: RxNormEntityCategory -> QueryString
$ctoQuery :: RxNormEntityCategory -> QueryString
Data.ToQuery,
      Value -> Parser [RxNormEntityCategory]
Value -> Parser 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
Data.FromJSON,
      FromJSONKeyFunction [RxNormEntityCategory]
FromJSONKeyFunction RxNormEntityCategory
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [RxNormEntityCategory]
$cfromJSONKeyList :: FromJSONKeyFunction [RxNormEntityCategory]
fromJSONKey :: FromJSONKeyFunction RxNormEntityCategory
$cfromJSONKey :: FromJSONKeyFunction RxNormEntityCategory
Data.FromJSONKey,
      [RxNormEntityCategory] -> Encoding
[RxNormEntityCategory] -> Value
RxNormEntityCategory -> Encoding
RxNormEntityCategory -> Value
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
Data.ToJSON,
      ToJSONKeyFunction [RxNormEntityCategory]
ToJSONKeyFunction RxNormEntityCategory
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [RxNormEntityCategory]
$ctoJSONKeyList :: ToJSONKeyFunction [RxNormEntityCategory]
toJSONKey :: ToJSONKeyFunction RxNormEntityCategory
$ctoJSONKey :: ToJSONKeyFunction RxNormEntityCategory
Data.ToJSONKey,
      [Node] -> Either String RxNormEntityCategory
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String RxNormEntityCategory
$cparseXML :: [Node] -> Either String RxNormEntityCategory
Data.FromXML,
      RxNormEntityCategory -> XML
forall a. (a -> XML) -> ToXML a
toXML :: RxNormEntityCategory -> XML
$ctoXML :: RxNormEntityCategory -> XML
Data.ToXML
    )

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

{-# COMPLETE
  RxNormEntityCategory_MEDICATION,
  RxNormEntityCategory'
  #-}