o
    i}                     @   s  d dl mZ ddlT d dlmZmZmZmZmZ d dl	m
Z
 d dl	mZ d dlmZmZmZmZmZ d dlT G dd	 d	ejZG d
d dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG d d! d!ejZ G d"d# d#ejZ!G d$d% d%ejZ"G d&d' d'ejZ#G d(d) d)ejZ$G d*d+ d+ejZ%G d,d- d-ejZ&G d.d/ d/ejZ'G d0d1 d1ejZ(G d2d3 d3ejZ)G d4d5 d5ejZ*d6S )7    )serializers   )*)SymptomTypeSerializerCalculationMethodSerializerBMICaseWeightGainCheckUpStatusBMICaseLanguage)languageKey)
MEDIA_ROOT)isValidDatavalidateParentIdgetImageNameuploadImagegetLanguagec                       J   e Zd Ze ZG dd dZdd Zdd Z fddZ	d	d
 Z
  ZS )BumpieSerializerc                   @      e Zd ZeZg dZdS )zBumpieSerializer.Meta)id
weekNumberimagecreatedDateupdatedDatemedicalProfileIdisAuthorizedN)__name__
__module____qualname__Bumpiemodelfields r!   r!   h/var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/mama_care_api/pregnancy_tools/serializers.pyMeta       r#   c                 C      t | |jjjr
dS d S NTr   r   childIdr   selfinstancer!   r!   r"   get_isAuthorized      z!BumpieSerializer.get_isAuthorizedc                 C   V   d}d}d|v rt | |d jjj}nd}|dkr|S t|dkr)td|gid S N Fr   Parent Id does not exitTr   errorr   r(   parentIdr   lenr   ValidationErrorr*   dataerrorMessageisCheckr!   r!   r"   validate       zBumpieSerializer.validatec                    s"   t | t|d |d< t |S )Nr   r   r   r   supercreater*   validated_data	__class__r!   r"   r?   0   s   zBumpieSerializer.createc                 C   sR   t jtd t|j rt td t|j  t| t|d |_|	  |S )N/r   
ospathexistsr   strr   remover   r   saver*   r+   rA   r!   r!   r"   update6   s
   zBumpieSerializer.updater   r   r   r   SerializerMethodFieldr   r#   r,   r;   r?   rM   __classcell__r!   r!   rB   r"   r      s    r   c                   @   B   e Zd Ze Ze ZG dd dZdd Zdd Z	dd Z
d	S )
SymptomGroupSerializerc                   @   r   )zSymptomGroupSerializer.Meta)r   datenoter   r   r   symptomRowListr   N)r   r   r   SymptomGroupr   r    r!   r!   r!   r"   r#   F   r$   r#   c                 C   r%   r&   r'   r)   r!   r!   r"   r,   S   r-   z'SymptomGroupSerializer.get_isAuthorizedc                 C   s^   d}d}t | d|v rt| |d jjj}nd}|dkr|S t|dkr-td|gid S r/   )printr   r(   r4   r   r5   r   r6   r7   r!   r!   r"   r;   W   s   zSymptomGroupSerializer.validatec                 C   s,   t | }tjj|jd}t|dt|idjS )N)symptomGroupIdT)manycontext)r   
SymptomRowobjectsfilterr   SymptomRowSerializerr
   r8   r*   r+   
languageIddataListr!   r!   r"   get_symptomRowListh      
z)SymptomGroupSerializer.get_symptomRowListN)r   r   r   r   rO   r   rU   r#   r,   r;   rb   r!   r!   r!   r"   rR   B   s    rR   c                   @   rQ   )
r^   c                   @   r   )zSymptomRowSerializer.Meta)r   r   r   symptomTypeIdrX   symptomTyper   N)r   r   r   r[   r   r    r!   r!   r!   r"   r#   w   r$   r#   c                 C      t | |jjjjrdS d S r&   )r   rX   r   r(   r   r)   r!   r!   r"   r,         z%SymptomRowSerializer.get_isAuthorizedc                 C   X   d}d}d|v rt | |d jjjj}nd}|dkr|S t|dkr*td|gid S )Nr0   FrX   r1   Tr   r2   r   r   r(   r4   r   r5   r   r6   r7   r!   r!   r"   r;         zSymptomRowSerializer.validatec                 C   J   t | }tjj|jjd }|r#tjj|jjd}t|t	|idj
S d S N)r   )rZ   )r   SymptomTyper\   r]   rd   r   rH   getr   r
   r8   r*   r+   r`   valselectedr!   r!   r"   get_symptomType   s   z$SymptomRowSerializer.get_symptomTypeN)r   r   r   r   rO   r   re   r#   r,   r;   rr   r!   r!   r!   r"   r^   s       r^   c                   @   rQ   )
KickTrackerGroupSerializerc                   @   r   )zKickTrackerGroupSerializer.Meta)r   rS   r   r   r   kickTrackerRowSummaryr   N)r   r   r   KickTrackerGroupr   r    r!   r!   r!   r"   r#      r$   r#   c                 C   r%   r&   r'   r)   r!   r!   r"   r,      r-   z+KickTrackerGroupSerializer.get_isAuthorizedc                 C   r.   r/   r3   r7   r!   r!   r"   r;      r<   z#KickTrackerGroupSerializer.validatec                 C   s|   t jj|jd }|dkr<t jj|jdjtdtdd}|d ur<t|d d\}}t|d\}}|d	 |||d
S d S )N)kickTrackerGroupIdr   kicksseconds)
totalKickstotalSecondsr{   i  <   rz   )rz   hoursminutesry   )KickTrackerRowr\   r]   r   count	aggregateSumdivmod)r*   r+   r   
kickCountsr}   	remainderr~   ry   r!   r!   r"   get_kickTrackerRowSummary   s    z4KickTrackerGroupSerializer.get_kickTrackerRowSummaryN)r   r   r   r   rO   r   ru   r#   r,   r;   r   r!   r!   r!   r"   rt      rs   rt   c                   @   2   e Zd Ze ZG dd dZdd Zdd ZdS )KickTrackerRowSerializerc                   @   r   )zKickTrackerRowSerializer.Meta)r   rS   ry   rx   r   r   rw   r   N)r   r   r   r   r   r    r!   r!   r!   r"   r#      r$   r#   c                 C   rf   r&   )r   rw   r   r(   r   r)   r!   r!   r"   r,      rg   z)KickTrackerRowSerializer.get_isAuthorizedc                 C   rh   )Nr0   Frw   r1   Tr   r2   ri   r7   r!   r!   r"   r;      rj   z!KickTrackerRowSerializer.validateN	r   r   r   r   rO   r   r#   r,   r;   r!   r!   r!   r"   r      s
    r   c                   @   r   )OvulationSerializerc                   @   r   )zOvulationSerializer.Meta)r   lastMenstrualPeriodcycleLength
nextPeriodovulationDayfertileStart
fertileEndexpectedDueDater   r   r   r   N)r   r   r   	Ovulationr   r    r!   r!   r!   r"   r#   	  r$   r#   c                 C   r%   r&   r'   r)   r!   r!   r"   r,     r-   z$OvulationSerializer.get_isAuthorizedc                 C   r.   r/   r3   r7   r!   r!   r"   r;     r<   zOvulationSerializer.validateNr   r!   r!   r!   r"   r     
    r   c                       r   )MemorySerializerc                   @   r   )zMemorySerializer.Meta)r   r   r   captionr   r   r   N)r   r   r   Memoryr   r    r!   r!   r!   r"   r#   5  r$   r#   c                 C   r%   r&   r'   r)   r!   r!   r"   r,   A  r-   z!MemorySerializer.get_isAuthorizedc                 C   r.   r/   r3   r7   r!   r!   r"   r;   E  r<   zMemorySerializer.validatec                    s   t | td|d< t |S )Nr0   r   r=   r@   rB   r!   r"   r?   U  s   zMemorySerializer.createc                 C   sN   t jtd t|j rt td t|j  t| td|_|	  |S )NrD   r0   rE   rL   r!   r!   r"   rM   Y  s
   zMemorySerializer.updaterN   r!   r!   rB   r"   r   2  s    r   c                   @   rQ   )
DueDateCalculatorSerializerc                   @   r   )z DueDateCalculatorSerializer.Meta)r   r   r   conceiveDatedateOfTransfer	numOfDaysultrasoundDateweeksdaysr   r   r   r   calculationMethodIdcalculationMethodr   N)r   r   r   DueDateCalculatorr   r    r!   r!   r!   r"   r#   i  r$   r#   c                 C   r%   r&   r'   r)   r!   r!   r"   r,   ~  r-   z,DueDateCalculatorSerializer.get_isAuthorizedc                 C   r.   r/   r3   r7   r!   r!   r"   r;     r<   z$DueDateCalculatorSerializer.validatec                 C   rk   rl   )r   CalculationMethodr\   r]   r   r   rH   rn   r   r
   r8   ro   r!   r!   r"   get_calculationMethod  s   z1DueDateCalculatorSerializer.get_calculationMethodN)r   r   r   r   rO   r   r   r#   r,   r;   r   r!   r!   r!   r"   r   e  s    r   c                   @   s   e Zd Ze Ze Ze Ze Ze Z	e Z
e Ze ZG dd dZdd Zdd Zdd Zd	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )WeightGainSerializerc                   @   r   )zWeightGainSerializer.Meta)r   heightprePregnancyWeightcurrentWeightcurrentWeekr   r   	bmiCaseIdr   bmibmiCategorygainrecommendedMinrecommendedMaxstatusIdstatusr   N)r   r   r   
WeightGainr   r    r!   r!   r!   r"   r#     r$   r#   c                 C   r%   r&   r'   r)   r!   r!   r"   r,     r-   z%WeightGainSerializer.get_isAuthorizedc                 C   r.   r/   r3   r7   r!   r!   r"   r;     r<   zWeightGainSerializer.validatec                 C   s   t |jt|jd d dS )Nd      )roundr   powr   r)   r!   r!   r"   get_bmi  s   zWeightGainSerializer.get_bmic                 C   s:   t | }tjj|jdj|d}| dkr|d jS dS )Nr   r`   r   r0   )r   r	   r\   r]   r   __len__name)r*   r+   r`   langListr!   r!   r"   get_bmiCategory  s   
z$WeightGainSerializer.get_bmiCategoryc                 C   s   |j |j S N)r   r   r)   r!   r!   r"   getGain  s   zWeightGainSerializer.getGainc                 C   
   |  |S r   )r   r)   r!   r!   r"   get_gain     
zWeightGainSerializer.get_gainc                 C   sf   d}d}t jj|jd}| dkr|d j}|d j}tdt|jdd }|| }|| }||fS )Nr   r   (   g      D@)r   r\   r]   r   r   minmaxr   )r*   r+   minValmaxValbmiCaseWeightGainListresulttotalMintotalMaxr!   r!   r"   getTotalMinMax  s   

z#WeightGainSerializer.getTotalMinMaxc                 C   s   |  |\}}t|dS Nr   r   r   r*   r+   recoMinrecoMaxr!   r!   r"   get_recommendedMin     
z'WeightGainSerializer.get_recommendedMinc                 C   s   |  |\}}t|dS r   r   r   r!   r!   r"   get_recommendedMax  r   z'WeightGainSerializer.get_recommendedMaxc                 C   sh   |  |\}}d}d}| |}||d k rd}d}||fS ||d kr,d}d}||fS d}d	}||fS )
Nr0   g?r   Below   Abover   Within)r   r   )r*   r+   r   r   r   r   r   r!   r!   r"   	getStatus  s   
zWeightGainSerializer.getStatusc                 C   s   |  |\}}|S r   r   r*   r+   r   r   r!   r!   r"   get_statusId     z!WeightGainSerializer.get_statusIdc                 C   s   |  |\}}|S r   r   r   r!   r!   r"   
get_status  r   zWeightGainSerializer.get_statusN)r   r   r   r   rO   r   r   r   r   r   r   r   r   r#   r,   r;   r   r   r   r   r   r   r   r   r   r   r!   r!   r!   r"   r     s,    	r   c                   @   :   e Zd Ze Ze ZG dd dZdd Zdd Z	dS )PregnancyCareCategorySerializerc                   @   r   )z$PregnancyCareCategorySerializer.Metar   r   r   titleitemListN)r   r   r   PregnancyCareCategoryr   r    r!   r!   r!   r"   r#   !  r$   r#   c                 C   J   t | }|d ur!tjjt|jdj|d}| dkr#|d jS d S d S )NpregnancyCareCategoryIdr   r   )r   PregnancyCareCategoryLanguager\   r]   rI   r   r   r   )r*   r+   r`   !pregnancyCareCategoryLanguageListr!   r!   r"   	get_title+     
z)PregnancyCareCategorySerializer.get_titlec                 C   ,   t | }tjj|jd}t|t|iddjS )Nr   TrZ   rY   )r   PregnancyCareItemr\   r]   r   PregnancyCareItemSerializerr
   r8   r_   r!   r!   r"   get_itemList6  rc   z,PregnancyCareCategorySerializer.get_itemListN
r   r   r   r   rO   r   r   r#   r   r   r!   r!   r!   r"   r         
r   c                   @      e Zd ZG dd dZdS )'PregnancyCareCategoryLanguageSerializerc                   @       e Zd ZeZdddddegZdS )z,PregnancyCareCategoryLanguageSerializer.Metar   r   r   r   r   N)r   r   r   r   r   r
   r    r!   r!   r!   r"   r#   ?      r#   Nr   r   r   r#   r!   r!   r!   r"   r   >      r   c                   @   *   e Zd Ze ZG dd dZdd ZdS )r   c                   @   r   )z PregnancyCareItemSerializer.Meta)r   isDor   r   r   r   N)r   r   r   r   r   r    r!   r!   r!   r"   r#   Q  r$   r#   c                 C   r   )N)pregnancyCareItemIdr   r   )r   PregnancyCareItemLanguager\   r]   rI   r   r   r   )r*   r+   r`   pregnancyCareItemLanguageListr!   r!   r"   r   \  s   
z%PregnancyCareItemSerializer.get_titleNr   r   r   r   rO   r   r#   r   r!   r!   r!   r"   r   N  s    r   c                   @   r   )#PregnancyCareItemLanguageSerializerc                   @   r   )z(PregnancyCareItemLanguageSerializer.Metar   r   r   r   r   N)r   r   r   r   r   r
   r    r!   r!   r!   r"   r#   g  r   r#   Nr   r!   r!   r!   r"   r   f  r   r   c                   @   s   e Zd Ze Ze Ze Ze Ze Z	e Z
G dd dZdd Zdd Zdd Zd	d
 Zdd Zdd Zdd ZdS )CheckUpSerializerc                   @   r   )zCheckUpSerializer.Meta)r   bloodPressureTopbloodPressureBottom	heartRatebloodSugarFastingbloodSugarAfterMeal1Hourr   r   r   bloodPressureTopStatusbloodPressureBottomStatusheartRateStatusbloodSugarFastingStatusbloodSugarAfterMeal1HourStatusr   N)r   r   r   CheckUpr   r    r!   r!   r!   r"   r#   ~  r$   r#   c                 C   r%   r&   r'   r)   r!   r!   r"   r,     r-   z"CheckUpSerializer.get_isAuthorizedc                 C   r.   r/   r3   r7   r!   r!   r"   r;     r<   zCheckUpSerializer.validatec                 C   4   d }t jj|j|jdd}| dkr|d j}|S )Nblood_pressure)minSystolic__ltemaxSystolic__gteflagr   )r   r\   r]   r   r   level)r*   r+   systolicLevelsystolicListr!   r!   r"   get_bloodPressureTopStatus     
z,CheckUpSerializer.get_bloodPressureTopStatusc                 C   sx   d }d }d }t jj|j|jd}t jj|j|jd}| dkr%|d j}| dkr0|d j}||kr8|}|S |}|S )N)r  r  )minDiastolic__ltemaxDiastolic__gter   )r   r\   r]   r   r  r   r  )r*   r+   r  diastolicLevelcurrentLevelr  diastolicListr!   r!   r"   get_bloodPressureBottomStatus  s(   

z/CheckUpSerializer.get_bloodPressureBottomStatusc                 C   r  )N
heart_rate)minBPM__ltemaxBPM__gter  r   )r   r\   r]   r  r   r  )r*   r+   heartRateLevelheartRateListr!   r!   r"   get_heartRateStatus  r  z%CheckUpSerializer.get_heartRateStatusc                 C   6   d }t jj|j|jddd}| dkr|d j}|S )Nblood_sugarfastingminMGDL__ltemaxMGDL__gter  bloodSugarTyper   )r   r\   r]   r  r   r  )r*   r+   bloodSugarFastingStatusLevelbloodSugarFastingStatusListr!   r!   r"   get_bloodSugarFastingStatus  s   
z-CheckUpSerializer.get_bloodSugarFastingStatusc                 C   r!  )Nr"  after_meal_1hr$  r   )r   r\   r]   r  r   r  )r*   r+   #bloodSugarAfterMeal1HourStatusLevel"bloodSugarAfterMeal1HourStatusListr!   r!   r"   "get_bloodSugarAfterMeal1HourStatus  s   z4CheckUpSerializer.get_bloodSugarAfterMeal1HourStatusN)r   r   r   r   rO   r  r  r  r  r	  r   r#   r,   r;   r  r  r   r*  r.  r!   r!   r!   r"   r   v  s    r   c                   @   r   )#PregnancyShoppingCategorySerializerc                   @   r   )z(PregnancyShoppingCategorySerializer.Metar   N)r   r   r   PregnancyShoppingCategoryr   r    r!   r!   r!   r"   r#     r$   r#   c                 C   r   )NpregnancyShoppingCategoryIdr   r   )r   !PregnancyShoppingCategoryLanguager\   r]   rI   r   r   r   )r*   r+   r`   %pregnancyShoppingCategoryLanguageListr!   r!   r"   r     r   z-PregnancyShoppingCategorySerializer.get_titlec                 C   r   )Nr1  Tr   )r   PregnancyShoppingItemr\   r]   r   PregnancyShoppingItemSerializerr
   r8   r_   r!   r!   r"   r     s   
z0PregnancyShoppingCategorySerializer.get_itemListNr   r!   r!   r!   r"   r/    r   r/  c                   @   r   )+PregnancyShoppingCategoryLanguageSerializerc                   @   r   )z0PregnancyShoppingCategoryLanguageSerializer.Metar   r   r   r   r2  N)r   r   r   r3  r   r
   r    r!   r!   r!   r"   r#     r   r#   Nr   r!   r!   r!   r"   r7    r   r7  c                   @   r   )r6  c                   @   r   )z$PregnancyShoppingItemSerializer.Meta)r   r   r   r2  r   N)r   r   r   r5  r   r    r!   r!   r!   r"   r#   +  r$   r#   c                 C   r   )N)pregnancyShoppingItemIdr   r   )r   PregnancyShoppingItemLanguager\   r]   rI   r   r   r   )r*   r+   r`   !PregnancyShoppingItemLanguageListr!   r!   r"   r   5  r   z)PregnancyShoppingItemSerializer.get_titleNr   r!   r!   r!   r"   r6  (  s    
r6  c                   @   r   )'PregnancyShoppingItemLanguageSerializerc                   @   r   )z,PregnancyShoppingItemLanguageSerializer.Metar   r   r   r   r8  N)r   r   r   r9  r   r
   r    r!   r!   r!   r"   r#   B  r   r#   Nr   r!   r!   r!   r"   r;  A  r   r;  c                   @   r   )$PregnancyShoppingCheckItemSerializerc                   @   r   )z)PregnancyShoppingCheckItemSerializer.Meta)r   r   r   r8  r   r   N)r   r   r   PregnancyShoppingCheckItemr   r    r!   r!   r!   r"   r#   T  r$   r#   c                 C   r%   r&   r'   r)   r!   r!   r"   r,   _  r-   z5PregnancyShoppingCheckItemSerializer.get_isAuthorizedc                 C   r.   r/   r3   r7   r!   r!   r"   r;   c  r<   z-PregnancyShoppingCheckItemSerializer.validateNr   r!   r!   r!   r"   r<  Q  s
    r<  c                   @   r   )NotesSerializerc                   @   r   )zNotesSerializer.Meta)r   r   descriptionr   r   r   r   N)r   r   r   Notesr   r    r!   r!   r!   r"   r#   z  r$   r#   c                 C   r%   r&   r'   r)   r!   r!   r"   r,     r-   z NotesSerializer.get_isAuthorizedc                 C   r.   r/   r3   r7   r!   r!   r"   r;     r<   zNotesSerializer.validateNr   r!   r!   r!   r"   r>  w  s
    r>  c                   @   r   )AppointmentSerializerc                   @   r   )zAppointmentSerializer.Meta)r   r   
doctorName
specialityrT   rS   dateTimeisDoner   r   r   r   N)r   r   r   Appointmentr   r    r!   r!   r!   r"   r#     r$   r#   c                 C   r%   r&   r'   r)   r!   r!   r"   r,     r-   z&AppointmentSerializer.get_isAuthorizedc                 C   r.   r/   r3   r7   r!   r!   r"   r;     r<   zAppointmentSerializer.validateNr   r!   r!   r!   r"   rA    r   rA  c                   @   sz   e Zd Ze Ze Ze Ze ZG dd dZ	dd Z
dd Zdd Zd	d
 Zdd Zdd Zdd Zdd ZdS )ContractionTimerGroupSerializerc                   @   r   )z$ContractionTimerGroupSerializer.Meta)
r   rS   rT   r   r   r   totalDurationSecondsaverageDurationSecondsaverageIntervalSecondsr   N)r   r   r   ContractionTimerGroupr   r    r!   r!   r!   r"   r#     r$   r#   c                 C   r%   r&   r'   r)   r!   r!   r"   r,     r-   z0ContractionTimerGroupSerializer.get_isAuthorizedc                 C   r.   r/   r3   r7   r!   r!   r"   r;     r<   z(ContractionTimerGroupSerializer.validatec                 C   s   t jj|jdS N)contractionTimerGroupId)ContractionTimerRowr\   r]   r   r)   r!   r!   r"   getContractionTimeRowList  s   z9ContractionTimerGroupSerializer.getContractionTimeRowListc                 C   s   t tjj|jdS rL  )r5   rN  r\   r]   r   r)   r!   r!   r"   countContractionTimeRowList  s   z;ContractionTimerGroupSerializer.countContractionTimeRowListc                 C   s,   |  |}| dkrtdd |D S dS )Nr   c                 s   s    | ]}|j V  qd S r   )durationSeconds.0rr!   r!   r"   	<genexpr>  s    zPContractionTimerGroupSerializer.calculateTotalDurationSeconds.<locals>.<genexpr>)rO  r   sum)r*   r+   ra   r!   r!   r"   calculateTotalDurationSeconds  s   
z=ContractionTimerGroupSerializer.calculateTotalDurationSecondsc                 C   r   r   )rW  r)   r!   r!   r"   get_totalDurationSeconds  r   z8ContractionTimerGroupSerializer.get_totalDurationSecondsc                 C   s(   |  |}| |}|dkr|| S dS )Nr   )rP  rW  )r*   r+   r   totalr!   r!   r"   get_averageDurationSeconds   s
   

z:ContractionTimerGroupSerializer.get_averageDurationSecondsc                 C   s8   |  |}dd |D }| dkrt|t| S dS )Nc                 S   s   g | ]}|j qS r!   )intervalSecondsrR  r!   r!   r"   
<listcomp>	  s    zNContractionTimerGroupSerializer.get_averageIntervalSeconds.<locals>.<listcomp>r   )rO  r   rV  r5   )r*   r+   ra   	intervalsr!   r!   r"   get_averageIntervalSeconds  s   
z:ContractionTimerGroupSerializer.get_averageIntervalSecondsN)r   r   r   r   rO   r   rH  rI  rJ  r#   r,   r;   rO  rP  rW  rX  rZ  r^  r!   r!   r!   r"   rG    s    rG  c                   @   r   )ContractionTimerRowSerializerc                   @   r   )z"ContractionTimerRowSerializer.Meta)	r   startAtendAtrQ  r[  r   r   r   rM  N)r   r   r   rN  r   r    r!   r!   r!   r"   r#     r$   r#   c                 C   rf   r&   )r   rM  r   r(   r   r)   r!   r!   r"   r,   #  rg   z.ContractionTimerRowSerializer.get_isAuthorizedc                 C   rh   )Nr0   FrM  r1   Tr   r2   ri   r7   r!   r!   r"   r;   '  rj   z&ContractionTimerRowSerializer.validateNr   r!   r!   r!   r"   r_    s
    r_  N)+rest_frameworkr   modelsbasic.serializersr   r   r   r   r	   mama_care_api.settingsr
   r   common.commonr   r   r   r   r   django.db.modelsModelSerializerr   rR   r^   rt   r   r   r   r   r   r   r   r   r   r   r/  r7  r6  r;  r<  r>  rA  rG  r_  r!   r!   r!   r"   <module>   s<    5129(,3>z!#&'*J