LianHP commited on
Commit
afdf858
·
verified ·
1 Parent(s): f7addb8

Upload folder using huggingface_hub

Browse files
Files changed (5) hide show
  1. .gradio/certificate.pem +31 -0
  2. README.md +27 -8
  3. app.py +82 -0
  4. requirements.txt +2 -0
  5. runtime.txt +1 -0
.gradio/certificate.pem ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ -----BEGIN CERTIFICATE-----
2
+ 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
31
+ -----END CERTIFICATE-----
README.md CHANGED
@@ -1,12 +1,31 @@
1
  ---
2
- title: Healthcare Fraud
3
- emoji: 📉
4
- colorFrom: pink
5
- colorTo: red
6
- sdk: gradio
7
- sdk_version: 5.49.1
8
  app_file: app.py
9
- pinned: false
 
10
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: Healthcare_Fraud
 
 
 
 
 
3
  app_file: app.py
4
+ sdk: gradio
5
+ sdk_version: 5.47.2
6
  ---
7
+ # 🏥 Healthcare Fraud Detection – Demo App
8
+
9
+ This app demonstrates a simple, rule-based fraud detection workflow commonly used in healthcare data science initiatives.
10
+
11
+ ### Fraud Patterns Included
12
+ - Upcoding
13
+ - Phantom Billing
14
+ - Unbundling
15
+ - High-dollar claim flags
16
+
17
+ ### Features
18
+ - Accepts provider, procedure, amount, and claim notes
19
+ - Produces a fraud score (High / Moderate / Low / None)
20
+ - Displays detected fraud-related indicators
21
+ - Lightweight and deployable on Hugging Face Spaces
22
 
23
+ ### Deploy
24
+ 1. Go to https://huggingface.co/new-space
25
+ 2. Hugging Face SDK: **Gradio**
26
+ 3. Upload these files:
27
+ - `app.py`
28
+ - `requirements.txt`
29
+ - `runtime.txt`
30
+ - `README.md`
31
+ 4. Build → App launches automatically
app.py ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import pandas as pd
3
+ import re
4
+
5
+ def detect_fraud(provider, procedure, amount, notes):
6
+ """
7
+ Lightweight rule-based fraud indicator for demonstration.
8
+ """
9
+
10
+ text = f"{provider} {procedure} {notes}".lower()
11
+
12
+ # Rule-based flags (common healthcare fraud patterns)
13
+ upcoding_terms = ["complex visit", "level 5", "high severity", "multiple procedures"]
14
+ phantom_terms = ["no patient", "patient denies", "never seen"]
15
+ unbundling_terms = ["billed separately", "duplicate", "split billing"]
16
+ high_amount_threshold = 5000 # simple flag
17
+
18
+ flags = []
19
+
20
+ # Fraud pattern detection
21
+ if any(term in text for term in upcoding_terms):
22
+ flags.append("Upcoding")
23
+
24
+ if any(term in text for term in phantom_terms):
25
+ flags.append("Phantom Billing")
26
+
27
+ if any(term in text for term in unbundling_terms):
28
+ flags.append("Unbundling")
29
+
30
+ if amount > high_amount_threshold:
31
+ flags.append("High-Dollar Flag")
32
+
33
+ # Score logic
34
+ if len(flags) >= 3:
35
+ score = "High Fraud Risk"
36
+ elif len(flags) == 2:
37
+ score = "Moderate Fraud Risk"
38
+ elif len(flags) == 1:
39
+ score = "Low Fraud Risk"
40
+ else:
41
+ score = "No Fraud Indicators Found"
42
+
43
+ df = pd.DataFrame({
44
+ "Provider": [provider],
45
+ "Procedure": [procedure],
46
+ "Amount": [amount],
47
+ "Detected Flags": [", ".join(flags) if flags else "None"],
48
+ "Fraud Risk Score": [score]
49
+ })
50
+
51
+ return df, f"### Fraud Risk: **{score}**\nFlags: {', '.join(flags) if flags else 'None'}"
52
+
53
+ # ---- Gradio App UI ----
54
+
55
+ with gr.Blocks(title="Healthcare Fraud Detection Demo") as demo:
56
+ gr.Markdown("## 🏥 Healthcare Fraud Detection – Demo (Rule-Based)")
57
+ gr.Markdown("Upload simple claim information to evaluate possible fraud indicators.")
58
+
59
+ with gr.Row():
60
+ provider = gr.Textbox(label="Provider Name", placeholder="Example: ABC Clinic")
61
+ procedure = gr.Textbox(label="Procedure Code/Description", placeholder="Example: Level 5 visit")
62
+
63
+ amount = gr.Number(label="Claim Amount ($)", value=1200)
64
+
65
+ notes = gr.Textbox(
66
+ label="Claim Notes",
67
+ lines=6,
68
+ placeholder="Example: Patient denies visit. Procedure billed separately..."
69
+ )
70
+
71
+ submit = gr.Button("Analyze Claim")
72
+
73
+ output_table = gr.Dataframe(label="Fraud Detection Summary")
74
+ output_text = gr.Markdown(label="Fraud Score")
75
+
76
+ submit.click(
77
+ detect_fraud,
78
+ inputs=[provider, procedure, amount, notes],
79
+ outputs=[output_table, output_text]
80
+ )
81
+
82
+ demo.launch(share=True)
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ gradio>=4.0
2
+ pandas
runtime.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ python-3.10