ST Reha Support

The public API of the JavaGrouper library has been extended to add support for grouping patient cases using the ST Reha tariff system.

You can now use classes and interfaces from the org.swissdrg.grouper.streha package. This package contains means to calculate effective cost weights for ST Reha patient cases:

PatientCase pc = new PatientCase();
// ...

Map<String, IStRehaWeightingRelation> catalogue = StRehaCatalogue.createFrom("path/to/catalog");
StRehaEffectiveCostWeight ecw = catalogue.get("TR18Z").getEffectiveCostWeight(pc);

int phase = ecw.getPhase();
int iEcw = ecw.getEffectiveCostWeight();

Additionally, the IGrouperKernel.Tariff enum has been extended to include IGrouperKernel.Tariff.STREHA. You can now use the familiar SpecificationLoader class to load future ST Reha specifications:

PatientCase pc = new PatientCase();
// ...

IGrouperKernel grouper = SpecificationLoader.from(
    new File("path/to/specification"),



The Batchgrouper now accepts a --tariff option. See ST Reha Batchgrouping (since Version 1.4.0) for an example.

Breaking Changes


This version is not binary compatible with earlier versions of the SwissDRG Java Grouper library.

JavaGrouper Version 1.4.0 includes the following breaking changes to the public API:

  • IGrouperKernel.Tariff enum has been extended with IGrouperKernel.Tariff.STREHA
  • Diagnosis.DValid enum has been extended with Diagnosis.DValid.DUPLICATE

Additionally, there are some other (non-binary interface breaking) changes that may be important for integrators to know:

  • new instances of Procedure are initialized with used = PUsed.PROC_NOT_USED and valid = PValid.PROC_VALID
  • new instances of Diagnosis are initialized with status = DValid.VALID_DIAGNOSIS