Package be.ehealth.business.mycarenetdomaincommons.domain

# Class Routing

java.lang.Object
be.ehealth.business.mycarenetdomaincommons.domain.Routing

All Implemented Interfaces:
  `Serializable`

public class Routing extends Object implements Serializable
contains the data to be mapped to mycarenet RoutingType. cfr documentation from mycarenet :

     Routing is a type used besides common input and is added in version 2.3 of the interface.  It allows NIP-PIN to determine the HIO in case it isn’t defined explicitly in the WS-Addressing 'To' element.

     The routing consists of the following elements:
       Care Receiver: the member of the HIO, it is to this HIO the message is routed too.
     o   SSIN: the national number of the care receiver, should always be present and can only be omitted in very rare case (e.g. new born).
     o   RegNrWithMut: the registration number of the care receiver, optional when the SSIN is provided.  Must be combined with the mutuality since the number is only unique with a mutuality.
     o   Mutuality: the 3 digit code of the mutuality (e.g. 203, 100, …).  Must be used with reg nr with mut, but can also be used with SSIN to override the mutuality the message should arrive.
       Reference Date: The date for which the membership should be resolve, this must be a date within the period of the business request.  See the relevant service catalogue for the specific rule.
       Period: If the business request has a fixed period length, this can be omitted.  In case the business request has a variable period it must be provided.  See the relevant service catalogue for the specific rules.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Routing()`
  `Routing(CareReceiverId careReceiver, Instant referenceDate)`
  create Routing based on a CareReceiver without period.
  `Routing(CareReceiverId careReceiver, Instant referenceDate, Period period)`
  create Routing based on a CareReceiver with all parameters.
  `Routing(Subject subject, Instant referenceDate)`
  create Routing based on a subject without period.
  `Routing(Subject subject, Instant referenceDate, Period period)`
  create Routing based on a subject with all parameters.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `CareReceiverId`
  `getCareReceiver()`
  `Period`
  `getPeriod()`
  `Instant`
  `getReferenceDate()`
  `Subject`
  `getSubject()`
  `void`
  `setCareReceiver(CareReceiverId careReceiver)`
  `void`
  `setPeriod(Period period)`
  `void`
  `setReferenceDate(Instant referenceDate)`
  `void`
  `setSubject(Subject subject)`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Routing

    public Routing()

  - ### Routing

    public Routing(CareReceiverId careReceiver, Instant referenceDate)
    create Routing based on a CareReceiver without period.
    Parameters:
      `careReceiver` -
      `referenceDate` -

  - ### Routing

    public Routing(CareReceiverId careReceiver, Instant referenceDate, Period period)
    create Routing based on a CareReceiver with all parameters.
    Parameters:
      `careReceiver` -
      `referenceDate` -
      `period` -

  - ### Routing

    public Routing(Subject subject, Instant referenceDate)
    create Routing based on a subject without period.
    Parameters:
      `subject` -
      `referenceDate` -

  - ### Routing

    public Routing(Subject subject, Instant referenceDate, Period period)
    create Routing based on a subject with all parameters.
    Parameters:
      `subject` -
      `referenceDate` -
      `period` -

- ## Method Details

  - ### getCareReceiver

    public CareReceiverId getCareReceiver()
    Returns:
      the careReceiver

  - ### setCareReceiver

    public void setCareReceiver(CareReceiverId careReceiver)
    Parameters:
      `careReceiver` - the careReceiver to set

  - ### getSubject

    public Subject getSubject()
    Returns:
      the subject

  - ### setSubject

    public void setSubject(Subject subject)
    Parameters:
      `subject` - the subject to set

  - ### getReferenceDate

    public Instant getReferenceDate()
    Returns:
      the referenceDate

  - ### setReferenceDate

    public void setReferenceDate(Instant referenceDate)
    Parameters:
      `referenceDate` - the referenceDate to set

  - ### getPeriod

    public Period getPeriod()
    Returns:
      the period

  - ### setPeriod

    public void setPeriod(Period period)
    Parameters:
      `period` - the period to set