endeavors/maxmd-registration

此包已被弃用且不再维护。未建议替代包。

提供易于与maxmd集成的API

v3.0.0 2019-10-31 18:00 UTC

README

这个库是对maxmd提供的API的适配。目的是提供优雅、简单和灵活的API,以轻松集成maxmd。

轻松验证一个人

use Endeavors\MaxMD\Registration\Person\Patient;
...
// To easily proof a patient
$person = [
    'ssn' => '999999999',
    'mobilePhone' => "4805555555",
    'email' => 'fake@email.com',
    'street1' => '1234 Fake street',
    'city' => 'Fake Town',
    'state' => 'AK',
    'country' => 'US',
    'zip5' => '85412',
    'firstName' => 'Bob',
    'lastName' => 'Smith',
    'ssn4' => '9999',
    'dob' => '1985-10-03'
];

$response = Patient::Proof($person);

// check a patient, does not send one time password
$response = Patient::Check($person);

这将自动将一次性密码发送到提供的手机号码。

验证

在为个人设置直接账户的同时验证手机号码

$response = Patient::VerifyMobile($person, function($provision, $id) use($username, $password) {
    $response = $provision->ProvisionIDProofedPatient("yourown.direct.domain.here", ['idpId' => $id], $username, $password);
});

验证信用卡

$person = [
    'personMeta' => [
       'firstName' => 'freddie',
       'lastName' => 'smith',
       'ssn4' => 9999,
       'dob' => '1985-05-05'
    ],
    'creditCard' => [
       'cardNumber' => '4111111111111111',
       'cvv' => '382',
       'expireYear' => '2019',
       'expireMonth' => '09'
    ]
];

$response = Patient::VerifyCreditCard($person, function($provision, $id) use($username, $password) {
    $response = $provision->ProvisionIDProofedPatient("yourown.direct.domain.here", ['idpId' => $id], $username, $password);
});

您可以使用VerifyAll方法尝试一种或两种验证方法。首先尝试电话验证

$response = Patient::VerifyAll($person, function($provision, $id) use($username, $password) {
    $response = $provision->ProvisionIDProofedPatient("yourown.direct.domain.here", ['idpId' => $id], $username, $password);
});

如果个人的手机号码已经被验证,您仍然可以获取设置个人所需的ID。一次性密码将不再尝试使用Provision方法发送

$response = Patient::Provision($person, function($provision, $id) use($username, $password) {
    $response = $provision->ProvisionIDProofedPatient("yourown.direct.domain.here", ['idpId' => $id], $username, $password);
});

注意:需要个人的用户名和密码来创建maxmd的账户并接收直接消息账户。

获取直接地址

确保您有正确的直接地址

$response = Patient::Provision($person, function($provision, $id) use($username, $password) {
    $response = $provision->ProvisionIDProofedPatient("yourown.direct.domain.here", ['idpId' => $id], $username, $password);
    // Call get address by username, a bit misleading as this does not return the direct address
    $provision->GetPatientAddressByUserName("yourown.direct.domain.here", "freddie");
    // get the direct address username@yourown.direct.domain.here
    $directAddress = $provision->DirectAddress();
});

手动执行

// Proof
// Verify mobile
// Provision
$provision = new \Endeavors\MaxMD\Registration\Person\Registration();
// assume freddie has performed and passed the above steps
$provision->GetPatientAddressByUserName("yourown.direct.domain.here", "freddie");

$directAddress = $provision->DirectAddress();

设置成功响应

假设您从maxmd收到成功响应,并使用freddie作为用户名。响应将采用以下格式

response: {#176
    "return": {#177
      "code": "000"
      "message": "Provisioned Direct address freddie@healthendeavors.direct.eval.md for patient Sdfsdf Rodriguez. The Direct address will be activated after the Direct certificate is issued."
      "success": true
      "users": {#178
        "address": "1234 Fake street"
        "city": "Fake Town"
        "country": "us"
        "dea": ""
        "email": "fake@email.com"
        "firstName": "Sdfsdf"
        "lastName": "Rodriguez"
        "npi": ""
        "phone": "14803646662"
        "sameAsOrganizationAddress": false
        "state": "ALASKA"
        "zipcode": "85412"
        "comsumeMdnFlag": false
        "endpoint": ""
        "endpointDirectory": "null"
        "endpointPassword": "null"
        "endpointUsername": "null"
        "notifyFlag": true
        "userType": "SMTP"
        "username": "freddie"
        "userState": "activated"
      }
      "paymentConfirmation": {#179
        "amount": 60.0
        "detail": "Your payment for purchasing 1 MaxMD Patient Direct Address for patient Direct address: freddie@healthendeavors.direct.eval.md has been placed."
        "orderId": 54930
        "orderTime": "2017-11-03T11:27:27-05:00"
        "products": {#180
          "amount": 60.0
          "description": "MaxMD Patient Direct Address 8/month 60/year"
          "expireDate": "2018-11-03"
          "name": "MaxMD Patient Direct Address"
          "offerPrice": 60.0
          "quantity": 1
          "salePrice": 60.0
          "startDate": "2017-11-03"
        }
      }
    }
  }
}