Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP...
-
Upload
caroline-ryan -
Category
Documents
-
view
223 -
download
0
Transcript of Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP...
![Page 1: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/1.jpg)
Ewout Kramer, Furore
CIM-based CRUD storage
![Page 2: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/2.jpg)
Architectural context
CDR
Service
v3 v2
?
MEPD
KN
ICIP
v3-R
v3-R
v2
AORTA v3
![Page 3: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/3.jpg)
The nasty CS->RP route...
![Page 4: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/4.jpg)
What we needed
• A generic way to store a Hl7v3 message in a pre-existing database based on RIM....
• It seemed simple, but in januari while discussing it we realized it merited to be a RIMBAA issue...
![Page 5: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/5.jpg)
Object Trees & Nets
• Message: hierarchical
versus
• Storage: cyclic net
![Page 6: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/6.jpg)
Example EHR - stored instances
![Page 7: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/7.jpg)
Example “update” message
![Page 8: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/8.jpg)
Merge away!
• Maybe not probable but a generic algorithm should handle it
• Still...we “feel” this interaction goes beyond its scope
• RMIMs are not designed to Update/Replace/Delete specific children & attributes
![Page 9: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/9.jpg)
A generic merger needs...
• To understand intention of the interaction (activate/revise/record)
• Additional hints hidden in prose of implementation manuals/Ballot
• Know mapping to your EHR-model• Update context
![Page 10: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/10.jpg)
Query Encounter, select
• Act with code “ENC”. With mood EVN.• Which clone in which interaction do you mean?• A_Encounter CMET• A certain template (collection of CIM’s?)
![Page 11: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/11.jpg)
Domain-Driven Design by Eric Evans
“How do we know where an object made up of other objects begins and ends?”
“In any system with persistent storageof data, there must be a scope for a transaction that changes data and a way of maintaining the consistency of the data”
Scope of queries en updates
![Page 12: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/12.jpg)
Aggregates
• Define small CIMs with tight/safe scope, context and semantics
• Define enough CIM’s to cover required domains and no more
• Map interactions to “service level” CRUD operations with these CIMs
![Page 13: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/13.jpg)
Storage model
• Unit of storage– Lock, create, read, update, delete as a whole– CRUD-services
• Only the “root” is public• Explicit references to other data
– Feels like “identifiable” CMET stereotype• Scope of context conduction• Unit of documentation
![Page 14: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/14.jpg)
Interpret interactions & disassemble!
Encounter
CareProv
Consent
Observation
Ass. Entity
Patient
Location
RelatedPsn
Organization
Person Place
![Page 15: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/15.jpg)
We might end up with
![Page 16: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/16.jpg)
Building blocks
• Explicit (CMET) and implicit re-use of structures– Every domain uses implicit picture of a full-fledged
“EHR” DMIM.
• At best, each domain consistently uses this “EHR” DMIM.– Only differ in domain constraints, clonenames
• Reverse-engineer this mega-DMIM, split into more generic “aggregates” which are the building blocks of a CDR.
![Page 17: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/17.jpg)
E_Person universal
![Page 18: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/18.jpg)
R_Patient
![Page 19: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/19.jpg)
Patient Admin DMIM
Lots of overlap with Administrative Registries!
![Page 20: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/20.jpg)
R_RelatedParty
![Page 21: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/21.jpg)
E_ProductKind
![Page 22: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/22.jpg)
![Page 23: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/23.jpg)
E_Person – Storage model
![Page 24: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/24.jpg)
R_Patient – Storage model
![Page 25: Ewout Kramer, Furore CIM-based CRUD storage. Architectural context CDR Service v3v2 ? MEPD KN ICIP v3-R v2 AORTA v3.](https://reader035.fdocuments.net/reader035/viewer/2022062517/56649eef5503460f94bff4a5/html5/thumbnails/25.jpg)