Пример #1
0
def update_charts(selected_status, selected_clinicians, selected_patients, start_date, end_date, selected_task, selected_task_category):
    data = chart_utils.get_loaded_data('CENSUS_VISITS_BY_STATUS')
    patient_roster_data = chart_utils.get_loaded_data('PATIENT_ROSTER')

    if start_date:
        data = data.loc[data["SCHEDULED_DATE"] >= start_date]
    if end_date:
        data = data.loc[data["SCHEDULED_DATE"] < end_date]
    if selected_clinicians:
        data = data.loc[data["ASSIGNED_TO"].isin(selected_clinicians)]
    if selected_status:
        data = data.loc[data["STATUS"].isin(selected_status)]
    if selected_patients:
        data = data.loc[data["PATIENT"].isin(selected_patients)]
    if selected_task:
        data = data.loc[data["TASK"].isin(selected_task)]
    if selected_task_category:
        data = data.loc[data["TASK_CATEGORY"].isin(selected_task_category)]

    pie_charts = [
        ddk.Card(
            [
                ddk.CardHeader("Overview of {}".format(column.title())),
                chart_utils.generate_pie(data, column),
            ],
        )
        for column in ["PAYOR", "STATUS"]
    ]

    time_series = [
        ddk.DataCard(
            id='visits_by_status_count',
            value=data.shape[0]
        ),
        ddk.CardHeader("Status of tasks for selected clinicians, dates, and status"),
        chart_utils.generate_census_bar(data),
    ]
    data_table = data.sort_values(by="SCHEDULED_DATE").to_dict("records")

    patient_roster_chart = [
        ddk.DataCard(
            id='census_count',
            value=patient_roster_data.shape[0]
        ),
        ddk.CardHeader("Patient Roster Chart"),
        chart_utils.generate_patient_roster_bar(patient_roster_data),
    ]
    return patient_roster_chart, data_table, time_series, 0
Пример #2
0
def update_charts(
    selected_status, selected_clinicians, selected_patients, start_date, end_date
):
    data = chart_utils.get_loaded_data("SCHEDULEREPORTS_VISITSBYSTATUS","DATASET")
    #print(data.columns)
    if start_date:
        data = data.loc[data["SCHEDULED_DATE"] > start_date]
    if end_date:
        data = data.loc[data["SCHEDULED_DATE"] < end_date]
    if selected_clinicians:
        data = data.loc[data["ASSIGNED_TO"].isin(selected_clinicians)]
    if selected_status:
        data = data.loc[data["STATUS"].isin(selected_status)]
    if selected_patients:
        data = data.loc[data["PATIENT"].isin(selected_patients)]

    pie_charts = [
        ddk.Card(
            [
                ddk.CardHeader(title="Overview of {}".format(column.title())),
                chart_utils.generate_pie(data, column),
            ],
        )
        for column in ["PAYOR", "STATUS"]
    ]

    time_series = [
        ddk.DataCard(
            id='total_visits_count',
            value=data.shape[0]
        ),
        ddk.CardHeader(
            title="Status of tasks for selected clinicians, dates, and status"
        ),
        chart_utils.generate_bar(data),
    ]
    data_table = data.sort_values(by="SCHEDULED_DATE").to_dict("records")

    return pie_charts, data_table, time_series, 0
Пример #3
0
def layout():
    # load data for display
    orders_history_data = chart_utils.get_loaded_data("VW_ORDERS_HISTORY_FULL", "DATASET")
    remove_cols = ['BRANCH', 'COLUMN_MAPPING', 'COLUMN_PARAMETERS']
    type_arr = chart_utils.get_options(orders_history_data, "TYPE")
    physician_arr = chart_utils.get_options(orders_history_data, "PHYSICIAN")
    patient_arr = chart_utils.get_options(orders_history_data, "TYPE")
    remove_cols = ['BRANCH', 'PAYOR', 'INTERNAL_REFERRAL_SOURCE',]
    max_date = datetime.now()
    pending_df = orders_history_data.loc[
        orders_history_data["DATA_SOURCE_ARRAY"].str.contains(r'ORDERSPENDINGMDS', na=True)]
    history_df = orders_history_data.loc[
        orders_history_data["DATA_SOURCE_ARRAY"].str.contains(r'ORDERSHISTORY', na=True)]
    tbs_df = orders_history_data.loc[
        orders_history_data["DATA_SOURCE_ARRAY"].str.contains(r'ORDERSTOBESENT', na=True)]

    children = html.Div(
        [
            ddk.Row(
                [
                    ddk.DataCard(
                        id='orders_tobe_sent_count',
                        value=tbs_df.shape[0],
                        label = 'To Be Sent'
                    ),
                    ddk.DataCard(
                        id='orders_pending_mds_count',
                        value=pending_df.shape[0] ,
                        label='Pending MD Signature'
                    ),
                    ddk.DataCard(
                        id='orders_history_count',
                        value=history_df.shape[0] ,
                        label='Total Orders'
                    ),
                ]
            ),
            ddk.Row(
                [
                    ddk.ControlCard(
                        [
                            html.Details(
                                [
                                    html.Summary("About this app"),
                                    html.P(
                                        """Select attributes to fine tune graphs and tables."""
                                    ),
                                ]
                            ),
                            ddk.ControlItem(
                                dcc.Dropdown(

                                    options=type_arr,
                                    multi=True,
                                    placeholder="Select Type",
                                    id="orders-type-selector"
                                    # value=["Not Yet Started", "Saved"],
                                )
                            ),
                            ddk.ControlItem(
                                dcc.Dropdown(
                                    options=physician_arr,
                                    multi=True,
                                    placeholder="Select Physician",
                                    id="orders-physician-selector"
                                    # value=["Not Yet Started", "Saved"],
                                )
                            ),
                            ddk.ControlItem(
                                dcc.Dropdown(
                                    options=patient_arr,
                                    multi=True,
                                    placeholder="Select Patient",
                                    id="orders-patient-selector"
                                    # value=["Not Yet Started", "Saved"],
                                )
                            ),
                            ddk.ControlItem(
                                dcc.DatePickerRange(
                                    id="orders-date-picker",
                                    min_date_allowed=pd.to_datetime(
                                        orders_history_data["ORDER_DATE"].min()
                                    ),
                                    max_date_allowed=max_date,
                                    initial_visible_month=max_date,
                                    start_date=max_date - timedelta(days=700),
                                    end_date=max_date,
                                ),
                            ),
                            ddk.ControlItem(
                                html.Button(
                                    id="orders-select-all-rows",
                                    children="Select all matching records",
                                    style={"margin": "auto"},
                                    n_clicks=0,
                                )
                            ),
                        ],
                        width=25,
                        style={"overflow": "scroll"},
                    ),
                    ddk.Card(
                        width=75,
                        children=[
                            ddk.CardHeader(
                                children=[
                                    html.Div(
                                        "Combined Orders View", style={"float": "left"},
                                    ),

                                ]
                            ),
                            ddk.Block(
                                ddk.DataTable(
                                    columns=[
                                        {"name": i.replace("_", " ").title(), "id": i}
                                        for i in orders_history_data.columns if (i not in remove_cols)
                                    ],
                                    data=orders_history_data.sort_values(by="PHYSICIAN").to_dict("records"),
                                    filter_action="native",
                                    page_action="native",
                                    page_size=50,
                                    row_selectable="multi",
                                    id="orders-history-data-table",
                                    style_cell={'fontSize': 12, 'font-family': 'sans-serif'},
                                    style_table = {'overflowX': 'auto'},
                                ),
                                style={"overflow": "scroll"}
                            ),
                        ]
                    ),
                ]

            ),

        ]
    )
    return children
Пример #4
0
def layout():
    # load data for display
    episodicdata = chart_utils.get_loaded_data("AXXESS_API.RAW.MEDICARE_MCRADV_VISITPLANNING_NOAUTH", "DATASET")
    pervisitdata = chart_utils.get_loaded_data("AXXESS_API.RAW.MANAGEDCARE_VISITPLANNING_NOAUTH", "DATASET")
    currentepisodic = chart_utils.get_loaded_data("AXXESS_API.RAW.VW_MEDICARE_MCRADV_VISITPLANNING_CURRENT_EPISODES","DATASET")
    lupa_riskdata = chart_utils.get_loaded_data("AXXESS_API.RAW.VW_MEDICARE_MCRADV_LUPA_RISK", "DATASET")

   

    #reorder the columns

    '''
    new_order = ['INS_CODE',
                 'INITIAL_TIMELY_FILING',
                 'MRN',
                 'PATIENT',
                 'PATIENT_STATUS',
                 'DATE_OF_BIRTH',
                 'EPISODE_START_DATE',
                 'EPISODE_END_DATE',
                 'PHYSICIAN_NAME',
                 'PHYSICIAN_PHONE',
                 'PHYSICIAN_FACSIMILE',
                 'ORDERS_DETAILS',
                 'CONSOLIDATED_COMMENTS',
                 'COLOR',
                 'USER_UPDATE_DATE',
                 'NEW_COMMENTS',
                 'EPISODE_UNEARNED_AMOUNT',
                 'EPISODE_EARNED_AMOUNT',
                 'EPISODE_BILLED_AMOUNT',
                 'EPISODE_ADJUSTMENTS'
                 ]
    '''



    gl_mrn_arr = chart_utils.get_options(episodicdata, "MRN")
    gl_ins_code_arr = chart_utils.get_options(episodicdata, "INS_CODE")
    gl_patient_arr = chart_utils.get_options(episodicdata, "PATIENT")
    gl_patient_status_arr = chart_utils.get_options(episodicdata, "PATIENT_STATUS")
    gl_pcc_arr = chart_utils.get_options(currentepisodic, "CASE_MANAGER_NAME")
    gl_lupa_risk_arr = chart_utils.get_options(currentepisodic, "LUPA_RISK")

    remove_cols = ['INS_CODE', 'OASIS_STATUS', 'OASIS_DETAILS', 'EPISODE_PRIMARY_INSURANCE_NAME', 'DATE_OF_BIRTH',
                   'PHONE','PHYSICIAN_FACSIMILE', 'PHYSICIAN_NAME', 'PHYSICIAN_PHONE', 'ZIP', 'ORDERS_STATUS', 'ORDERS_DETAILS',
                   'EARLY_LUPA_RISK', 'LATE_LUPA_RISK', 'EARLY_ORIGINAL_PROSPECTIVE_PAY',
                   'LATE_ORIGINAL_PROSPECTIVE_PAY', 'TOTAL_COST', 'TOTAL_PROFIT', 'EARLY_COST', 'EARLY_PROFIT',
                   'LATE_COST', 'LATE_PROFIT', 'EPISODE_BILLED_AMOUNT', 'EPISODE_ADJUSTMENTS', 'EPISODE_EARNED_AMOUNT',
                   'EPISODE_UNEARNED_AMOUNT',    'SCHEDULE_ACTIVE',    'COMPLETED_VISITS',    'TOTAL_VISITS' ,   'TOTAL_BILLABLE_HHA_VISITS'
                   ]
    max_date = pd.to_datetime(episodicdata['EPISODE_END_DATE']).max()
    today = dt.now().date()
    sixtydaysprior = today
    sixtydaysprior += datetime.timedelta(days=-60)
    #min_date = pd.to_datetime(episodicdata['EPISODE_END_DATE']).min()


    children = html.Div([

        # block on the right
        ddk.Block(
            width=100,
            children=[
                ddk.Row([
                    ddk.Block(
                        children=[
                            ddk.ControlCard(
                                orientation='horizontal',
                                width = 100,
                                children=[

                                    ddk.ControlItem(
                                        dcc.Dropdown(

                                            options=gl_ins_code_arr,
                                            multi=True,
                                            placeholder="Select",
                                            id="vp-ins-code-selector",
                                            # value=["Not Yet Started", "Saved"],
                                            style = {
                                                'fontSize': 12,
                                                'font-family': 'sans-serif',
                                            }
                                        ),
                                        width = 10,
                                        label='Billing Code',
                                        style={
                                            'fontSize': 12,
                                            'font-family': 'sans-serif',
                                        }
                                    ),
                                    ddk.ControlItem(
                                        dcc.Dropdown(

                                            options=gl_patient_arr,
                                            multi=True,
                                            placeholder="Select",
                                            id="vp-patient-selector",
                                            style = {
                                                'fontSize': 12,
                                                'font-family': 'sans-serif',
                                            }
                                        ),
                                        width=10,
                                        label='Patient',
                                        label_text_alignment='center',
                                        style={
                                            'fontSize': 12,
                                            'font-family': 'sans-serif',
                                        }
                                    ),
                                    ddk.ControlItem(
                                        dcc.Dropdown(

                                            options=gl_mrn_arr,
                                            multi=True,
                                            placeholder="Select",
                                            id="vp-mrn-selector",
                                            style={
                                                'fontSize': 12,
                                                'font-family': 'sans-serif',
                                            }

                                        ),
                                        width =10,
                                        label='MRN',
                                        label_text_alignment='center',
                                        style={
                                            'fontSize': 12,
                                            'font-family': 'sans-serif',
                                        }
                                    ),
                                    ddk.ControlItem(
                                        dcc.Dropdown(

                                            options=gl_patient_status_arr,
                                            id="vp-patient-status-selector",
                                            multi=True,
                                            placeholder="Select",
                                            value=['Active'],
                                            style={
                                                'fontSize': 12,
                                                'font-family': 'sans-serif',
                                            }

                                        ),
                                        width = 10,
                                        label = 'Patient Status',
                                        label_text_alignment='center',
                                        style={
                                            'fontSize': 12,
                                            'font-family': 'sans-serif',
                                        }
                                    ),
                                    ddk.ControlItem(
                                        dcc.Slider(
                                            id='vp-margin-slider',
                                            min=-50,
                                            max=100,
                                            step=10,
                                            marks={-50: '-50',
                                                   -40: '-40',
                                                   -20: '-20',
                                                   -10: '-10',
                                                   0: '0',
                                                   10: '10',
                                                   20: '20',
                                                   40: '40',
                                                   60: '60',
                                                   80: '80',
                                                   100: '100',
                                                   },
                                            value=20,
                                        ),
                                        width = 20,
                                        label='Margin (%)',
                                        label_text_alignment='center',
                                        style={
                                            'fontSize': 12,
                                            'font-family': 'sans-serif',
                                        }
                                    ),
                                    ddk.ControlItem(
                                        dcc.Dropdown(

                                            options=gl_pcc_arr,
                                            multi=True,
                                            placeholder="select",
                                            id="vp-case-manager-selector",
                                            style={
                                                'fontSize': 12,
                                                'font-family': 'sans-serif',
                                            }
                                        ),
                                        width=10,
                                        label='Case Manager',
                                        label_text_alignment= 'center',
                                        style={
                                            'fontSize': 12,
                                            'font-family': 'sans-serif',
                                        }
                                    ),
                                    ddk.ControlItem(
                                        dcc.DatePickerRange(
                                            id="vp-episode-picker",
                                            min_date_allowed=pd.to_datetime(episodicdata['EPISODE_START_DATE'].min()
                                            ),
                                            max_date_allowed=max_date,
                                            initial_visible_month=max_date,
                                            start_date=sixtydaysprior,
                                            end_date=max_date
                                        ),
                                        width = 20,
                                        label='Episode Range',
                                        label_text_alignment='center',
                                        style={
                                            'fontSize': 12,
                                            'font-family': 'sans-serif',
                                        }
                                    ),
                                    ddk.ControlItem(
                                        dcc.Dropdown(

                                            options=gl_lupa_risk_arr,
                                            multi=True,
                                            placeholder="select",
                                            id="vp-lupa-risk-selector",
                                            style={
                                                'fontSize': 12,
                                                'font-family': 'sans-serif',
                                            }

                                        ),
                                        width=10,
                                        label='LUPA RISK',
                                        label_text_alignment='center',
                                        style={
                                            'fontSize': 12,
                                            'font-family': 'sans-serif',
                                        }
                                    ),

                                ], )
                        ]
                    ),
                ]),
                ddk.Row([
                    ddk.Card(
                        children=[
                            ddk.CardHeader(
                                title="VISIT PLANNING",
                                children=[
                                    html.Div(
                                        [
                                            ddk.Modal(
                                                id="vp-modal-btn-outer",
                                                children=[
                                                    html.Button(
                                                        id="vp-expand-modal",
                                                        n_clicks=0,
                                                        children="Take action",
                                                    )
                                                ],
                                                target_id="vp-modal-content",
                                                hide_target=True,
                                                style={"float": "right"},
                                            ),
                                            ddk.Block(
                                                id="vp-modal-content",
                                                children=html.Div(id="vp-modal-div"),
                                                style={
                                                    "width": "50%",
                                                    "margin": "auto",
                                                    "overflow": "scroll",
                                                },
                                            ),
                                            ddk.DataCard(
                                                id='vp_episodic_selected_count',
                                                value=currentepisodic.shape[0],
                                                label='Episodic Selected Count',
                                                style={
                                                    'fontSize': 12,
                                                    'font-family': 'sans-serif',
                                                }
                                            ),
                                        ]
                                    ),
                                ],
                            ),
                            ddk.Block(

                                dcc.Tabs(id='tabs-example',
                                         value='tab-1',
                                         children=[
                                                    dcc.Tab(label='EPISODIC',
                                                            children=[generate_table_layout(episodicdata, "","vp_episodic-table", "MRN", remove_cols)]
                                                            ),
                                                    dcc.Tab(label='PERVISIT',
                                                            children=[generate_table_layout(pervisitdata, "","vp_pervisit-table", "MRN", remove_cols)]),
                                         ]
                                         ),

                            )
                            ]
                    ),


                ]),



            ]
        )
    ])

    return children
Пример #5
0
             ddk.ControlItem(children=[
                 dcc.Dropdown(
                     id="dropdown", options=iex.companies, value="AAPL"),
                 ddk.ControlItem(width=50,
                                 children=[
                                     dcc.DatePickerRange(
                                         id="datepicker",
                                         start_date="2015-01-01",
                                         end_date="2016-01-01",
                                         display_format="YYYY-MM-DD")
                                 ])
             ])
         ],
     )),
 ddk.Block(children=[
     ddk.DataCard(id="dc1", width=25, label="Dividend Yield", value="-"),
     ddk.DataCard(id="dc2", width=25, label="Peg Ratio", value="-"),
     ddk.DataCard(id="dc3", width=25, label="Beta", value="%"),
     ddk.DataCard(id="dc4", width=25, label="Country", value="-"),
 ]),
 ddk.Block(children=[
     ddk.Card(rounded=True,
              children=[
                  ddk.Graph(
                      id="graph",
                      figure={
                          "data": [
                              go.Scatter(x=iex.get_prices(
                                  "AAPL", "2015-01-01", "2016-01-01").index,
                                         y=iex.get_prices(
                                             "AAPL", "2015-01-01",
Пример #6
0
                                        ),
                                        html.Div(id="Period-dropdown"),
                                        html.Label('Dino Type', style={'fontSize':30, 'textAlign':'center'}),
                                        dcc.Dropdown(id='display-type', options=[], multi=True, value=[]),
                                        
                                ]
                                )
                        ),
                        width=8,
                        ),

                        ddk.Card(
                        width=24,
                        children=[
                                ddk.CardHeader(title='Total Fossils Found Across All Periods'),
                                ddk.DataCard(value=totalFossilsFounds,
                                        style={'width':'fit-content'}),
                        ]
                        ),
                        # ddk.Card(
                        # width=24,
                        # children=[
                        #         ddk.CardHeader(title='Total Fossils Found'),
                        #         ddk.DataCard(
                        #                 id='total-fossils',
                        #                 value='',
                        #                 style={'width':'fit-content'}),
                        # ]
                        # ),

                        # ddk.Card(
                        # width=40,
Пример #7
0
           ]),
 ddk.Block(width=70,
           children=[
               ddk.Row([
                   ddk.Card(width=50,
                            children=dcc.Markdown(
                                textwrap.dedent('''
             Sed ut perspiciatis unde omnis iste natus
             voluptatem accusantium doloremque laudantium,
             totam rem aperiam, **expect similar results next week**
             ab illo inventore veritatis et quasi architecto
             beatae vitae dicta sunt explicabo.
             '''))),
                   ddk.DataCard(value='1.17',
                                label='Power',
                                trace_x=ddk.datasets.timeseries().x1,
                                trace_y=ddk.datasets.timeseries().y1,
                                width=25),
                   ddk.DataCard(value='5.4',
                                label='Efficiency',
                                trace_x=ddk.datasets.timeseries().x2,
                                trace_y=ddk.datasets.timeseries().y2,
                                width=25),
               ]),
               ddk.Card(width=100,
                        children=ddk.Graph(
                            figure={
                                'data': [{
                                    'x': [1, 2, 3, 4],
                                    'y': [4, 1, 6, 9],
                                    'line': {
Пример #8
0
def layout():
    # load data for display
    authorizations_data = chart_utils.get_loaded_data("VW_AUTHORIZATIONS", "DATASET")

    patient_status_arr = chart_utils.get_options(authorizations_data, "PATIENTSTATUS")
    discipline_arr = chart_utils.get_options(authorizations_data, "DISCIPLINE")
    auth_type_arr = chart_utils.get_options(authorizations_data, "AUTHORIZATION_TYPE")
    payer_arr = chart_utils.get_options(authorizations_data, "PAYER")
    patient_arr = chart_utils.get_options(authorizations_data, "PATIENT")
    remove_cols = ['BRANCH','COLUMN_MAPPING', 'COLUMN_PARAMETERS' ]
    max_date = datetime.now()
    #pending_df = authorizations_data.loc[authorizations_data["DATA_SOURCE_ARRAY"].str.contains(r'authsPENDINGMDS', na=True)]
    #history_df = authorizations_data.loc[authorizations_data["DATA_SOURCE_ARRAY"].str.contains(r'authsHISTORY', na=True)]
    #tbs_df = authorizations_data.loc[ authorizations_data["DATA_SOURCE_ARRAY"].str.contains(r'authsTOBESENT', na=True)]

    children = html.Div(
        [
            ddk.Row(
                [
                    ddk.DataCard(
                        id='auths_patient_status_count',
                        value=12 ,#tbs_df.shape[0],
                        label = 'Patient Status Count'
                    ),
                    ddk.DataCard(
                        id='auths_auth_type_count',
                        value=13,#pending_df.shape[0] ,
                        label='Authorization Type Count'
                    ),
                    ddk.DataCard(
                        id='auths_total_count',
                        value=authorizations_data.shape[0] ,
                        label='Total Authorizations'
                    ),
                ]
            ),
            ddk.Row(
                [
                    ddk.ControlCard(
                        [
                            html.Details(
                                [
                                    html.Summary("About this app"),
                                    html.P(
                                        """Select attributes to fine tune graphs and tables."""
                                    ),
                                ]
                            ),
                            ddk.ControlItem(
                                dcc.Dropdown(

                                    options=auth_type_arr,
                                    multi=True,
                                    placeholder="Select Authorization Type",
                                    id="auths-auth-type-selector"
                                    # value=["Not Yet Started", "Saved"],
                                )
                            ),
                            ddk.ControlItem(
                                dcc.Dropdown(
                                    options=discipline_arr,
                                    multi=True,
                                    placeholder="Select Discipline",
                                    id="auths-discipline-selector"
                                    # value=["Not Yet Started", "Saved"],
                                )
                            ),
                            ddk.ControlItem(
                                dcc.Dropdown(
                                    options=patient_arr,
                                    multi=True,
                                    placeholder="Select Patient",
                                    id="auths-patient-selector"
                                    # value=["Not Yet Started", "Saved"],
                                )
                            ),
                            ddk.ControlItem(
                                dcc.Dropdown(
                                    options=patient_status_arr,
                                    multi=True,
                                    placeholder="Select Discipline",
                                    id="auths-patientstatus-selector"
                                    # value=["Not Yet Started", "Saved"],
                                )
                            ),
                            ddk.ControlItem(
                                dcc.Dropdown(
                                    options=payer_arr,
                                    multi=True,
                                    placeholder="Select Payer",
                                    id="auths-payer-selector"
                                    # value=["Not Yet Started", "Saved"],
                                )
                            ),
                            ddk.ControlItem(
                                dcc.DatePickerRange(
                                    id="auths-date-picker",
                                    min_date_allowed=pd.to_datetime(
                                        authorizations_data["START_DATE"].min()
                                    ),
                                    max_date_allowed=max_date,
                                    initial_visible_month=max_date,
                                    start_date=max_date - timedelta(days=700),
                                    end_date=max_date +timedelta(days=700),
                                ),
                            ),
                            ddk.ControlItem(
                                html.Button(
                                    id="auths-select-all-rows",
                                    children="Select all matching records",
                                    style={"margin": "auto"},
                                    n_clicks=0,
                                )
                            ),
                        ],
                        width=25,
                        style={"overflow": "scroll"},
                    ),
                    ddk.Card(
                        width=75,
                        children=[
                            ddk.CardHeader(
                                children=[
                                    html.Div(
                                        "Combined auths View", style={"float": "left"},
                                    ),

                                ]
                            ),
                            ddk.Block(
                                ddk.DataTable(
                                    columns=[
                                        {"name": i.replace("_", " ").title(), "id": i}
                                        for i in authorizations_data.columns if (i not in remove_cols)
                                    ],
                                    data=authorizations_data.sort_values(by="START_DATE").to_dict("records"),
                                    filter_action="native",
                                    page_action="native",
                                    page_size=50,
                                    row_selectable="multi",
                                    id="auths-history-data-table",
                                    style_cell={'fontSize': 12, 'font-family': 'sans-serif'},
                                    style_table = {'overflowX': 'auto'},
                                ),
                                style={"overflow": "scroll"}
                            ),
                        ]
                    ),
                ]

            ),

        ]
    )
    return children
Пример #9
0
def layout():
    # load data for display
    orders_history_data = chart_utils.get_loaded_data("VIEW_ORDERSHISTORY", "DATASET")
    orders_pending_mds_data = chart_utils.get_loaded_data("VIEW_ORDERSMANAGEMENT_ORDERSPENDINGMDS", "DATASET")
    orders_tobe_sent_data = chart_utils.get_loaded_data("VIEW_ORDERSTOBESENT", "DATASET")
    max_date = datetime.now()

    order_number_data = pd.concat(
        [orders_history_data["ORDER_NUMBER"], orders_pending_mds_data["ORDER_NUMBER"],
         orders_tobe_sent_data["ORDER_NUMBER"]])
    physician_data = pd.concat(
        [orders_history_data["PHYSICIAN"], orders_pending_mds_data["PHYSICIAN"],
         orders_tobe_sent_data["PHYSICIAN"]])
    ordertype_data = pd.concat(
        [orders_history_data["TYPE"], orders_pending_mds_data["TYPE"],
         orders_tobe_sent_data["TYPE"]])
    patient_data = pd.concat(
        [orders_history_data["PATIENT"], orders_pending_mds_data["PATIENT"],
         orders_tobe_sent_data["PATIENT"]])

    children = html.Div(
        [
            ddk.Row(
                [
                    ddk.DataCard(
                        id='orders_tobe_sent_count',
                        value=orders_tobe_sent_data.shape[0],
                        label = 'To Be Sent'
                    ),
                    ddk.DataCard(
                        id='orders_pending_mds_count',
                        value=orders_pending_mds_data.shape[0] ,
                        label='Pending MD Signature'
                    ),
                    ddk.DataCard(
                        id='orders_history_count',
                        value=orders_history_data.shape[0] ,
                        label='Total Orders'
                    ),
                ]
            ),
            ddk.Row(
                [
                    ddk.ControlCard(
                        [
                            html.Details(
                                [
                                    html.Summary("About this app"),
                                    html.P(
                                        """Select attributes to fine tune graphs and tables."""
                                    ),
                                ]
                            ),
                            ddk.ControlItem(
                                dcc.Dropdown(
                                    options=[
                                        {"label": orderstype, "value": orderstype}
                                        for orderstype in sorted(
                                            [
                                                orderstype
                                                for orderstype in ordertype_data.unique()
                                                if orderstype
                                            ]
                                        )
                                    ],
                                    multi=True,
                                    placeholder="Select Type",
                                    id="orders-type-selector"
                                    # value=["Not Yet Started", "Saved"],
                                )
                            ),
                            ddk.ControlItem(
                                dcc.Dropdown(
                                    options=[
                                        {"label": physician, "value": physician}
                                        for physician in sorted(
                                            [
                                                physician
                                                for physician in physician_data.unique()
                                                if physician
                                            ]
                                        )
                                    ],
                                    multi=True,
                                    placeholder="Select Physician",
                                    id="orders-physician-selector"
                                    # value=["Not Yet Started", "Saved"],
                                )
                            ),
                            ddk.ControlItem(
                                dcc.Dropdown(
                                    options=[
                                        {"label": patient, "value": patient}
                                        for patient in sorted(
                                            [
                                                patient
                                                for patient in patient_data.unique()
                                                if patient
                                            ]
                                        )
                                    ],
                                    multi=True,
                                    placeholder="Select Patient",
                                    id="orders-patient-selector"
                                    # value=["Not Yet Started", "Saved"],
                                )
                            ),
                            ddk.ControlItem(
                                dcc.DatePickerRange(
                                    id="order-date-picker",
                                    min_date_allowed=pd.to_datetime(
                                        orders_history_data["ORDER_DATE"].min()
                                    ),
                                    max_date_allowed=max_date,
                                    initial_visible_month=max_date,
                                    start_date=max_date - timedelta(days=30),
                                    end_date=max_date,
                                ),
                            ),
                            ddk.ControlItem(
                                html.Button(
                                    id="orders_tob_esent-select-all-rows",
                                    children="Select all matching records",
                                    style={"margin": "auto"},
                                    n_clicks=0,
                                )
                            ),
                        ],
                        width=30,
                        style={"overflow": "scroll"},
                    ),
                    ddk.Card(
                        children=[
                            ddk.CardHeader(
                                children=[
                                    html.Div(
                                        "Table of selected tasks", style={"float": "left"},
                                    ),

                                ]
                            ),
                            ddk.Block(
                                ddk.DataTable(
                                    columns=[
                                        {"name": i.replace("_", " ").title(), "id": i}
                                        for i in orders_history_data.columns if (i != 'BRANCH')
                                    ],
                                    data=orders_history_data.sort_values(by="PHYSICIAN").to_dict("records"),
                                    filter_action="native",
                                    page_action="native",
                                    page_size=50,
                                    row_selectable="multi",
                                    id="orders-history-data-table",
                                    style_cell={'fontSize': 12, 'font-family': 'sans-serif'}
                                ),
                                style={"overflow": "scroll"}
                            ),
                        ]
                    ),
                ]

            ),

        ]
    )
    return children