Fitness medical kasa likhe kissi ka
| Parameter | Finding |
|---|---|
| Height / ऊंचाई | _______ cm |
| Weight / वजन | _______ kg |
| Blood Pressure / रक्तचाप | _______ mmHg |
| Pulse Rate / नाड़ी गति | _______ per minute |
| Vision (Right Eye) / दृष्टि (दाई आंख) | _______ |
| Vision (Left Eye) / दृष्टि (बाई आंख) | _______ |
| Blood Group / रक्त समूह | _______ |
| Chest (Normal/Abnormal) | _______ |
| Hearing / सुनने की क्षमता | Normal / Abnormal |
| Skin / त्वचा | Normal / Abnormal |
| Any Deformity / कोई शारीरिक दोष | None / _______ |
| Known Disease / ज्ञात बीमारी | None / _______ |
Hospital me patient ka medical kasa banaye
mkdir -p /tmp/workspace/hospital-prescription && ls /tmp/workspace/hospital-prescription/
python3 << 'EOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.units import mm, cm from reportlab.pdfgen import canvas from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.platypus import Paragraph, Table, TableStyle from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT import os output_path = "/tmp/workspace/hospital-prescription/Hospital_Prescription.pdf" W, H = A4 # 595.27 x 841.89 points c = canvas.Canvas(output_path, pagesize=A4) # ─── HEADER ─────────────────────────────────────────────── # Top color bar c.setFillColor(colors.HexColor("#1565C0")) c.rect(0, H - 75, W, 75, fill=1, stroke=0) # Hospital Name c.setFillColor(colors.white) c.setFont("Helvetica-Bold", 20) c.drawCentredString(W/2, H - 35, "CITY GENERAL HOSPITAL") c.setFont("Helvetica", 10) c.drawCentredString(W/2, H - 52, "123, Main Road, Near Bus Stand, City - 400001") c.drawCentredString(W/2, H - 65, "Tel: 022-12345678 | Email: info@cityhospital.com | Emergency: 108") # Prescription title bar c.setFillColor(colors.HexColor("#E3F2FD")) c.rect(0, H - 90, W, 15, fill=1, stroke=0) c.setFillColor(colors.HexColor("#1565C0")) c.setFont("Helvetica-Bold", 10) c.drawCentredString(W/2, H - 85, "MEDICAL PRESCRIPTION / चिकित्सा पर्चा (नुस्खा)") # ─── DOCTOR INFO ────────────────────────────────────────── y = H - 110 c.setFillColor(colors.HexColor("#1565C0")) c.rect(20, y - 2, W - 40, 1, fill=1, stroke=0) c.setFillColor(colors.black) c.setFont("Helvetica-Bold", 11) c.drawString(25, y + 8, "Dr. ________________________________") c.setFont("Helvetica", 9) c.drawString(25, y - 5, "Qualification / योग्यता: ____________________________") c.drawString(25, y - 18, "Specialization / विशेषज्ञता: __________________________") c.drawString(300, y + 8, "Reg. No. / पंजीकरण नं.: _______________") c.drawString(300, y - 5, "Dept. / विभाग: _________________________") c.drawString(300, y - 18, "OPD Room No.: _________") # ─── DIVIDER ────────────────────────────────────────────── y2 = y - 30 c.setFillColor(colors.HexColor("#1565C0")) c.rect(20, y2, W - 40, 1, fill=1, stroke=0) # ─── PATIENT INFO BOX ───────────────────────────────────── c.setFillColor(colors.HexColor("#F5F5F5")) c.rect(20, y2 - 60, W - 40, 58, fill=1, stroke=0) c.setStrokeColor(colors.HexColor("#90CAF9")) c.rect(20, y2 - 60, W - 40, 58, fill=0, stroke=1) c.setFillColor(colors.HexColor("#1565C0")) c.setFont("Helvetica-Bold", 9) c.drawString(25, y2 - 10, "PATIENT DETAILS / मरीज का विवरण") c.setFillColor(colors.black) c.setFont("Helvetica", 9) row1y = y2 - 22 c.drawString(25, row1y, "Patient Name / नाम: ________________________________") c.drawString(320, row1y, "Date / दिनांक: ____________________") row2y = y2 - 35 c.drawString(25, row2y, "Age / उम्र: ________ Gender / लिंग: M / F / Other") c.drawString(320, row2y, "UHID / IPD No.: ___________________") row3y = y2 - 48 c.drawString(25, row3y, "Address / पता: _____________________________________________") c.drawString(320, row3y, "Mobile No.: _______________________") # ─── VITALS ─────────────────────────────────────────────── y3 = y2 - 75 c.setFillColor(colors.HexColor("#1565C0")) c.setFont("Helvetica-Bold", 9) c.drawString(25, y3, "VITALS / शारीरिक जांच:") c.setFillColor(colors.black) c.setFont("Helvetica", 9) c.drawString(25, y3 - 13, "BP: _______ mmHg Pulse: _______ /min Temp: _______ °F SpO2: _______ % Weight: _______ kg Height: _______ cm") # ─── COMPLAINTS & DIAGNOSIS ────────────────────────────── y4 = y3 - 30 c.setFillColor(colors.HexColor("#1565C0")) c.setFont("Helvetica-Bold", 9) c.drawString(25, y4, "CHIEF COMPLAINTS / मुख्य शिकायतें:") c.setFillColor(colors.black) c.setFont("Helvetica", 9) for i in range(3): c.drawString(30, y4 - 13 - (i * 12), f"{i+1}. ________________________________________________________________") y5 = y4 - 55 c.setFillColor(colors.HexColor("#1565C0")) c.setFont("Helvetica-Bold", 9) c.drawString(25, y5, "DIAGNOSIS / रोग निदान:") c.setFillColor(colors.black) c.setFont("Helvetica", 9) c.drawString(30, y5 - 13, "1. ________________________________________________________________") c.drawString(30, y5 - 26, "2. ________________________________________________________________") # ─── Rx BOX ─────────────────────────────────────────────── y6 = y5 - 48 # Rx symbol c.setFillColor(colors.HexColor("#1565C0")) c.setFont("Helvetica-Bold", 22) c.drawString(25, y6, "℞") c.setFont("Helvetica-Bold", 9) c.drawString(55, y6 + 5, "MEDICINES / दवाइयां:") # Table header col_headers = ["#", "Medicine Name\n(दवा का नाम)", "Dose\n(खुराक)", "Route\n(कैसे लें)", "Frequency\n(कितनी बार)", "Duration\n(कितने दिन)", "Instructions\n(निर्देश)"] col_widths = [18, 120, 55, 48, 65, 65, 75] # Draw table manually tx = 20 ty = y6 - 15 row_h = 14 header_h = 18 num_rows = 6 # Header row c.setFillColor(colors.HexColor("#1565C0")) c.rect(tx, ty - header_h, sum(col_widths), header_h, fill=1, stroke=0) c.setFillColor(colors.white) c.setFont("Helvetica-Bold", 7) x_pos = tx for i, (hdr, cw) in enumerate(zip(col_headers, col_widths)): # Draw multi-line header lines = hdr.split('\n') for li, line in enumerate(lines): c.drawString(x_pos + 2, ty - 8 - li * 8, line) x_pos += cw # Data rows for r in range(num_rows): row_y = ty - header_h - (r * row_h) bg = colors.HexColor("#E3F2FD") if r % 2 == 0 else colors.white c.setFillColor(bg) c.rect(tx, row_y - row_h, sum(col_widths), row_h, fill=1, stroke=0) c.setStrokeColor(colors.HexColor("#BBDEFB")) c.rect(tx, row_y - row_h, sum(col_widths), row_h, fill=0, stroke=1) # Row number c.setFillColor(colors.black) c.setFont("Helvetica", 8) c.drawString(tx + 5, row_y - row_h + 4, str(r + 1)) # Vertical lines x_pos = tx + col_widths[0] for cw in col_widths[1:]: c.setStrokeColor(colors.HexColor("#BBDEFB")) c.line(x_pos, row_y, x_pos, row_y - row_h) x_pos += cw # Outer border c.setStrokeColor(colors.HexColor("#1565C0")) c.rect(tx, ty - header_h - num_rows * row_h, sum(col_widths), header_h + num_rows * row_h, fill=0, stroke=1) # ─── INVESTIGATIONS / TESTS ─────────────────────────────── y7 = ty - header_h - num_rows * row_h - 20 c.setFillColor(colors.HexColor("#1565C0")) c.setFont("Helvetica-Bold", 9) c.drawString(25, y7, "INVESTIGATIONS / जांचें (Tests):") c.setFillColor(colors.black) c.setFont("Helvetica", 9) c.drawString(30, y7 - 13, "___________________________________________________________________________") c.drawString(30, y7 - 26, "___________________________________________________________________________") # ─── ADVICE / FOLLOW-UP ─────────────────────────────────── y8 = y7 - 45 c.setFillColor(colors.HexColor("#1565C0")) c.setFont("Helvetica-Bold", 9) c.drawString(25, y8, "ADVICE / सलाह:") c.setFillColor(colors.black) c.setFont("Helvetica", 9) c.drawString(30, y8 - 12, "Diet: ________________________ Activity: ________________________ Rest: ________________________") c.drawString(30, y8 - 25, "Follow-up Date / अगली मुलाकात: _______________________ Refer To / रेफर करें: _______________________") # ─── SIGNATURE / STAMP ──────────────────────────────────── y9 = y8 - 50 c.setFillColor(colors.HexColor("#1565C0")) c.rect(20, y9, W - 40, 1, fill=1, stroke=0) c.setFillColor(colors.black) c.setFont("Helvetica", 9) # Left - Patient signature c.drawString(30, y9 - 15, "Patient Signature / मरीज के हस्ताक्षर:") c.drawString(30, y9 - 40, "____________________________") # Right - Doctor signature c.setFont("Helvetica-Bold", 9) c.drawString(380, y9 - 15, "Doctor's Signature & Stamp") c.drawString(380, y9 - 25, "डॉक्टर के हस्ताक्षर एवं मोहर:") c.setFillColor(colors.HexColor("#E3F2FD")) c.rect(375, y9 - 65, 175, 38, fill=1, stroke=1) # ─── FOOTER ─────────────────────────────────────────────── c.setFillColor(colors.HexColor("#1565C0")) c.rect(0, 0, W, 22, fill=1, stroke=0) c.setFillColor(colors.white) c.setFont("Helvetica", 7.5) c.drawCentredString(W/2, 8, "This prescription is valid for 3 months from the date of issue | यह पर्चा जारी होने की तारीख से 3 महीने तक मान्य है") c.save() print(f"PDF created: {output_path}") print(f"File size: {os.path.getsize(output_path)} bytes") EOF
Hospital Prescription
PDF Document · PDF