def code_detail(request, code): by_dataset = {} for d in Dataset.objects.all(): by_dataset[d.identifier] = {'counts': [], 'dataset': d} for k in CodeCount.objects.filter(code=code): by_dataset[k.dataset_identifier]['counts'].append(k) for k in by_dataset: by_dataset[k]['visits'] = sum([ c.count for c in by_dataset[k]['counts'] if c.state == 'ALL' and c.code_type != 'pdx' ]) context = {} payload = { 'code': code, 'Coder': codes.Coder(), 'datasets': by_dataset.values(), 'visit_type_str': STRINGS, 'code_type_str': { "pdx": "Primary Diagnosis", 'dx': "Diagnosis", "pr": "Procedure", "drg": "DRG" } } context['payload'] = payload return render(request, 'code.html', context=context, using='jt')
def patient_viewer(request): payload = {'DB_LIST': get_databases()} if request.GET.get('patient_id') and request.GET.get('db'): patient_id = request.GET.get('patient_id') db = request.GET.get('db') patient_coded = get_patient(db, patient_id) temp = Patient() v = base64.decodestring(patient_coded["data"]) temp.ParseFromString(v) raw_string = temp.raw temp.raw = "" payload['coder'] = codes.Coder() payload['patient_obj'] = temp payload['next_key'] = patient_coded["next"] payload['patient'] = { 'patient_id': patient_id, 'db': db, 'data': str(temp), 'raw_string': raw_string } context = {'payload': payload} return render(request, 'patient_viewer.html', context=context, using='jtlte')
def index_code(request, code): context = {} context['payload'] = {} coder = codes.Coder() n3coder = N3.N3Coder() q = coder[code] context['payload']['q'] = q context['payload']['humanize'] = humanize context['payload']['coder'] = coder context['payload']['N3coder'] = n3coder context['payload']['entries_available'] = True context['payload']['results'] = TextSearch.objects.filter( description__search=q) context['payload']['entries_N1'] = list( N1Group.objects.filter(code=str(code))) context['payload']['entries_N2'] = N2Group.objects.filter(code=code) if code.startswith('P'): context['payload']['entries_N3'] = N3Group.objects.filter(code=code) if code.startswith('C'): context['payload']['entries_N3'] = N3Group.objects.filter( Q(code='N3C_AS_' + code) | Q(code='N3C_ED_' + code)) if code.startswith('D'): context['payload']['entries_N3'] = N3Group.objects.filter( Q(code='N3DX_AS_' + code) | Q(code='N3DX_ED_' + code) | Q(code='N3DX_IP_' + code)) context['payload']['entries_N4'] = N4Group.objects.filter(code=code) return render(request, 'search.html', context, using='jt')
def get_context_data(self, **kwargs): context = super(DatasetList, self).get_context_data(**kwargs) context['datasets'] = [] for d in Dataset.objects.all(): temp = {} temp['syt'] = SYTCount.objects.filter(dataset=d) temp['st'] = STCount.objects.filter(dataset=d) temp['s'] = SCount.objects.filter(dataset=d) temp['entry'] = d context['datasets'].append(temp) context['Coder'] = codes.Coder() return context
def config(request): context = {} payload = { 'coder': codes.Coder(), 'enums': [(k, vstr, vval) for k, v in enums.__dict__.iteritems() if type(v) is google.protobuf.internal.enum_type_wrapper.EnumTypeWrapper for vstr, vval in v.items()], } context['payload'] = payload return render(request, 'config.html', context=context, using='jt')
def index(request): context = {} context['payload'] = {} coder = codes.Coder() n3coder = N3.N3Coder() if request.method == 'POST' and request.POST['top-search'].strip(): q = request.POST['top-search'] context['payload']['q'] = q context['payload']['humanize'] = humanize context['payload']['coder'] = coder context['payload']['N3coder'] = n3coder context['payload']['results'] = TextSearch.objects.filter( description__search=q) context['payload']['entries_N1'] = [] context['payload']['entries_N2'] = [] context['payload']['entries_N3'] = [] context['payload']['entries_N4'] = [] context['payload']['entries_available'] = False for i, k in enumerate( TextSearch.objects.filter(description__search=q)): context['payload']['entries_available'] = True if i < 5: context['payload']['entries_N1'] += list( N1Group.objects.filter(code=str(k.code))) context['payload']['entries_N2'] += list( N2Group.objects.filter(code=str(k.code))) if k.code.startswith('P'): context['payload']['entries_N3'] += list( N3Group.objects.filter(code=k.code)) if k.code.startswith('C'): context['payload']['entries_N3'] += list( N3Group.objects.filter( Q(code='N3C_AS_' + k.code) | Q(code='N3C_ED_' + k.code))) if k.code.startswith('D'): context['payload']['entries_N3'] += list( N3Group.objects.filter( Q(code='N3DX_AS_' + k.code) | Q(code='N3DX_ED_' + k.code) | Q(code='N3DX_IP_' + k.code))) context['payload']['entries_N4'] += list( N4Group.objects.filter(code=k.code)) else: break return render(request, 'search.html', context, using='jt') else: return redirect('/datasets/')
def aggregate_patients_viewer(request): path = urllib.unquote(base64.decodestring(request.GET.get('q'))) entry = aggregate.PatientAggregate() entry.ParseFromString(file(path).read()) context = { 'payload': { 'entry': entry.obj, 'humanize': humanize, 'Coder': codes.Coder(), 'path': path, 'age_plot_data': json.dumps(entry.age_plot()) } } return render(request, 'aggregate_patients_viewer.html', context=context, using='jtlte')
def ml_stats_viewer(request, code): stats = PDXCLASSIFIER() stats.ParseFromString( file(ML_PATH + "/stats/{}.stats".format(code)).read()) context = { 'payload': { 'stats': stats, 'humanize': humanize, 'Coder': codes.Coder(), 'path': "", # 'los_plot_data': json.dumps(index.los_plot()), # 'age_plot_data': json.dumps(index.age_plot()) } } return render(request, 'ml_stats_viewer.html', context=context, using='jtlte')
def codelist(request): coder = codes.Coder() return JsonResponse([(coder.prefix_inverse[coder.CODE_PREFIX[k]], k, v[-1]) for k, v in coder.CODES_ALL.iteritems()], safe=False)