VetEnvoy Insurance Claims integration
Donate to this project
Development Project Status: Under Discussion
You can donate money to this project by entering the amount above and clicking the 'Add to cart' button. In the Checkout process you can either choose to pay now (via Bank Transfer, Cheque or Pay Pal) or you can pledge the amount by choosing the 'Pledge a payment for a Development Project' method. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then action your payment. Note that development will not commence until all funds are received.
Overview
This project is an extension to the Patient Insurance project, allowing claims to be submitted to insurers that use the VetEnvoy eClaims service.
VetEnvoy supports insurance e-claims in the UK, US and Canada.
Claim Submission
Any Insurance Claim that is finalised will automatically be submitted to the VetEnvoy eClaims service, if the Insurer linked to the Policy Type is a party.supplierInsurerVetEnvoy (see below).
When finalised:
- the claim and and any of its attachments will be submitted to VetEnvoy
- the submitted claim will include all patient Clinical Notes created prior to the claim.
- the Insurer Claim Id field will be updated with the id assigned by VetEnvoy
On successful submission, the Claim status will be updated to Submitted.
If submission fails, e.g. due to connection timeouts, then the Claim status will remain as Finalised. A Submit button will be enabled to submit the remainder of the Claim.
Claim Workflow
Once a claim has been submitted, the Insurer sends status updates. These are obtained by polling the VetEnvoy service (see Polling Job below). The Insurance Claim will be updated with the status:
- Processing - the insurer is processing the claim
- Settled - the insurer has settled the claim
- Declined - the insurer has declined the claim
If a claim is submitted via VetEnvoy, the Process Claim, Settle Claim and Decline Claim buttons will be disabled.
Cancelling Claims
If a claim has been submitted to VetEnvoy, and is subsequently cancelled, a cancellation notification will be sent to VetEnvoy.
Polling Job
A job will be provided that periodically polls the VetEnvoy web service for claim updates.
Claim Mapping
The following shows how OpenVPMS archetypes will be mapped to the InsuranceClaim schema used by VetXML. Note that this includes elements from InsuranceClaim 1.10 which is not yet live.
Claim Field | Mapping |
---|---|
Identification | |
OwnerID |
party.customerperson/id |
PracticeID |
party.organisationPractice/id |
PracticeClaimRef |
act.patientInsuranceClaim/id |
InsurerID |
Our ID or their ID? |
InfoFromPolicyHolder | |
PolicyDetails |
|
PolicyNumber |
act.patientInsurancePolicy/policyNumber |
PolicyholderName |
party.customerperson/name |
Address |
party.customerperson/contact.location |
Postcode |
party.customerperson/contact.location |
AddressDifferentFromPolicy |
false - policy address must be the same as the customer address |
DaytimePhone |
Defaults to customer phone number without HOME classification, if any. |
EveningPhone |
Defaults to customer phone number with HOME classification, if any. |
MobilePhone |
Defaults to customer phone number with MOBILE classification, if any. |
EmailAddress |
party.customerperson/contact.email |
PreferredContactBy |
leave empty |
AnimalInsuredWithCurrentProviderBefore |
True if there is an act.patientInsurancePolicy for the patient dated before the current policy. |
OtherInsurersCoveringAnimal |
not supported |
Insurer |
not supported |
AnimalDetails |
|
Name |
party.patientpet/name |
PedigreeName |
not supported |
Species |
party.patientpet/species |
Breed |
party.patientpet/breed |
DateOfBirth |
party.patientpet/dateOfBirth |
Gender |
party.patientpet/sex |
Colour |
party.patientpet/colour |
MicrochipNumber |
party.patientpet/entityIdentity.microchip |
Conditions |
not supported |
Condition |
not supported |
Description |
not supported |
DateFirstNoticed |
not supported |
RepeatIllnessInjury |
not supported |
DeathDueToIllnessInjury |
not supported |
DateOfDeath |
not supported |
PreviousVets |
not supported |
PreviousVet |
not supported |
PracticeID |
not supported |
Name |
not supported |
Address |
not supported |
Postcode |
not supported |
DateFrom |
not supported |
DateTo |
not supported |
Financial |
|
PayVet |
act.patientInsuranceClaim/payVet |
PayClaimTo |
if PayVet is true, the practice name is used, otherwise the customer name is used |
ElectronicPayment |
|
AccountName |
act.patientInsuranceClaim/accountName |
Bank |
act.patientInsuranceClaim/bank |
SortCode |
act.patientInsuranceClaim/branch |
AccountNumber |
act.patientInsuranceClaim/accountNumber |
InfoFromVet |
|
Miscellaneous |
|
AnimalRegistered |
not supported |
LastVaccination |
not supported |
MicrochipNumber |
party.patientpet/entityIdentity.microchip |
GeneralRemarks |
act.patientInsuranceClaim/clinicalNotes |
ClaimHandler |
|
Name |
act.patientInsuranceClaim/author |
Phone |
act.patientInsuranceClaim/location/contact.phoneNumber |
|
act.patientInsuranceClaim/location/contact.email |
Vet |
|
VetSurname |
act.patientInsuranceClaim/clinician |
VetForenames |
act.patientInsuranceClaim/clinician |
VetPosition |
not supported |
VetEmailAddress |
act.patientInsuranceClaim/location/contact.email |
PracticeName |
act.patientInsuranceClaim/location/name |
PracticeID |
Our ID or their ID? |
PracticeAddress |
act.patientInsuranceClaim/location/contact.location |
PracticePostcode |
act.patientInsuranceClaim/location/contact.location |
PracticePhone |
act.patientInsuranceClaim/location/contact.phoneNumber |
AnimalClinicalHistory |
All act.patientClinicalNote instances, up to the time of the claim. |
Entry |
|
Date |
act.patientClinicalNote/startTime |
Time |
act.patientClinicalNote/startTime |
EnteredBy |
act.patientClinicalNote/author |
TextEntry |
act.patientClinicalNote/note |
Conditions |
All of the act.patientInsuranceClaimItem instances linked to the claim |
Condition |
|
ConditionCode |
Use lookup.diagnosis code? |
DiagnosisOrSigns |
act.patientInsuranceClaimItem/diagnosis |
ClaimContinuation |
not supported |
ClaimReferenceNumber |
not supported - set to unknown |
Started |
act.patientInsuranceClaimItem/startTime |
DeathOrEuthenasia |
act.patientInsuranceClaimItem/status <> ALIVE |
PutDownByRecommendation |
act.patientInsuranceClaimItem/status = EUTHANASED |
OngoingCondition |
act.patientInsuranceClaimItem/ongoingCondition |
CremationCost |
not supported |
EuthanasiaReason |
act.patientInsuranceClaimItem/euthanasiaReason |
TreatmentDates |
|
DateFrom |
act.patientInsuranceClaimItem/startTime |
DateTo |
act.patientInsuranceClaimItem/endTime |
SeenBeforeRelated |
not supported |
Description |
not supported |
TreatmentDates |
not supported |
DateFrom |
not supported |
DateTo |
not supported |
HouseVisitAndOOH |
not supported |
HouseVisit |
not supported |
HouseVisitReason |
not supported |
OutOfHours |
not supported |
OutOfHoursReason |
not supported |
Financial |
All of the act.patientInsuranceClaimItem instances linked to the claim |
TotalExVAT |
act.patientInsuranceClaimItem/total - act.patientInsuranceClaimItem/tax |
VAT |
act.patientInsuranceClaimItem/tax |
TotalIncVat |
act.patientInsuranceClaimItem/total |
InvoiceItems |
All of the act.customerAccountInvoiceItem instances linked to the Claim Item |
Item |
|
Description |
act.customerAccountInvoiceItem/product |
Type |
act.customerAccountInvoiceItem/product/type ? |
AmountExVat |
act.customerAccountInvoiceItem/total - act.customerAccountInvoiceItem/tax |
InvoiceNumber |
act.customerAccountInvoiceItem/id |
Date |
act.customerAccountInvoiceItem/startTime |
VAT |
act.customerAccountInvoiceItem/tax |
Quantity |
act.customerAccountInvoiceItem/quantity |
Remarks |
act.patientInsuranceClaim/notes |
Referrals |
All referrals linked to the patient |
Referral |
|
ReferralType |
one of From or To |
ReferralReason |
party.patientpet/referrals/reason |
ReferralPractice |
Referral vet practice, or vet if the referral vet has no practice configured. |
PracticeID |
Our ID or their ID? |
Name |
party.supplierVeterinaryPractice/name or party.supplierVeterinarian/name |
Address |
party.supplierVeterinaryPractice/contact.location or party.supplierVeterinarian/contact.location |
Postcode |
party.supplierVeterinaryPractice/contact.location or party.supplierVeterinarian/contact.location |
Phone |
party.supplierVeterinaryPractice/contact.phoneNumber or party.supplierVeterinarian/contact.location |
ReferralDate |
party.patientpet/referrals/activeStartTime |
Attachments |
All attachments linked to the claim items |
Attachment |
|
AttachmentID |
VetEnvoy identifier for uploaded document |
ContentLength |
document.other/size |
ContentType |
document.other/mimeType |
Description |
act.patientDocument*/description |
InsuranceCompanySpecificDetails |
not supported |
PetPlan |
not supported |
ClaimForDentalTreatment |
not supported |
FullDentalHistory |
not supported |
ClaimForUrinaryProblem |
not supported |
DietFoodCostIncluded |
not supported |
Name |
not supported |
Amount |
not supported |
CrystalsPresent |
not supported |
Type |
not supported |
UrineTests |
not supported |
Date |
not supported |
BRAVNo |
not supported |
PetProtect |
not supported |
TotalCostPrescriptionDietFoodExVAT |
not supported |
Archetype Changes
party.supplierInsurerVetEnvoy
The party.supplierInsurerVetEnvoy archetype is a new archetype for insurers that indicates that claims to the insurer are submitted via VetEnvoy. It has the same fields as party.supplierInsurer, but includes:
- RecipientId - indicates the unique identifier for the Insurer
entity.VetEnvoyConnectionType
This is a new archetype that contains connection information for VetEnvoy. It contains a:
- VetEnvoy service URL
- UserId
- UserPassword
- VendorPassword
- a link to the practice or practice location that this connection applies to
security.user
This needs to be updated to include firstName and lastName fields. The name field will need to be derived from these, and existing users migrated.
entity.jobVetEnvoy
A job used to poll the VetEnvoy web service for claim updates.
This contains:
- a link to the entity.VetEnvoyConnectionType with the connection details
- scheduling information
- the VetEnvoy Poll Reference, to be submitted with the next poll request
Exclusions
- The initial implementation will not support claim queries. These are free-form text messages sent by the insurer to query some aspect of a claim.
- This version will not support insurance company specific details. E.g. 1.10 of the VetXML InsuranceClaim supports :
- PetPlan - this includes additional fields for dental and urinary problem claims
- PetProtect - this includes an additional field for the total cost of prescription diet food.