Esempio n. 1
0
def inspection_add(request):
    place_content = request.POST.get('place_content')
    main_problem = request.POST.get('main_problem')
    inspection_date = request.POST.get('inspection_date')
    inspector = request.POST.get('inspector')
    remarks = request.POST.get('remarks')

    inspection = Inspection(institution=Clinic.objects.get(id=1), place_content=place_content,
                            main_problem=main_problem, inspector=inspector, remarks=remarks,
                            inspection_date=datetime.strptime(inspection_date, '%Y-%m-%d').date(),
                            create_by=request.user)
    inspection.save()

    # 保存服务记录,用于统计工作量
    try:
        resident = Resident.objects.get(name='群体')
    except Resident.DoesNotExist:
        resident = Resident(name='群体', gender=2, nation='汉族', birthday=timezone.now().date())
        resident.save()
    service_item = Service.objects.get(service_type__alias='supervision', alias='patrol')
    record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                        app_label='supervision', model_name='Inspection',
                        service_item_alias=service_item.alias, item_id=inspection.id)
    record.save()

    return JsonResponse({'success': True})
Esempio n. 2
0
def vaccine_card_head_save(request):
    form = VaccineCardForm(request.POST)
    if form.is_valid():
        result = form.save()
        resident = Resident.objects.get(id=int(request.POST.get('resident_id')))
        resident.vaccine_card = result
        if resident.ehr_no is None:
            if result.register_local:
                resident.ehr_no = result.home_town.id + result.ehr_village_no + result.ehr_unique_no
            else:
                resident.ehr_no = '131082900' + result.ehr_village_no + result.ehr_unique_no
        resident.save()
        service_item = Service.items.get(alias='vaccine_card')
        record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                            app_label='vaccine', model_name='VaccineCard', item_id=result.id,
                            service_item_alias='vaccine_card', evaluation=WorkRecord.SATISFIED,
                            status=WorkRecord.FINISHED)
        record.save()
        success = True
        message = u'新生儿建卡完成'
    else:
        debug.info(form.errors.as_data())
        success = False
        message = u'新生儿建卡失败'
    return HttpResponse(simplejson.dumps({'success': success, 'message': message}),
                        content_type='text/html; charset=UTF-8')
Esempio n. 3
0
def activity_table(request):
    form = EducationActivityForm(request.POST, request.FILES)
    if form.is_valid():
        result = form.save()
        try:
            resident = Resident.objects.get(name='群体')
        except Resident.DoesNotExist:
            resident = Resident(name='群体', gender=2, nation='汉族', birthday=timezone.now().date())
        record = WorkRecord(provider=request.user, resident=resident, app_label='education',
                            model_name='EducationActivity', item_id=result.id,
                            evaluation=WorkRecord.SATISFIED, status=WorkRecord.FINISHED)
        service_item = Service.items.get(name=result.act_type)
        record.service_item = service_item
        record.service_item_alias = service_item.alias
        record.save()
        if result.material_type and result.material_num:
            service_item = Service.items.get(name=result.material_type)
            for i in range(result.material_num):
                record = WorkRecord(provider=request.user, resident=resident, app_label='education',
                                    model_name='EducationActivity', item_id=result.id,
                                    evaluation=WorkRecord.SATISFIED, status=WorkRecord.FINISHED)
                record.service_item = service_item
                record.service_item_alias = service_item.alias
                record.save()

        success, message = True, u'健康教育活动记录保存完成'
    else:
        success, message = False, u'健康教育活动数据验证失败'

    return HttpResponse(simplejson.dumps({'success': success, 'message': message}),
                        content_type='text/html; charset=UTF-8')
Esempio n. 4
0
def postpartum_visit_submit(request):
    form = PostpartumVisitForm(request.POST)
    success = False
    if form.is_valid():
        result = form.save()
        resident = get_resident(request)
        service_item = Service.objects.get(alias='postpartum_visit', service_type__alias='pregnant')
        record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                            app_label='pregnant', model_name='PostpartumVisit',
                            item_id=result.id, service_item_alias=service_item.alias)
        record.save()
        success = True
    return HttpResponse(simplejson.dumps({'success': success}),
                        content_type='text/html; charset=UTF-8')
Esempio n. 5
0
def child_submit(request):
    success = False
    resident = get_resident(request)
    item_alias = request.POST.get('item_alias')
    service_item = Service.items.get(alias=item_alias, service_type__alias='tcm')
    form = AftercareForm(request.POST)
    if form.is_valid():
        result = form.save()
        record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                            app_label='tcm', model_name='Aftercare',
                            item_id=result.id, service_item_alias=service_item.alias)
        record.save()
        success = True
    return HttpResponse(simplejson.dumps({'success': success}),
                        content_type='text/html; charset=UTF-8')
Esempio n. 6
0
def living_selfcare_appraisal_submit(request):
    resident = get_resident(request)
    service_item = Service.items.get(alias='living_selfcare_appraisal')
    form = LivingSelfcareAppraisalForm(request.POST)
    if form.is_valid():
        result = form.save()
        record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                            app_label='old', model_name='LivingSelfcareAppraisal',
                            item_id=result.id, service_item_alias=service_item.alias)
        record.save()
        success = True
    else:
        success = False

    return HttpResponse(simplejson.dumps({'success': success}),
                        content_type='text/html; charset=UTF-8')
Esempio n. 7
0
def body_exam_submit(request):
    resident_id = int(request.POST.get('resident_id'))
    resident = Resident.objects.get(id=resident_id)
    form = BodyExamForm(request.POST)
    success = False
    if form.is_valid():
        result = form.save()
        # 建档体检因为不是付费项目,这里没有把service_item记录在WorkRecord中
        # 在后续的筛选中只需要使用service_item_alias或者model_name
        record = WorkRecord(resident=resident, provider=request.user, model_name='BodyExam',
                            service_item_alias='body_exam_table', item_id=result.id)
        record.save()
        success = True
    else:
        debug.info(form.errors.as_data())

    return json_result({'success': success})
Esempio n. 8
0
def aftercare_1_submit(request):
    form = Aftercare1Form(request.POST)
    if form.is_valid():
        result = form.save()
        resident = get_resident(request)
        service_item = Service.objects.get(alias='aftercare_1', service_type__alias='pregnant')
        record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                            app_label='pregnant', model_name='Aftercare1',
                            item_id=result.id, service_item_alias=service_item.alias)
        record.save()
        aftercare_1_commit_workrecord(request, resident, result)
        success = True
    else:
        success = False

    return HttpResponse(simplejson.dumps({'success': success}),
                        content_type='text/html; charset=UTF-8')
Esempio n. 9
0
def vaccinate_submit(request):
    service_item = Service.items.get(id=int(request.POST.get('id')))
    vaccine = Vaccination(vaccine=service_item,
                          visit_date=request.POST.get('visit_date'),
                          vaccinate_position=request.POST.get('vaccinate_position'),
                          batch_number=request.POST.get('batch_number'),
                          remarks=request.POST.get('remarks'),
                          doctor_signature=request.POST.get('doctor_signature'),
                          next_vaccinate_date=request.POST.get('next_vaccinate_date'))
    vaccine.save()
    resident_id = request.session.get('resident_id')
    resident = Resident.objects.get(id=int(resident_id))
    record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                        app_label='vaccine', model_name='Vaccination', item_id=vaccine.id,
                        service_item_alias=service_item.alias, evaluation=WorkRecord.SATISFIED,
                        status=WorkRecord.FINISHED)
    record.save()
    return JsonResponse({'success': True})
Esempio n. 10
0
def postpartum_visit_submit(request):
    form = PostpartumVisitForm(request.POST)
    success = False
    if form.is_valid():
        result = form.save()
        resident = get_resident(request)
        service_item = Service.objects.get(alias='postpartum_visit',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='PostpartumVisit',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
        success = True
    return HttpResponse(simplejson.dumps({'success': success}),
                        content_type='text/html; charset=UTF-8')
Esempio n. 11
0
def body_exam_submit(request):
    resident_id = int(request.POST.get('resident_id'))
    resident = Resident.objects.get(id=resident_id)
    form = BodyExamForm(request.POST)
    success = False
    if form.is_valid():
        result = form.save()
        # 建档体检因为不是付费项目,这里没有把service_item记录在WorkRecord中
        # 在后续的筛选中只需要使用service_item_alias或者model_name
        record = WorkRecord(resident=resident,
                            provider=request.user,
                            model_name='BodyExam',
                            service_item_alias='body_exam_table',
                            item_id=result.id)
        record.save()
        success = True
    else:
        debug.info(form.errors.as_data())

    return json_result({'success': success})
Esempio n. 12
0
def living_selfcare_appraisal_submit(request):
    resident = get_resident(request)
    service_item = Service.items.get(alias='living_selfcare_appraisal')
    form = LivingSelfcareAppraisalForm(request.POST)
    if form.is_valid():
        result = form.save()
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='old',
                            model_name='LivingSelfcareAppraisal',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
        success = True
    else:
        success = False

    return HttpResponse(simplejson.dumps({'success': success}),
                        content_type='text/html; charset=UTF-8')
Esempio n. 13
0
def newborn_visit_submit(request):
    form = NewbornFamilyVisitForm(request.POST)
    if form.is_valid():
        result = form.save()
        resident = get_resident(request)
        service_item = Service.items.get(alias='newborn_family_visit')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='child',
                            model_name='NewbornFamilyVisit',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
        success = True
    else:
        debug.info(form.errors.as_data())
        success = False

    return HttpResponse(simplejson.dumps({'success': success}),
                        content_type='text/html; charset=UTF-8')
Esempio n. 14
0
def aftercare_1_submit(request):
    form = Aftercare1Form(request.POST)
    if form.is_valid():
        result = form.save()
        resident = get_resident(request)
        service_item = Service.objects.get(alias='aftercare_1',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
        aftercare_1_commit_workrecord(request, resident, result)
        success = True
    else:
        success = False

    return HttpResponse(simplejson.dumps({'success': success}),
                        content_type='text/html; charset=UTF-8')
Esempio n. 15
0
def newborn_visit_submit(request):
    form = NewbornFamilyVisitForm(request.POST)
    if form.is_valid():
        result = form.save()
        resident = get_resident(request)
        service_item = Service.items.get(alias="newborn_family_visit")
        record = WorkRecord(
            provider=request.user,
            resident=resident,
            service_item=service_item,
            app_label="child",
            model_name="NewbornFamilyVisit",
            item_id=result.id,
            service_item_alias=service_item.alias,
        )
        record.save()
        success = True
    else:
        debug.info(form.errors.as_data())
        success = False

    return HttpResponse(simplejson.dumps({"success": success}), content_type="text/html; charset=UTF-8")
Esempio n. 16
0
def inspection_add(request):
    place_content = request.POST.get('place_content')
    main_problem = request.POST.get('main_problem')
    inspection_date = request.POST.get('inspection_date')
    inspector = request.POST.get('inspector')
    remarks = request.POST.get('remarks')

    inspection = Inspection(institution=Clinic.objects.get(id=1),
                            place_content=place_content,
                            main_problem=main_problem,
                            inspector=inspector,
                            remarks=remarks,
                            inspection_date=datetime.strptime(
                                inspection_date, '%Y-%m-%d').date(),
                            create_by=request.user)
    inspection.save()

    # 保存服务记录,用于统计工作量
    try:
        resident = Resident.objects.get(name='群体')
    except Resident.DoesNotExist:
        resident = Resident(name='群体',
                            gender=2,
                            nation='汉族',
                            birthday=timezone.now().date())
        resident.save()
    service_item = Service.objects.get(service_type__alias='supervision',
                                       alias='patrol')
    record = WorkRecord(provider=request.user,
                        resident=resident,
                        service_item=service_item,
                        app_label='supervision',
                        model_name='Inspection',
                        service_item_alias=service_item.alias,
                        item_id=inspection.id)
    record.save()

    return JsonResponse({'success': True})
Esempio n. 17
0
def health_3_6_submit(request):
    item_alias = request.POST.get('item_alias')
    resident = get_resident(request)
    service_item = Service.items.get(alias=item_alias,
                                     service_type__alias='child')
    form_name = get_model_name(item_alias) + 'Form'
    form = globals()[form_name](request.POST)
    if form.is_valid():
        result = form.save()
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='child',
                            model_name=get_model_name(item_alias),
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
        success = True
    else:
        success = False

    return HttpResponse(simplejson.dumps({'success': success}),
                        content_type='text/html; charset=UTF-8')
Esempio n. 18
0
def health_3_6_submit(request):
    item_alias = request.POST.get("item_alias")
    resident = get_resident(request)
    service_item = Service.items.get(alias=item_alias, service_type__alias="child")
    form_name = get_model_name(item_alias) + "Form"
    form = globals()[form_name](request.POST)
    if form.is_valid():
        result = form.save()
        record = WorkRecord(
            provider=request.user,
            resident=resident,
            service_item=service_item,
            app_label="child",
            model_name=get_model_name(item_alias),
            item_id=result.id,
            service_item_alias=service_item.alias,
        )
        record.save()
        success = True
    else:
        success = False

    return HttpResponse(simplejson.dumps({"success": success}), content_type="text/html; charset=UTF-8")
Esempio n. 19
0
def info_report_add(request):
    discover_time = datetime.strptime(request.POST.get('discover_time'),
                                      '%Y-%m-%d %H:%M:%S')
    discover_time = bj_tz.localize(discover_time)
    info_type = request.POST.get('info_type')
    info_content = request.POST.get('info_content', '')
    reporter = request.POST.get('reporter')

    # 保存服务结果的内容
    info_report = InfoReport(institution=Clinic.objects.get(id=1),
                             discover_time=discover_time,
                             info_type=info_type,
                             info_content=info_content,
                             reporter=reporter)
    info_report.save()

    # 保存服务记录,用于统计工作量
    try:
        crowd = Resident.objects.get(name='群体')
    except Resident.DoesNotExist:
        crowd = Resident(name='群体',
                         gender=2,
                         nation='汉族',
                         birthday=date.today())
        crowd.save()
    service_item = Service.objects.get(service_type__alias='supervision',
                                       alias='information_report')
    record = WorkRecord(provider=request.user,
                        resident=crowd,
                        service_item=service_item,
                        app_label='supervision',
                        model_name='InfoReport',
                        service_item_alias=service_item.alias,
                        item_id=info_report.id)
    record.save()
    return JsonResponse({'success': True})
Esempio n. 20
0
def info_report_add(request):
    discover_time = datetime.strptime(request.POST.get('discover_time'), '%Y-%m-%d %H:%M:%S')
    discover_time = bj_tz.localize(discover_time)
    info_type = request.POST.get('info_type')
    info_content = request.POST.get('info_content', '')
    reporter = request.POST.get('reporter')

    # 保存服务结果的内容
    info_report = InfoReport(institution=Clinic.objects.get(id=1), discover_time=discover_time,
                             info_type=info_type, info_content=info_content, reporter=reporter)
    info_report.save()

    # 保存服务记录,用于统计工作量
    try:
        crowd = Resident.objects.get(name='群体')
    except Resident.DoesNotExist:
        crowd = Resident(name='群体', gender=2, nation='汉族', birthday=date.today())
        crowd.save()
    service_item = Service.objects.get(service_type__alias='supervision', alias='information_report')
    record = WorkRecord(provider=request.user, resident=crowd, service_item=service_item,
                        app_label='supervision', model_name='InfoReport',
                        service_item_alias=service_item.alias, item_id=info_report.id)
    record.save()
    return JsonResponse({'success': True})
Esempio n. 21
0
def aftercare_1_commit_workrecord(request, resident, result):
    # 体格检查计费项目
    form = PhyExamAbstractForm(request.POST)
    if form.is_valid():
        service_item = Service.objects.get(alias='physical_examination',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
    else:
        form.errors.as_data()
    # 妇科检查计费项目
    form = GynaecologicalExaminationForm(request.POST)
    if form.is_valid():
        service_item = Service.objects.get(alias='gynaecological_examination',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
    else:
        form.errors.as_data()
    # 血常规计费项目
    if result.hemoglobin and result.leukocyte and result.thrombocyte:
        service_item = Service.objects.get(alias='blood_routine_test',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
    # 尿常规计费项目
    if result.urine_protein and result.urine_glucose and result.urine_ket and result.urine_ery:
        service_item = Service.objects.get(alias='urine_routine_test',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
    # 血型计费项目
    if result.blood_type_abo:
        service_item = Service.objects.get(alias='blood_type',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
    # 谷丙转氨酶计费项目
    if result.sgpt:
        service_item = Service.objects.get(alias='alanine_aminotransferase',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
    # 谷草转氨酶计费项目
    if result.sgot:
        service_item = Service.objects.get(
            alias='glutamic_oxalacetic_transaminase',
            service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
    # 总胆红素计费项目
    if result.tbil:
        service_item = Service.objects.get(alias='total_bilirubin',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
    # 血清肌酐计费项目
    if result.scr:
        service_item = Service.objects.get(alias='serum_creatinine',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
    # 血尿素氮计费项目
    if result.bun:
        service_item = Service.objects.get(alias='blood_urea_nitrogen',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
    # 乙肝五项计费项目
    if result.surface_antigen and result.surface_antibody and result.e_antigen\
            and result.e_antibody and result.core_antibody:
        service_item = Service.objects.get(alias='hepatitis_b_five_item',
                                           service_type__alias='pregnant')
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            service_item=service_item,
                            app_label='pregnant',
                            model_name='Aftercare1',
                            item_id=result.id,
                            service_item_alias=service_item.alias)
        record.save()
Esempio n. 22
0
def service_disposal_post(request, content_form, type_label, item_label):
    form = content_form(request.POST)
    if form.is_valid():
        service_result = form.save()
        record = WorkRecord()
        record.provider = request.user
        record.resident = Resident.objects.get(
            id=int(request.session.get('resident_id')))
        record.service_item = Service.objects.filter(service_type__alias=type_label).\
            get(alias=item_label)
        record.app_label = type_label
        record.model_name = form.Meta.model.__name__  # Test
        record.service_item_alias = item_label
        record.item_id = service_result.id
        record.evaluation = WorkRecord.SATISFIED  # this should be some para from request
        record.submit_time = datetime.now()
        record.status = WorkRecord.FINISHED
        record.save()

        for session_para in [
                'resident_id', 'resident_name', 'service_items_id_highlight'
        ]:
            try:
                request.session[session_para]
            except KeyError:
                pass
            else:
                del request.session[session_para]
        return HttpResponseRedirect(reverse('services:service_grid'))
    else:
        return service_render(request, form, type_label, item_label)
Esempio n. 23
0
def personal_info_submit(request):
    resident_id = request.POST.get('resident_id')
    if resident_id:
        resident_id = int(resident_id)
        resident = Resident.objects.get(id=resident_id)
    else:  # 创建一个新的居民对象
        from services.utils import gender_map

        gender = gender_map().index(request.POST.get('gender'))
        nation = request.POST.get('nation')
        if nation == u'少数民族' and request.POST.get('nation_extra'):
            nation = request.POST.get('nation_extra')
        if request.user.userprofile.clinic.region.is_town:
            town = request.user.userprofile.clinic.region
            village = None
        else:
            village = request.user.userprofile.clinic.region
            town = village.town
        resident = Resident(name=request.POST.get('resident_name'),
                            gender=gender,
                            nation=nation,
                            town=town,
                            village=village,
                            birthday=request.POST.get('birthday'),
                            address=request.POST.get('address'),
                            identity=request.POST.get('identity'),
                            mobile=request.POST.get('phone'),
                            create_by=request.user)
        resident.save()

    form = PersonalInfoForm(request.POST)
    if form.is_valid():
        personal_info = form.save()
        resident.personal_info_table = personal_info
        record = WorkRecord(resident=resident,
                            provider=request.user,
                            service_item_alias='personal_info_table',
                            item_id=personal_info.id)
        record.save()
        '''
        以下是自动生成健康档案编号的方法,但是需求手动设置健康档案编号
        if resident.village:
            village = resident.village
            village.ehr_no += 1
            resident.ehr_no = village.id + '%05d' % village.ehr_no
            village.save()
        else:
            resident.ehr_no = '13108200000000000'
        '''
        if resident.ehr_no is None:
            ehr_village_no = int(request.POST.get(
                'ehr_village_no'))  # 由于是必填项,而且是数字类型,所以在此不必检查类型
            ehr_unique_no = int(
                request.POST.get('ehr_unique_no'))  # 由于是必填项,而且是数字类型,所以在此不必检查类型
            town_no = request.user.userprofile.clinic.town_clinic.region.id
            resident.ehr_no = town_no + '%03d' % ehr_village_no + '%05d' % ehr_unique_no
            resident.save()

        if resident.identity is None and personal_info.identity is not None:
            resident.identity = personal_info.identity
            resident.save()
        elif resident.identity is not None and personal_info.identity is not None:
            if resident.identity != personal_info.identity:
                resident.identity = personal_info.identity
                resident.save()

        if resident.mobile is None and personal_info.phone is not None:
            resident.mobile = personal_info.phone
            resident.save()
        elif resident.mobile is not None and personal_info.phone is not None:
            if resident.mobile != personal_info.phone:
                resident.mobile = personal_info.phone
                resident.save()

        success = True
    else:
        success = False
    return json_result({'success': success, 'resident_id': resident.id})
Esempio n. 24
0
def aftercare_1_commit_workrecord(request, resident, result):
        # 体格检查计费项目
        form = PhyExamAbstractForm(request.POST)
        if form.is_valid():
            service_item = Service.objects.get(alias='physical_examination', service_type__alias='pregnant')
            record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                                app_label='pregnant', model_name='Aftercare1',
                                item_id=result.id, service_item_alias=service_item.alias)
            record.save()
        else:
            form.errors.as_data()
        # 妇科检查计费项目
        form = GynaecologicalExaminationForm(request.POST)
        if form.is_valid():
            service_item = Service.objects.get(alias='gynaecological_examination', service_type__alias='pregnant')
            record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                                app_label='pregnant', model_name='Aftercare1',
                                item_id=result.id, service_item_alias=service_item.alias)
            record.save()
        else:
            form.errors.as_data()
        # 血常规计费项目
        if result.hemoglobin and result.leukocyte and result.thrombocyte:
            service_item = Service.objects.get(alias='blood_routine_test', service_type__alias='pregnant')
            record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                                app_label='pregnant', model_name='Aftercare1',
                                item_id=result.id, service_item_alias=service_item.alias)
            record.save()
        # 尿常规计费项目
        if result.urine_protein and result.urine_glucose and result.urine_ket and result.urine_ery:
            service_item = Service.objects.get(alias='urine_routine_test', service_type__alias='pregnant')
            record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                                app_label='pregnant', model_name='Aftercare1',
                                item_id=result.id, service_item_alias=service_item.alias)
            record.save()
        # 血型计费项目
        if result.blood_type_abo:
            service_item = Service.objects.get(alias='blood_type', service_type__alias='pregnant')
            record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                                app_label='pregnant', model_name='Aftercare1',
                                item_id=result.id, service_item_alias=service_item.alias)
            record.save()
        # 谷丙转氨酶计费项目
        if result.sgpt:
            service_item = Service.objects.get(alias='alanine_aminotransferase', service_type__alias='pregnant')
            record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                                app_label='pregnant', model_name='Aftercare1',
                                item_id=result.id, service_item_alias=service_item.alias)
            record.save()
        # 谷草转氨酶计费项目
        if result.sgot:
            service_item = Service.objects.get(alias='glutamic_oxalacetic_transaminase', service_type__alias='pregnant')
            record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                                app_label='pregnant', model_name='Aftercare1',
                                item_id=result.id, service_item_alias=service_item.alias)
            record.save()
        # 总胆红素计费项目
        if result.tbil:
            service_item = Service.objects.get(alias='total_bilirubin', service_type__alias='pregnant')
            record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                                app_label='pregnant', model_name='Aftercare1',
                                item_id=result.id, service_item_alias=service_item.alias)
            record.save()
        # 血清肌酐计费项目
        if result.scr:
            service_item = Service.objects.get(alias='serum_creatinine', service_type__alias='pregnant')
            record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                                app_label='pregnant', model_name='Aftercare1',
                                item_id=result.id, service_item_alias=service_item.alias)
            record.save()
        # 血尿素氮计费项目
        if result.bun:
            service_item = Service.objects.get(alias='blood_urea_nitrogen', service_type__alias='pregnant')
            record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                                app_label='pregnant', model_name='Aftercare1',
                                item_id=result.id, service_item_alias=service_item.alias)
            record.save()
        # 乙肝五项计费项目
        if result.surface_antigen and result.surface_antibody and result.e_antigen\
                and result.e_antibody and result.core_antibody:
            service_item = Service.objects.get(alias='hepatitis_b_five_item', service_type__alias='pregnant')
            record = WorkRecord(provider=request.user, resident=resident, service_item=service_item,
                                app_label='pregnant', model_name='Aftercare1',
                                item_id=result.id, service_item_alias=service_item.alias)
            record.save()
Esempio n. 25
0
def activity_table(request):
    form = EducationActivityForm(request.POST, request.FILES)
    if form.is_valid():
        result = form.save()
        try:
            resident = Resident.objects.get(name='群体')
        except Resident.DoesNotExist:
            resident = Resident(name='群体',
                                gender=2,
                                nation='汉族',
                                birthday=timezone.now().date())
        record = WorkRecord(provider=request.user,
                            resident=resident,
                            app_label='education',
                            model_name='EducationActivity',
                            item_id=result.id,
                            evaluation=WorkRecord.SATISFIED,
                            status=WorkRecord.FINISHED)
        service_item = Service.items.get(name=result.act_type)
        record.service_item = service_item
        record.service_item_alias = service_item.alias
        record.save()
        if result.material_type and result.material_num:
            service_item = Service.items.get(name=result.material_type)
            for i in range(result.material_num):
                record = WorkRecord(provider=request.user,
                                    resident=resident,
                                    app_label='education',
                                    model_name='EducationActivity',
                                    item_id=result.id,
                                    evaluation=WorkRecord.SATISFIED,
                                    status=WorkRecord.FINISHED)
                record.service_item = service_item
                record.service_item_alias = service_item.alias
                record.save()

        success, message = True, u'健康教育活动记录保存完成'
    else:
        success, message = False, u'健康教育活动数据验证失败'

    return HttpResponse(simplejson.dumps({
        'success': success,
        'message': message
    }),
                        content_type='text/html; charset=UTF-8')
Esempio n. 26
0
def personal_info_submit(request):
    resident_id = request.POST.get('resident_id')
    if resident_id:
        resident_id = int(resident_id)
        resident = Resident.objects.get(id=resident_id)
    else:  # 创建一个新的居民对象
        from services.utils import gender_map

        gender = gender_map().index(request.POST.get('gender'))
        nation = request.POST.get('nation')
        if nation == u'少数民族' and request.POST.get('nation_extra'):
            nation = request.POST.get('nation_extra')
        if request.user.userprofile.clinic.region.is_town:
            town = request.user.userprofile.clinic.region
            village = None
        else:
            village = request.user.userprofile.clinic.region
            town = village.town
        resident = Resident(name=request.POST.get('resident_name'),
                            gender=gender, nation=nation,
                            town=town, village=village,
                            birthday=request.POST.get('birthday'),
                            address=request.POST.get('address'),
                            identity=request.POST.get('identity'),
                            mobile=request.POST.get('phone'),
                            create_by=request.user)
        resident.save()

    form = PersonalInfoForm(request.POST)
    if form.is_valid():
        personal_info = form.save()
        resident.personal_info_table = personal_info
        record = WorkRecord(resident=resident, provider=request.user,
                            service_item_alias='personal_info_table',
                            item_id=personal_info.id)
        record.save()
        '''
        以下是自动生成健康档案编号的方法,但是需求手动设置健康档案编号
        if resident.village:
            village = resident.village
            village.ehr_no += 1
            resident.ehr_no = village.id + '%05d' % village.ehr_no
            village.save()
        else:
            resident.ehr_no = '13108200000000000'
        '''
        if resident.ehr_no is None:
            ehr_village_no = int(request.POST.get('ehr_village_no'))  # 由于是必填项,而且是数字类型,所以在此不必检查类型
            ehr_unique_no = int(request.POST.get('ehr_unique_no'))  # 由于是必填项,而且是数字类型,所以在此不必检查类型
            town_no = request.user.userprofile.clinic.town_clinic.region.id
            resident.ehr_no = town_no + '%03d' % ehr_village_no + '%05d' % ehr_unique_no
            resident.save()

        if resident.identity is None and personal_info.identity is not None:
            resident.identity = personal_info.identity
            resident.save()
        elif resident.identity is not None and personal_info.identity is not None:
            if resident.identity != personal_info.identity:
                resident.identity = personal_info.identity
                resident.save()

        if resident.mobile is None and personal_info.phone is not None:
            resident.mobile = personal_info.phone
            resident.save()
        elif resident.mobile is not None and personal_info.phone is not None:
            if resident.mobile != personal_info.phone:
                resident.mobile = personal_info.phone
                resident.save()

        success = True
    else:
        success = False
    return json_result({'success': success, 'resident_id': resident.id})