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

Persistence Models versus Interoperability Models

From HL7Wiki
Jump to navigation Jump to search


HL7 has the methodology in place to create 'models for interoperability'. RIMBAA implementers that deal with RIM-based persistence have to deal with 'models for persistence'. These are not the same (see example below).


  1. Do we need to add 'persistence models' to the HL7 methodology?


Example #1: (based on Context Conduction of participations, there are other kinds of examples). The models above are 'models for interoperability'.

  1. Let's assume that the SIM/R-MIM shown is a service payload model and that there are no wrappers. The instance on the wire may have, as shown above, [0..5] participations on Act, and [0..3] participations on Observation.
    • On persisting this instance, context conduction may be decomposed (as described in this issue xxx), which means that the persisted object structure has [0..5] participations on Act, and [0..8] participations on Observations.
  2. The template/LIM shown above specifies a constraint on the SIM/R-MIM. It is a constraint on a 'model of interoperability', and not on the 'model for persistence'.
    • This is often ill understood within HL7 and by HL7 implementers. the template does NOt defined that there will always be exactly 1 author for the Observation, because one could still inherit stuff from elsewhere in the model.
    • If the template applies, as stated above, then the cardinality (in the model for persistence) of the author participation on Observation is [1..6] (the template constrains the [0..3] cardinality).