Clinic portal development using 1C-Bitrix

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    747
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

Clinic Portal Development on 1C-Bitrix

A patient takes tests on Monday. On Tuesday they call the clinic asking about results — "call back tomorrow, the lab hasn't sent them yet." On Wednesday they call again — "results are with the doctor, they'll call back." On Thursday the doctor calls back, but the patient is in a meeting. On Friday the patient comes in person. Five days to resolve what could be closed with a push notification "Your results are ready" with a view button in the personal cabinet. A clinic portal on 1C-Bitrix is not a business card with address and doctor list, but a working tool for interaction between clinic and patient.

Patient Personal Cabinet

The personal cabinet is the central element of the portal. Without it, the portal reduces to an informational website, with it — it becomes a service channel reducing reception desk and call center load.

Personal cabinet functions:

  • Book appointment — choose doctor, specialization, date and time from current schedule
  • My appointments — upcoming and past visits, ability to cancel/reschedule
  • Test results — PDF or structured data from lab system
  • Medical documents — discharge summaries, conclusions, referrals
  • Prescriptions — electronic prescriptions with renewal option via request
  • Finance — payment history, invoices, deposit balance (if clinic uses prepayment)
  • Family access — manage children and elderly relatives' appointments

Authorization — by phone number with SMS code. No password — patients don't memorize medical portal passwords. Additionally — login via State Services (ESIA) for state and quasi-state clinics.

MIS Integration

MIS (medical information system) is the core of clinic automation: doctor schedules, electronic medical records, lab orders, billing. A portal without MIS integration is two parallel worlds: administrator manually enters appointment in MIS after patient books on website.

Typical MIS and integration methods:

MIS Protocol Features
Infoklinika SOAP/REST API Widely used, documented API
MEDIOLOG REST API Modular architecture, flexible API
1C:Medicine COM/REST Native 1C-Bitrix integration via exchange module
qMS REST API Modern API, webhook notifications
Custom MIS Depends on implementation Often — direct database access or CSV exchange

What syncs:

  • Schedule → portal requests free slots via MIS API every 5–15 minutes or in real-time on user request
  • Appointment → when creating portal appointment — call MIS API to book slot. On cancellation — free it
  • Test results → MIS sends webhook or portal periodically polls. Result saved in "Results" infoblock linked to patient
  • Invoices and payments → sync via 1C-Bitrix sale module and MIS payment module

Intermediate layer. Direct portal↔MIS integration is fragile: if MIS unavailable — portal doesn't work. Solution — intermediate queue (RabbitMQ or buffer table in database). Appointment created on portal, placed in queue, handler transfers to MIS. If MIS unavailable — retry in 5 minutes. Patient sees "Processing appointment" status, then "Confirmed."

Online Appointment Booking with Clinic Specifics

Appointment booking in clinic is not the same as restaurant reservation. There are nuances:

  • First vs repeat visit — different slot duration (30 min vs 15 min), different cost
  • Referrals — patient can only book specialists they have referral to (checked via MIS)
  • Preparation instructions — for ultrasound, gastroscopy, tests — automatic instruction sending 48 hours before
  • Complex programs — 5-visit checkup that needs booking sequentially in one day
  • Cabinet schedule — doctor accepts, but cabinet is occupied by another specialist. Integration accounts for both doctor and cabinet

Patient notifications:

  • Appointment confirmation — email + SMS
  • 24-hour reminder — SMS
  • 2-hour reminder — push (if mobile app exists)
  • Review request — 24 hours after visit

Test Results and Documents

Viewing results is the function that brings patients back to portal.

Implementation:

  • Results from lab arrive in MIS → webhook notifies portal → portal saves result in infoblock → patient gets push/SMS "Results ready"
  • Display format: structured table (indicator, value, normal range, deviation) + PDF for download
  • Reference values — deviations from norm highlighted in color (red — above/below normal)
  • History — patient sees indicator dynamics (e.g., hemoglobin over last 12 months) on graph

Medical documents (summaries, conclusions) stored in 1C-Bitrix "Disk" module or separate infoblock with file properties. Access — only owner (patient) and treating doctor.

Telemedicine

Telemedicine consultations are mandatory function of modern clinic portal. After pandemic, patients expect remote consultation option.

Video consultation implementation:

  • Integration with video platform: Jitsi Meet (self-hosted, unlimited), Zoom API, or Bitrix24 Video Calls
  • Telehealth appointment booking — via same schedule but marked "online"
  • 10 minutes before start — video room link in personal cabinet and SMS
  • Doctor connects from MIS interface or separate portal cabinet
  • Consultation recording (with patient consent) — for legal documentation of recommendations

Chat with doctor. Asynchronous text consultation — patient asks question, doctor replies during business day. Implemented via "Web messenger" module (im) or custom chat linked to medical record.

Data Protection

Medical data is a special category of personal data under Law 152-FZ.

Technical measures:

  • Data storage in RF territory (for Russian clinics)
  • Database encryption — at minimum disk-level encryption on OS level, recommended field-level encryption (policy numbers, diagnoses)
  • Two-factor authentication for medical staff
  • Access log — who, when, which patient data was viewed. Implemented via 1C-Bitrix event handler and custom log table
  • Automatic session end — after 15 minutes inactivity for doctor cabinet
  • Processing consent — at registration, each appointment, when transferring data to third parties (lab, insurance)
  • WAF — 1C-Bitrix "Proactive Protection" module + external WAF (ModSecurity or CloudFlare)

SEO and Marketing

  • Doctor cardsPhysician micromarkup, unique meta tags, photo, services list
  • Service pagesMedicalProcedure by Schema.org, description, indications, preparation
  • Online booking in Google — Google Reserve integration (booking button right in search results)
  • ReviewsAggregateRating for stars in snippet
  • Clinic blog — expert articles by doctors with author and qualifications listed (E-E-A-T for YMYL topics)
  • LocalBusiness — markup for each branch with address, phone, working hours