Metadata Patterns

From IHEWiki

Jump to: navigation, search

Contents

Submission Set containing a Single Document

This pattern includes

  • XDSSubmissionSet object
  • XDSDocumentEntry object
  • Association object with
    • sourceObject attribute referencing the submission set object
    • targetObject attribute referencing the document entry object
    • associationType attribute of HasMember

Key things to remember

The XDSSubmissionSet and XDSDocumentEntry must have

  • Unique values for their respective uniqueId attributes
  • The same value for their respective patient ID attributes

An annotated example of the ProvideAndRegister.b transaction submitting this content is found here.

Submission Set containing Two Documents

This pattern includes

  • XDSSubmissionSet object
  • 2 XDSDocumentEntry objects
  • Association object with
    • sourceObject attribute referencing the submission set object
    • targetObject attribute referencing the first document entry object
    • associationType attribute of HasMember
  • Association object with
    • sourceObject attribute referencing the submission set object
    • targetObject attribute referencing the second document entry object
    • associationType attribute of HasMember

Key things to remember

The XDSSubmissionSet and XDSDocumentEntry must have

  • Unique values for their respective uniqueId attributes
  • The same value for their respective patient ID attributes

Submission Set containing a Single Folder

This pattern includes

  • XDSSubmissionSet object
  • XDSFolder object
  • Association object with

Key things to remember

The XDSSubmissionSet and XDSFolder must have

  • Unique values for their respective uniqueId attributes
  • The same value for their respective patient ID attributes

Submission Set containing a Single Folder with initial Document

This pattern includes

  • XDSSubmissionSet object
  • XDSFolder object
  • XDSDocumentEntry object
  • Association object with
  • Association object with
    • sourceObject attribute referencing the submission set object
    • targetObject attribute referencing the document object
    • associationType attribute of HasMember
  • Association object with
  • Association object with
    • sourceObject attribute referencing the submission set object
    • targetObject attribute referencing the folder-to-document association object
    • associationType attribute of HasMember

Key things to remember

The XDSSubmissionSet and XDSFolder and XDSDocumentEntry must have

  • Unique values for their respective uniqueId attributes
  • The same value for their respective patient ID attributes

Document Replace

This pattern includes

  • XDSSubmissionSet object
  • XDSDocumentEntry object
  • Association object with
    • sourceObject attribute referencing the submission set object
    • targetObject attribute referencing the document entry object
    • associationType attribute of HasMember
  • Association object with
    • sourceObject attribute referencing the document entry object
    • targetObject attribute referencing an existing document entry object in the registry
    • associationType attribute of RPLC

Key things to remember

The document being replaced must already be present in the registry and its reference, in the targetObject attribute of the RPLC association, will be the UUID of that object in the registry. It is typical to have to issue a query to discover this UUID so it can be coded in the RPLC association.

The document being replaced shall be deprecated by the registry (have its status set to 'Deprecated') by the document replace operation.

Document Addendum

This pattern includes

  • XDSSubmissionSet object
  • XDSDocumentEntry object
  • Association object with
    • sourceObject attribute referencing the submission set object
    • targetObject attribute referencing the document entry object
    • associationType attribute of HasMember
  • Association object with
    • sourceObject attribute referencing the document entry object
    • targetObject attribute referencing an existing document entry object in the registry
    • associationType attribute of APND

Key things to remember

The document being appended to must already be present in the registry and have Approved status and its reference, in the targetObject attribute of the APND association, will be the UUID of that object in the registry. It is typical to have to issue a query to discover this UUID so it can be coded in the APND association.

The document being appended to shall NOT be deprecated by the registry (have its status set to 'Deprecated') by this operation.

Document Transformation

This pattern includes

  • XDSSubmissionSet object
  • XDSDocumentEntry object
  • Association object with
    • sourceObject attribute referencing the submission set object
    • targetObject attribute referencing the document entry object
    • associationType attribute of HasMember
  • Association object with
    • sourceObject attribute referencing the document entry object
    • targetObject attribute referencing an existing document entry object in the registry
    • associationType attribute of XFRM

Key things to remember

The document being transformed must already be present in the registry and have Approved status and its reference, in the targetObject attribute of the XFRM association, will be the UUID of that object in the registry. It is typical to have to issue a query to discover this UUID so it can be coded in the XFRM association.

The document being transformed shall NOT be deprecated by the registry (have its status set to 'Deprecated') by this operation.

Submit a new document and add it to an existing folder

This pattern included

  • SubmissionSet object
  • DocumentEntry object
  • Association object with
    • sourceObject attribute referencing SubmissionSet object
    • targetObject attribute referencing DocumentEntry object
    • associationType attribute of HasMember
  • Association object with
    • sourceObject attribute referencing the existing Folder
    • targetObject attribute referencing the new DocumentEntry object
    • associationType attribute of HasMember
  • Association object with
    • sourceObject attribute referencing the SubmissionSet
    • targetObject attribute referencing the Folder-to-DocumentEntry Association
    • associationType attribute of HasMember

These Associations have the following purposes:

  • Make DocumentEntry part of the Submission Set
  • Make DocumentEntry part of the Folder
  • Make the Folder-to-DocumentEntry Association part of the SubmissionSet. Since Folders and DocumentEntry objects can be submitted independent of each other and then the DocumentEntry can be added to the Folder at the time of submission of either or as a separate act, this Association indicates the SubmissionSet responsible for adding the DocumentEntry to the Folder.

Add an existing DocumentEntry to and existing Folder

This pattern includes

  • SubmissionSet object
  • Association object with
    • sourceObject attribute referencing the existing Folder
    • targetObject attribute referencing the existing DocumentEntry
    • associationType attribute of HasMember
  • Association object with
    • sourceObject attribute referencing the SubmissionSet
    • targetObject attribute referencing the Folder-to-DocumentEntry Association
    • associationType attribute of HasMember

These Associations have the following purposes:

  • Make the existing DocumentEntry a member of the existing Folder
  • Make this association part of the SubmissionSet

Replace an existing DocumentEntry which is part of an existing Folder

This pattern includes

  • SubmissionSet object
  • Association object with
    • sourceObject attribute referencing the SubmissionSet object
    • targetObject attribute referencing the DocumentEntry object
    • associationType attribute of HasMember
  • Association object with
    • sourceObject attribute referencing the DocumentEntry object
    • targetObject attribute referencing the existing DocumentEntry object to be replaced
    • associationType attribute of RPLC

The Document Registry actor must, as a side effect, generate additional metadata. For each Folder that the existing DocumentEntry is a member of:

  • Association object with
    • sourceObject attribute referencing the Folder object
    • targetObject attribute referencing the DocumentEntry object
    • associationType attribute of HasMember
  • Association object with
    • sourceObject attribute referencing the SubmissionSet object
    • targetObject attribute referencing the Folder-to-DocumentEntry object
    • associationType attribute of HasMember

A replacement DocumentEntry object is automatically made part of the same folders that held the original DocumentEntry object (first Registry generated association). Association linking a DocumentEntry object to a Folder must have the secondary Association it to the responsible SubmissionSet (even if the Folder to DocumentEntry association is generated by the Registry actor as in this example).

Association

The most-used association is HasMember which is used to make a DocumentEntry (ExtrinsicObject) part of a SubmissionSet (RegistryPackage). The ExtrinsicObject and RegistryPackage must be coded with id attributes:

<ExtrinsicObject id="eo" 
        objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1"/>

Here eo is a symbolic id that will eventually be replaced by a UUID before being stored in a Document Registry. Note that these examples do not show the contents of the ExtrinsicObject or RegistryPackage objects. The Submission Set wrapper is

<RegistryPackage id="ss"
        objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:RegistryPackage"
>
    <Classification classificationNode="urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd"
        objectType="urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"
        classifiedObject="ss" id="ss1_classid"/>
</RegistryPackage>

The classification labels the RegistryPackage as a Submission Set.

To make the ExtrinsicObject part of the RegistryPackage add:

<Association associationType="urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember" sourceObject="ss"
    targetObject="ep" id="ID_446196_2">
    <Slot name="SubmissionSetStatus">
        <ValueList>
            <Value>Original</Value>
        </ValueList>
    </Slot>
</Association>

An association reads like a simple sentence: the sourceObject HasMember targetObject, so this association makes the ExtrinsicObject eo a member of the RegistryPackage ss. Note the namespace prefix on the associationType attribute. Also, the SubmissionSetStatus slot is required when submitting a DocumentEntry/ExtrinsicObject.

Other association types are:

RPLC (replace)
APND (append)
XFRM (transform)

Associations are discussed in TF Volume 3 section 4.1.6 Document Relationships and Associations.

Association Types

Association Types are coded differently in XDS.a and XDS.b. For example, the HasMember associationType is

  • HasMember in XDS.a
  • urn:oasis:names:tc:ebxml-regrep:AssociationType:HasMember in XDS.b

Object Reference

One object references another by coding its id attribute

<ExtrinsicObject id="Document" ...
<Association targetObject="Document" ...

The targetObject attribute of the Association references the ExtrinsicObject.

Personal tools