This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "SMIRF"

From HL7Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
[[Category:RIMBAA Issue]]
 
[[Category:RIMBAA Issue]]
Definition: A '''Small Independent Rim Fragment (SMIRF)''' is a logical data model that has the following characteristics:
+
Definition: A '''Small Isolated Rim Fragment (SMIRF)''' is a logical data model that has the following characteristics:
 
#It is a [[SIM]], with 1 entry point. In terms of the HDF it is an 'expressed model'.
 
#It is a [[SIM]], with 1 entry point. In terms of the HDF it is an 'expressed model'.
 
#An SMIRF instance is 'externally identifiable' by means of the identifier of its entry object, none of the other identifiers for other objects serve to identify an SMIRF instance. An SMIRF may contain identifiers (as references) to other SMIRFs.
 
#An SMIRF instance is 'externally identifiable' by means of the identifier of its entry object, none of the other identifiers for other objects serve to identify an SMIRF instance. An SMIRF may contain identifiers (as references) to other SMIRFs.
Line 8: Line 8:
 
#*The context determines how objects are to be identified; see issues discussed on the [[Object identity]] page. Notably for Roles some kind of agreement between creator/sender and processor/receiver has to be in place.  
 
#*The context determines how objects are to be identified; see issues discussed on the [[Object identity]] page. Notably for Roles some kind of agreement between creator/sender and processor/receiver has to be in place.  
 
#SMIRF is used as the atomic persistence model; SMIRF-instances are versioned.
 
#SMIRF is used as the atomic persistence model; SMIRF-instances are versioned.
#*In a services environment [[CRUD]] services exist based on SMIRFs. Business services are composed of SMIRF CRUD services.  
+
#*In a services environment Entity-level services exist based on SMIRFs. Business services are composed of those Entity-level services.  
  
 
DISCUSSION: Peter thinks of SMIRFs as being 'self contained, "safe for querying" clinical statements". Ewout doesn't have this as a requirement, he's seeking for modeling patterns. Currently a '''Safe SMIRF''' is a subset of all possible '''SMIRFs'''; or a '''Safe SMIRF''' is a composition of more granular '''SMIRFs'''.
 
DISCUSSION: Peter thinks of SMIRFs as being 'self contained, "safe for querying" clinical statements". Ewout doesn't have this as a requirement, he's seeking for modeling patterns. Currently a '''Safe SMIRF''' is a subset of all possible '''SMIRFs'''; or a '''Safe SMIRF''' is a composition of more granular '''SMIRFs'''.
Line 23: Line 23:
 
*Ewout: lock/create/read/update/delete as a whole. Explicit references to other data (feels like "identifyable" CMET stereotype). Also is the maximum scope for context conduction (if a big model blocks context conduction, then it's probably a boundary of a SIM/LIM), and serves as the unit for documentation. Only the "root object" is referencable, otherwise the management of references and integrity will become unmanagable.
 
*Ewout: lock/create/read/update/delete as a whole. Explicit references to other data (feels like "identifyable" CMET stereotype). Also is the maximum scope for context conduction (if a big model blocks context conduction, then it's probably a boundary of a SIM/LIM), and serves as the unit for documentation. Only the "root object" is referencable, otherwise the management of references and integrity will become unmanagable.
 
*How does one find these atomic SIM/LIMs? There is, although not explcietely so, an EHR DMIM. Provides consistency. CMETs quite often too large, need to find smaller parts.
 
*How does one find these atomic SIM/LIMs? There is, although not explcietely so, an EHR DMIM. Provides consistency. CMETs quite often too large, need to find smaller parts.
**ACTION: Ewout to write a draft checklist on methods to find 'small pattern models' to be used in CRUD services, based in part on the book by Eric Evans. Determine in how far the methods on the checklist impact the "safety" of the models.
+
**ACTION: Ewout to write a draft checklist on methods to find 'small pattern models' (aka SMIRF) to be used in CRUD services, based in part on the book by Eric Evans. Determine in how far the methods on the checklist impact the "safety" of the models.

Revision as of 23:41, 8 October 2010

Definition: A Small Isolated Rim Fragment (SMIRF) is a logical data model that has the following characteristics:

  1. It is a SIM, with 1 entry point. In terms of the HDF it is an 'expressed model'.
  2. An SMIRF instance is 'externally identifiable' by means of the identifier of its entry object, none of the other identifiers for other objects serve to identify an SMIRF instance. An SMIRF may contain identifiers (as references) to other SMIRFs.
  3. Context has been resolved, conducted context is present in the data model
  4. An SMIRF instance will contain a fully resolved updated version of the SMIRF if update mode was used.
  5. An SMIRF instance will contain a fully resolved version of objects that were included 'by reference'
    • The context determines how objects are to be identified; see issues discussed on the Object identity page. Notably for Roles some kind of agreement between creator/sender and processor/receiver has to be in place.
  6. SMIRF is used as the atomic persistence model; SMIRF-instances are versioned.
    • In a services environment Entity-level services exist based on SMIRFs. Business services are composed of those Entity-level services.

DISCUSSION: Peter thinks of SMIRFs as being 'self contained, "safe for querying" clinical statements". Ewout doesn't have this as a requirement, he's seeking for modeling patterns. Currently a Safe SMIRF is a subset of all possible SMIRFs; or a Safe SMIRF is a composition of more granular SMIRFs.

Criteria for splitting a larger data model (DIM/SIM) in SMIRFs, i.e. criteria for the scope of SMIRFs include:

  • Any association where propagation is turned off forms a boundary
  • Any participation with a CMET forms a boundary

Note that the boundaries in a DCM are drawn for different reasons, there might probably be an assessment scale SMIRF, while this would be used for many dcms, so then there is clearly no 1-1 relationship.

Discussion

  • (from the minutes of the RIMBAA meeting in Rome in September 2010):
  • Ewout: lock/create/read/update/delete as a whole. Explicit references to other data (feels like "identifyable" CMET stereotype). Also is the maximum scope for context conduction (if a big model blocks context conduction, then it's probably a boundary of a SIM/LIM), and serves as the unit for documentation. Only the "root object" is referencable, otherwise the management of references and integrity will become unmanagable.
  • How does one find these atomic SIM/LIMs? There is, although not explcietely so, an EHR DMIM. Provides consistency. CMETs quite often too large, need to find smaller parts.
    • ACTION: Ewout to write a draft checklist on methods to find 'small pattern models' (aka SMIRF) to be used in CRUD services, based in part on the book by Eric Evans. Determine in how far the methods on the checklist impact the "safety" of the models.