hasancse1991

Untitled

Dec 13th, 2019
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.95 KB | None | 0 0
  1. //
  2. // DNMeasurement.h
  3. // MyDignio2
  4. //
  5. // Created by Administrator on 3/1/16.
  6. // Copyright © 2016 Dignio. All rights reserved.
  7. //
  8.  
  9. #import "DNModel.h"
  10. #import <UIKit/UIKit.h>
  11.  
  12. typedef NS_ENUM(NSUInteger, DNMeasurementType) {
  13. DNMeasurementTypeBloodPressure = 1 << 0,
  14. DNMeasurementTypeTemperature = 1 << 1,
  15. DNMeasurementTypeBloodGlucose = 1 << 2,
  16. DNMeasurementTypeBodyWeight = 1 << 3,
  17. DNMeasurementTypeOxygen = 1 << 4,
  18. DNMeasurementTypePulse = 1 << 5,
  19. DNMeasurementTypeFlexRange = 1 << 6,
  20. DNMeasurementTypePEF = 1 << 7,
  21. DNMeasurementTypeFEV1 = 1 << 8,
  22. DNMeasurementTypeSpirometer = 1 << 9,
  23. DNMeasurementTypeCRP = 1 << 10,
  24. DNMeasurementTypeWhiteBloodCells = 1 << 11,
  25. DNMeasurementTypeGlomerularFltRate = 1 << 12,
  26. DNMeasurementTypeHbA1c = 1 << 13,
  27. DNMeasurementTypeHemoglobinConcn = 1 << 14,
  28. DNMeasurementTypePainScale = 1 << 15,
  29. DNMeasurementTypePAI = 1 << 16,
  30. DNMeasurementTypeRespiration = 1 << 17,
  31. DNMeasurementTypeUnknown = 0,
  32. };
  33.  
  34. typedef NS_ENUM(NSUInteger, DNAlertLevel) {
  35. DNAlertLevelNormal = 1 << 0,
  36. DNAlertLevelGreen = 1 << 1,
  37. DNAlertLevelBlue = 1 << 2,
  38. DNAlertLevelYellow = 1 << 3,
  39. DNAlertLevelOrange = 1 << 4,
  40. DNAlertLevelRed = 1 << 5,
  41. DNAlertLevelUnknown = 1 << 6,
  42. DNAlertLevelNotSet = 0,
  43. };
  44.  
  45.  
  46. @interface DNMeasurement : DNModel
  47. @property (nonatomic, assign) DNMeasurementType type;
  48. @property (nonatomic, strong) NSDate *time;
  49. @property (nonatomic, strong) NSDictionary *valueDict;
  50. @property (nonatomic, strong) NSString *inscription;
  51. @property (nonatomic, strong) NSNumber *measurementId;
  52. @property (nonatomic, assign) DNAlertLevel alertLevel;
  53.  
  54.  
  55. -(NSString *) getNoteIfAvailable;
  56. @end
  57.  
  58. @interface DNMeasurement (Utility)
  59. + (NSDictionary *)typesWithMappedStringKeys;
  60. + (NSDictionary *)alertLevelWithMappedStringKeys;
  61. + (NSString *)representableStringLocalized:(DNMeasurementType)type;
  62. + (NSString *)unitOfValue:(DNMeasurementType)type;
  63. + (NSInteger)numberOfDecimalPlaces:(DNMeasurementType)type;
  64. + (NSInteger)chartYAxisRange:(DNMeasurementType)type;
  65. + (double)normalValueBottom:(DNMeasurementType)type;
  66. + (double)normalValueTop:(DNMeasurementType)type;
  67. + (NSString *)imageNameOfDevice:(DNMeasurementType)type;
  68. + (NSDictionary *)latestValue:(DNMeasurementType)type;
  69. + (NSDictionary *)latestValueBeforeDate:(DNMeasurementType)type time:(NSDate *)time;
  70. + (NSArray *)persistAfterFilterLatestMeasurements:(NSArray *)measurements;
  71. - (NSNumber *)measurementValueByCode:(NSString *)name;
  72. + (void)addMeasurement:(DNMeasurement *)measurement;
  73. + (NSArray *)measurementsByType:(DNMeasurementType)type;
  74. + (NSArray *)measurementsByTypeAfterDate:(DNMeasurementType)type time:(NSDate *)time;
  75. + (NSArray *)measurementsByTypeBetweenDates:(DNMeasurementType)type start:(NSDate *)start end:(NSDate *)end;
  76. + (NSString *) getFormattedValueStringForLatestValue:(DNMeasurementType)type;
  77. + (DNAlertLevel) getAlertLevelForLatestValue:(DNMeasurementType) type;
  78. + (NSString *)representableStringTranslationKey:(DNMeasurementType)type;
  79. @end
  80.  
  81. @interface DNPostMeasurement : DNMeasurement
  82. @property (nonatomic, strong) NSString *deviceVendor;
  83. @property (nonatomic, strong) NSString *deviceModel;
  84. @property (nonatomic, strong) NSString *deviceSerialNumber;
  85. @property (nonatomic, strong) NSString *unit;
  86. @property (nonatomic, strong) NSString *timeZone;
  87. @property (nonatomic, strong) NSNumber *glucoseValue;
  88. @property (nonatomic, strong) NSNumber *systolicValue;
  89. @property (nonatomic, strong) NSNumber *diastolicValue;
  90. @property (nonatomic, strong) NSNumber *temperatureValue;
  91. @property (nonatomic, strong) NSNumber *pulseValue;
  92. @property (nonatomic, strong) NSNumber *oxygenValue;
  93. @property (nonatomic, strong) NSNumber *weightValue;
  94. @end
Advertisement
Add Comment
Please, Sign In to add comment