This wiki has undergone a migration to Confluence found Here

Common Product Model

From HL7Wiki
Jump to navigation Jump to search

This page will be used to discuss the content and publication of the Common Product Model.

Ambitions & Scope

The Common Product Model (CPM) will be an overarching domain information model relating to the HL7 v3 modeling of any kind (or instance) of a 'product'. The definition of the term product is intentionally kept loose at this point, but will definitely include:

  • Medication, incl. vaccines
  • Devices used in medical services
  • Anything else a person can be exposed to

The CPM is set up as a joint initiative within HL7 project, 'sponsored' by the O&O work group.

The following stakeholders have been identified:

  • Pharmacy (for Medication and possibly for devices)
  • Patient Safety (for Individual Case Safety Reports)
  • RCRIM (for Structured Product Labeling and Regulated Product Submissions)
  • PHER (for vaccines used in Immunization)


This space will list a number of storyboards that relate to the different perspectives on what a product is and how it is used.

These storyboards are divided into groups:

Current CPM Technical Corrections

Here is a list of issues that require technical corrections to the CPM. Each point is followed by the proposed correction.

R_ProductListed (POCP_RM010100UV)

  • There are a number of Marketing Authorization Dates: First Authorization Date, Renewal Date, Variation Date, Withdrawal Date, Expiry Date
    • Provide a recursive COMP relationship from an authorization to itself.
DONE Gunther 16:33, 17 November 2010 (UTC)
  • Each Marketing Authorization produces a GTIN
    • Provide a SubjectOf shadow from IdentifiedEntity.
DONE Gunther 16:33, 17 November 2010 (UTC)
  • IdentifiedEntity needs an effectiveTime
DONE Gunther 16:33, 17 November 2010 (UTC)
  • SubjectOf needs a time to indicate when the relevant product information took effect
QUESTION: such time range would be provided by the connected Act, wouldn't it?
REMOVED: My thought was that the effectiveTime of the document could be different from the time when it was attached to the product. But now that I look at it, I don't think that distinction makes sense.
  • We need to indicate the dose form and the product classification that the marketing authorization pertains to.
QUESTION: that is already supported because the Approval is connected to a Role whose player Entity has a dose form and can have classifications. Gunther 00:51, 18 November 2010 (UTC)
ANSWER: the authorization pertains to a specific form and classification. I'm unsure which Role you are referring to as the one with ProductEstablishment doesn't let me detail this.
  • We need to have the address of the governing agency address.
ADDED Gunther 00:51, 18 November 2010 (UTC)
  • How to tie the Marketing Authorization Procedure to the marketing authorization.
ANSWER: the procedure may be reflected in the Approval.code, as it is in the U.S. or you might use the new Approval components to represent these procedures and other smaller actions.
  • How do we indicate the point where a measurement was made.
QUESTION: What point? Example please?
ANSWER: I am getting clarification from EMA on this.
  • How do we indicate a country or countries where an Ingredient Strength quantity is valid.
ANSWER: ingredient strength is connected to a product and if the strength is different, then it is a different product. The country-specificity can be done with the Approval act.

R_Substance (POCP_RM080300UV)

  • There needs to be a way to link characteristics to each other - either as a grouping of related characteristics or as a parent/child relationship.
QUESTION: It's easy to add this, but there should be at least one use case. What is it?
  • How to indicate the Gene and the specific Gene element that a Substance is derived from?
ANSWER: IdentifiedSubstance - productOf - DerivationProcess - interactor - IdentifiedSubstance Gunther 00:51, 18 November 2010 (UTC)
  • We have a status and domain of names.
ANSWER: for domain: NamedEntity - subjectOf - Policy Gunther 00:51, 18 November 2010 (UTC)
QUESTION: for "status", what are those statuses?
  • Many codes have a status and change date of the code.
QUESTION: which codes? the "last change date" is a database-ism that does not really do much, in most cases you can refer to the Document that contains the change if you wanted to.
  • Need to indicate a substance that is related to a characteristic (antigen ID for cells)
ANSWER: this is what Interaction is for: antibody - interactsIn - Interaction[Ab-Ag-binding] - interactor - antigen
  • How to indicate what the amount of a moiety is (mole ratio, weight percent) - this may be similar to the "Amount Type" that is present on all amounts.
ANSWER: the Role.quantity gives you a ratio, if you put there 1 mol : 1 mol it's a mole-ratio, if you put 1 g : 1 g it's a mass ratio.
  • We need a "SubjectOf" relationship on the NamedEntity to indicate reference information for the names.
DONE Gunther 00:51, 18 November 2010 (UTC)
  • How to indicate how much of a substance is related to a substance specification's observation?
QUESTION: not clear what is being asked for, use case please? The observation on Substance specification is for analytical data. That would typically be presented as some concentration (umol/L, ug/L, ppm, etc.)
  • Need to provide documentation of a characteristic.
QUESTION: use case please? Do you mean the subjectOf relationship to Document should be added?
  • We have processSteps that have sub-processSteps. SubstanceSpecification does not allow this.
DONE Gunther 00:51, 18 November 2010 (UTC)