1.7A 5500 OpenVPMSLoader problem

I am doing my first conversion run since installing 5500.  All went happily for an hour or so until it came to load the patient medical records (ie customers, patient, suppliers, products, reminders, transactions, etc all went in OK).  Then I get an error on every write to act.patientMedication

 2013/10/18 16:24:59 - PatientMedication.0 - Failed to process: Failed to validate Description of Medication: Failed to get value
2013/10/18 16:24:59 - PatientMedication.0 - Failed to process row CMI132451-3: Failed to validate Description of Medication: Failed to get value
2013/10/18 16:24:59 - PatientMedication.0 - Failed to process row CMI132451-4: Failed to validate Description of Medication: Failed to get value
2013/10/18 16:24:59 - PatientMedication.0 - Failed to process row CMI132451-5: Failed to validate Description of Medication: Failed to get value
2013/10/18 16:24:59 - PatientMedication.0 - Failed to process row CMI132451-6: Failed to validate Description of Medication: Failed to get value
2013/10/18 16:24:59 - PatientMedication.0 - Failed to process row CMI132451-13: Failed to validate Description of Medication: Failed to get value
2013/10/18 16:24:59 - PatientMedication.0 - Failed to process row CMI132451-14: Failed to validate Description of Medication: Failed to get value
2013/10/18 16:24:59 - PatientMedication.0 - Failed to process row CMI133187-0: Failed to validate Description of Medication: Failed to get value
2013/10/18 16:24:59 - PatientMedication.0 - Failed to process row CMI133188-0: Failed to validate Description of Medication: Failed to get value
2013/10/18 16:24:59 - PatientMedication.0 - Failed to process row CMI133188-2: Failed to validate Description of Medication: Failed to get value
2013/10/18 16:24:59 - PatientMedication.0 - Failed to process row CMI133188-3: Failed to validate Description of Medication: Failed to get value 

The OpenVPMSloader step is:

Initially, I thought: stupid twit - forgot to update the Kettle stuff, ie step 4 in the readme.txt.  I did that and tried again. Same problem.  Then since I have patients, products, even medical records (except no medication records), I thought to try using Patients|Medical Records to add a medication - all worked happily.

So its not the base system that is broke, but the OpenVPMSloader is having problems with the new sexy description field in act.patientMedication

I have a horrible feeling that this is caused by something I have not done in installing 5500 - but I use a script to do the upgrade, and although I initially left out the Kettle upgrade, doing that didn't fix it.

 

Is this a bug or am I at fault?

Regards, Tim G

Comment viewing options

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

Re: 1.7A 5500 OpenVPMSLoader problem

Its a bug. The applicationContext.xml file deployed in the openvpms-etl-load-1.7-SNAPSHOT.jar is missing the configuration of the expr: JXPath extension functions.

Its currently has:

     <!-- The JXPathHelper class, used to register extension functions -->
    <bean id="jxpathHelper"
          class="org.openvpms.component.system.common.jxpath.JXPathHelper">
        <constructor-arg>
            <map>
                <entry key="openvpms" value="org.openvpms.component.business.service.archetype.ArchetypeServiceFunctions"/>
                <entry key="date" value="org.openvpms.component.system.common.jxpath.DateFunctions"/>
                <entry key="lookup" value="org.openvpms.archetype.function.lookup.LookupFunctions"/>
                <entry key="party">
                    <bean class="org.openvpms.archetype.function.party.PartyFunctions">
                        <constructor-arg index="0" ref="archetypeService"/>
                        <constructor-arg index="1" ref="patientRules"/>
                    </bean>
                </entry>
                <entry key="math">
                    <bean class="org.openvpms.archetype.function.math.MathFunctions"/>
                </entry>
            </map>
        </constructor-arg>
    </bean> 

It should be:

     <!-- The JXPathHelper class, used to register extension functions -->
    <bean id="jxpathHelper"
          class="org.openvpms.component.system.common.jxpath.JXPathHelper">
        <constructor-arg>
            <map>
                <entry key="openvpms" value="org.openvpms.component.business.service.archetype.ArchetypeServiceFunctions"/>
                <entry key="date" value="org.openvpms.component.system.common.jxpath.DateFunctions"/>
                <entry key="expr">
                    <bean class="org.openvpms.archetype.function.expression.ExpressionFunctions">
                        <constructor-arg value="expr"/>
                    </bean>
                </entry>               

                <entry key="lookup" value="org.openvpms.archetype.function.lookup.LookupFunctions"/>
                <entry key="party">
                    <bean class="org.openvpms.archetype.function.party.PartyFunctions">
                        <constructor-arg index="0" ref="archetypeService"/>
                        <constructor-arg index="1" ref="patientRules"/>
                    </bean>
                </entry>
                <entry key="math">
                    <bean class="org.openvpms.archetype.function.math.MathFunctions"/>
                </entry>
            </map>
        </constructor-arg>
    </bean> 

Re: 1.7A 5500 OpenVPMSLoader problem

Tim - the dropbox file did the trick.  Thanks, Tim G

Re: 1.7A 5500 OpenVPMSLoader problem

Fixed in revision 5504.

Regards,

-Tim A

Syndicate content