nickcheek/brightree

Brightree API 包装器

v3.5.1 2022-04-19 19:28 UTC

README

Latest Version on Packagist Total Downloads

Brightree API 的 PHP 包装器。

安装

您可以通过 composer 安装此包

composer require nickcheek/brightree

使用

在控制器中引用类

use \Nickcheek\Brightree\Brightree;

创建一个服务实例和您想要的 API 调用,例如,如果您想通过其键获取备注

$bt = new Brightree($username,$password);
$note = $bt->Patient()->GetNoteByKey('141508');
return $note;

##ArrayHelper 由于 Brightree 在使用不同方法构建数组时有多种方式,我已经通过包含一个助手来使其变得简单一些。您可以使用它如下

$bt = new Brightree($username,$password);

//setup the search part
$orderSearch = ['SearchParams' => ['Branch'=>['Value'=>102]]];

//and since Brightree decided to change up the sort definition depending on what api you're using instead of keeping it all the same, we have to use...
$orderSort = ['SortParams'=>[]];

//now we build it using the arrayHelper, we can specify page and pageSize also, but by omitting, it will insert the default values of pageSize of 10 and page of 1.  You can chain page(2) or pageSize(25) or both.

$search = $bt->search($orderSearch)->sort($sort)->build();

$order = $bt->SalesOrder()->SalesOrderSearch($search);

return $order;

##API

患者类

使用

$bt = new Brightree($username,$password);
$note = $bt->Patient()->GetNoteByKey(141508);
return $note;

方法

PatientCreate($patient);
PatientSearch($patient);
PatientUpdate($patient);
PatientFetchByExternalID($externalId);
PatientFetchByPatientID($patientId);
PatientFetchByBrightreeID($brightreeId);
PatientFetchByPatientID($patientId);
PatientPhoneNumberSearch($patient);
PatientNoteCreate($note);
PatientNoteFetchByKey($key);
PatientNoteFetchByPatient($brightreeId);
PatientNoteSearch($search);
PatientNoteUpdate($update);
GetNotesByPatient($id);
GetNoteByKey($NoteKey);
PatientPayorAdd($payor);
PatientPayorFetch($payor);
PatientPayorFetchAll($patientKey);
PatientPayorRemove($brightreeid);
PatientPayorUpdate($payor);
PatientAddMarketingReferral($brightreeid,$referralid);
PatientRemoveMarketingReferral($id);
FacilityMasterInfoFetchAll();
FacilityResidentCreate($resident);
PharmacyPatientClinicalInfoFetchByBrightreeID($query);
PharmacyPatientLabResultsFetchByBrightreeIDAndPatientBrightreeID($patientID, $brightreeID);
PharmacyPatientMedicationHistoryFetchByBrightreeIDAndPatientBrightreeID($patientID, $brightreeID);
PharmacyPatientMostRecentLabResultsFetchByPatientBrightreeID($patientID);

文档管理类

使用

$bt = new Brightree($username,$password);
$document = $bt->Document()->DocumentTypesFetchAll();
return $document;

方法

DocumentTypesFetchAll();
DocumentBatchCreate($batch);
DocumentBatchSearch($search);
DocumentSearch($search);
DocumentPropertyUpdate($query);
FetchDocumentContent($key);
GenerateDocumentID($query);
StoreDocument($document);

自定义字段类

使用

$bt = new Brightree($username,$password);
//If you need to return the inactive records, pass the number 1 as the second variable
$cf = $bt->CustomField()->CustomFieldFetchAllByCategory('Patient',1);
return $cf;

方法

CustomFieldFetchAllByCategory($category,$includeInactive);
CustomFieldValueFetchAllByBrightreeID($brightreeID,$category);
CustomFieldValueSaveMultiple($query);

医生类

使用

$bt = new Brightree($username,$password);
$doctor = $bt->Doctor()->DoctorFetchByBrightreeID(123);
return $doctor;

方法

AddDoctorReferralContact($doctorBrightreeID,$referralContactBrightreeID);
DoctorCreate($query);
DoctorFetchByBrightreeID($brightreeID);
DoctorFetchByExternalID($externalID);
DoctorGroupFetchAll();
DoctorReferralContactsFetchByDoctorKey($doctorBrightreeID);
DoctorSearch($query);
DoctorUpdate($query);
DoctorNoteCreate($query);
DoctorNoteUpdate($query);
DoctorNoteFetchByKey($brightreeID);
DoctorNoteFetchByDoctor($brightreeID);
FacilityFetchAll();
FacilityGroupFetchAll();
MarketingRepFetchAll();
RemoveDoctorReferralContact($doctorBrightreeID,$referralContactBrightreeID);

保险类

请参阅 INSURANCE Readme 以查看可用定义。

使用

$bt = new Brightree($username,$password);
$insurance = $bt->Insurance()->InsuranceFetchByBrightreeID(['BrightreeID'=>123]);
return $insurance;

方法

InsuranceFetchByBrightreeID($BrightreeID);
InsuranceFetchByExternalID($ExternalID);
InsuranceSearch($query);
InsuranceUpdate($query);
InsuranceCreate($query);
BranchOfficeInsuranceFetchByBranchBrightreeIDAndInsuranceBrightreeID($branchID,$insuranceID);
BranchOfficeInsuranceUpdate($InsuranceCarrierCodeUpdate);
BundleBillingRuleSetFetchAll();
ClaimFormFetchAll();
CommercialEligibilityPayerSearch($InsuranceCarrierCodeUpdate);
CommercialPayerSearch($InsuranceCarrierCodeUpdate);
CoverageLimitFetchAll();
CustomAppealFormFetchAll();
FetchPmtSubTypeByPmtTypeBrightreeID($paymentTypeBrightreeID);
InsuranceCarrierCodeCreate($query);
InsuranceCarrierCodeUpdate($query);
InsuranceCarrierCodeDelete($brightreeID);
InsuranceCompanyFetchAll();
InsuranceCreate($query);
InsuranceGroupFetchAll();
InsurancePlanTypeFetchAll();
InsurancePrintedFormsClaimFieldsFetch();
InsurancePrintedFormsPARFieldsFetch();
InsuranceSpanDateHoldInclusionCreate($query);
InsuranceSpanDateHoldInclusionDelete($brightreeID);
InsuranceSpanDateOverrideCreate($query);
InsuranceSpanDateOverrideDelete($brightreeID);
InsuranceSpanDateOverrideUpdate($query);
InsuranceValidationRuleSetCreate($validationRuleSetBrightreeID,$insuranceBrightreeID);
InsuranceValidationRuleSetDelete($insuranceBrightreeID);
ItemGroupFetchAll();
ItemGroupFetchByInsuranceBrightreeID($insuranceBrightreeID);
PARFormFetchAll();
Ping();
PriceTableSearch($query);
SpanDateSplit($query);

库存类

使用

$bt = new Brightree($username,$password);
$inventory = $bt->Inventory()->ClaimNoteTypeFetchAll();
return $inventory;

方法

ClaimNoteTypeFetchAll();
CoverageTypeFetchAll();
FetchItemLocations($query);
FetchItemQuantitiesAtLocation($query);
InventoryItemAddLots($query);
InventoryItemAddSerialNumbers($query);
InventoryItemAdjustment($query);
InventoryItemTransfer($query);
ItemAddToLocation($query);
ItemAddToLocations($query);
ItemCreate($query);
ItemFetchByBrightreeID($query);
ItemFetchByExternalID($query);
ItemFetchByItemID($query);
ItemFetchReplacementItemsByBrightreeID($query);
ItemFetchReplacementItemsByItemID($query);
ItemLocationsUpdate($query);
ItemLocationUpdate($query);
ItemSearch($query);
ItemUpdate($query);
KitTypeFetchAll();
NDCFetchAll();
StockingUOMFetchAll();

取货/交换类

使用

$bt = new Brightree($username,$password);
$params = array(
    'searchParams'=> array(
        'Branch'=> array(
            'ID' => '102'
        )
    ),
    'sortParams' => '',
    'pageSize' => '100',
    'page' => 1
);
$puex = $bt->Pickup()->PickupExchangeSearch($params);
return $puex;

方法

PickupExchangeAddAllRentalItems($query);
PickupExchangeAddDeliveryException($query);
PickupExchangeAddPickupItem($query);
PickupExchangeCancelPOD($query);
PickupExchangeConfirm($query);
PickupExchangeCreate($query);
PickupExchangeDelete($query);
PickupExchangeFetchByBrightreeID($query);
PickupExchangeFetchByExternalID($query);
PickupExchangeItemAddDeliveryException($query);
PickupExchangeItemSpecifyExchangeItem($query);
PickupExchangeMessagesFetchByBrightreeID($query);
PickupExchangePayorSearch($query);
PickupExchangeRemoveItem($query);
PickupExchangeSearch($query);
PickupExchangeSendPOD($query);
PickupExchangeUpdate($query);
PickupExchangeUpdateItem($query);
PickupExchangeUpdatePODStatus($query);

参考类

使用

$bt = new Brightree($username,$password);
$reference = $bt->Reference()->AccountGroupFetchAll();
return $reference;

方法

AccountGroupFetchAll();
AddFacilityReferralContact($query);
BranchInfoFetchAll();
BranchInfoFetchByBrightreeID($query);
ClaimNoteTypeFetchAll();
ContactTypeCreate($query);
ContactTypeDelete($query);
ContactTypeFetchAll();
ContactTypeFetchByBrightreeID($query);
ContactTypeUpdate($query);
DelivryTechnicianFetchAll();
DepreciationTypesFetchAll();
EPSDTConditionCodeFetchAll();
FacilityCreate($query);
FacilityDelete($query);
FacilityFetchByBrightreeID($query);
FacilityFetchByExternalID($query);
FacilityInfoFetchAll();
FacilityReferralContactsFetchByFacilityKey($query);
FacilityUpdate($query);
FetchCurrentSecUser();
FunctionalAssessmentFetchAll();
GLAccountGroupsFetchAll();
ItemGroupFetchAll();
ItemManufacturerFetchAll();
ItemStatusFetchAll();
ItemTypesFetchAll();
LocationInfoFetchAll();
MarketingRepFetchAll();
MarketingRepFetchByBrightreeID($query);
MarketingRepFetchByExternalID($query);
MarketingRepUpdateExternalID($query);
MSPInsTypeFetchAll();
PatientNoteReasonFetchAll();
PlaceOfServiceFetchAll();
PolicyClaimCodeFetchAll();
PolicyTypeCodeFetchAll();
PractitionerInfoFetchAll();
ReferralContactCreate($query);
ReferralContactFetchByBrightreeID($query);
ReferralContactFetchByExternalID($query);
ReferralContactSearch($query);
ReferralContactUpdate($query);
ReferralFetchByBrightreeID($query);
ReferralSearch($query);
RemoveFacilityReferralContact($query);
SalesOrderClassificationFetchAll();
SalesOrderManualHoldReasonFetchAll();
SalesOrderVoidReasonFetchAll();
SalesTypesFetchAll();
SecUsersFetchAll();
ShippingCarriersFetchAll();
SiteInfoFetch($query);
TaxZoneFetchAll();
VendorFetchByBrightreeID($query);
VendorsFetchAll();
WIPStatesFetchAll();

销售订单类

使用

$bt = new Brightree($username,$password);
$salesorder = $bt->SalesOrder()->BrightSHIPSalesOrderAck(['soKey'=> 12345]);
return $salesorder;

方法

BrightSHIPSalesOrderAck($query);
BrightShipSalesOrderFetch($query);
OrderImport($query);
SalesOrderAddDeliveryException($query); 
SalesOrderAddMarketingReferral($query);
SalesOrderConfirm($query);
SalesOrderCreate($query);
SalesOrderFetchByBrightreeID($query);
SalesOrderFetchByExternalID($query);
SalesOrderFetchByPurchaseOrderID($query);
SalesOrderFetchPendingByShippingCarrierKey($query);
SalesOrderFetchReadyforShipping($query);
SalesOrderFulfillmentVendorsFetchAll();
SalesOrderItemAddDeliveryException($query);
SalesOrderItemPriceOptionFetchByBrightreeID($query);
SalesOrderItemReplaceGeneric($query); 
SalesOrderItemUpdateLotNumbers($query); 
SalesOrderItemUpdatePriceOption($query); 
SalesOrderItemUpdateSerialNumbers($query);
SalesOrderMessagesFetchByBrightreeID($query);
SalesOrderOverrideValidationDetailMessage($query);
SalesOrderOverrideValidationHeaderMessage($query);
SalesOrderPayorSearch($query);
SalesOrderQuickAddItem($query);
SalesOrderRemoveItem($query);
SalesOrderRemoveMarketingReferral($query); 
SalesOrderSearch($query); 
SalesOrderSendPOD($query); 
SalesOrderTemplateCreate($query);
SalesOrderTemplateCreateSalesOrder($query);
SalesOrderTemplateDelete($query); 
SalesOrderTemplateFetchByBrightreeID($query);
SalesOrderTemplateFetchByExternalID($query);
SalesOrderTemplateItemFrequencyFetchByBrightreeID($brightreeID);
SalesOrderTemplateItemFrequencyUpdate($query);
SalesOrderTemplateItemPriceOptionFetchByBrightreeID($query);
SalesOrderTemplateItemUpdatePriceOption($query);
SalesOrderTemplateQuickAddItem($query);
SalesOrderTemplateRemoveItem($query); 
SalesOrderTemplateScheduleFetchBySOTemplateKey($query);
SalesOrderTemplateScheduleLogSearch($query);
SalesOrderTemplateScheduleSearch($query);
SalesOrderTemplateScheduleUpdate($query);
SalesOrderTemplateSearch($query);
SalesOrderTemplateUpdate($query);
SalesOrderTemplateUpdateInsurance($query);
SalesOrderTemplateUpdateItem($query);
SalesOrderTemplateUpdateItemsWithDefaultPriceOption($query);
SalesOrderTemplateUpdateWIPState($query);
SalesOrderUpdate($query);
SalesOrderUpdateInsurance($query);
SalesOrderUpdateItem($query);
SalesOrderUpdateItemGeneric($query);
SalesOrderUpdateItemNextBilling($query);
SalesOrderUpdateItemPayor($query);
SalesOrderUpdateItemsWithDefaultPriceOption($query);
SalesOrderUpdatePODStatus($query);
SalesOrderUpdateTracking($query);
SalesOrderUpdateWIPState($query);
SalesOrderVoid($query);
SalesOrderVoidSearch($query);
SearchWIPStatusWithUpdate($query);
StopReasonFetchAll();
StopReasonSalesOrderFetchByBrightreeID($brightreeID);
StopReasonSalesOrderTemplateFetchByBrightreeID($brightreeID);
StopReasonSalesOrderTemplateUpdate($query);
StopReasonSalesOrderUpdate($query);

文档类

使用

$bt = new Brightree($username,$password);
$documentation = $bt->Documentation()->CMNFetchByBrightreeID(['BrightreeID'=>12345]);
return $documentation;

方法

CMNCreateFromPatient($query);
CMNDetailCreate($query);
CMNDetailDelete($query);
CMNDetailUpdate($query);
CMNFetchByBrightreeID($query);
CMNFetchByExternalID($query);
CMNFetchByPatientBrightreeID($query);
CMNFetchBySalesOrderBrightreeID($query);
CMNLog($query);
CMNPreview($query);
CMNPrint($query);
CMNQuestionAnswerConfiguration($query);
CMNReasonFetchAll($query);
CMNRenew($query);
CMNRevise($query);
CMNSearch($query);
CMNTaskCreate($query);
CMNTaskUpdate($query);
CMNUpdate($query);
PARAddPurchaseLimit($query);
PARCreateFromPatient($query);
PARDelete($query);
PARFetchByBrightreeID($query);
PARFetchByExternalID($query);
PARFetchByPatientBrightreeID($query);
PARFetchBySalesOrderBrightreeID($query);
PARFetchBySalesOrderTemplateBrightreeID($query);
PARLog($query);
PARRenew($query);
PARSearch($query);
PARTaskCreate($query);
PARTaskFetchByPARBrightreeID($brightreeID);
PARTaskReasonFetchAll();
PARTaskUpdate($query);
PARUpdate($query);
PARUpdatePurchaseLimit($query);
SalesOrderItemLinkCMN($query);
SalesOrderItemLinkNewCMN($query);
SalesOrderItemLinkToNewPAR($query);
SalesOrderItemLinkToPAR($query);
SalesOrderItemsLinkCMN($query);
SalesOrderItemsLinkNewCMN($query);
SalesOrderItemsLinkToNewPAR($query);
SalesOrderItemsLinkToPAR($query);
SalesOrderItemsUnlinkCMN($query);
SalesOrderItemsUnlinkPAR($query);
SalesOrderItemUnlinkCMN($query);
SalesOrderItemUnlinkPAR($query);
SalesOrderTemplateItemLinkToPAR($query);
SalesOrderTemplateItemsLinkToPAR($query);
SalesOrderTemplateItemsUnlinkPAR($query);
SalesOrderTemplateItemUnlinkPAR($query);
SetParticipantComplianceDate($query);

定价类

使用

$bt = new Brightree($username,$password);
$pricing = $bt->Pricing()->NonTaxReasonFetchAll($query);
return $pricing;

方法

CMNFormFetchAll($query);
NonTaxReasonFetchAll($query);
PriceCreateItem($query);
PriceCreateStandard($query);
PriceDetailCreate($query);
PriceDetailFetchByBrightreeDetailID($query);
PriceDetailUpdate($query);
PriceFetch($query);
PriceOptionLetterTypeFetchAll($query);
PriceTableFetchAll($query);

安全类

使用

$bt = new Brightree($username,$password);
$security = $bt->Security()->UserFetchByBrightreeID($query);
return $security;

方法

UserFetchByBrightreeID($query);
UserSearch($query);
UserUpdate($query);
UserGroupCreate($query);
UserGroupUpdate($query);
UserGroupFetchByBrightreeID($query);
UserGroupFetchAll($query);
UserGroupPermissionsFetchByUserGroupBrightreeID($query);
UserGroupPermissionsUpdate($query);

发票类

使用

$bt = new Brightree($username,$password);
$security = $bt->Security()->UserFetchByBrightreeID($query);
return $security;

方法

InvoiceCreatePrintActivity($brightreeID);
InvoiceFetchByBrightreeID($brightreeID);
InvoiceFetchByInvoiceID($invoiceID);
InvoiceItemUpdate($query);
InvoiceUpdate($query);
OpenInvoiceAgedBalanceFetchByPatient($id);
OpenInvoiceBalanceFetchByPatient($id);
Resubmitinvoices($query);

自定义

(自 2020 年 11 月 16 日起新增)

现在可以在任何服务中的自定义查询中使用未定义的任何函数。

$bt = new Brightree($username,$password);
$patient = $bt->Patient()->Custom('PatientFetchByPatientID', array('PatientID' => $id));
return $patient;

变更日志

请参阅 CHANGELOG 以获取更多信息。

贡献

请参阅 CONTRIBUTING 以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件发送至 nick@nicholascheek.com

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 以获取更多信息。