nickcheek / brightree
Brightree API 包装器
v3.5.1
2022-04-19 19:28 UTC
Requires
- php: >=7.4 || ^8.0
- ext-soap: >=7.0
Requires (Dev)
- phpunit/phpunit: ^8
README
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)。请参阅 许可证文件 以获取更多信息。