34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
import json
|
|
import logging
|
|
|
|
from flask import Flask, request
|
|
from paddlenlp import Taskflow
|
|
|
|
from log import LOGGING_CONFIG
|
|
from utils import process_request
|
|
from . import PATIENT_NAME, ADMISSION_DATE, DISCHARGE_DATE, MEDICAL_EXPENSES, PERSONAL_CASH_PAYMENT, \
|
|
PERSONAL_ACCOUNT_PAYMENT, PERSONAL_FUNDED_AMOUNT, MEDICAL_INSURANCE_TYPE, ADMISSION_ID, SETTLEMENT_ID, \
|
|
UPPERCASE_MEDICAL_EXPENSES
|
|
|
|
app = Flask(__name__)
|
|
SETTLEMENT_LIST_SCHEMA = (
|
|
PATIENT_NAME + ADMISSION_DATE + DISCHARGE_DATE + MEDICAL_EXPENSES + PERSONAL_CASH_PAYMENT
|
|
+ PERSONAL_ACCOUNT_PAYMENT + PERSONAL_FUNDED_AMOUNT + MEDICAL_INSURANCE_TYPE + ADMISSION_ID + SETTLEMENT_ID
|
|
+ UPPERCASE_MEDICAL_EXPENSES
|
|
)
|
|
SETTLEMENT_IE = Taskflow('information_extraction', schema=SETTLEMENT_LIST_SCHEMA, model='uie-x-base',
|
|
task_path='model/settlement_list_model', layout_analysis=False, precision='fp16')
|
|
|
|
|
|
@app.route('/nlp/settlement', methods=['POST'])
|
|
@process_request
|
|
def settlement():
|
|
img_path = request.form.get('img_path')
|
|
layout = request.form.get('layout')
|
|
return SETTLEMENT_IE({'doc': img_path, 'layout': json.loads(layout)})
|
|
|
|
|
|
if __name__ == '__main__':
|
|
logging.config.dictConfig(LOGGING_CONFIG)
|
|
app.run('0.0.0.0', 5002)
|