september, 2005what ihe delivers 1 document registry and repository implementation strategies ihe...
TRANSCRIPT
1September, 2005 What IHE Delivers
Document Registry and Document Registry and Repository Implementation Repository Implementation
StrategiesStrategies
IHE Vendors Workshop 2006IHE Vendors Workshop 2006
IHE IT Infrastructure EducationIHE IT Infrastructure Education
Bill Majurski,NISTBill Majurski,NIST
2
AgendaAgenda
Skill SetSkill Set
Handling of OptionsHandling of Options
Registry StandardRegistry Standard Registry ActorRegistry Actor Repository ActorRepository Actor
TransactionsTransactions Registry ActorRegistry Actor Repository ActorRepository Actor
Open SourceOpen Source
General warningsGeneral warnings
3
Actors and TransactionsActors and Transactions
Document Source
Document Consumer
Document Registry
Document Repository
Provide&Register
Document Set[ITI-15] →
↑ Register Document S [et ITI-14]
Retrieve Docum ent
[ITI -17] ←
QueryRegistry [ITI-16] ←
Patient Identity Source
Patient Identity Feed [ITI-8] ↓
Registry Stored Query [ITI-18] ←
4
Skill SetSkill Set
Registry and RepositoryRegistry and Repository Web container of choice (tomcat, apache, etc.) Web container of choice (tomcat, apache, etc.) XMLXML XML/DOMXML/DOM HTTP/SOAPHTTP/SOAP CT Profile (network time)CT Profile (network time) ATNA Profile (TLS, Syslog)ATNA Profile (TLS, Syslog) OASIS ebXML Registry standardOASIS ebXML Registry standard XDS ProfileXDS Profile
RegistryRegistry Database of choice Database of choice HL7 (Patient Identity Feed transaction and metdata coding)HL7 (Patient Identity Feed transaction and metdata coding)
RepositoryRepository ebMS - optionalebMS - optional
5
OptionsOptions
Registry and Repository actor Registry and Repository actor implementations are required to support implementations are required to support features that are optional in clients. features that are optional in clients. (offline mode is the exception, (SQL) (offline mode is the exception, (SQL) Query transaction is the other)Query transaction is the other)
6
Registry StandardRegistry Standard
GeneralGeneral
OASIS ebXML Registry versions 2.1 and 3.0 OASIS ebXML Registry versions 2.1 and 3.0 (http://www.oasis-open.org/committees/regrep/do(http://www.oasis-open.org/committees/regrep/documents)cuments)
Two partsTwo parts ebRIM (Registry Information Model)ebRIM (Registry Information Model) ebRS (Registry Services)ebRS (Registry Services)
Stored Query comes from version 3.0Stored Query comes from version 3.0
All other parts from version 2.1All other parts from version 2.1
7
Registry Std + Registry ActorRegistry Std + Registry Actor
ebRS (version 2.1)ebRS (version 2.1)
Life Cycle Management ServiceLife Cycle Management Service Submit Objects ProtocolSubmit Objects Protocol Approve Objects ProtocolApprove Objects Protocol Deprecate Objects ProtocolDeprecate Objects Protocol
Query Management ServiceQuery Management Service Adhoc QueryAdhoc Query Stored Query (version 3.0)Stored Query (version 3.0)
BindingsBindings SOAP 1.1SOAP 1.1
8
Registry Std + Registry ActorRegistry Std + Registry Actor
ebRIMebRIM
Stored Query - version 3.0 Stored Query - version 3.0
All other transactions - version 2.1All other transactions - version 2.1
Metadata ObjectsMetadata Objects PrimaryPrimary
• ExtrinsicObjectExtrinsicObject• RegistryPackageRegistryPackage• AssociationAssociation
SecondarySecondary• NameName• DescriptionDescription• SlotSlot• ClassificationClassification• ExternalIdentifierExternalIdentifier
9
Registry Std + Repository ActorRegistry Std + Repository Actor
ebRS (version 2.1)ebRS (version 2.1)
Life Cycle Management ServiceLife Cycle Management Service Submit Object ProtocolSubmit Object Protocol
BindingsBindings SOAP 1.1SOAP 1.1 ebMS (offline option only)ebMS (offline option only)
10
Registry Std + Repository ActorRegistry Std + Repository Actor
ebRIM (version 2.1)ebRIM (version 2.1)
ExtrinsicObjectExtrinsicObject SlotSlot
11
Actors and TransactionsActors and Transactions
Document Source
Document Consumer
Document Registry
Document Repository
Provide&Register
Document Set[ITI-15] →
↑ Register Document S [et ITI-14]
Retrieve Docum ent
[ITI -17] ←
QueryRegistry [ITI-16] ←
Patient Identity Source
Patient Identity Feed [ITI-8] ↓
Registry Stored Query [ITI-18] ←
12
Registry ActorRegistry Actor
Database
LifeCycle Engine
Query Engine
Submit Query
XML Û Database translation
Registry Adaptor
Registry Standard
Query Transaction
Register Document Set Transaction
13
Registry Actor (cont)Registry Actor (cont)
Two partsTwo parts Registry standardRegistry standard Registry adaptorRegistry adaptor
Two approachesTwo approaches LayeredLayered IntegratedIntegrated
Registry standardRegistry standard XDS uses small subset of standardXDS uses small subset of standard V2.1 vs v3.0V2.1 vs v3.0 Translation of v2.1 to/from v3.0 metadata not difficult for Translation of v2.1 to/from v3.0 metadata not difficult for
subset used by XDSsubset used by XDS
14
Registry AdaptorRegistry Adaptor
Surrounds registry standardSurrounds registry standard
ImplementsImplements Patient Identity Feed transactionPatient Identity Feed transaction Register Document Set transactionRegister Document Set transaction Query Registry transactionQuery Registry transaction Stored Query transactionStored Query transaction
15
Registry Actor TransactionsRegistry Actor Transactions
Patient Identity FeedPatient Identity Feed
RegisterRegister
Query(s)Query(s)
16
Patient Identity Feed transactionPatient Identity Feed transaction
From PIX ManagerFrom PIX Manager
Purpose: Registry only accepts Purpose: Registry only accepts submissions for known patientssubmissions for known patients
IssuesIssues Store in databaseStore in database Store in registryStore in registry A40 (patient id merge) processingA40 (patient id merge) processing
17
Register Document Set transactionRegister Document Set transaction
All submissions are atomicAll submissions are atomic Submission Set ‘wraps’ submissionSubmission Set ‘wraps’ submission
ProcessProcess Validate uniqueIDsValidate uniqueIDs Validate patientIDValidate patientID Validate against XDS metadata rules and Affinity Domain Validate against XDS metadata rules and Affinity Domain
configurationconfiguration Assign UUIDsAssign UUIDs If includes Replacement Documents - verify originalsIf includes Replacement Documents - verify originals Submit to registry engineSubmit to registry engine If successIf success
• ‘‘Approve’ Submission Set, Documents, FoldersApprove’ Submission Set, Documents, Folders• ‘‘Deprecate’ any replaced documentsDeprecate’ any replaced documents
18
Query transaction(s)Query transaction(s)
Query transaction (SQL)Query transaction (SQL) Some XDS queries require multiple simple queries Some XDS queries require multiple simple queries
between Document Consumer and Document between Document Consumer and Document Registry actorsRegistry actors
Stored Query transaction Stored Query transaction (New)(New) All Stored Queries SHALL be implemented as All Stored Queries SHALL be implemented as
single query between Document Consumer and single query between Document Consumer and Document Registry actors.Document Registry actors.
MAY require multiple queries between Registry MAY require multiple queries between Registry Adaptor and ebXML Registry engineAdaptor and ebXML Registry engine
19
Query transactionQuery transaction
Registry
Document Consumer
Query (containing SQL)
RegistryResponse
20
Stored Query transactionStored Query transaction
Registry
Document Consumer
Query (Query#, parameters)
RegistryResponse
21
GetAll query (SQL)GetAll query (SQL)
Registry
Document Consumer
Query 1
RegistryResponse
Query 2
RegistryResponse
Query 3
RegistryResponse
22
GetAll (Stored Query)GetAll (Stored Query)
Registry
Document Consumer
Query (Query#, parameters)
RegistryResponse DB
Adaptor
23
Query transaction(s) (cont)Query transaction(s) (cont)
PRODUCE VALID XML!!!!!!!!!PRODUCE VALID XML!!!!!!!!! XML NamespaceXML Namespace ObjectRefs (ID/IDREF issue in XML)ObjectRefs (ID/IDREF issue in XML) ““google” ‘id/idref’ for details google” ‘id/idref’ for details
24
Query transactionsQuery transactions
Last yearLast year
Query transaction - only choiceQuery transaction - only choice
This yearThis year
Query transaction - optionalQuery transaction - optional
Stored Query transaction - requiredStored Query transaction - required
25
Actors and TransactionsActors and Transactions
Document Source
Document Consumer
Document Registry
Document Repository
Provide&Register
Document Set[ITI-15] →
↑ Register Document S [et ITI-14]
Retrieve Docum ent
[ITI -17] ←
QueryRegistry [ITI-16] ←
Patient Identity Source
Patient Identity Feed [ITI-8] ↓
Registry Stored Query [ITI-18] ←
26
Repository ActorRepository Actor
XML engine neededXML engine needed
TransactionsTransactions Provide and Register Document SetProvide and Register Document Set Retrieve DocumentRetrieve Document
27
Provide and RegisterProvide and Register
FunctionalityFunctionality Annotate metadata - Add size, hash,URIAnnotate metadata - Add size, hash,URI Store documentStore document Generate - Register Document Set transactionGenerate - Register Document Set transaction
DetailsDetails Must manage MIME Type - most web containers map file Must manage MIME Type - most web containers map file
extension -> MIME typeextension -> MIME type Recommend use of uniqueID as a storage IDRecommend use of uniqueID as a storage ID
• Future Web Services based Retrieve transactionFuture Web Services based Retrieve transaction• UUID CAN CHANGE, even if assigned by Document SourceUUID CAN CHANGE, even if assigned by Document Source
Document Source may reuse uniqueID after failureDocument Source may reuse uniqueID after failure Success = local success + registry successSuccess = local success + registry success A submission succeeds or fails - no partial successA submission succeeds or fails - no partial success
28
Retrieve Document Retrieve Document transactiontransaction
Web server outputWeb server output Simple HTTP/GET transactionSimple HTTP/GET transaction
MIME type and size must be correctMIME type and size must be correct
29
New ActorNew Actor
Document Source + Document Repository = Document Source + Document Repository = Integrated Document Source/RepositoryIntegrated Document Source/Repository
Accepts no Provide and Register Accepts no Provide and Register transactionstransactions
For systems that generated documents For systems that generated documents but store them locallybut store them locally
30
Open SourceOpen Source
Ebxmlrr - ebXML Registry implementationEbxmlrr - ebXML Registry implementation V2.1 (no longer supported) and v3.0V2.1 (no longer supported) and v3.0 http://sourceforge.net/projects/ebxmlrrhttp://sourceforge.net/projects/ebxmlrr
IheOs - XDS Registry AdaptorIheOs - XDS Registry Adaptor Based on ebxmlrr v2.1Based on ebxmlrr v2.1 http://sourceforge.net/projects/iheoshttp://sourceforge.net/projects/iheos
RideProject - European project that extends RideProject - European project that extends IheOs to include other infrastructure actorsIheOs to include other infrastructure actors http://sourceforge.net/projects/rideprojecthttp://sourceforge.net/projects/rideproject
31
Testing RepositoryTesting Repository
Test tool acts as Document SourceTest tool acts as Document Source Sends submissions to RepositorySends submissions to Repository Repository configured to generate Register Repository configured to generate Register
transactions to NIST Registrytransactions to NIST Registry Generates log fileGenerates log file
Test tool acts as Document ConsumerTest tool acts as Document Consumer Retrieves documentRetrieves document Generates log fileGenerates log file
32
Testing RegistryTesting Registry
Test toolTest tool Generates Register transactionsGenerates Register transactions Generates Query transactionsGenerates Query transactions Produces log fileProduces log file
Special ‘test’Special ‘test’ Submits ‘GetAll’ querySubmits ‘GetAll’ query Produces log filesProduces log files Documents contents of Registry for a testDocuments contents of Registry for a test
Log files - between 2 and 5 xml files - documents Log files - between 2 and 5 xml files - documents test successtest success
33
Testing ToolsTesting Tools
ToolsTools
Xdstest - command line Java (run anywhere)Xdstest - command line Java (run anywhere) Supporting test dataSupporting test data Test results (log files) - 1 to 5 xml filesTest results (log files) - 1 to 5 xml files For testing behind your firewallFor testing behind your firewall Report testsReport tests
• Zip or Tar result filesZip or Tar result files• Submit via Kudu (test management web tool)Submit via Kudu (test management web tool)
NIST RegistryNIST Registry
34
Testing Testing Support/DocumentationSupport/Documentation
XDS WikiXDS Wiki
http://hcxw2k1.nist.gov/wiki/index.php/XDS_-_Cross-Enterprise_Document_Sharing
ContainsContains Big Picture of XDS Profile TestingBig Picture of XDS Profile Testing Test toolsTest tools Test dataTest data Change log for tests and test dataChange log for tests and test data FAQFAQ
Is Read-only (no anonymous postings)Is Read-only (no anonymous postings)
35
HELPHELP
Developer’s roundtable Wednesday Developer’s roundtable Wednesday afternoonafternoon
Catch in hallCatch in hall
FAQ on wikiFAQ on wiki
emailemail
36
General WarningsGeneral Warnings
You should have started yesterdayYou should have started yesterday
BRING THE SAME CODE YOU TEST PRE-BRING THE SAME CODE YOU TEST PRE-CONNECTATHON TO THE CONNECTATHONCONNECTATHON TO THE CONNECTATHON
BRING THE SAME CODE YOU TEST AT BRING THE SAME CODE YOU TEST AT CONNECTATHON TO SHOWCASECONNECTATHON TO SHOWCASE
Remember to bring your source code to Remember to bring your source code to ConnectathonConnectathon
Don’t laugh…it’s been doneDon’t laugh…it’s been done