Issue 1533: PIDS opening paragraph for IdentifyPerson
Issue 1820: Implementation problems of IDL for SequentialAccess interface
Issue 1821: "Not implemented" exception
Issue 1822: Exception that indicates that server is missing is needed
Issue 1823: Additional method in ProfileAccess and IdentifyPerson needed
Issue 1824: processing for register_ids, register_new_ids, register_these_ids
Issue 1825: Exception missing
Issue 1827: HNE does not have a list of required person traits for a person addition
Issue 1828: update_and_clear_traits method of ProfileAccess interface
Issue 1830: Allow a way to determine originating domain
Issue 1831: update_and_clear_traits method issue
Issue 1832: merge_ids method
Issue 1833: load_profiles method issue
Issue 1834: get_corresponding_ids method issue
Issue 1835: Change description of ExternalIds trait
Issue 1836: Add find_or_register operation to CorrelationMgr interface
Issue 1838: Typos in PIDS document
Issue 1839: include statement in PersonldService not valid
Issue 1840: Attribute to be removed from PersonldService module
Issue 1841: Description of the InvalidId exception
Issue 2744: Extended Cleanup of Description of QoS Properties
Issue 2750:
Issue 3789: "RequiredTraits" exception issue
Issue 3859: The IDL contained in the PIDS specification is not CORBA compliant
Issue 1533: PIDS opening paragraph for IdentifyPerson (pids-rtf2)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: The first paragraph on identifyperson should state that it returns IDs given selection criteria traits.
Resolution: Drop - unless further explanation can be provided.
Revised Text:
Actions taken:
June 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1820: Implementation problems of IDL for SequentialAccess interface (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: In reviewing the documentation and IDL for the SequentialAccess Interface, I came to understand that there would be problems with its implementation.
The problems are:
a. Access Method
b. Performance
c. Memory Management
Resolution:
Revised Text:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1821: "Not implemented" exception (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: 2. The "Not Implemented" exception is needed for the following interfaces and methods because HNE cannot support the functionality:
a) IdMgr->create_temporary_ids()
b) IdMgr->deactivate_ids()
c) IdMgr->make_ids_permanent()
d) IdMgr->unmerge_ids()
Resolution:
Revised Text:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1822: Exception that indicates that server is missing is needed (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: 2. An exception that indicates that the server is unavailable is needed. It would allow a client to inform a user of the reason that a person search cannot be completed. It is needed for several methods.
Resolution: close issue, see above
Revised Text:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1823: Additional method in ProfileAccess and IdentifyPerson needed (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: A method is needed in the ProfileAccess and IdentifyPerson interfaces to indicate the maximum sequence size to be returned by the server. The method would allow clients to determine the appropriate size in advance, avoiding a server exception.
Resolution: resolved, close issue
Revised Text:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1824: processing for register_ids, register_new_ids, register_these_ids (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: 3. The processing for the "register_ids", "register_new_ids" and "register_these_ids" is very similar. The implementation software will have to verify that each Id is not already in the system and return an enterprise Id for each person.
Resolution: Update the spec as below.
Revised Text: In section "3.1 Basic Types" add a description for the
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1825: Exception missing (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: 3. There is no exception to indicate if a person addition or update is unsuccessful. For example, if the IdMgr->register_new_ids method is called to add persons into HNE, there is no way to inform a client that the addition was unsuccessful.
Resolution: no action taken, closed issue
Revised Text:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1827: HNE does not have a list of required person traits for a person addition (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: 3. HNE does not have a list of required person traits for a person addition. It requires that a certain number of primary, secondary, and/or tertiary person traits are defined. It tries to match the trait definitions to a "Use Case" and will not add a person unless the list of defined traits synchs up with at least one of the "Use Cases".
Resolution:
Revised Text:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1828: update_and_clear_traits method of ProfileAccess interface (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: 3. In the "update_and_clear_traits"method of the ProfileAccess interface, the list of traits to clear and modify must be checked for invalid entries. The UknownTraits exception allows for only one list of trait names to be returned. This makes it impossible for the client to determine which list an invalid trait is in.
Resolution: close issue
Revised Text:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1830: Allow a way to determine originating domain (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: 3. Methods that update person traits or merge Enterprise Ids should allow for a way to determine the originating domain. For example, the "update_and_clear_traits" method of the ProfileAccess Interface does not have a parameter for the originating domain of the update.
Resolution: no action taken, close issue
Revised Text:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1831: update_and_clear_traits method issue (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: 2. The "update_and_clear_traits" method of the Identity interface should include the MultipleTraits exception as the "update_and_clear_traits" method in the ProfileAccess interface does.
Resolution: no action taken, close issue
Revised Text:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1832: merge_ids method (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: 2. The "merge_ids" method of the IdMgr interface should provide an exception that allows the server to notify the client when two valid enterprise Ids cannot be merged.
Resolution: Add new exception as described below.
Revised Text: n the PersonIdService module, after the "DuplicateProfiles"
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1833: load_profiles method issue (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: 3. The "load_profiles" method of the CorrelationMgr interface should be revised to use exceptions that are consistent with the IdMgr interface.
Resolution: Update spec as described below.
Revised Text: Add the "MultipleTraits" exception to be raised by the
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1834: get_corresponding_ids method issue (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: 3. The "get_corresponding_ids" method of the IdMgr interface is intended to return a list of a person"s Ids that are associated with a given list of domains. A person can have different Id types associated with a given domain, such as the external patient Id, internal account number, external account number and patient internal number. How does the client software determine which Id is which?
Resolution: issue closed, no action
Revised Text:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1835: Change description of ExternalIds trait (pids-rtf2)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: 1) Change description of ExternalIds trait to read "This read-only trait indicates the set of other IDs a person may have. The IDs listed may be from a different ID Domain than the ID Domain of the ID this trait is bound to. This is more general purpose than CorrelatedIds. The IDs listed in this trait may be set by other mechanisms than automatic correlation. For example, external ids are added to non-correlating domains using the IDMgr::add_external_ids operation. Correlating PIDS should return correlated ids. They should also return any non-correlated external ids if they are tracking non-correlated ids. Note that the client will not be able to tell the difference between correlated ids and non-correlated ids. Not all PIDS implementations will support this trait and the tracking of non-correlated ids." In the conformance section: "Tracking non-correlated external ids - If a PIDS service tracks non-correlated ids it must support the IdMgr::add_external_ids operation and the PIDS/ExternalIds trait."
Resolution: resolved is 1836, close issue
Revised Text:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1836: Add find_or_register operation to CorrelationMgr interface (pids-rtf2)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: 2) Change PIDS interfaces a) Add a "find_or_register" operation to the CorrelationMgr interface that accepts a QualifiedTaggedProfileSeq instead of a TaggedProfileSeq like the IdMgr find_or_register operation. This would make the requirement for the QualifiedPersonId explicit. b) Add a new operation to the IdMgr interface called "add_external_ids". This would allow an explicit agreement and the part of the client and non-correlating service to track uncorrelated identifiers. A PIDS service could return NotImplemented if it doesn"t track external ids. A correlating PIDS service could also return NotImplemented if it doesn" t track non-correlated ids. I have attached the revised IDL for the IdMgr and CorrelationMgr interfaces. We like these changes because they make the requirement for the QualifiedPersonId explicit as well as removing the ambiguity associated with the ExternalIds trait. We appreciate all the thought that has gone into the PIDS specification and understand that our needs might be met in a more creative way that does not require any changes to the PIDS specification. We would appreciate any feedback you have.
Resolution: Update spec as below.
Revised Text: Add the follwoing operation to CorrelationMgr:
Actions taken:
August 18, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1838: Typos in PIDS document (pids-rtf2)
Click here for this issue's archive.
Nature: Revision
Severity:
Summary: Summary: There are a number of mostly minor typos in the final PIDS document I
obtained from the OMG web server.
I"ve annotated the corbamed/98-02-29.pdf file and placed it in
http://www.acl.lanl.gov/~dwf/PIDS/98-02-29.pdf. The changes are in
notes attached to the PDF document.
The most serious are two problems with the IDL. In the NamingAuthority
module: #pragma prefix "omg.org " should have the space removed after
org. In the HL7Version2_3 module, PHONE_NUMER_HOME should be replaced by
PHONE_NUMBER_HOME.
The others are mostly spelling corrections and name changes to match the
style guide used in the actual IDL.
Resolution: resolved
Revised Text:
Actions taken:
August 19, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1839: include statement in PersonldService not valid (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: The PersonIdService module has an include statement that is no longer
valid - "Notifications.idl".
Resolution: resolved, close issue
Revised Text:
Actions taken:
August 19, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1840: Attribute to be removed from PersonldService module (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: The PersonIdService module still contains the following:
readonly attribute Notification::EventComponent
event_component;
The Notification module was removed fro the adopted spec so this
attribute must also be removed.
Resolution: closed
Revised Text:
Actions taken:
August 19, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 1841: Description of the InvalidId exception (pids-rtf2)
Click here for this issue's archive.
Nature: Uncategorized Issue
Severity:
Summary: Summary: The description of the InvalidId exception implies that PIDS servers
that only know about a subset of the IDs in an ID Domain would throw the
InvalidId exception when a client passes an unknown ID to a call. Many
of the operation calls take a sequence of IDs and the spec implies the
exception is thrown if any one of the passed in IDs are not known. This
is an over burden for a client to either know ahead of time which IDs
the server knows about or handle an exception to remove the violating
IDs and try again. In relation to the definition of the InvalidId
exception:
Please remove para 1 sentence 3.
PLease replace para 2 sentence 3 with "An Unkown ID passed into a call
only causes an exception to be raised if the operation signature only
takes one ID."
Resolution: resplved
Revised Text:
Actions taken:
August 19, 1998: received issue
February 25, 1999: closed issue
Discussion:
Issue 2744: Extended Cleanup of Description of QoS Properties (pids-rtf2)
Click here for this issue's archive.
Nature:
Severity:
Summary: The issue author enumerates several points of confusion with
regard to the applicability of QoS properties to specific objects
within a channel. The issues are as follows:
1) Setting Priority or Timeout on a ConsumerAdmin or ProxySupplier
is meaningless, and should be disallowed
2) StartTimeSupport and StopTimeSupported on a ProxyConsumer or
SupplierAdmin is meaningless, and should be disallowed
3) OrderPolicy (like DiscardPolicy) on a ProxyConsumer or
SupplierAdmin is meaningless, and should be disallowed
4) MaximumBatchSize and PacingInterval are meaningless for Any
and Structured Event style Proxies
The issue author goes onto suggest that Table 2-4 should add
specific columns for each style of Proxy, so that the applicability
of QoS properties to specific objects can be designated with finer
granularity.
Resolution: fixed, see below
Revised Text: For 2744c, texted added to Maximum Batch Size and Pacing Interval
sections of section 2.5.5. Also added footnote 2 under table 2-4.
As for 2744d, this issue was actually related to other issues that
asked for certain QoS properties that applied to Proxies be constrained
to particular types of Proxies (i.e., that some apply only to
ProxySuppliers and not ProxyConsumers, and vice versa). But, all issues
of this nature failed to pass, so currently there are no properties
that are specific to only ProxySuppliers or ProxyConsumers. Thus, I
really don't see any value in dividing the "Proxy" or "Admin" columns
into more specific columns, because the subdivided columns would have
identical entries.
Actions taken:
June 16, 1999: received issue
November 16, 1999: closed issue
Discussion: Issue 1) above overlaps with issue 2740, so will not be
considered here. Regarding issue 2), I personally disagree
with this. I think it's conceivable to set a StartTime or
StopTime on a ProxyConsumer or a ProxySupplier. When set on
a ProxyConsumer, it informs that Proxy upon receiving an
event with a StartTime or StopTime in its header, it should
honor that setting. In the case of StartTime, it should not
queue the event for delivery to ProxySuppliers until StartTime
has occurred. In the case of StopTime, if the time the event
is received is later than StopTime, it should simply discard
the event. In general, I think we should not preclude the
setting of QoS properties on specific objects unless there is
clearly no possible semantic that can be associated with them.
Specific implementations are always free (and still in
compliance) to disallow setting of QoS properties on specific
objects if they choose, but the spec itself should not preclude
implementors from supporting the setting of a QoS property on
specific objects unless that setting very clearly could have
no meaning. My opinion is that the author of this issue is
overly concerned that the specification describe the exact
behavior of their specific information, which I feel is
unnecessary in any case (the specification certainly does not
describe every aspect of the behavior of our implementation!).
Issue 3) I could go along with, as I cannot think of any
reasonable meaning that could be associated with OrderPolicy
on the Consumer side of the channel. I agree that OrderPolicy
and DiscardPolicy have similar semantics here, and what's
already stated in the spec with respect to DiscardPolicy should
apply to OrderPolicy too. Regarding issue 4), I agree however
personally feel this is so obvious it doesn't need to be stated.
Finally, regarding the basic recommendation that table 2-4
be made more granular (to show applicability of QoS properties
to specific styles of Proxies), I have no real opposition to
doing this, except that it may make it difficult to fit the
table on the page.
VOTE: Again, I will break down this vote into the following subvotes. Note
that I consider issue 1) to be covered by issue 2740, so we'll ignore
that one here.
Issue 2744c: YES means to state the MaximumBatchSize and
PacingInterval do not apply to anything other than
Sequence Proxies (and the Channel and Admins that
create them). NO means to do nothing.
Issue 2744d: YES means to break Table 2-4 down into further
columns that show applicability of QoS properties to
each specific style of Proxy. NO means to do nothing.
NOTE: 2744c and 2744d passed
Issue 2750: (pids-rtf2)
Click here for this issue's archive.
Nature:
Severity:
Summary:
Resolution: closed
Revised Text:
Actions taken:
June 17, 1999: received issue
June 17, 1999: received issue
June 21, 1999: closed issue,
Discussion:
Issue 3789: "RequiredTraits" exception issue (pids-rtf2)
Click here for this issue's archive.
Source: Level Seven Visualizations (Mr. Jon Farmer, jon(at)level7vis.com)
Nature: Uncategorized Issue
Severity:
Summary:
he "RequiredTraits" exception returns a sequence of traits. But make_ids_permenant takes an ARRAY of input ids. So this exception if thrown won't provide any usefull information as to which id had the problem. Our implementation, rather than throwing the exception, just creates the ID in a temporary state. However, as we recently considered supporting the exception in conjunction with a probabilistic matching algorithm, we found the following ambiguity: The RequiredTraits exception inlcudes a list of required traits, but the spec doesn't clarify that this is the complete list of required traits - assuming that its the same set for any input profile - so that the client can figure out which IDs need for traits. The problem with that semantic is as follows. Some probabilisitc matching algorithms can only determine the adequacy of the incoming trait set by inspecting the VALUES of the trait types supplied. for example, if the incoming request tries to register two ids, one with first=John , Last=Smith, and the second with First=Mergetroid Last=Pepperdyne, a probabilisitc algorithm will likely accept the second but reject the first; YET BOTH supplied the same traits. Hwo could the client figure out what's missing? How the server even figure out what's missing? Neither can. ONLY THE ALGORITHM KNOWS....... AND IT ONLY KNOWS ONCE IT HAS SEEN THE INPUTS. Therefore we need to define clearly what the exception semantics are, and in a way that doesn't preclude the use of probabilistic matchers that cannot assess adequacy in a "one trait list fits all" manner. One possible solution is to have the exception return a SEQUENCE OF offending ids - so the client can know which are offensive. Instead of also including for each the set of traits needed, the return structure could show the confidence deficit for each.
The IDL contained in the PIDS specification is not CORBA compliant.
Specifically, the declarations
struct TaggedProfile { PersonId id; Profile profile; };
and
struct TraitSelector { Trait trait; float weight; };
fail to comply with the rule that the semantics of OMG IDL forbids identifiers in the same scope to differ only in case.
The PIDS IDL will compile under the OrbixWeb ORB, but it fails to compile under ORBacus unless the --case-sensitive option (which is not CORBA compliant) is used.
Resolution:
Prefix each of the offending types with the qualifier "PersonIdService::"
as follows:
struct TraitSelector {
PersonIdService::Trait trait;