Index: trunk/BNC/src/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 10631)
+++ trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 10632)
@@ -1605,4 +1605,5 @@
     t_ephSBAS eph;
     int i;
+    eph._health = 0;
     uint64_t numbits = 0, bitfield = 0;
 
@@ -1640,4 +1641,15 @@
     eph._TOC.setTOD(i * 1000);
     GETBITS(i, 4)
+    int health = 0;
+    if (i == 15) {
+      health |= (1 << 5);
+      // in this case it is recommended
+      // to set the bits 0,1,2,3 to 1 (MT17health = 15)
+      health |= (1 << 0);
+      health |= (1 << 1);
+      health |= (1 << 2);
+      health |= (1 << 3);
+      eph._health = double(health);
+    }
     eph._ura = accuracyFromIndex(i, eph.system());
     GETFLOATSIGN(eph._x_pos, 30, 0.08)
@@ -1663,5 +1675,5 @@
 
     eph._TOT = 0.9999E9;
-    eph._health = 0;
+
     eph._type = t_eph::SBASL1;
     eph._prn.setFlag(eph._type);
