Ten indicators are provided for hospital acute somatic care. Stays in geriatrics, rehabilitation and psychiatric units (Swiss statistical codes, variable 1.4.V01: M500, M900, M950, M990) are not taken into account. Results are provided into two different files, which are synthesized in Synthesis.xlsx. Global results are provided separately for each hospital and hospital site in .xlsx files, while .txt files correspond to detailed results provided separately for each patient belonging to the eligible population. Name of the different files is given below:
Indicator | Excel file | Text file |
---|---|---|
Inpatient Costs | Cost.xlsx | Analysis.txt |
Length of Stay | Length.xlsx | Analysis.txt |
Day Surgery | DaySurgery.xlsx | Eligible_surgery.txt |
Unjustified Stays | UnjustifiedStay.xlsx | Eligible_cases.txt |
More or less justified Stays | MoreLessjustifiedStay.xlsx | Eligible_cases.txt |
Readmissions | Readmission.xlsx | Eligible_discharges.txt |
Reoperations | Reoperation.xlsx | Eligible_operations.txt |
Complications | Complication.xlsx | Analysis.txt |
Premature Deaths | Death.xlsx | Eligible_death.txt |
Results of the hospital planning tool (Beds) are given in the Excel file called Beds.xlsx.
To facilitate further analyses, SQLape® generates four additional data files:
1) Case.txt | |||
---|---|---|---|
Field | Variable name* | Variable number* | Format |
#Case | Hospital stay identifier | - | text |
#Hospital | Hospital identifier | 0.1.V02 | text |
#Site | Location | 0.1.V03 | text |
#Patient | Patient identifier | 0.2.V01 | text |
StayDefinition | Stay definition | 0.2.V02 | text |
Gender | Gender | 1.1.V01 | number (integer) |
Age | Age at admission | 1.1.V03 | number (integer) |
Region | Residence | 1.1.V04 | text |
AdmissionDate | Admission date | 1.2.V01 | YYYYMMDDhh (text) |
StayBefore0 | Stay before admission | 1.2.V02 | number (integer) |
AdmissionMode | Admission mode | 1.2.V03 | number (integer) |
TypeOfStay | Type of stay | 1.3.V01 | number (integer) |
Vacation | Vacations | 1.3.V04 | number (integer) |
Service | Department | 1.4.V01 | text |
DischargeDate | Discharge date | 1.5.V01 | YYYYMMDDhh (text) |
DischargeDecision | Discharge decision | 1.5.V02 | number (integer) |
StayAfter | Stay after discharge | 1.5.V03 | number (integer) |
LengthOfStay | Length of stay | - | number (integer) |
Cost | Hospital cost | - | number (real) |
Weight | Weight at birth | 2.2.V04 | number (integer) |
InterruptionDischarge1 | 1 st interruption, discharge date | 4.7.V01 | YYYYMMDD (text) |
InterruptionReadmission1 | 1 st interruption, readmission date | 4.7.V02 | YYYYMMDD (text) |
InterruptionReason1 | Reason of 1 st interruption | 4.7.V03 | number (integer) |
InterruptionDischarge2 | 2 nd interruption, discharge date | 4.7.V11 | YYYYMMDD (text) |
InterruptionReadmission2 | 2 nd interruption, readmission | 4.7.V12 | YYYYMMDD (text) |
InterruptionReason2 | Reason of 2 nd interruption | 4.7.V13 | number (integer) |
InterruptionDischarge3 | 3 rd interruption, discharge date | 4.7.V21 | YYYYMMDD (text) |
InterruptionReadmission3 | 3 rd interruption, readmission | 4.7.V22 | YYYYMMDD (text) |
InterruptionReason3 | Reason of 3 rd interruption | 4.7.V23 | number (integer) |
InterruptionDischarge4 | 4 th interruption, discharge date | 4.7.V31 | YYYYMMDD (text) |
InterruptionReadmission4 | 4 th interruption, readmission | 4.7.V32 | YYYYMMDD (text) |
InterruptionReason4 | Reason of 4 th interruption | 4.7.V33 | number (integer) |
Note: *Swiss Federal Statistical Office designation |
2) Health.txt | ||
---|---|---|
Field | Swiss Federal Statistical Office designation | Format |
#Case | Hospital stay identifier | text |
#Health | ICD-10 Diagnostic code | text |
Rank | 1 = main diagnosis, 2-100 (other diagnoses) | text |
3) Procedure.txt | ||
---|---|---|
Field | Swiss Federal Statistical Office designation | Format |
#Case | Hospital stay identifier | text |
#Procedure | ICD-9-CM code | text |
Day | Date of procedure | date |
4) Categories.txt | ||
---|---|---|
Field | Swiss Federal Statistical Office designation | Format |
#Case | Hospital stay identifier | text |
#Category | SQLape categories* | text |
Note: *For more details, see Diagnostic and Procedures categories. |
Notation
A systematic notation is used for all results, with indices describing observed value (index 1) and expected values (index 0). The two letters before indices correspond to abbreviations of each indicator:
- CO: hospital costs
- LS: length of stay
- DS: one-day surgery
- UJ: unjustified stays
- ML: more or less justified stays
- AR: potentially avoidable readmissions (ARi and ARe for internal and external readmissions respectively)
- RO: potentially avoidable reoperations
- CP: iatrogenic complications
- PD: premature death
- BE: Potential of beds reduction
For instance, LS1 is the observed average length of stay and RO0 is the expected rate of potentially avoidable reoperations.
Assessing the hospital performances
Performances are based on the ratio of observed vs expected values (for instance, RAR = AR1/AR0). SQLape® also computes the lower and the upper bounds of the 95% confidence interval for this ratio (called Rmin and Rmax, respectively).
For each indicator, the hospital receives a result between A, B and C, which can be interpreted as follows:
- Rmax < 1 → A = Good
- Rmax >= 1 & Rmin <= 1.2 → B = Normal
- Rmin > 1.2 → C = Requiring further analyses
Lower and upper bonds are based on statistical control limits, taking into account both observed and expected values random variations, as described in:
Rousson V, Le Pogram MA, Eggli Y. Control limits to identify outlying hospitals based on risk-stratification. Stat Methods Med Res 2018;27(6):1737-1750.
Expected values are computed from a benchmark setting, including the half of Swiss hospitals having the best performances. This means that if observed values are lower than expected ones, the hospital is doing better than benchmark hospitals in average.
It might be interesting to refer to Swiss average values (all hospitals, without selection). This can be done, in comparing adjusted values (V1a) to the Swiss average (V0CH). If the adjusted value is lower than expected, the hospital performs better than the Swiss average.
As a reminder:
V1 observed value
V0 expected value from benchmark setting
V0CH expected value from Swiss setting
A0 average value of the benchmark setting
ACH average value of the Swiss setting
By definition, the adjusted value (V1a) = (V1/V0CH) * ACH
assuming that the relative risks are the same in the Swiss and benchmark settings:
(V0/A0) = V0CH/ACH and thus V0CH = V0 ACH/A0
and V1a = (V1 A0 ACH)/ (V0 ACH ) = V1/V0 * A0
In other words, the adjusted value (V1a) is equal to the ratio of observed/expected values (benchmark) multiplied by the benchmark average value.
Data quality assessment
SQLape® assesses the quality of data provided in the SQLape_input.txt file according to several criteria. Details can be found here.
Stay definition
To be closer to reality and to balance the risk of reducing length of stay with possible further réadmissions, the hospital stay is defined by the period between admission and discharge. Thus we restore the stays in their original and real form, even if SwissDRG rules merged them for billing purpose. This also enables longitudinal comparisons. (Case definition)