Concept Dictionary Changes When Upgrading from 1.11.6 to Refapp 2.8.0

I am upgrading from platform 1.11.6 to refapp 2.8.0. I am doing it by copying the war file into tomcat container pointing it to 1.11.6 database. The process goes smoothly, however some concepts seems to change as if CIEL has been used to override them. See an example below (please ignore the red circle, I added it there for a different purpose)

Before upgrade

After upgrade

As it can be seen the uuid, datatypes and mappings are not the same even though the concept ID is the same. It seems as though CIEL’s entry has replaced what was originally there.

Looking through the change set does not show anything that looks like it is causing this. (see changesets below)

Description of Update Actions Author
Updating layout.address.format global property Custom Change rpuzdrowski
Removing dashboard.regimen.standardRegimens global property Delete Data rpuzdrowski
Encrypting the users.secret_answer column Custom Change jkondrat
Temporarily removing foreign key constraint from person_attribute_type.edit_privilege column Drop Foreign Key Constraint pmuchowski
Temporarily removing foreign key constraint from role_privilege.privilege column Drop Foreign Key Constraint pmuchowski
Increasing the size of the privilege column in the privilege table Modify Column pmuchowski
Adding foreign key constraint to person_attribute_type.edit_privilege column Add Foreign Key Constraint pmuchowski
Increasing the size of the privilege column in the role_privilege table Modify Column pmuchowski
Adding foreign key constraint to role_privilege.privilege column Add Foreign Key Constraint pmuchowski
Adding foreign key on patient_identifier.patient_id column Add Foreign Key Constraint sandeepraparthi
Add changed_by column to encounter_type table Add Column, Add Foreign Key Constraint thomasvandoren
Add date_changed column to encounter_type table Add Column thomasvandoren
Create allergy table Create Table, Add Foreign Key Constraint (x6) fbiedrzycki
Create allergy_reaction table Create Table, Add Foreign Key Constraint (x2) fbiedrzycki
Add allergy_status field to the patient table Add Column rpuzdrowski
Custom changeset to migrate allergies from old to new tables Custom Change dkayiwa
Removing the active_list_problem table (active_list feature removed) Drop Table jdegraft
Removing the active_list_allergy table (active_list feature removed) Drop Table jdegraft
Removing the active_list table (active_list feature removed) Drop Table jdegraft
Removing the active_list_type table (active_list feature removed) Drop Table jdegraft
Add drug_non_coded column to drug_order table Add Column Sravanthi
Adding address columns (7-15) to person_address and location Add Column (x2) gwasilwa
Removing a column value_boolean from obs table Drop Column mnagasowmya
Create order_set table Create Table, Add Foreign Key Constraint (x3) bahmni
Create order_set_member table Create Table, Add Foreign Key Constraint (x6) bahmni
Create order_group table Create Table, Add Foreign Key Constraint (x6) bahmni
Adding 'order_group_id' column to orders table Add Column, Add Foreign Key Constraint bahmni
Adding 'sort_weight' column to orders table Add Column bahmni
Converting values in drug_order.dosing_type column from SIMPLE to org.openmrs.SimpleDosingInstructions (TRUNK-4845) Update Data vishnuraom
Converting values in drug_order.dosing_type column from FREE_TEXT to org.openmrs.FreeTextDosingInstructions(TRUNK-4845) Update Data vishnuraom
Creating concept_attribute_type table Create Table, Add Foreign Key Constraint (x3) bahmni
Creating concept_attribute table Create Table, Add Foreign Key Constraint (x5) bahmni
Add "Get Visits" privilege Insert Row Wyclif
Add "Get Providers" privilege Insert Row Wyclif
Add "Add Visits" privilege Insert Row Wyclif
Add "Get Visits" privilege to the roles having "Get Encounter" Custom SQL PralayRamteke
Add "Get Providers" privilege to the roles having "Get Encounter" Custom SQL PralayRamteke
Add "Add Visits" privilege to the roles having "Add Encounters" Custom SQL Wyclif
Add "Add Visits" privilege to the roles having "Edit Encounters" Custom SQL Wyclif
Adding unique index on concept_reference_source uuid column Create Index mogoodrich
Adding unique index on concept_reference_map uuid column Create Index mogoodrich
Add unique_id column to concept_reference_source Add Column, Add Unique Constraint teleivo
Dropping foreign key constraint member_patient Drop Foreign Key Constraint vshankar
Dropping foreign key constraint parent_cohort Drop Foreign Key Constraint vshankar
Dropping primary key for cohort_member Drop Primary Key vshankar
Adding column cohort_member.cohort_member_id Add Column vshankar
Updating cohort member ids Custom Change vshankar
Adding primary key to cohort_member.cohort_member_id Add Primary Key vshankar
Adding auto increment property to cohort_member.cohort_member_id Set Column as Auto-Increment vshankar
Adding column cohort_member.start_date Add Column vshankar
Updating cohort_start_date with value cohort.date_created Update Data vshankar
Adding column cohort_member.end_date Add Column vshankar
Adding column cohort_member.creator Add Column vshankar
Updating cohort_member.creator value Update Data vshankar
Adding foreign key constraint to cohort_member.creator Add Foreign Key Constraint vshankar
Adding column cohort_member.date_created Add Column vshankar
Updating cohort_member.date_created with value cohort.date_created Update Data vshankar
Adding column cohort_member.voided Add Column vshankar
Adding defaultValue for cohort_member.voided Add Default Value vshankar
Adding column cohort_member.voided_by Add Column vshankar
Adding column cohort_member.date_voided Add Column vshankar
Adding column cohort_member.void_reason Add Column vshankar
Adding column cohort_member.uuid Add Column vshankar
Generating UUIDs for all rows in cohort_member table via built in uuid function. Update Data vshankar
Adding unique constraint to cohort_member.uuid Add Unique Constraint vshankar
Adding foreign key constraint to cohort_member.cohort_id Add Foreign Key Constraint vshankar
Adding foreign key constraint to cohort_member.patient_id Add Foreign Key Constraint vshankar
Dropping defaultValue for cohort_member.cohort_id Drop Default Value vshankar
Dropping defaultValue for cohort_member.patient_id Drop Default Value vshankar
Adding "date_changed" column to concept_class table Add Column manuelagrindei
Adding "changed_by" column to concept_class table Add Column, Add Foreign Key Constraint manuelagrindei
Adding "date_changed" column to concept_reference_source table Add Column manuelagrindei
Adding "changed_by" column to concept_reference_source table Add Column, Add Foreign Key Constraint manuelagrindei
Adding "date_changed" column to concept_name table Add Column manuelagrindei
Adding "changed_by" column to concept_name table Add Column, Add Foreign Key Constraint manuelagrindei
Adding "date_changed" column to concept_name_tag table Add Column manuelagrindei
Adding "changed_by" column to concept_name_tag table Add Column, Add Foreign Key Constraint manuelagrindei
Adding "date_changed" column to form_resource table Add Column manuelagrindei
Adding "changed_by" column to form_resource table Add Column, Add Foreign Key Constraint manuelagrindei
Adding "date_changed" column to global_property table Add Column manuelagrindei
Adding "changed_by" column to global_property table Add Column, Add Foreign Key Constraint manuelagrindei
Adding "date_changed" column to patient_identifier_type table Add Column manuelagrindei
Adding "changed_by" column to patient_identifier_type table Add Column, Add Foreign Key Constraint manuelagrindei
Adding "date_changed" column to relationship_type table Add Column manuelagrindei
Adding "changed_by" column to relationship_type table Add Column, Add Foreign Key Constraint manuelagrindei
Adding "status" column to obs table Add Column darius
Adding "interpretation" column to obs table Add Column darius
Modify column length to 1000 from 255 Modify data type Shruthi,Salauddin

Is there a documentation of what is happening here?

Note: Just to be sure this happens I have done it twice.

I am not sure what the status of your concept dictionary was prior to the upgrade, but it looks like it was a custom one. The Refapp uses a portion of the CIEL dictionary. I am not sure why simply changing the WAR file would change the dictionary, but I don’t think you can simply move over the app like that. Part of the reason we encourage people to standardize on CIEL is so that when you move between the RefApp and a more comprehensive database, you are adding new concepts and not overwriting them. It is worth thinking about whether the OCL work would allow existing concepts to be migrated to CIEL (tagged with a CIEL ID) so that the RefApp or similar existing HTML forms would use existing concepts smoothly.

Thanks for a prompt response. However I am not sure I am following when you say “I don’t think you can simply move over the app like that”. Do you mean there is a need to handle the concepts in a different way than the usual? Also are you saying it is not possible to use the Refapp with custom concept dictionary?

Correct. The RefApp expects specific concepts to be present in the concept dictionary. I am not sure if it references them via UUID or concept_id, but it would be necessary to customize the RefApp or remap your concept dictionary to use it, I believe. Perhaps @dkayiwa can chime in.

@ssmusoke can you share with @willa your approach of using some custom concepts within the reference application for the UgandaEMR distribution?

1 Like