This wiki has undergone a migration to Confluence found Here
Difference between revisions of "SMIRF"
Jump to navigation
Jump to search
Rene spronk (talk | contribs) |
Rene spronk (talk | contribs) |
||
Line 4: | Line 4: | ||
#An SPM 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 SPM instance. An SPM may contain identifiers (as references) to other SPMs. | #An SPM 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 SPM instance. An SPM may contain identifiers (as references) to other SPMs. | ||
#Context has been resolved, conducted context is present in the data model | #Context has been resolved, conducted context is present in the data model | ||
+ | #An SPM instance will contain a fully resolved updated version of the SPM if update mode was used. | ||
+ | #An SPM 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. | ||
#SPM is used as the atomic persistence model; SPM-instances are versioned. | #SPM is used as the atomic persistence model; SPM-instances are versioned. | ||
#*In a services environment CRUD services exist based on SPMs. Business services are composed of SPM CRUD services. | #*In a services environment CRUD services exist based on SPMs. Business services are composed of SPM CRUD services. |
Revision as of 09:46, 24 September 2010
Definition: A SPM (Small Pattern Model) is a logical data model that has the following characteristics:
- It is a SIM, with 1 entry point
- An SPM 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 SPM instance. An SPM may contain identifiers (as references) to other SPMs.
- Context has been resolved, conducted context is present in the data model
- An SPM instance will contain a fully resolved updated version of the SPM if update mode was used.
- An SPM 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.
- SPM is used as the atomic persistence model; SPM-instances are versioned.
- In a services environment CRUD services exist based on SPMs. Business services are composed of SPM CRUD services.
A SPM has the following relationships to other data models:
- RIM:
- DIM (aka D-MIM): a D-MIM, or a set of D-MIM may serve as a source for the creation of SPMs. A D-MIM can be split into its component SPMs.
- SIM (aka R-MIM/CMET): a SPM is the equivalent of an R-MIM/SIM/CMET in the HDF. An R-MIM, or a set of R-MIMs may serve as a source for the creation of SPMs. An R-MIM can be split into its component SPMs.
- DCM: the boundaries are drawn for different reasons, there might probably be an assessment scale spm, while this would be used for many dcms, so then there is clearly no 1-1 relationship.
- LIM: In RIM/HDF terms a SPM is an expressed model (an R-MIM/SIM), not an applied model (LIM).
Criteria for splitting a larger data model in SPMs, i.e. criteria for the scope of SPMs include:
- Any association where propagation is turned off forms a boundary
- Any participation with a CMET forms a boundary
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' 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.