Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Description

This page talks about configuring an extension on Registration page to verify/link an extra identifier.

Extensions

Extension points, like the name suggests are used to define a plug-in/plug-off featureBahmni Registration module provides an extension for linking/verifying other identifiers for patients. Implementers can plugin in their custom requirements leveraging this extension.

Extensions

Implementers are expected to leverage the extension point “org.bahmni.registration.identifier". As of now, only “link” type are supported. This means that an implementer can specify an URL to a
sub-system/UI and Bahmni will launch in an IFRAME. It is expected that such an extension will return a basic FHIR patient resource (JSON) and send that as a message to the parent window.

Defining Extensions points on Registration page:

...

Example of adding an Extension

Code Block
"IdentifierLookup":{
        "id": "org.bahmni.registration.identifier.IdentifierSrcyour_identifier_id",
        "extensionPointId": "org.bahmni.registration.identifier",
        "type": "link",
        "src" : "/sample/index.html",
        "extensionParams": {
            "identifierType": [
                "sampleIdentifier1",
                "sampleIdentifier2"
            ],
            "nonEditable": ["givenName","middleName","familyName","gender","birthDate","age"],
            "linkDisplay": "Verify SampleIdentifier",
            "addressMap": {
                "city": "cityVillage",
                "state": "stateProvince",
                "postalCode": "postalCode",
                "line": "address1"
            }
        }

...

key

description

Mandatory

id

Unique identifier for extension

NY

extensionPointId

"org.bahmni.registration.identifier"

Y

type

link

Y

src

The source to be loaded on click of defined button

Y

extensionParams

Contains additional parameters mentioning the extra identifier’s name, which registration page feels become nonEditable after the Identifier linkage, what is the button name : linkDisplay, and address map that maps the address FHIR object (returned from the link to registration page) to field in registration page

Y

extensionParams.identifierType

one or more identifier type name. Note, if different identifier types require different source integration, define separate extensions.

Y

extensionParams.nonEditable

extensionParams.linkDisplay

extensionParams.addressMap

Assumptions

  1. The link specifies the path to the UI that needs to be rendered on click of the link identifier button.

  2. The external link returns an FHIR patient object to be mapped to Registration Page fields.

...

  1. .

The returned payload is expected as a simple FHIR Patient resource. Note, a complete patient resource is not required - only identifier(s), name, birthdate, gender and address are expected.

For example: consider the following FHIR Patient object

Code Block
address{
  id: 'XYZ',
  identifiers: [
    {
      citytype: "",{
        countrytext: "IN"identifierType1"
      },
    district  value: "Bhopal",hina@xyz"
    },
     line: ['A-12, Dholakpur'],{
      type: {
        postalCodetext: "212021",identifierType2"
      },
      statevalue: "Madhya Pradesh",
}"57-0517-6745"
    }
  ],
contactPoint  names: [
    {system: 'phone', value: '+919800083232'}
],

      familyName: 'Patel',
      givenName: [
        'Hina',
        ''
      ],
      use: ''
    }
  ],
  gender: "F",
  idbirthDate: undefined"2000-10-21",
identifiers  contactPoint: [
    {type:
{      system: 'phone',
     text: "identifierType1"},
 value: '+919800083232'
    }
  ],
  address: [
    {
  value    city: "hina@xyz",
    }  country: "IN",
    {type: {  district: "Bhopal",
      line: [
       text: "identifierType2"}, 'A-12, Dholakpur'
      ],
     value postalCode: "57-0517-6745212021",
    } ], namesstate: [{familyName: 'Patel', givenName: ['Hina',''], use: ''}],
birthDate: "2000"."Madhya Pradesh",
      
    }
  ] 
}