Insurrance plan for each patient?
Submitted by larsrikart on Sun, 06/03/2011 - 04:24
I'm looking at 1.4 and one question I got from potential customer is why the insurrance plan is bound to customer and not pet/patient. E.g. many customers doesn't have insurrance on their old pets but get insurrance on new pets. Or have insurrance on dog but not cat.
Is there some way to change this?
Lars
Re: Insurrance plan for each patient?
Not sure of the business reasons for this, but its straight forward to add support for this.
You can do this as follows:
1. Create a new archetype, <OPENVPMS_HOME>/update/archetypes/org/openvpms/archetype/lookup/lookup.patientInsurance.adl:
<archetypes> <archetype name="lookup.patientInsurance.1.0" latest="true" type="org.openvpms.component.business.domain.im.lookup.Lookup" displayName="Patient Insurance"> <node name="id" path="/id" type="java.lang.Long" hidden="true" readOnly="true"/> <node name="code" path="/code" type="java.lang.String" hidden="true" minCardinality="1"> <assertion name="regularExpression"> <property name="expression" value="[A-Z0-9_]*"/> <errorMessage>Invalid code</errorMessage> </assertion> </node> <node name="name" type="java.lang.String" path="/name" minCardinality="1"/> <node name="description" type="java.lang.String" path="/description" hidden="true" derived="true" derivedValue="concat(/name,' ',lookup:isDefault(/defaultLookup))"/> <node displayName="default" name="defaultLookup" type="java.lang.Boolean" path="/defaultLookup" defaultValue="false()"/> <node name="active" path="/active" type="java.lang.Boolean" defaultValue="true()"/> </archetype> </archetypes>
2. Edit <OPENVPMS_HOME>/update/archetypes/org/openvpms/archetype/patient/party.patientpet.adl and add the following:
<node displayName="Insurance Plan" name="insurancePlan" path="/details/insurancePlan" type="java.lang.String" minCardinality="0" maxLength="20"> <assertion name="lookup"> <property name="type" value="lookup"/> <property name="source" value="lookup.customerInsurance"/> <errorMessage>Invalid Insurance Plan</errorMessage> </assertion> </node>
3. Reload the archetypes using:
cd <OPENVPMS_HOME>/bin archload.bat
4. Restart the webapp.
You should now be able to add patient insurance plans via the Administration -> Lookups workspace
Once created, these will be available when editing patients in the patient's Insurance Plan field.
Re: Insurrance plan for each patient?
Hi Lars,
The insurance plan on customer is not used by the application but only for some practices that used to have this as a status value on their existing application.
The best way to do insurance schemes is using Discount Types and applying the Discount against the Patient on the Discount Tab. You can set end dates on Discounts and also set specific discounts on the product types and products that are included in the insurance. Discount Types can be setup in Adminisration -> Types.
Cheers
Tony