Skip to content

Commit

Permalink
refactor: shift code instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
jy95 committed Jan 9, 2025
1 parent c992d58 commit 21dc97f
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 40 deletions.
24 changes: 12 additions & 12 deletions r4/src/main/java/jy95/fhir/r4/translators/CountCountMaxR4.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<String> convert(Dosage dosage) {
return CompletableFuture.supplyAsync(() -> {
Expand All @@ -36,4 +24,16 @@ public CompletableFuture<String> 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();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
20 changes: 10 additions & 10 deletions r4/src/main/java/jy95/fhir/r4/translators/OffsetWhenR4.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,14 @@ public OffsetWhenR4(FDSConfigR4 config) {
}

@Override
protected boolean hasTiming(Dosage dosage) {
return dosage.hasTiming();
public CompletableFuture<String> 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
Expand All @@ -29,14 +35,8 @@ protected boolean hasRequiredElements(Dosage dosage) {
}

@Override
public CompletableFuture<String> 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<String> turnWhenToText(Dosage dosage) {
Expand Down
18 changes: 9 additions & 9 deletions r4/src/main/java/jy95/fhir/r4/translators/PeriodPeriodMaxR4.java
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 21dc97f

Please sign in to comment.