Uploaded image for project: 'OpenMRS Core'
  1. OpenMRS Core
  2. TRUNK-427

Change Patient Identifier Location to be optional

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Should
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: OpenMRS 1.9.0
    • Component/s: None
    • Labels:
      None
    • Complexity:
      Undetermined

      Description

      Many of our implementations would like to see Location become optional on Patient Identifier. Currently, this is not possible, as there is a not null constraint on the patient_identifier.location_id column of the database, and it is enforced within the application.

      One solution that I would like to propose is for this to be configurable for a given Patient Identifier Type. So, when you create a Patient Identifier Type, you can say whether:
      a) An identifier of this type requires a Location
      b) An identifier of this type optionally has a Location
      c) An identifier of this type should not have a Location

      This would change the UI such that:

      • If a) or b), then show a Location widget when editing patient identifiers, and if a) add validation to ensure it is selected
      • If c), do not show a Location widget when editing patient identifiers

      It would change the API such that:

      • Validation is done to enforce the rules set out above

      It would change the DB such that:

      • patient_identifier.location_id is nullable

        Gliffy Diagrams

          Attachments

            Issue Links

              Attachments-Category-Modification

                Activity

                  People

                  • Assignee:
                    rubailly Bailly Rurangirwa
                    Reporter:
                    mseaton Mike Seaton
                  • Votes:
                    1 Vote for this issue
                    Watchers:
                    7 Start watching this issue

                    Dates

                    • Created:
                      Updated:
                      Resolved: