java.lang.Object
org.projecthusky.fhir.emed.ch.epr.model.emediplan.EMediplanPosology
org.projecthusky.fhir.emed.ch.epr.model.emediplan.chmed16a.posology.ChMed16APosology
All Implemented Interfaces:
EMediplanObject

public class ChMed16APosology extends EMediplanPosology
Describes when and what amount of medication must be taken.
  • Field Details

    • DEFAULT_CYCLE

      public static final int DEFAULT_CYCLE
      See Also:
    • TAKING_TIMES_FIELD_NAME

      protected static final String TAKING_TIMES_FIELD_NAME
      See Also:
    • CYCLE_DURATION_FIELD_NAME

      protected static final String CYCLE_DURATION_FIELD_NAME
      See Also:
    • START_FIELD_NAME

      protected static final String START_FIELD_NAME
      See Also:
    • AS_NEEDED_FIELD_NAME

      protected static final String AS_NEEDED_FIELD_NAME
      See Also:
    • start

      protected @Nullable Instant start
      From date (start date of medication treatment), Format: YYYY-MM-DD (ISO 8601 Date) (e.g. 2016-01-16)
    • end

      protected @Nullable Instant end
      To date (end date of medication treatment), Format: YYYY-MM-DD (ISO 8601 Date). The DtTo must be considered as inclusive. For example DtTo: 2015-05-01, the patient must apply the medicament also on 2015-05-01.
    • cycle

      protected @Nullable Integer cycle
      The cycle duration (cycle length) for posology in seconds

      Default: 86'400 seconds => one day

      Will be ignored if TT is not specified

    • asNeeded

      protected @Nullable Integer asNeeded
      Reserve medication. 1 if in reserve, 0 otherwise. Default: 0
    • dailyDoses

      protected @Nullable ChMed16ADailyDosage dailyDoses
      Simplified version of taking times. Describes the doses to be applied in the morning, at noon, in the evening and at night. Will be ignored if TT is specified
    • takingTimes

      protected @Nullable List<@NonNull ChMed16ATakingTime> takingTimes
      The list of complex taking times (to be used when the simplified dosing schedule (morning, noon, evening, night) cannot be applied).
  • Constructor Details

    • ChMed16APosology

      public ChMed16APosology()
  • Method Details

    • getTakingTimes

      public List<@NonNull ChMed16ATakingTime> getTakingTimes()
    • isInReserve

      protected boolean isInReserve()
      Specified by:
      isInReserve in class EMediplanPosology
      Returns:
      Whether the medication is in reserve or not. That is, whether it is to be taken only when needed (true) or strictly as defined by the posology (false).
    • setAsNeeded

      public void setAsNeeded(@Nullable Boolean inReserve)
      Specified by:
      setAsNeeded in class EMediplanPosology
    • validate

      public ValidationResult validate(@Nullable String basePath)
      Description copied from interface: EMediplanObject
      Validates the eMediplan object, without any further context than its JSON path and its own content, against the eMediplan specs.
      Specified by:
      validate in interface EMediplanObject
      Overrides:
      validate in class EMediplanPosology
      Parameters:
      basePath - The JSON path of this object. If null, the object is considered to be root. Any validation issues produced by the validation will use this path as a base for each issue's path.
      Returns:
      The validation result containing all the encountered validation issues, if any.
    • validate

      public ValidationResult validate(@Nullable String basePath, EMediplanType mediplanType)
      Performs validation of the eMediplan object taking into account whether it belongs to an eMediplan medication plan document or to an eMediplan prescription document. This performs the base checks of validate(String) plus extra validation checks tied to the eMediplan document type.
      Parameters:
      basePath - The base path of the object.
      mediplanType - The type of eMediplan document.
      Returns:
      The validation result.
    • trim

      public void trim()
      Description copied from interface: EMediplanObject
      Trims the eMediplan object, that is, removes any redundant info and sets to null values that match the default assumed value by the specs, to shorten the serialized result.
    • hasExtensions

      public boolean hasExtensions(boolean inDepth)
      Description copied from interface: EMediplanObject
      Whether the eMediplan object has any extension or not.
      Parameters:
      inDepth - If true, the called object, and all its children objects, are subject to the check. If false, only the called object is checked for extensions.
      Returns:
      true if the object contains any extensions; false otherwise.