Пример #1
0
	def __verify_detect_packet(self, packet):
		lines = string.split(packet, cClinitek50.EOL)
		# product ID: 6510 = Clinitek 50
		tmp = lines[1][:4]
		if tmp != cClinitek50.dev_id:
			_log.Log(gmLog.lErr, 'device does not seem to be a Clinitek 50, product ID is [%s], expected [%s]' % (tmp, cClinitek50.dev_id))
			_log.Log(gmLog.lData, lines)
			return None
		# product revision
		tmp = lines[1][4:6]
		if tmp not in cClinitek50.known_good_dev_revs:
			_log.Log(gmLog.lWarn, 'product revision [%s] untested, trying to continue anyways' % tmp)
		# software version
		tmp = lines[1][6:11]
		if tmp not in cClinitek50.known_good_sw_versions:
			_log.Log(gmLog.lWarn, 'software version [%s] untested, trying to continue anyways' % tmp)
		# date/time
		timestamp = mxDT.strptime(lines[1][12:22], self.__date_format + cClinitek50.time_format)
		_log.Log(gmLog.lInfo, 'device timestamp: %s' % timestamp)
		_log.Log(gmLog.lInfo, 'system timestamp: %s' % mxDT.now())
		age = mxDT.Age(mxDT.now(), timestamp)
		if age.hours > 6:
			_log.Log(gmLog.lErr, 'device time is off by %s, please correct that' % age)
			return None
		# language-unit profile
		(lang, units) = string.split(lines[2], ' - ')
		_log.Log(gmLog.lInfo, 'language: %s' % lang)
		_log.Log(gmLog.lInfo, 'unit system: %s' % units)
		# STIX type
		stix_type = string.strip(lines[3])
		if not stix_type in cClinitek50.known_stix_types:
			_log.Log(gmLog.lErr, "don't know how to handle stix of type %s" % stix_type)
			return None
		# seems valid
		return 1
Пример #2
0
 def compute_age_from_dates (date_birth):
     now=DateTime.now()
     if (date_birth):
         dob=DateTime.strptime(date_birth,'%Y-%m-%d')
         delta=DateTime.Age (now, dob)
         deceased=''
         years_months_days = str(delta.years) +"a "+ str(delta.months) +"m "+ str(delta.days)+"j" + deceased
     else:
         years_months_days = "No DoB !"
     return years_months_days
Пример #3
0
        def compute_age_from_dates(patient_dob):
            now = DateTime.now()
            if (patient_dob):
                dob = DateTime.strptime(patient_dob, '%Y-%m-%d')
                delta = DateTime.Age(now, dob)
                years_months_days = str(delta.years) + "y " + str(
                    delta.months) + "m " + str(delta.days) + "d"
            else:
                years_months_days = "No DoB !"

            return years_months_days
Пример #4
0
 def from_dob(cls, dob, now=None):
     """
     Make an Age from a date-of-birth
     """
     if hasattr(dob, 'mx'):
         dob = dob.mx()
     elif not isinstance(dob, DateTime.DateTimeType):
         raise TypeError('bad date-of-birth type %r' % dob)
     if now is None:
         now = DateTime.now()
     if dob > now:
         raise Error('date-of-birth %s is in the future' % dob)
     age = DateTime.Age(now, dob)
     if age.years >= 3:
         return cls(age.years + age.months / 12, 'y')
     months = age.years * 12 + age.months + age.days / 30.5
     if months >= 3:
         return cls(months, 'm')
     age = now - dob
     if age.days > 30:
         return cls(age.days / 7, 'w')
     return cls(age.days, 'd')