Insurrance plan for each patient?

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

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

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

Syndicate content