Ejemplo n.º 1
0
    def do_process_list(self, hospcode, start_date, end_date):

        reducer = Code("""
                function(curr, result) {
                    //result.total++;
                }
        """)

        data = self.request.db['labor'].group(key={
            'hospcode': 1,
            'pid': 1,
            'gravida': 1,
            'bdate': 1
        },
                                              condition={
                                                  'hospcode': hospcode,
                                                  'bdate': {
                                                      '$gte': start_date,
                                                      '$lte': end_date
                                                  }
                                              },
                                              initial={},
                                              reduce=reducer)

        if data:

            self.request.db['labor_other'].remove(
                {'process_hospcode': self.request.session['hospcode']})

            person = PersonModel(self.request)

            for r in data:

                typearea = person.get_type_area(r['pid'], r['hospcode'])

                if typearea in ['2', '4']:
                    address = person.get_vid_from_address(
                        r['pid'], r['hospcode'])
                else:
                    hid = person.get_hid_from_pid(r['pid'], r['hospcode'])
                    address = person.get_vid_from_home(hid, r['hospcode'])

                obj = {
                    'hospcode': r['hospcode'],
                    'process_hospcode': self.request.session['hospcode'],
                    'pid': r['pid'],
                    'gravida': r['gravida'],
                    'bdate': r['bdate'],
                    'address': address,
                    'typearea': person.get_type_area(r['pid'], r['hospcode'])
                }

                self.request.db['labor_other'].insert(obj)

        else:
            return False
Ejemplo n.º 2
0
    def do_process_list(self, hospcode, start_date, end_date):

        reducer = Code("""
                function(curr, result) {
                    //result.total++;
                }
        """)

        data = self.request.db['labor'].group(
            key={
                'hospcode': 1,
                'pid': 1,
                'gravida': 1,
                'bdate': 1
            },
            condition={
                'hospcode': hospcode,
                'bdate': {
                    '$gte': start_date,
                    '$lte': end_date
                }
            },
            initial={},
            reduce=reducer)

        if data:

            self.request.db['labor_other'].remove({'process_hospcode': self.request.session['hospcode']})

            person = PersonModel(self.request)

            for r in data:

                typearea = person.get_type_area(r['pid'], r['hospcode'])

                if typearea in ['2', '4']:
                    address = person.get_vid_from_address(r['pid'], r['hospcode'])
                else:
                    hid = person.get_hid_from_pid(r['pid'], r['hospcode'])
                    address = person.get_vid_from_home(hid, r['hospcode'])

                obj = {
                    'hospcode': r['hospcode'],
                    'process_hospcode': self.request.session['hospcode'],
                    'pid': r['pid'],
                    'gravida': r['gravida'],
                    'bdate': r['bdate'],
                    'address': address,
                    'typearea': person.get_type_area(r['pid'], r['hospcode'])
                }

                self.request.db['labor_other'].insert(obj)

        else:
            return False
Ejemplo n.º 3
0
    def update_pcare(self, hospcode, pid, gravida, pcares):
        self.request.db['labor'].ensure_index('hospcode', pymongo.ASCENDING)
        self.request.db['labor'].ensure_index('pid', pymongo.ASCENDING)
        self.request.db['labor'].ensure_index('gravida', pymongo.ASCENDING)

        person = PersonModel(self.request)
        typearea = person.get_type_area(pid, hospcode)

        self.request.db['labor'].update({
            'hospcode': hospcode,
            'pid': pid,
            'gravida': gravida
        }, {
            '$set': {
                'ppcares': pcares,
                'typearea': typearea
            }
        })