Download the PHP package drchrono/php-sdk without Composer

On this page you can find all versions of the php package drchrono/php-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package php-sdk

DrChrono PHP SDK

PHP Version

PHP SDK for the DrChrono API - EHR/Practice Management integration for PHP applications.

Features

Complete API Coverage - All DrChrono API endpoints supported 🔐 OAuth2 Authentication - Full OAuth2 flow with automatic token refresh 📄 Pagination Support - Automatic pagination with generators for memory efficiency 🎯 Type-Safe Models - Optional DTOs for common entities (Patient, Appointment, etc.) 🔔 Webhook Handling - Built-in webhook verification and event parsing ⚡ Smart Retry Logic - Automatic retry with exponential backoff for rate limits 🛡️ Error Handling - Granular exceptions for different error types 📦 Framework Agnostic - Works with Laravel, Symfony, or plain PHP

Requirements

Installation

Install via Composer:

Quick Start

Basic Authentication

OAuth2 Flow

Laravel Integration

The package ships with a Laravel service provider and config file for auto-registration. After installing, publish the config if you want to customize defaults:

Laravel users can opt into the HTTP client integration (supports Http::fake() and pools) and Collections from list endpoints:

Core Concepts

Resources

The SDK organizes API endpoints into resource classes:

Verbose Mode

Some endpoints support verbose mode to include additional related data that requires extra database queries:

Verbose mode includes:

Performance considerations:

📖 See Verbose Mode Guide for comprehensive documentation and examples.

Pagination

All list endpoints return paginated results:

Models

Use type-safe models for better IDE support:

Error Handling

The SDK provides granular exception classes:

Usage Examples

Patient Management

Appointment Management

Clinical Documentation

Document Upload

Laboratory Orders

Tasks

Webhooks

Webhook Verification

See examples/05_webhook_handler.php for a complete webhook handler.

Configuration

Advanced Configuration

Token Management

Testing

Run the test suite:

Examples

Runnable examples are provided in the examples/ directory:

API Reference

Available Resources

Resource Description Example
patients Patient demographics and records $client->patients->list()
appointments Appointment scheduling $client->appointments->listByDateRange()
appointmentProfiles Appointment types & durations $client->appointmentProfiles->listByDoctor()
appointmentTemplates Recurring appointment blocks $client->appointmentTemplates->createTemplate()
customAppointmentFields Custom appointment metadata $client->customAppointmentFields->listByDoctor()
clinicalNotes Clinical documentation $client->clinicalNotes->createNote()
documents Document management $client->documents->upload()
offices Office locations $client->offices->listAll()
users Doctors and staff $client->users->getCurrent()
tasks Task management $client->tasks->createTask()
prescriptions Medications $client->prescriptions->listByPatient()
labOrders Lab orders $client->labOrders->createOrder()
labResults Lab results $client->labResults->listByPatient()
insurances Insurance info $client->insurances->listByPatient()
allergies Patient allergies $client->allergies->createAllergy()
medications Patient medications $client->medications->listByPatient()
problems Problem list $client->problems->createProblem()
vitals Vital signs $client->vitals->createVitals()
immunizations Vaccination records $client->immunizations->listByPatient()
patientPayments Patient payment records $client->patientPayments->listByPatient()
patientMessages Patient communications $client->patientMessages->sendMessage()
patientsSummary Bulk patient summaries $client->patientsSummary->listByDoctor()
customDemographics Custom patient fields $client->customDemographics->createField()
patientFlagTypes Custom patient flags $client->patientFlagTypes->createFlagType()
billing Billing/transactions $client->billing->listLineItems()
billingProfiles Billing configurations $client->billingProfiles->getByDoctor()
eligibilityChecks Insurance verification $client->eligibilityChecks->verifyPrimaryInsurance()
feeSchedules Pricing and fee schedules $client->feeSchedules->getByCode()
transactions Payment transactions $client->transactions->recordPayment()
lineItems Invoice line items $client->lineItems->addProcedure()
patientPaymentLog Payment history/audit $client->patientPaymentLog->getPaymentHistory()
consentForms Patient consent forms $client->consentForms->markAsSigned()
customInsurancePlanNames Custom insurance naming $client->customInsurancePlanNames->setCustomName()
clinicalNoteTemplates Note templates $client->clinicalNoteTemplates->createTemplate()
clinicalNoteFieldTypes Custom note fields $client->clinicalNoteFieldTypes->createFieldType()
clinicalNoteFieldValues Note field values $client->clinicalNoteFieldValues->upsertValue()
procedures Medical procedures $client->procedures->createProcedure()
amendments Record amendments $client->amendments->approve()
carePlans Patient care plans $client->carePlans->createCarePlan()
patientRiskAssessments Risk evaluations $client->patientRiskAssessments->createAssessment()
patientPhysicalExams Physical exam records $client->patientPhysicalExams->createExam()
patientInterventions Treatment interventions $client->patientInterventions->createIntervention()
patientCommunications Patient communications $client->patientCommunications->createCommunication()
implantableDevices Implanted devices $client->implantableDevices->createDevice()

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This SDK is open-sourced software licensed under the MIT license.

Support

Changelog

See CHANGELOG.md for version history and updates.


Made with ❤️ for the healthcare community


All versions of php-sdk with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
guzzlehttp/guzzle Version ^7.8
ext-json Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package drchrono/php-sdk contains the following files

Loading the files please wait ...