Skip to content

Class: BusinessEvent

A business event represents a life cycle event of a trade. The combination of the state changes results in a qualifiable life cycle event. An example of a Business Event is a PartialTermination which is a defined by a quantity change primitive event.

URI: common_domain_model:BusinessEvent

 classDiagram
    class BusinessEvent
    click BusinessEvent href "../BusinessEvent/"
      EventInstruction <|-- BusinessEvent
        click EventInstruction href "../EventInstruction/"

      BusinessEvent : after





        BusinessEvent --> "*" TradeState : after
        click TradeState href "../TradeState/"



      BusinessEvent : corporateActionIntent





        BusinessEvent --> "0..1" CorporateActionTypeEnum : corporateActionIntent
        click CorporateActionTypeEnum href "../CorporateActionTypeEnum/"



      BusinessEvent : effectiveDate

      BusinessEvent : effectiveTime





        BusinessEvent --> "0..1" TimeZone : effectiveTime
        click TimeZone href "../TimeZone/"



      BusinessEvent : eventDate

      BusinessEvent : eventQualifier

      BusinessEvent : eventTime





        BusinessEvent --> "0..1" TimeZone : eventTime
        click TimeZone href "../TimeZone/"



      BusinessEvent : instruction





        BusinessEvent --> "*" Instruction : instruction
        click Instruction href "../Instruction/"



      BusinessEvent : intent





        BusinessEvent --> "0..1" EventIntentEnum : intent
        click EventIntentEnum href "../EventIntentEnum/"



      BusinessEvent : packageInformation





        BusinessEvent --> "0..1" IdentifiedList : packageInformation
        click IdentifiedList href "../IdentifiedList/"



Inheritance

Class Properties

Property Value
Tree Root Yes

Slots

Name Cardinality and Range Description Inheritance
eventQualifier 0..1
string
The CDM event qualifier, which corresponds to the outcome of the isEvent qual... direct
after *
TradeState
Specifies the after trade state(s) created direct
intent 0..1
EventIntentEnum
The intent attribute is meant to be specified when the event qualification ca... EventInstruction
corporateActionIntent 0..1
CorporateActionTypeEnum
The intent of a corporate action on the position EventInstruction
eventDate 0..1
date
Specifies the date on which the event is taking place EventInstruction
eventTime 0..1
TimeZone
The time and zone of the date in which the event is taking place EventInstruction
effectiveDate 0..1
date
The date on which the event contractually takes effect, when different from t... EventInstruction
effectiveTime 0..1
TimeZone
The time and zone of the date in which the event contractually takes effect EventInstruction
packageInformation 0..1
IdentifiedList
Specifies the package information in case the business event represents sever... EventInstruction
instruction *
Instruction
Specifies the instructions to create the Business Event EventInstruction

Usages

used by used in type used
WorkflowStep businessEvent range BusinessEvent

Rules

Rule Applied Preconditions Postconditions Elseconditions

In Subsets

Comments

  • Rosetta condition: EventDate — eventDate exists
  • Rosetta func: Create_Return — Defines the process of partially or fully returning a Security Lending Transaction.
  • Rosetta func: Qualify_Substitution — Qualification of a collateral substitution event.
  • Rosetta func: Create_BusinessEvent — Creates a business event from instructions containing primitive instructions and optionally a trade state.
  • Rosetta func: ExtractBeforeEconomicTerms
  • Rosetta func: ExtractOpenEconomicTerms
  • Rosetta func: ExtractBeforeTrade
  • Rosetta func: ExtractAfterTrade

Identifier and Mapping Information

Annotations

property value
metadata_key True
rosetta_functions [{"name":"Create_Return","description":"Defines the process of partially or fully returning a Security Lending Transaction.","inputs":[{"name":"tradeState","type":"TradeState","cardinality":"1..1"},{"name":"returnInstruction","type":"ReturnInstruction","cardinality":"1..1"},{"name":"returnDate","type":"date","cardinality":"1..1"}],"output":{"name":"returnEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"Qualify_Substitution","description":"Qualification of a collateral substitution event.","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"is_event","type":"boolean","cardinality":"1..1"}},{"name":"Create_BusinessEvent","description":"Creates a business event from instructions containing primitive instructions and optionally a trade state.","inputs":[{"name":"instruction","type":"Instruction","cardinality":"1..*"},{"name":"intent","type":"EventIntentEnum","cardinality":"0..1"},{"name":"eventDate","type":"date","cardinality":"1..1"},{"name":"effectiveDate","type":"date","cardinality":"1..1"}],"output":{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"ExtractBeforeEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractOpenEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractBeforeTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}},{"name":"ExtractAfterTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}}]

Schema Source

Mappings

Mapping Type Mapped Value
self common_domain_model:BusinessEvent
native common_domain_model:BusinessEvent
close fpml_5_10:BusinessEvent, gist:Event

LinkML Source

Direct

name: BusinessEvent
annotations:
  metadata_key:
    tag: metadata_key
    value: true
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"Create_Return","description":"Defines the process of partially
      or fully returning a Security Lending Transaction.","inputs":[{"name":"tradeState","type":"TradeState","cardinality":"1..1"},{"name":"returnInstruction","type":"ReturnInstruction","cardinality":"1..1"},{"name":"returnDate","type":"date","cardinality":"1..1"}],"output":{"name":"returnEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"Qualify_Substitution","description":"Qualification
      of a collateral substitution event.","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"is_event","type":"boolean","cardinality":"1..1"}},{"name":"Create_BusinessEvent","description":"Creates
      a business event from instructions containing primitive instructions and optionally
      a trade state.","inputs":[{"name":"instruction","type":"Instruction","cardinality":"1..*"},{"name":"intent","type":"EventIntentEnum","cardinality":"0..1"},{"name":"eventDate","type":"date","cardinality":"1..1"},{"name":"effectiveDate","type":"date","cardinality":"1..1"}],"output":{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"ExtractBeforeEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractOpenEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractBeforeTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}},{"name":"ExtractAfterTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}}]'
description: A business event represents a life cycle event of a trade. The combination
  of the state changes results in a qualifiable life cycle event. An example of a
  Business Event is a PartialTermination which is a defined by a quantity change primitive
  event.
comments:
- 'Rosetta condition: EventDate  eventDate exists'
- 'Rosetta func: Create_Return  Defines the process of partially or fully returning
  a Security Lending Transaction.'
- 'Rosetta func: Qualify_Substitution  Qualification of a collateral substitution
  event.'
- 'Rosetta func: Create_BusinessEvent  Creates a business event from instructions
  containing primitive instructions and optionally a trade state.'
- 'Rosetta func: ExtractBeforeEconomicTerms'
- 'Rosetta func: ExtractOpenEconomicTerms'
- 'Rosetta func: ExtractBeforeTrade'
- 'Rosetta func: ExtractAfterTrade'
in_subset:
- cdm_event_common
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:BusinessEvent
- gist:Event
is_a: EventInstruction
slots:
- eventQualifier
- after
tree_root: true
rules:
- postconditions:
    slot_conditions:
      eventDate:
        name: eventDate
        required: true
  description: EventDate

Induced

name: BusinessEvent
annotations:
  metadata_key:
    tag: metadata_key
    value: true
  rosetta_functions:
    tag: rosetta_functions
    value: '[{"name":"Create_Return","description":"Defines the process of partially
      or fully returning a Security Lending Transaction.","inputs":[{"name":"tradeState","type":"TradeState","cardinality":"1..1"},{"name":"returnInstruction","type":"ReturnInstruction","cardinality":"1..1"},{"name":"returnDate","type":"date","cardinality":"1..1"}],"output":{"name":"returnEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"Qualify_Substitution","description":"Qualification
      of a collateral substitution event.","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"is_event","type":"boolean","cardinality":"1..1"}},{"name":"Create_BusinessEvent","description":"Creates
      a business event from instructions containing primitive instructions and optionally
      a trade state.","inputs":[{"name":"instruction","type":"Instruction","cardinality":"1..*"},{"name":"intent","type":"EventIntentEnum","cardinality":"0..1"},{"name":"eventDate","type":"date","cardinality":"1..1"},{"name":"effectiveDate","type":"date","cardinality":"1..1"}],"output":{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}},{"name":"ExtractBeforeEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractOpenEconomicTerms","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"economicTerms","type":"EconomicTerms","cardinality":"0..1"}},{"name":"ExtractBeforeTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}},{"name":"ExtractAfterTrade","inputs":[{"name":"businessEvent","type":"BusinessEvent","cardinality":"1..1"}],"output":{"name":"trade","type":"Trade","cardinality":"0..1"}}]'
description: A business event represents a life cycle event of a trade. The combination
  of the state changes results in a qualifiable life cycle event. An example of a
  Business Event is a PartialTermination which is a defined by a quantity change primitive
  event.
comments:
- 'Rosetta condition: EventDate  eventDate exists'
- 'Rosetta func: Create_Return  Defines the process of partially or fully returning
  a Security Lending Transaction.'
- 'Rosetta func: Qualify_Substitution  Qualification of a collateral substitution
  event.'
- 'Rosetta func: Create_BusinessEvent  Creates a business event from instructions
  containing primitive instructions and optionally a trade state.'
- 'Rosetta func: ExtractBeforeEconomicTerms'
- 'Rosetta func: ExtractOpenEconomicTerms'
- 'Rosetta func: ExtractBeforeTrade'
- 'Rosetta func: ExtractAfterTrade'
in_subset:
- cdm_event_common
from_schema: https://w3id.org/lmodel/common-domain-model
close_mappings:
- fpml_5_10:BusinessEvent
- gist:Event
is_a: EventInstruction
attributes:
  eventQualifier:
    name: eventQualifier
    description: The CDM event qualifier, which corresponds to the outcome of the
      isEvent qualification logic which qualifies the lifecycle event as a function
      of its features (e.g. PartialTermination, ClearingSubmission, Novation, ...).
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:BusinessEvent.eventQualifier
    rank: 1000
    owner: BusinessEvent
    domain_of:
    - BusinessEvent
    range: string
  after:
    name: after
    description: Specifies the after trade state(s) created.
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:BusinessEvent.after
    rank: 1000
    owner: BusinessEvent
    domain_of:
    - BusinessEvent
    - CounterpartyPositionBusinessEvent
    range: TradeState
    multivalued: true
    inlined: true
    inlined_as_list: true
  intent:
    name: intent
    description: The intent attribute is meant to be specified when the event qualification
      cannot be programmatically inferred from the event features. As a result it
      is only associated with those primitives that can give way to such ambiguity,
      the quantityChange being one of those. An example of such is a reduction in
      the trade notional, which could be interpreted as either a trade correction
      (unless a maximum period of time post-event is specified as part of the qualification),
      a partial termination or a portfolio rebalancing in the case of an equity swap.
      On the other hand, an event such as the exercise is not expected to have an
      associated intent as there should not be ambiguity.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: BusinessEvent
    domain_of:
    - CounterpartyPositionBusinessEvent
    - EventInstruction
    range: EventIntentEnum
    required: false
  corporateActionIntent:
    name: corporateActionIntent
    description: The intent of a corporate action on the position.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: BusinessEvent
    domain_of:
    - CounterpartyPositionBusinessEvent
    - EventInstruction
    range: CorporateActionTypeEnum
  eventDate:
    name: eventDate
    description: Specifies the date on which the event is taking place. This date
      is equal to the trade date in the case of a simple execution.  However it can
      be different from the trade date, for example in the case of a partial termination.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: BusinessEvent
    domain_of:
    - CounterpartyPositionBusinessEvent
    - EventInstruction
    range: date
  eventTime:
    name: eventTime
    description: The time and zone of the date in which the event is taking place.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: BusinessEvent
    domain_of:
    - EventInstruction
    range: TimeZone
  effectiveDate:
    name: effectiveDate
    description: The date on which the event contractually takes effect, when different
      from the event date.
    from_schema: https://w3id.org/lmodel/common-domain-model
    close_mappings:
    - fpml_5_10:CodeValue.effectiveDate
    rank: 1000
    owner: BusinessEvent
    domain_of:
    - CodeValue
    - CounterpartyPositionBusinessEvent
    - IndexTransitionInstruction
    - StockSplitInstruction
    - ClosedState
    - EventInstruction
    - LegalAgreementBase
    - MinimumTransferAmountAmendment
    - TerminationCurrencyAmendment
    - PriceQuantity
    - FallbackRateParameters
    - CalculationPeriodDates
    - EconomicTerms
    - CancelableProvision
    range: date
  effectiveTime:
    name: effectiveTime
    description: The time and zone of the date in which the event contractually takes
      effect.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: BusinessEvent
    domain_of:
    - EventInstruction
    - EconomicTerms
    range: TimeZone
  packageInformation:
    name: packageInformation
    description: Specifies the package information in case the business event represents
      several trades executed as a package (hence this attribute is optional). The
      package information is only instantiated once at the business event level to
      preserve referential integrity, whereas individual trades make reference to
      it to identify that they are part of a package.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: BusinessEvent
    domain_of:
    - CounterpartyPositionBusinessEvent
    - EventInstruction
    range: IdentifiedList
  instruction:
    name: instruction
    description: Specifies the instructions to create the Business Event.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: BusinessEvent
    domain_of:
    - EventInstruction
    range: Instruction
    multivalued: true
    inlined: true
    inlined_as_list: true
tree_root: true
rules:
- postconditions:
    slot_conditions:
      eventDate:
        name: eventDate
        required: true
  description: EventDate