diff --git a/r4/src/main/java/jy95/fhir/r4/translators/CountCountMaxR4.java b/r4/src/main/java/jy95/fhir/r4/translators/CountCountMaxR4.java index 0a3969e70..812464ad3 100644 --- a/r4/src/main/java/jy95/fhir/r4/translators/CountCountMaxR4.java +++ b/r4/src/main/java/jy95/fhir/r4/translators/CountCountMaxR4.java @@ -12,18 +12,6 @@ public CountCountMaxR4(FDSConfigR4 config) { super(config); } - @Override - protected boolean hasTiming(Dosage dosage) { - return dosage.hasTiming(); - } - - @Override - protected boolean hasRequiredElements(Dosage dosage) { - return dosage.getTiming().hasRepeat() - && (dosage.getTiming().getRepeat().hasCount() - || dosage.getTiming().getRepeat().hasCountMax()); - } - @Override public CompletableFuture convert(Dosage dosage) { return CompletableFuture.supplyAsync(() -> { @@ -36,4 +24,16 @@ public CompletableFuture convert(Dosage dosage) { return turnCountToText(repeat.getCount()); }); } + + @Override + protected boolean hasRequiredElements(Dosage dosage) { + return dosage.getTiming().hasRepeat() + && (dosage.getTiming().getRepeat().hasCount() + || dosage.getTiming().getRepeat().hasCountMax()); + } + + @Override + protected boolean hasTiming(Dosage dosage) { + return dosage.hasTiming(); + } } diff --git a/r4/src/main/java/jy95/fhir/r4/translators/DurationDurationMaxR4.java b/r4/src/main/java/jy95/fhir/r4/translators/DurationDurationMaxR4.java index 971455be5..a18387bd2 100644 --- a/r4/src/main/java/jy95/fhir/r4/translators/DurationDurationMaxR4.java +++ b/r4/src/main/java/jy95/fhir/r4/translators/DurationDurationMaxR4.java @@ -11,8 +11,13 @@ public DurationDurationMaxR4(FDSConfigR4 config) { } @Override - protected boolean hasTiming(Dosage dosage) { - return dosage.hasTiming(); + protected boolean hasDuration(Dosage dosage) { + return dosage.getTiming().getRepeat().hasDuration(); + } + + @Override + protected boolean hasDurationMax(Dosage dosage) { + return dosage.getTiming().getRepeat().hasDurationMax(); } @Override @@ -23,13 +28,8 @@ protected boolean hasRequiredElements(Dosage dosage) { } @Override - protected boolean hasDuration(Dosage dosage) { - return dosage.getTiming().getRepeat().hasDuration(); - } - - @Override - protected boolean hasDurationMax(Dosage dosage) { - return dosage.getTiming().getRepeat().hasDurationMax(); + protected boolean hasTiming(Dosage dosage) { + return dosage.hasTiming(); } @Override diff --git a/r4/src/main/java/jy95/fhir/r4/translators/OffsetWhenR4.java b/r4/src/main/java/jy95/fhir/r4/translators/OffsetWhenR4.java index 182fcfc44..b93937682 100644 --- a/r4/src/main/java/jy95/fhir/r4/translators/OffsetWhenR4.java +++ b/r4/src/main/java/jy95/fhir/r4/translators/OffsetWhenR4.java @@ -17,8 +17,14 @@ public OffsetWhenR4(FDSConfigR4 config) { } @Override - protected boolean hasTiming(Dosage dosage) { - return dosage.hasTiming(); + public CompletableFuture convert(Dosage dosage) { + var offsetPart = turnOffsetToText(dosage); + var whenPart = turnWhenToText(dosage); + + return offsetPart.thenCombineAsync(whenPart,(offsetText, whenText) -> Stream + .of(offsetText, whenText) + .filter(s -> !s.isEmpty()) + .collect(Collectors.joining(" "))); } @Override @@ -29,14 +35,8 @@ protected boolean hasRequiredElements(Dosage dosage) { } @Override - public CompletableFuture convert(Dosage dosage) { - var offsetPart = turnOffsetToText(dosage); - var whenPart = turnWhenToText(dosage); - - return offsetPart.thenCombineAsync(whenPart,(offsetText, whenText) -> Stream - .of(offsetText, whenText) - .filter(s -> !s.isEmpty()) - .collect(Collectors.joining(" "))); + protected boolean hasTiming(Dosage dosage) { + return dosage.hasTiming(); } private CompletableFuture turnWhenToText(Dosage dosage) { diff --git a/r4/src/main/java/jy95/fhir/r4/translators/PeriodPeriodMaxR4.java b/r4/src/main/java/jy95/fhir/r4/translators/PeriodPeriodMaxR4.java index 46e4f850f..412b450c7 100644 --- a/r4/src/main/java/jy95/fhir/r4/translators/PeriodPeriodMaxR4.java +++ b/r4/src/main/java/jy95/fhir/r4/translators/PeriodPeriodMaxR4.java @@ -11,24 +11,24 @@ public PeriodPeriodMaxR4(FDSConfigR4 config) { } @Override - protected boolean hasTiming(Dosage dosage) { - return dosage.hasTiming(); + protected boolean hasPeriod(Dosage dosage) { + return dosage.getTiming().getRepeat().hasPeriod(); } @Override - protected boolean hasRequiredElements(Dosage dosage) { - var timing = dosage.getTiming(); - return timing.hasRepeat() && timing.hasRepeat() && (hasPeriod(dosage) || hasPeriodMax(dosage)); + protected boolean hasPeriodMax(Dosage dosage) { + return dosage.getTiming().getRepeat().hasPeriodMax(); } @Override - protected boolean hasPeriod(Dosage dosage) { - return dosage.getTiming().getRepeat().hasPeriod(); + protected boolean hasRequiredElements(Dosage dosage) { + var timing = dosage.getTiming(); + return timing.hasRepeat() && timing.hasRepeat() && (hasPeriod(dosage) || hasPeriodMax(dosage)); } @Override - protected boolean hasPeriodMax(Dosage dosage) { - return dosage.getTiming().getRepeat().hasPeriodMax(); + protected boolean hasTiming(Dosage dosage) { + return dosage.hasTiming(); } @Override