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)
  • 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?
  • 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)