Exemplo n.º 1
0
def calcMKBToolTip(MKB, MKBEx=''):
    result = []
    if MKB:
        result.append(MKB + ': ' + getMKBName(MKB))
    if MKBEx:
        result.append(MKBEx + ': ' + getMKBName(MKBEx))
    return u'\n'.join(result)
Exemplo n.º 2
0
    def setup(self, oldMKB, newMKB):
        oldMKBName = getMKBName(oldMKB)
        newMKBName = getMKBName(newMKB)

        self.lblMessage.setText(
            u'Ведён код %s (%s)\nРанее был указан код %s (%s)\nИзменить на этот код?'
            % (newMKB, newMKBName, oldMKB, oldMKBName))
        self.btnAcceptOld.setText(u'Изменить на %s' % oldMKB)
        self.btnAcceptNew.setText(u'Принять %s' % newMKB)
        self.btnAcceptNewAndModifyOld.setText(u'Применить %s взамен %s' %
                                              (newMKB, oldMKB))
Exemplo n.º 3
0
 def getEventInfo(self):
     result = {}
     result['person'] = getPersonInfo(self.personId)
     result['cardNo'] = forceString(self.edtCardNo.text())
     result['order'] = EventOrder.getName(self.cmbOrder.currentIndex())
     result['traumaType'] = forceString(self.cmbTraumaType.currentText())
     result['MKB'] = forceString(self.edtMKB.text())
     result['MKBName'] = getMKBName(result['MKB'])
     result['MKBEx'] = forceString(self.edtMKBEx.text())
     result['MKBExName'] = getMKBName(result['MKBEx'])
     result['date'] = forceString(self.eventDate)
     result['client'] = getClientInfoEx(self.clientId, self.eventDate)
     return result
Exemplo n.º 4
0
 def toStatusTip(self, val, record):
     code = forceString(val)
     if self.cache.has_key(code):
         descr = self.cache[code]
     else:
         descr = getMKBName(code) if code else ''
         self.cache[code] = descr
     return toVariant((code + ': ' + descr) if code else '')
Exemplo n.º 5
0
 def checkAndUpdateDiagnosisCharacter(self, MKB):
     if self.oldCharacterId:
         characterIdList = getAvailableCharacterIdByMKB(MKB)
         db = QtGui.qApp.db
         codes = set()
         for id in characterIdList:
             code = forceString(
                 db.translate('rbDiseaseCharacter', 'id', id,
                              'replaceInDiagnosis'))
             codes.add(code)
         codes = list(codes)
         codes.sort()
         characterIdList = []
         for code in codes:
             id = forceRef(
                 db.translate('rbDiseaseCharacter', 'code', code, 'id'))
             characterIdList.append(id)
         if self.oldCharacterId in characterIdList:
             self.characterId = self.oldCharacterId
         elif not characterIdList or not characterIdList[-1]:
             self.characterId = None
         else:
             newCharacterId = characterIdList[-1]
             message = u'Заболевание с ранее указанным диагнозом %s (%s) имело характер "%s".\nНовый код диагноза %s (%s) предполагает характер "%s".\nВсё равно исправить код диагноза?' % \
                       (  self.oldMKB,
                          getMKBName(self.oldMKB),
                          forceString(db.translate('rbDiseaseCharacter', 'id', self.oldCharacterId, 'name')),
                          MKB,
                          getMKBName(MKB),
                          forceString(db.translate('rbDiseaseCharacter', 'id', newCharacterId, 'name')),
                       )
             ok = QtGui.QMessageBox.question(
                 self, u'Внимание', message,
                 QtGui.QMessageBox.Ok | QtGui.QMessageBox.Cancel,
                 QtGui.QMessageBox.Cancel)
             if ok:
                 self.characterId = newCharacterId
             return ok
     return True
Exemplo n.º 6
0
 def getDescr(self):
     if self._descr is None:
         self._descr = getMKBName(self.code) if self.code else ''
     return self._descr
Exemplo n.º 7
0
    def build(self, params):
        clientId = params.get('clientId', None)
        begDate = params.get('begDate', None)
        endDate = params.get('endDate', None)
        eventPurposeId = params.get('eventPurposeId', None)
        specialityId = params.get('specialityId', None)
        personId = params.get('personId', None)
        orgStructureId = params.get('orgStructureId', None)

        doc = QtGui.QTextDocument()
        cursor = QtGui.QTextCursor(doc)
        cursor.setCharFormat(CReportBase.ReportTitle)
        cursor.insertText(self.name)
        cursor.setCharFormat(CReportBase.TableBody)
        cursor.insertBlock()
        cursor.insertHtml(getClientBanner(clientId))
        cursor.insertBlock()

        tableColumns = [
            ('10?', [u'Дата'], CReportBase.AlignLeft),
            ('15?', [u'Врач'], CReportBase.AlignLeft),
            ('15?', [u'Специальность'], CReportBase.AlignLeft),
            ('5?', [u'Место'], CReportBase.AlignLeft),
            ('10?', [u'Код услуги'], CReportBase.AlignLeft),
            ('10?', [u'Тип события'], CReportBase.AlignLeft),
            ('5?', [u'МЭС'], CReportBase.AlignLeft),
            ('5?', [u'Код диагноза'], CReportBase.AlignLeft),
            ('20?', [u'Расшифровка диагноза'], CReportBase.AlignLeft),
            ('5?', [u'Результат'], CReportBase.AlignLeft),
        ]
        table = createTable(cursor, tableColumns)

        db = QtGui.qApp.db
        query = selectData(clientId, begDate, endDate, eventPurposeId,
                           specialityId, personId, orgStructureId)
        self.setQueryText(forceString(query.lastQuery()))
        while query.next():
            record = query.record()
            i = table.addRow()
            table.setText(i, 0, forceString(forceDate(record.value('date'))))
            table.setText(i, 1, forceString(record.value('person')))
            table.setText(i, 2, forceString(record.value('speciality')))
            table.setText(i, 3, forceString(record.value('scene')))
            table.setText(i, 4, forceString(record.value('service')))
            table.setText(i, 5, forceString(record.value('eventType')))
            table.setText(
                i, 6,
                forceString(
                    db.translate('mes.MES', 'id',
                                 forceRef(record.value('mes')), 'code')))
            table.setText(i, 9, forceString(record.value('resultName')))
            diagnosisCodes = []
            diagnosisNames = []
            MKB = forceString(record.value('MKB'))
            MKBEx = forceString(record.value('MKBEx'))
            if MKB:
                diagnosisCodes.append(MKB)
                diagnosisNames.append(getMKBName(MKB))
            if MKBEx:
                diagnosisCodes.append(MKBEx)
                diagnosisNames.append(getMKBName(MKBEx))
            table.setText(i, 7, '\n'.join(diagnosisCodes))
            table.setText(i, 8, '\n'.join(diagnosisNames))
        return doc