Issue 2670: The supported_traits operation returns trait names but not types (pids-rtf2) Source: (, ) Nature: Uncategorized Issue Severity: Summary: Summary: Issue: "Client needs trait-type awareness so it can type-validate interactive trait entries" The supported_traits operation returns trait names but not types, leaving the client unable to proactively validate trait entry. While the current spec provides for the server to throw InvalidTraitFormat on a bad date, It would be better to allow the client to know a priori that the Birth Date is a date so that it can, for example put up a visual date picker or otherwise validate the date before the user has tabbed on to other fields. Resolution: Revised Text: Actions taken: May 28, 1999: received issue Discussion: End of Annotations:===== Reply-To: "Jon Farmer" From: "Jon Farmer" To: "pids-rtf2" Subject: We can start now! Date: Fri, 28 May 1999 11:23:08 -0400 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4 Content-Type: text/plain; charset="iso-8859-1" X-UIDL: 3f0fe8ee008d570d7e743f2a003d6866 Hello all, Our mailing list was broken at the omg until today so that nothing could propagate out. Please understand therefore that the silence was not evidence of lack of zeal for this thing. Here is our timeline: 3/26/99 Establish RTF in Philadelphia 7/31/99 Comment Deadline 8/27/99 Report Deadline in San Jose Let's now generate the issues list! The rtf can only deal in changes that fix errors or add clarification. Therefore for each issue anyone of submits, we must be prepared to successfully cast it as such. For example, here is the first few issues I want to submit: Issue: "Client needs trait-type awareness so it can type-validate interactive trait entries" The supported_traits operation returns trait names but not types, leaving the client unable to proactively validate trait entry. While the current spec provides for the server to throw InvalidTraitFormat on a bad date, It would be better to allow the client to know a priori that the Birth Date is a date so that it can, for example put up a visual date picker or otherwise validate the date before the user has tabbed on to other fields. Possible solution: add a data type element to the the Supported Traits return sequence. Why this is not an extension but rather a fix: Most would consider a client porgam to be Y2K-unprepared if it could not validate dates before the server operation is called. Other client programs that support date-entry widgets will be unable to use the widget for entry of PIDS traits without trait-awareness coded into the client. X-Sender: u076663@cic-mail.lanl.gov X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.0.58 Date: Thu, 21 Oct 1999 14:12:59 -0600 To: pids-rtf2@omg.org From: David Forslund Subject: Re: 2670, 2836 In-Reply-To: <4.2.0.58.19990915214454.01bdfd60@cic-mail.lanl.gov> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-UIDL: Zchd9V"Ne9lYR!!W]%"! At 09:49 PM 9/15/99 -0600, David Forslund wrote: >Here is a suggested IDL change to deal with Issues 2670 and 2836 > >Basically, I've followed the style of the Party Management Facility to include >SearchType in a new query_candidates call and a method to get the Properties >associated with a TraitName > >Dave Some seem to have had a hard time reading what I sent as an attachment, so here it is in plaintext. This has both the SearchType and the Properties changes, but I'm becoming more convinced that the SearchType change is out of scope, but that the Properties change is something that is broken in the current spec. Dave *** PersonIdService.idl ---- newPersonIdService.idl *************** *** 5,15 **** #include #include #include #include - #include //#include "Notification.idl" #pragma prefix "omg.org" module PersonIdService --- 5,14 ---- *************** *** 144,154 **** }; typedef sequence< MultipleFailure > MultipleFailureSeq; interface Identity; typedef sequence< Identity > IdentitySeq; ! typedef sequence SearchType; // --------------------------------------------------------------- // Exceptions // --- 143,153 ---- }; typedef sequence< MultipleFailure > MultipleFailureSeq; interface Identity; typedef sequence< Identity > IdentitySeq; ! // --------------------------------------------------------------- // Exceptions // *************** *** 175,185 **** exception ProfilesExist { IndexSeq indices; }; exception DuplicateProfiles { IndexSeq indices; }; exception DomainsNotKnown { DomainNameSeq domain_names; }; exception IdsNotKnown { QualifiedPersonIdSeq ids; }; ! exception SearchTypeNotSupported {}; // --------------------------------------------------------------- // IdentificationComponent // interface ProfileAccess; --- 174,184 ---- exception ProfilesExist { IndexSeq indices; }; exception DuplicateProfiles { IndexSeq indices; }; exception DomainsNotKnown { DomainNameSeq domain_names; }; exception IdsNotKnown { QualifiedPersonIdSeq ids; }; ! // --------------------------------------------------------------- // IdentificationComponent // interface ProfileAccess; *************** *** 204,231 **** readonly attribute CorrelationMgr correlation_mgr; // readonly attribute Notification::EventComponent event_component; readonly attribute CosNaming::NamingContext naming_context; readonly attribute CosTrading::TraderComponents trader_components; ! void get_supported_properties( ! in TraitName name, ! out CosPropertyService::PropertyDefs trait_defs) ! raises ( ! UnknownTraits ! ); ! }; // --------------------------------------------------------------- // IdentifyPerson // interface IdentifyPerson : IdentificationComponent { - - SearchType get_supported_search_types(); - void find_candidates( in TraitSelectorSeq profile_selector, in IdStateSeq states_of_interest, in float confidence_threshold, in unsigned long sequence_max, --- 203,221 ---- readonly attribute CorrelationMgr correlation_mgr; // readonly attribute Notification::EventComponent event_component; readonly attribute CosNaming::NamingContext naming_context; readonly attribute CosTrading::TraderComponents trader_components; ! }; // --------------------------------------------------------------- // IdentifyPerson // interface IdentifyPerson : IdentificationComponent { void find_candidates( in TraitSelectorSeq profile_selector, in IdStateSeq states_of_interest, in float confidence_threshold, in unsigned long sequence_max, *************** *** 239,270 **** WrongTraitFormat, CannotSearchOn, DuplicateTraits, InvalidStates, InvalidWeight ); - - void query_candidates( - in TraitSelectorSeq profile_selector, - in IdStateSeq states_of_interest, - in float confidence_threshold, - in unsigned long sequence_max, - in unsigned long iterator_max, - in SpecifiedTraits traits_requested, - - out CandidateSeq returned_sequence, - out CandidateIterator returned_iterator ) - raises ( - TooMany, - UnknownTraits, - WrongTraitFormat, - CannotSearchOn, - DuplicateTraits, - InvalidStates, - InvalidWeight, - - }; // --------------------------------------------------------------- // ProfileAccess // interface ProfileAccess : --- 229,240 ---- WrongTraitFormat, CannotSearchOn, DuplicateTraits, InvalidStates, InvalidWeight ); }; + // --------------------------------------------------------------- // ProfileAccess // interface ProfileAccess : Reply-To: "Jon Farmer" From: "Jon Farmer" To: Subject: issues 2670 and 2736i Date: Mon, 1 Nov 1999 16:39:07 -0500 MIME-Version: 1.0 X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4 Content-Type: multipart/mixed; boundary="----=_NextPart_000_00D8_01BF2487.9D916680" X-UIDL: ='Z!!>,^!!I`Sd9BR To: pids-rtf2@omg.org Date: Friday, October 22, 1999 7:45 PM Subject: Fwd: RE: Need assist >Got a copy of this document from both Bob and Wes. Haven't read it to >see how it addresses the PIDS issues. > >-Mary Received: from stayhungry.rs.itd.umich.edu ([141.211.83.42]) by ia-01.groupwise.med.umich.edu; Fri, 22 Oct 1999 11:52:31 -0400 Received: (from root@localhost) by stayhungry.rs.itd.umich.edu (8.8.5/2.5) with X.500 id LAA15814 for mkratz@groupwise.med.umich.edu; Fri, 22 Oct 1999 11:52:31 -0400 (EDT) Received: from ktazp597.kp.org (ca1-smtp.kp.org [162.119.233.3]) by stayhungry.rs.itd.umich.edu (8.8.5/2.5) with ESMTP id LAA15623 for ; Fri, 22 Oct 1999 11:52:13 -0400 (EDT) Received: from ktazp599.crdc.kp.org ([172.21.128.20]) by ktazp597.kp.org (8.9.3/8.9.3) with ESMTP id IAA10316 for ; Fri, 22 Oct 1999 08:30:08 -0700 (PDT) Received: from gren-exch-mta.ca.kp.org by ktazp599.crdc.kp.org with ESMTP for mkratz@UMICH.EDU; Fri, 22 Oct 1999 08:24:18 -0700 Received: by gren-exch-mta.ca.kp.org with Internet Mail Service (5.5.2448.0) id <4TFMKF8L>; Fri, 22 Oct 1999 08:26:10 -0700 Message-Id: <7363612D05B3D211B47600805F3140CB01CFB861@orcy-exch-1.ca.kp.org> From: "Dolin,Robert H" To: "'mkratz@UMICH.EDU'" Subject: RE: Need assist Date: Fri, 22 Oct 1999 08:26:08 -0700 X-Mailer: Internet Mail Service (5.5.2448.0) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=_A3FA861C.4F2ECF6E" Hi Mary, The documentation is a bit in flux because of how much activity is going on in this area. I think the best single source of information right now is the document posted by Wes Rishel to the CQ / XML lists on October 06 in a message entitled "Revised Proposal for Representing HL7 data types and messages". Here's another copy of it just in case: <> This document has an example of an HMD and the corresponding DTD, but does not go into the details of how you get from the RIM to the HMD. For more on that, the best document is the HL7 Message Development Framework (http://www.mcis.duke.edu/standards/HL7/committees/methodology-modeling/MDf9 9april5.doc) (which was published in April, so is a bit out of date) Next Monday, 10/25, I'll post a first draft set of PRA Document DTDs to the KEG listserver. It will contain a detailed HMD along with the DTD and a sample message. Please note though that these will be first draft, and will need to be bantered about by the KEG before we'd post them more broadly, but the KEG is a public list. Take care, Bob > ---------- > From: Mary Kratz[SMTP:mkratz@UMICH.EDU] > Sent: Thursday, October 21, 1999 12:57 PM > To: cq@lists.hl7.org; sgml@lists.hl7.org > Cc: pids-rtf2@omg.org > Subject: Need assist > > <> > Can somebody point to exactly where (URL?) to look for rules by > which > DTD constructs > are derived from RIM abstract datatypes. > > Thanks, > Mary > [] v3dt.zip [] Mary Kratz.vcf From: "David W. Forslund" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Date: Fri, 12 Nov 1999 13:35:11 -0700 (MST) To: pids-rtf2@omg.org Subject: Re: Resolution of Issue 2670 X-Mailer: VM 6.43 under 20.4 "Emerald" XEmacs Lucid Message-ID: <14380.29363.722657.559524@gray.acl.lanl.gov> Reply-To: "David W. Forslund" Content-Type: text/plain; charset=us-ascii X-UIDL: f3!"! .. void get_supported_properties( in TraitName name, out CosPropertyService::PropertyDefs trait_defs) raises ( UnknownTraits ); }; -Dave Reply-To: "Jon Farmer" From: "Jon Farmer" To: "David W. Forslund" , References: <14380.29363.722657.559524@gray.acl.lanl.gov> Subject: Re: Resolution of Issue 2670 Date: Fri, 12 Nov 1999 18:01:40 -0500 Organization: Care Data Systems MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Content-Type: text/plain; charset="iso-8859-1" X-UIDL: F~Vd9g+)e9i"a!!_E8!! thanks Dave, looks good. I will incorporate it into the final-report-in-progress. Jon ----- Original Message ----- From: David W. Forslund To: Sent: Friday, November 12, 1999 3:35 PM Subject: Re: Resolution of Issue 2670 > Ths is issue # 2670 > > "The supported_traits operation returns trait names but not types > > Issue: "Client needs trait-type awareness so it can type-validate > interactive trait entries" > > The supported_traits operation returns trait names but not types, > leaving the client unable to proactively validate trait entry. While > the current spec provides for the server to throw InvalidTraitFormat on > a bad date, It would be better to allow the client to know a priori > that the Birth Date is a date so that it can, for example put up a > visual date picker or otherwise validate the date before the > user has tabbed on to other fields." > > Proposed Resolution: > > Add the ability to get a property of a particular Trait utilizing the > Property as defined by the CosProperty specification. We consider this > a correction because of the inherent ambiguity in the internal structure > of a Trait that cannot be discovered with the existing PIDS specification. > > add this narrative: > > get_supported_properties() > Descriptive information of a trait can be obtained by this method. > For a given traitname one can get back a sequence of PropertyDef. The > PropertyModeType field of each PropertyDef is to be read_only, since the > client is not allowed to change the Property values. The value of a > Trait might be a coded string (with HL7 and vCard traits being supported > examples). One of the properties could be the coding scheme used in the > trait so that the value could be properly decoded on the client side. > It also might be descriptive labels to be used by the client. It is > recommended that the PropertyName returned by a identifiable coding > scheme that could be looked up in the TerminologyService if desired. > > IDL: > > #include > .. > void get_supported_properties( > in TraitName name, > out CosPropertyService::PropertyDefs trait_defs) > raises ( > UnknownTraits > ); > }; > > -Dave >