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

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?
DONE: 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. --Jduteau 23:06, 18 November 2010 (UTC)
  • 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)
CLARIFICATION: 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.
DONE: Relates to a specific product with form, etc. all part of the product description. Now, if you say the authorization relates to a "classification" then I think you really mean "indication", or "purpose" for which the product is approved. Currently this is held together by the product document, the label, that is approved. I have added the subjectOf participation to the specializedKind role. Gunther 14:09, 29 November 2010 (UTC)
  • We need to have the address of the governing agency address.
DONE 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 and country where a measurement was made.
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.
CLARIFICATION: In the US there is an inhaler that is measured by dose that reaches the mouth whereas in Europe exactly the same product is measured at the point the dose leaves the spray. The values are simiilar but different so there effectivly 2 different strengths which are equivalent if you use common measurement measures. Hence a need to express measurement point and countrry. After rethinking this, I believe that I can map this as a characteristic of the ingredient.
DONE: I agree with you, these fine details can be done with those characteristics. Gunther 14:09, 29 November 2010 (UTC)

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?
CLARIFICATION: I have a Protein Substance that has information about the sequence. There are characteristics that are all about the sequence. As well, each sequence has a number of sub-units and each sub-unit has a number of characteristics. So it would be nice to tie all of the sub-unit characteristics together and I believe that it is necessary to indicate that each subunit set pertains to the sequence.
ANSWER: Subunits are different Moieties. You put characteristics onto the molecular part that they pertain to, not on the higher order molecular complex. So, it is actually good that you do not have these characteristics structures, because they make you focus on modeling the molecule, not the information about it. Gunther 14:09, 29 November 2010 (UTC)
  • 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)
DONE --Jduteau 23:07, 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?
CLARIFICATION: current, alternate, superceded
DONE: The specification of what name you need to use under what circumstances is carried by the Policy that you can associate with the Identified(Named)Entity role. If these policies are outdated, or say that you can use a name as an alternative or not any more, would all be handled by Policy. Also added statusCode and effectiveTime into NamedEntity and IdentifiedEntity roles, with a note to use Policy for fine control. Gunther 14:09, 29 November 2010 (UTC)
  • 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
CLARIFICATION: antigen ID was one example - the generic use case is "Substance related to a property that is not the substance being described". And the problem with your solution is that I have a property of the substance and this property is related to an antigen and I need to provide the antigen ID.
QUESTION: this clarification does not show any additional need. Your antigen ID is supported. "Substance related to a property" -- there are many ways by which substances can relate to properties of other substances. You need to be specific on the use cases. Give all the examples that you have, likely they are modeled in a few different patterns.
  • 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.
DONE--Jduteau 23:07, 18 November 2010 (UTC)
  • 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?
CLARIFICATION: Yes, there is a need to provide the reference documentation for a characteristic value, so subjectOf relationship to Document.
DONE Gunther 14:09, 29 November 2010 (UTC)
  • We have processSteps that have sub-processSteps. SubstanceSpecification does not allow this.
DONE Gunther 00:51, 18 November 2010 (UTC)