I tried reading in the assigning authority while working on TRUNK-2893 and
noticed that the library we are using to parse the HL7, in the case of XCNs
 it interpretes what we expect to be the assigning authority as the given
name, basically it always returns null when you try to get the assigning
authority for XCN,  it is for the CE that it gets the assigning authority.

My view is and this is what i implemented(we can change it) in the initial
commit for TRUNK-2893, is to assume it is a personId or provider
 identifier, i.e for the ID number you can specify the personId or provider
identifier and this will still take care of HL7 messages from old legacy
code gracefully. So the Orur01 handler first checks for a provider
associated to a person with a personId matching the passed in value if it
is a number otherwise it defaults to looking up one with a matching
provider identifier.

Wyclif


On Thu, Mar 1, 2012 at 11:31 AM, Darius Jazayeri <[email protected]>wrote:

> Hi All,
>
> Per TRUNK-3108 <https://tickets.openmrs.org/browse/TRUNK-3108>,
> incorrectly merged into 
> TRUNK-2843<https://tickets.openmrs.org/browse/TRUNK-2843>
> :
>
> In 1.9 we've added a Provider object, but our ORUR01Handler class has not
> yet been updated to take this into account. Currently, the formentry and
> xforms modules pass a value for a PV1's provider field like "1^Super User
> (1-8)", and we interpret the first number as a person_id (pk of the person
> table), and ignore the name. This is now problematic, because not every
> person necessarily has a provider associated with them, and some may have
> more than one.
>
> The correct new behavior seems like it would be to instead interpret the
> first number as a provider_id (pk of the provider table). The downside of
> this is that R01 messages produced by all existing code would give you the
> wrong providers.
>
> A slightly-hackier, but backwards-compatible way would be to let the
> authority field of the XCN tell how to interpret the value passed in:
>
>    - no authority : "legacy mode". Treat as person id (pk of person table)
>    - authority = PROV_ID : Treat as provider id (pk of provider table)
>    - authority = PROV_IDENTIFIER : Treat as provider.identifier
>    (user-specified identifier for the provider)
>    - authority = PROV_ATTR_3 : Look for a provider who has an attribute
>    whose providerAttributeType is 3, and whose value is what's given
>
> Thoughts? Alternatives?
>
> -Darius
> ------------------------------
> Click here to 
> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from 
> OpenMRS Developers' mailing list

_________________________________________

To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to 
[email protected] with "SIGNOFF openmrs-devel-l" in the  body (not 
the subject) of your e-mail.

[mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

Reply via email to