360 likes | 569 Views
Document Registry and Repository Implementation Strategies. IHE Vendors Workshop 2006 IHE IT Infrastructure Education Bill Majurski,NIST. Agenda. Skill Set Handling of Options Registry Standard Registry Actor Repository Actor Transactions Registry Actor Repository Actor Open Source
E N D
Document Registry and Repository Implementation Strategies IHE Vendors Workshop 2006 IHE IT Infrastructure Education Bill Majurski,NIST
Agenda • Skill Set • Handling of Options • Registry Standard • Registry Actor • Repository Actor • Transactions • Registry Actor • Repository Actor • Open Source • General warnings
Skill Set • Registry and Repository • Web container of choice (tomcat, apache, etc.) • XML • XML/DOM • HTTP/SOAP • CT Profile (network time) • ATNA Profile (TLS, Syslog) • OASIS ebXML Registry standard • XDS Profile • Registry • Database of choice • HL7 (Patient Identity Feed transaction and metdata coding) • Repository • ebMS - optional
Options Registry and Repository actor implementations are required to support features that are optional in clients. (offline mode is the exception, (SQL) Query transaction is the other)
Registry Standard General • OASIS ebXML Registry versions 2.1 and 3.0 (http://www.oasis-open.org/committees/regrep/documents) • Two parts • ebRIM (Registry Information Model) • ebRS (Registry Services) • Stored Query comes from version 3.0 • All other parts from version 2.1
Registry Std + Registry Actor ebRS (version 2.1) • Life Cycle Management Service • Submit Objects Protocol • Approve Objects Protocol • Deprecate Objects Protocol • Query Management Service • Adhoc Query • Stored Query (version 3.0) • Bindings • SOAP 1.1
Registry Std + Registry Actor ebRIM • Stored Query - version 3.0 • All other transactions - version 2.1 • Metadata Objects • Primary • ExtrinsicObject • RegistryPackage • Association • Secondary • Name • Description • Slot • Classification • ExternalIdentifier
Registry Std + Repository Actor ebRS (version 2.1) • Life Cycle Management Service • Submit Object Protocol • Bindings • SOAP 1.1 • ebMS (offline option only)
Registry Std + Repository Actor ebRIM (version 2.1) • ExtrinsicObject • Slot
Registry Actor (cont) • Two parts • Registry standard • Registry adaptor • Two approaches • Layered • Integrated • Registry standard • XDS uses small subset of standard • V2.1 vs v3.0 • Translation of v2.1 to/from v3.0 metadata not difficult for subset used by XDS
Registry Adaptor • Surrounds registry standard • Implements • Patient Identity Feed transaction • Register Document Set transaction • Query Registry transaction • Stored Query transaction
Registry Actor Transactions • Patient Identity Feed • Register • Query(s)
Patient Identity Feed transaction • From PIX Manager • Purpose: Registry only accepts submissions for known patients • Issues • Store in database • Store in registry • A40 (patient id merge) processing
Register Document Set transaction • All submissions are atomic • Submission Set ‘wraps’ submission • Process • Validate uniqueIDs • Validate patientID • Validate against XDS metadata rules and Affinity Domain configuration • Assign UUIDs • If includes Replacement Documents - verify originals • Submit to registry engine • If success • ‘Approve’ Submission Set, Documents, Folders • ‘Deprecate’ any replaced documents
Query transaction(s) • Query transaction (SQL) • Some XDS queries require multiple simple queries between Document Consumer and Document Registry actors • Stored Query transaction (New) • All Stored Queries SHALL be implemented as single query between Document Consumer and Document Registry actors. • MAY require multiple queries between Registry Adaptor and ebXML Registry engine
Query transaction(s) (cont) • PRODUCE VALID XML!!!!!!!!! • XML Namespace • ObjectRefs (ID/IDREF issue in XML) • “google” ‘id/idref’ for details
Query transactions Last year • Query transaction - only choice This year • Query transaction - optional • Stored Query transaction - required
Repository Actor • XML engine needed • Transactions • Provide and Register Document Set • Retrieve Document
Provide and Register • Functionality • Annotate metadata - Add size, hash,URI • Store document • Generate - Register Document Set transaction • Details • Must manage MIME Type - most web containers map file extension -> MIME type • Recommend use of uniqueID as a storage ID • Future Web Services based Retrieve transaction • UUID CAN CHANGE, even if assigned by Document Source • Document Source may reuse uniqueID after failure • Success = local success + registry success • A submission succeeds or fails - no partial success
Retrieve Document transaction • Web server output • Simple HTTP/GET transaction • MIME type and size must be correct
New Actor Document Source + Document Repository = Integrated Document Source/Repository • Accepts no Provide and Register transactions • For systems that generated documents but store them locally
Open Source • Ebxmlrr - ebXML Registry implementation • V2.1 (no longer supported) and v3.0 • http://sourceforge.net/projects/ebxmlrr • IheOs - XDS Registry Adaptor • Based on ebxmlrr v2.1 • http://sourceforge.net/projects/iheos • RideProject - European project that extends IheOs to include other infrastructure actors • http://sourceforge.net/projects/rideproject
Testing Repository • Test tool acts as Document Source • Sends submissions to Repository • Repository configured to generate Register transactions to NIST Registry • Generates log file • Test tool acts as Document Consumer • Retrieves document • Generates log file
Testing Registry • Test tool • Generates Register transactions • Generates Query transactions • Produces log file • Special ‘test’ • Submits ‘GetAll’ query • Produces log files • Documents contents of Registry for a test • Log files - between 2 and 5 xml files - documents test success
Testing Tools Tools • Xdstest - command line Java (run anywhere) • Supporting test data • Test results (log files) - 1 to 5 xml files • For testing behind your firewall • Report tests • Zip or Tar result files • Submit via Kudu (test management web tool) • NIST Registry
Testing Support/Documentation • XDS Wiki http://hcxw2k1.nist.gov/wiki/index.php/XDS_-_Cross-Enterprise_Document_Sharing • Contains • Big Picture of XDS Profile Testing • Test tools • Test data • Change log for tests and test data • FAQ • Is Read-only (no anonymous postings)
HELP • Developer’s roundtable Wednesday afternoon • Catch in hall • FAQ on wiki • email
General Warnings • You should have started yesterday • BRING THE SAME CODE YOU TEST PRE-CONNECTATHON TO THE CONNECTATHON • BRING THE SAME CODE YOU TEST AT CONNECTATHON TO SHOWCASE • Remember to bring your source code to Connectathon • Don’t laugh…it’s been done