Pharmacy Site on 1C-Bitrix: Catalog, Booking, MDLP

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.
Showing 1 of 1All 1626 services
Pharmacy Site on 1C-Bitrix: Catalog, Booking, MDLP
Complex
from 1 week to 3 months
Frequently Asked Questions

Our competencies:

Development stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    943
  • 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
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    829
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1074

Creating a Pharmaceutical Site on 1C-Bitrix with Accounting and MDLP Integration

Our 1C-Bitrix pharmacy website development ensures accurate drug catalog and seamless MDLP integration.

A large pharmacy chain with 15,000 SKUs and 200 pharmacies discovered: their website displayed stock data that was three days old. Users made reservations, but the pharmacy had no product. The integration with 1C via FTP files broke once a month, and analogue search was absent. We redesigned the architecture—now stock updates every 15 minutes (10 times faster than previous FTP-only approach), and symptom search handles 10,000 queries per day. Development starts from $25,000 and depends on the number of pharmacies and integration complexity. Our certified 1C-Bitrix developers with 10+ years of experience ensure reliable integration and data integrity is guaranteed through automated checks.

The investment for a full-featured pharmacy site begins at $25,000, with potential annual savings of $10,000.

For pharmacy website development, we focus on 1C-Bitrix pharmacy functionality including drug catalog and online booking.

What is Special About Pharmacy Site Development on 1C-Bitrix?

Pharmacy e-commerce is regulated by Federal Law No. 61-FZ "On Circulation of Medicines" (61-FZ). Besides licensing, you need MDLP integration, prescription restrictions, accurate stock, and analogue matching. Bitrix with infoblocks and Highload-blocks can handle these, but proper configuration is critical. We structure the architecture so that 47% of traffic coming through symptom search is processed efficiently.

Drug Catalog

The catalog structure is based on an infoblock with pharmaceutical properties:

Property Type Purpose
ACTIVE_SUBSTANCE String INN (International Nonproprietary Name)
TRADE_NAME Element name Trade name
DOSAGE_FORM List Tablets, capsules, solution, ointment, suppositories...
DOSAGE String 500 mg, 10 mg/ml
PACKAGE_QTY Number Quantity per package
PRESCRIPTION List Prescription / Over-the-counter
ATC_CODE String ATC classification code (e.g., J01CA04)
MANUFACTURER Link to HL Manufacturer
COUNTRY Link to HL Country of origin
REG_NUMBER String Registration certificate number
STORAGE_TEMP List Up to 25°C / 2–8°C / No restrictions
MDLP_GTIN String GTIN for MDLP labeling
ANALOGS Link to elements (multiple) Analogues by INN

For prescription drugs, the "Buy" button is replaced with "Book" with a note: dispensed only upon prescription. This is checked via the PRESCRIPTION property in the catalog.element template. Categorization is dual: by ATC groups and by purpose tags (for headache, for cold).

Implementing Symptom Search and ICD-10 Integration

The ICD-10 reference is loaded into the hl_mkb10 Highload-block:

  • UF_CODE — diagnosis code (J06.9, K21.0)
  • UF_NAME — diagnosis name
  • UF_PARENT_CODE — parent group code
  • UF_SYNONYMS — common names (runny nose, heartburn, migraine)

Search autocomplete: user types "sore throat" — system finds J02 (acute pharyngitis) and J03 (acute tonsillitis), then suggests related drugs. The "diagnosis → drug" link is stored in an intermediate HL-block hl_mkb_drugs (fields: UF_MKB_CODE, UF_PRODUCT_ID). The search works via an AJAX controller, results are cached client-side (sessionStorage). On the backend, a composite index on UF_SYNONYMS + UF_NAME ensures fast filtering.

How to Check Drug Availability and Find Analogues?

This is the most demanded feature. Users commonly ask whether a drug is available at a nearby pharmacy and, if not, what analogues are in stock. Our pharmacy website development approach addresses this via real-time stock checks.

Availability Check Architecture:

Stock data comes from the pharmacy network's accounting system. Options:

  1. 1C:Pharmacy Chain Management — export via REST over HTTP
  2. Farmatika / M-Apteka Plus — exchange via CSV/XML on FTP
  3. Custom system — REST API or SOAP

Data lands in the hl_pharmacy_stock Highload-block:

Field Type Purpose
UF_PRODUCT_ID Number Product ID in the Bitrix catalog
UF_PHARMACY_ID Number Pharmacy ID (from the "Pharmacies" infoblock)
UF_QUANTITY Number Stock (units/packages)
UF_PRICE Number Price at specific pharmacy
UF_UPDATED_AT Date/time Time of last update

Synchronization runs via the cron agent CPharmacyStockAgent every 15 minutes. Full export nightly, incremental during the day. With 200 pharmacies and 15,000 SKUs, the table hits 3,000,000 rows—an index on (UF_PRODUCT_ID, UF_PHARMACY_ID) is mandatory. Saving on 1C integration depends on scope; typical cost savings from efficient data exchange can exceed $10,000 annually.

Frontend Display:

On the detail page—a block "Availability in Pharmacies." An AJAX request returns a list of pharmacies with stock, sorted by distance from the user (Geolocation API + Haversine formula). Each row: name, address, stock (exact quantity or "In Stock" / "Low" / "Out of Stock"), and a "Book" button. We don't show exact quantity—it goes stale within minutes. Three ranges: green (>5), yellow (1–5), gray (0). The threshold is configurable.

Offering Analogues When Drug is Out of Stock

Algorithm:

  1. Take the INN of the current drug (ACTIVE_SUBSTANCE).
  2. Select all items with the same INN and same dosage—full analogues (generics).
  3. If too few matches, expand to the same ATC 4th-level group (pharmacological analogues).
  4. Filter results by availability in pharmacies—only those in stock.

The ANALOGS property is filled automatically by a cron script based on INN. Manual editing is available for exceptions.

Online Booking

Booking is not a sale; no payment is collected on the site. Process:

  1. User selects a drug and pharmacy, clicks "Book."
  2. A request is created in Bitrix CRM (lead or deal) with data: drug, pharmacy, phone.
  3. Simultaneously, a reservation request is sent to the accounting system.
  4. User receives SMS/push with booking number and expiry (24–48 hours).
  5. On expiry, automatic cancellation and return to free stock.

For prescription drugs, booking is available but a prescription is mandatory upon pickup.

MDLP Integration

Labeling via "Honest SIGN" is mandatory. On the site: each drug contains GTIN (MDLP_GTIN), on the detail page a link "Check Authenticity" pointing to the government service. When booking, the serial number of the package is recorded if the pharmacy provides it via API.

Schema.org for Pharmaceuticals

Microdata schema.org/Drug on detail pages:

  • nonProprietaryName — INN
  • activeIngredient — active substance
  • dosageForm — dosage form
  • drugClass — pharmacological group
  • manufacturer — manufacturer
  • availableStrength — dosage
  • prescriptionStatusOTC or PrescriptionOnly
  • isAvailableGenerically — availability of generics

This improves indexing and rich snippets.

Project Phases

Phase Work Duration Cost Estimate
Analysis and Design Nomenclature mapping, integration contracts, UX prototypes 2–3 weeks $3,000–$5,000
Catalog and Search Infoblocks, HL-blocks, ICD-10 search, filters 3–4 weeks $5,000–$8,000
Availability and Booking Accounting system integration, geolocation, booking 4–5 weeks $8,000–$12,000
Analogues and Schema.org Analogue algorithm, microdata, SEO 2 weeks $3,000–$5,000
Testing Data exchange verification, load testing on stock HL-block 1–2 weeks $2,000–$3,000
Launch Catalog population, training pharmacy editors 1 week $1,000–$2,000

What's Included in the Result

You get a ready-to-operate site with architecture documentation, administration access, editor training, and initial technical support. We hand over the source code and integration instructions. To discuss your project and get a preliminary assessment, contact us. Our pharmacy website development services start at $25,000, with potential savings of $10,000+ annually through optimized 1C-Bitrix pharmacy integration.

How to properly design infoblocks?

When developing a 1C-Bitrix website, we see dozens of projects where poor infoblock structure slows down the site. Typical scenario: the client asks for a "product catalog." The developer creates one infoblock catalog, puts 15 properties in it. Six months later – 40 properties, 8 of which are used only for one category. The filter lags, the b_iblock_element_property table grows to millions of rows, CIBlockElement::GetList runs for 3 seconds. Consequences – conversion drop, loss of customers, additional optimization costs. In one project after catalog refactoring, page generation time dropped from 4.2 to 0.8 seconds, and annual support costs were reduced by over $10,000 through eliminated redundant queries and agents.

Our approach: design infoblocks before writing a single line of code. Separate infoblocks for entities (products, categories, brands), dictionary properties via highload blocks, trade offers for SKUs. This builds performance for years. If you want a preliminary audit of your infoblock schema, contact us for a free review of common mistakes and recommendations.

Why 1C-Bitrix outperforms most CMS for business

The choice of CMS is dictated by business needs, not preferences. Native 1C exchange via catalog.import.1c provides two-way synchronization of products, prices, balances, and orders through CommerceML without third-party modules — five times faster than developing custom exchange on OpenCart or WordPress, saving hundreds of thousands of rubles. Proactive security module includes WAF, file integrity control, SQL injection protection, and two-factor authentication; it's certified for FSTEK requirements. Modular architecture lets you enable only needed modules — iblock, catalog, sale, search — reducing DB queries per hit. Regular patches close vulnerabilities faster than open-source projects (average CVE fix time two weeks). Official documentation is maintained on the vendor's site.

What highload blocks are and how they speed up the catalog

Highload blocks are an alternative to extended infoblock properties when the list of values can grow to thousands of entries. Typical example: manufacturers, countries, colors. If stored as list properties in an infoblock, each filter triggers a full scan of b_iblock_property_enum table. With HL-blocks, selection uses indexes – filter response time drops from 1–2 seconds to 50 ms. We use HLB component and custom queries via Bitrix\Highloadblock\DataManager. This is critical for catalogs with 100,000+ items.

From our practice: an online store with 500,000 items. Standard filter by brand took 4 seconds. The server couldn't handle 50 concurrent requests – pages crashed. We moved the brand directory to an HL-block, added tagged caching for 15 minutes, and set up an agent to clear cache on change. After optimization, filter time was 120 ms, average LCP was 1.8 seconds. The project runs stable without failures.

What integrations are critical for 1C-Bitrix stores

Each e‑commerce project requires reliable connections with payments, fiscalization, logistics, and CRM. We integrate YooKassa, CloudPayments, Tinkoff, Apple Pay, Google Pay for payments; ATOL and OrangeData for 54-FZ compliance via sale.cashbox; CDEK, Boxberry, PEC, Russian Post, Yandex.Delivery for logistics; Bitrix24, amoCRM, Roistat, Calltouch, Mindbox for analytics and CRM. All integrations are configured with proper error handling and fallback logic.

What's included in 1C-Bitrix website development

Each project includes a full set of documentation and artifacts to prevent knowledge loss after handover.

  • Technical specification – user stories, infoblock diagrams, integration schemas.
  • Source code in Git – with commit history, release tags, branching rules.
  • Administrative documentation – description of custom components, deployment instructions, list of agents and events.
  • Staff training – up to a 3-hour webinar: admin panel, order management, price settings. Recorded for later review.
  • Access to staging during development – test before production deployment.
  • Warranty support – bug fixes for 30 days after launch. Post-warranty support packages with SLA (response 2 hours, resolution 8 hours).

Our process and technologies

Project type Timeline Complexity Key features
Corporate website from 1 month Medium Catalog, news, forms, CRM integration
Online store from 2 months High 54-FZ, marketplaces, 1C exchange, SKU
B2B portal from 3 months Very high Personal prices, document flow, Bizproc
Landing page from 2 weeks Low LCP < 2s, composite cache, static
Multisite structure from 1.5 months High Separate content, shared catalog, hreflang

Tech stack: mobile-first markup, tested on physical devices (iPhone, iPad, Android). Use BrowserStack for Safari on iOS. Performance goals: LCP < 2.5 s, FID < 100 ms, CLS < 0.1. Enable composite site (composite module), CDN, tagged caching, WebP/AVIF, lazy loading. SEO: Schema.org via JSON-LD, auto-generation of sitemap.xml via seo module, canonical and hreflang for multilingual versions. robots.txt blocks /bitrix/ from indexing. CI/CD: Git, auto-deploy via GitLab CI, staging. DB migrations: sprint.migration module with versioning.

Process:

  1. Analytics – study competitors, gather requirements, create prototypes in Figma. Output: technical specification with user stories.
  2. Design – UI/UX with design system. Components are reusable.
  3. Development – write components with custom templates in local/templates/. Business logic in local/modules/.
  4. Testing – functional, cross-browser, load testing (up to 1000 requests). Critical bugs fixed before launch.
  5. Launch – deploy to production, monitoring via UptimeRobot, alerts in Telegram. Fixes for first 48 hours.

Multilingual support and redesign

Full localization via language files lang/ and SITE_ID mechanism. hreflang for each version. Regional versions with different prices and content – IP detection (main.geo) or manual selection. Multidomain – unified management of multiple domains.

Redesign without losing rankings: performance audit (PageSpeed, WebPageTest), SEO (Screaming Frog). New template in local/templates/ with preserved URL structure. 301 redirects only if URL changes significantly. Kernel update, migration to D7 ORM, infoblock restructuring, migration via sprint.migration with Git.

Guarantee and support

We have been working with 1C-Bitrix for 12+ years, completed 500+ projects. Certified developers on staff. Fixed price in contract – no surprises. Warranty period covers code errors. After warranty, subscription packages with SLA (response time 2 hours, resolution 8 hours). 24/7 availability monitoring, alerts in Telegram. Get a consultation and preliminary estimate: contact us via the form on the website or chat – we'll respond within an hour. Order turnkey development – we'll design infoblocks, integrate 1C, and speed up the catalog. If you already have a site on another CMS, order a performance audit and migration to Bitrix.