Switching on synchronization of nested patient's objects

Description

Currently, we have a possibility to synchronize the patient object with their nested objects (e.g. the person object), but they are not still synchronized separately. It causes that not all changes on these objects are synchronized. 

More precisely, there is possible to synchronize patient if changes are made on the Home Dashboard. If the changes are made by the Administrator panel, in the object patient identifier, names or address, the Atomfeed won't create the log. 

Acceptance criteria:

  • all nested objects should be supported by the Sync2 module.

  • all nested objects should be supported by the FHIR module.

  • the nested objects should be enabled in the AtomFeed module.

  • update excel with fields that are synchronized correctly after your changes.

Activity

Show:

Arkadiusz Lalo February 18, 2019 at 3:14 PM

The PR was merged I close this ticket.

 

cc:

Arkadiusz Lalo February 14, 2019 at 3:42 PM

Arkadiusz Lalo February 14, 2019 at 3:41 PM

Arkadiusz Lalo February 14, 2019 at 3:25 PM

I tested only updating the PatientIdentifier object because when I tried to delete or create new object I noticed following errors:

  • "Select a preferred identifier"

  • "Invalid property 'identifier' of bean class [org.openmrs.Patient]: Bean property 'identifier' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?"

I also noticed that when we adding new PersonAddres (PersonName the same) and setting a new object as a preferred then conflict will be detected.

Conflict is created because as first is synchronizing the Patient object then the PersonAddress (PersonName) and before the PersonAddress will be synchronize missing some data in one of the instances.
However, the data are correctly synchronized because after detecting the conflict in Patient object then the personAddress (PersonName) will be successfully synchronized.

I think this is out of scope that ticket because this is related to some issue in conflict detecting logic.

Arkadiusz Lalo February 14, 2019 at 1:50 PM

The PRs were updated.

I added missing PatientIdentifier and PersonName.
For now the sub-resources are synchronizing via REST because on FHIR Resources list (https://www.hl7.org/fhir/resourcelist.html) we haven't specified separate sub-resources for the name, identifier, address.

Fixed

Details

Assignee

Reporter

Labels

Complexity

Undetermined

Original estimate

Time tracking

1w 2d 4h 30m logged3h remaining

Sprint

Priority

Created January 25, 2018 at 4:02 AM
Updated February 18, 2019 at 3:15 PM
Resolved February 18, 2019 at 3:15 PM