Difference between revisions of "Common Product Model"

From HL7Wiki
Jump to navigation Jump to search
Line 36: Line 36:
 
The SVN repository is at http://gforge.hl7.org/svn/hl7v3/trunk/cpm
 
The SVN repository is at http://gforge.hl7.org/svn/hl7v3/trunk/cpm
  
== Current CPM Technical Corrections ==
+
== CPM Technical Corrections ==
 
Here is a list of issues that require technical corrections to the CPM.  Each point is followed by the proposed correction.
 
Here is a list of issues that require technical corrections to the CPM.  Each point is followed by the proposed correction.
 +
 +
[[Current Technical Corrections]]
  
 
[[Archived CPM Technical Corrections]]
 
[[Archived CPM Technical Corrections]]

Revision as of 18:56, 9 November 2011

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, Regulated Product Submissions, and Drug Product Stability)
  • PHER (for vaccines used in Immunization)

Storyboards

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:

Governance

CPM Governance as adopted during the San Diego WGM Sept 2011

The SVN repository is at http://gforge.hl7.org/svn/hl7v3/trunk/cpm

CPM Technical Corrections

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

Current Technical Corrections

Archived CPM Technical Corrections

R_ProductListed (POCP_RM010100UV)

New Items

1) In the US drug-listing operation, we recently discovered the significance of derivative marketing authorizations. Those are implicit authorizations which are derived from another explicit authorization. One example in the US is "NDA authorized generic", i.e., a distributor sells under their own label as a generic the product that is actually manufactured by the original NDA holder. Such authorized generics do not have their own approval number. Other example is drugs manufactured exclusively for private label distributors. In that case the drug cites the other holder's NDA or ANDA but specifies its own approval as this derivative ("exclusively for PLD"). To support that we had to include the ability for one marketing authorization to refer to another marketing authorization. We used the simple act relationship type 'REFR' for this. The semantics is more specific "derivative marketing authorization" but using 'DRIV' appears to be a stretch as DRIV is used for derived knowledge, not for derived legal instruments. Gunther 15:22, 27 October 2011 (UTC)

From the ISO FDIS for 11615

For "Marketing Authorisation" and "Manufacturing Information"

In A_ProductInformation

1) Facility to indicate the country(ies) that a given marketing authorisation is valid in. This is not the same as the territory that scopes the agency that oversees the marketing authorisation.

QUESTION: Can you please give a use case? We have some of this already, just to make sure now we can use the same structure perhaps or what really is the issue? Gunther 22:12, 11 September 2011 (UTC)

2) Facility to use an additional relationship between a CONTRACT act (the Approval) and a Marketing act to be able to describe the local marketing information that accompanies an approval - possibly a "PERT", please?

OK: We would agree to add an ActRelationship from MarketingAct to Approval meaning that this MarketingAct is happening with the specified Approval. It might be PERT or a better relationship type. Gunther 14:35, 13 September 2011 (EDT)

3) A confidentiality code on the role coming from the Holder participation, to be able to describe the confidentiality of the information about the marketing authorisation holder.

OK: This is easy to do, let's do it. Gunther 22:12, 11 September 2011 (UTC)

4) A Contact Party role and an SDLOC role on the Agency entity, to support the description of any contact parties within the MRA and any alternative locations (for offices of) the MRA. This would be re-used for the Approval information that is associated with the various manufacturing operations that need describing as well (see below).

4.1 - OK: Agency contact party could make sense. Gunther
4.2 - QUESTION: can you give use case scenario for this SDLOC thing? Gunther
more discussion has happened ... one obvious thing to do is to make the dummy-role on the holder participation a real role with scoper and player. It could point to the AssignedEntity role (e.g. POCP_RM303000)

In E_ProductEstablishment

1) We need SDLOC on the Organisation entity, to describe any alternative locations (for offices of) the organisation - primarily to be used when describing various manufacturing scenarios

COMMENT: we already have any level of sub-organization which is used today for multiple establishments, representing offices, importers, why is that not enough and how would you differentiate when to use which role? Gunther 13:23, 12 September 2011 (UTC)

2) We need a role.code on the Contact Party role, to describe the role of the person in the organisation (be that for the marketing authorisation holder organisation or the manufacturing organisation). This will also allow description of QPPV etc.

OK: Very true, I already use these attributes internally in implementation for exactly the same purpose, so yes. Gunther 22:12, 11 September 2011 (UTC)

3) The various manufacturing processes can be described using the ActDefinition in E_ProductEstablishment, but there appears to be no way to describe the formal authorisation and authorisation agency for these processes. Having a relationship to an Approval (contract) act, with its associated author/TA/Agency (plus Contact Party and SDLOC requested above) would meet that requirement.

COMMENT: Interesting, so in the scope of use-cases is facility approval, facility inspection and those issues? Here we have this only implemented for facility registration, i.e., a unilateral declaration of manufacturers of their activity. I don't think that each activity requires approval, for instance, an importer would not require agency approval. Also many facility are fulfilling more than one activity. I think some real use case scenarios would be needed to ensure whatever we add here will be what is really needed (and will really be used). Gunther 13:23, 12 September 2011 (UTC)

For the Clinical Particulars Section

The clinical information described in the ISO FDIS for 11615 is, I think, a little more structured (and codified) than that in SPL, but nevertheless we have found that the structures in A_ProductGuidelines(SPL) are able to accommodate pretty much all of the requirements, which has been very pleasing. Inevitably though, there are just a couple of things......

COMMENT: (Thanks, may be you want to consider that next time in the Pharmacy Committee as well? Gunther)

1) Having the .text attribute added to the SubstanceAdministration1 act would be very helpful, though. Each clinical particualr (be it an indication, CI, DI etc.) has its full text statement as well as its coded decomposition, and it seems that the core SubstanceAdministration1 act .text attribute would be the right place to hold this.

OK: No problem. Gunther 13:23, 12 September 2011 (UTC)

2) Much as I (Julie) am loathe to use the .code attribute on an SBADM act, I think we do have a valid use case for it - on the SubstanceAdministrationCriterion act, to describe whether the "other therapy" is second-line or adjunctive etc.

COMMENT: possibly, but if we were to do this, what would be the starter terminology and how exactly would each term be defined? Doesn't second-line mean do this if the first line fails? If so, isn't this more a concept of a relationship between therapies than an absolute? Or, if you witnessed a "second-line" therapy being administered, would you notice it's "secon-line" nature? If not, this probably does not belong in the SBADM Act itself. Same comment for adjunctive. Are you looking in main SubstanceAdministration1-precondition or Issue-subject? Where I think it might best fit is Protocol if we extend Protocol component target with the choice of Acts besides Monitoring. Gunther 13:23, 12 September 2011 (UTC)

3) In the FDIS, indications and contra-indications share a very similar pattern - and we could model this very nicely - and therefore make the implementation easier to follow for users - if we could use the act relationship CIND - contra-indication - as a choice with RSON (reason) for indication. We realise that this differs from the "Issue" pattern, which we use for Adverse Effects and Interactions. This may need some further discussion.

COMMENT: This is making me smile, because I too thought so way back in 1999, that's why CIND exists. I initially didn't like the Issue stuff as much (but I think you made me do it), but today I think the Issue is simple and powerful to not only say: "don't give this in that situation ..." but also "because if you do then #@*$ may occur". Contraindication and adverse reaction are really just gradual differences and with Issue they meet on an extremely useful middle ground. Gunther 13:24, 12 September 2011 (UTC)

4) There is a lot of use of the EVN.CRT mood, though this is deprecated. Could we review this, please?

QUESTION: What would the non-deprecated way of doing this be? There's some new attribute? Does that really matter if this is all fixed anyway? Gunther 13:24, 12 September 2011 (UTC)

Outstanding Items

R_Substance (POCP_RM080300UV)

New Items

  1. A substance name is a string that needs to have a language designation; it can also have 0...* "types". The Substance entity in the CPM Substance model has name as COLL<TN>; we think that as trivial name, it has lost its ability to have a language designation; suggest that using either EN or ST.NT to carry the text name and the language may be more appropriate?

Outstanding Items

  1. 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.
    CLARIFICATION:
    1. If the substance being described is a T-cell, for example, which would be classified as a “structurally diverse substance”, then the auxiliary substance would be CD4 glycoprotein which would itself have a substance ID. So we’re not describing CD4 here as an interactant, we’re describing it as an auxiliary in the description of a property.
      You can think of the CD4 as a part of the T-cell, a moiety. But I guess (subject to further refinement of this example) you mean here the measurement of strength or quality of Sipuloeucel in terms of CD4. That is a metrological problem, where you measure one thing in terms of another. The question is what do you really need for this? If you specify the measured property as "CD4 linked flow-cytometry" or "anti-CD4 ELISA" or something like that, you do that in the Observation.code (Characteristic.code). What do you gain by referencing another code that means "CD4" somewhere in addition?
    2. In describing a polymer, the defining property might be the degree of binding to a dye that occurs (a bit like titration) and the particular dye would be the auxiliary substance.
      Again that is just a property code "Degree of binding to X-Dye". Only if you have more than 10 or 100 variants of this does it begin to make sense to post-coordinate the property code by moving the substance out.
    3. To describe a nanoparticle, which would be another “structurally diverse substance”, there may be a particular protein that would bind to the nanoparticle, the protein would be the auxiliary substance.
      Same issue, precoordinate this in the property code.
    4. To describe a low molecular weight heparin (bemeparin, dalteparin, enoxaparin), which would be considered a polymer substance, the amount of binding (again a bit like titration) of Factor IIA and/or Factor X could be used as a defining property. The Factor IIA or Factor X would be the auxiliary substances.
      Same issue, there are so many metrologic details that need to be provided to define the property that this post-coordination does not add much.
  2. The Moiety has a mandatory link to the played entity. For Subunits, I have no entity to reference, so this link should not be mandatory. I could just hang an entity since none of the attributes are mandatory, but that seems wrong.
    ANSWER: of course you must have an Entity, the subunit itself. The subunit must be something. Typically a protein subunit is coded on a different gene, so you would even have a different protein id (say if you use UniProt). Even if by "subunit" you mean "domain", such an entity can have and should have an identification, for instance, the UniProt sub-sequences (chains) have feature identifiers.
    REBUTTAL: Well yes I have the subunit, but I have no attributes about the subunit, i.e no ID.
    ANSWER: of course you have attributes about the sub-unit. You definitely will have something saying what the subunit is, e.g., kappa and lambda chains of an antibody. And as the document with example shows, you should assign a local id also, so you can refer to the subunits and describe how they are connected (e.g., by disulfide bonds).
  3. (Related to Completed #7) I have Glycosylation which has a number of characteristics (Type, N, O, C) and they can all repeat. So I still feel that the ability to have a parent characteristic (Glycosylation) with children (Type, N, O, C) is needed.
    ANSWER: still no, glycosylation type should not be a characteristic. It should be a code specified in the Moiety.code or Bond.code, see the document on page 31f (Posttranslational Modification).
    REBUTTAL: From what I understand about Glycosylation, it is a defining type of the Protein - Human, Other mammal, Yeast, Plant, Insect - they all produce completely different substances even if everything else about the protein is the same. So it does not belong in the Moiety.code or Bond.code as it is specific to the overall substance.
    ANSWER: Glycosylation is not a "defining type of a protein". It is a complex glycane (sugar-structure) that is linked at an N, O, or C atom on various amino acids. The glycane structure is a complex tree structure and usually not completely described (although some people in Glycoproteomics study the nature of these). The Glycane structure is different in different cells, so when you have recombination insulin in E. coli or Yeast, the glycane structures will be different. Of course when you change even one atom on a protein you will have a "different substance", but I don't understand the significance of "they all produce completely different substances", because without recombinant human DNA, the protein will be different. So, I don't understand what your rebuttal is saying and how it is relevant. What I said is that the glycosilation is the substitution of a glycane and that means a bond between a glycane and the protein. The Bond type will let you say things about the nature of the bond, i.e., N, O, C glycosylation is said there. Please refer to the document, it is described there with pictures.


Comments for Drug Stability Reporting:

Stability reporting has been identified as a POCP_DM010000UV stakeholder whose reporting needs were to be explored. While attending the Fall 2010 Working Group Meeting, the stake holders of Drug Stability Reporting were not heard due to time limitations. We are noting our exception to the model in it current form because it does not address the notion of substance as it is understood in stability testing. The model is focus on how the product presents itself to the patient as an administered product. This in turn makes the substance an administered substance. This does not correlate to stability testing, where the substance (Active Pharmaceutical Ingredient) is a manufactured material, which is similar to a product. There are, however differences between a substance and product that precludes using the Product ProductKind when dealing with substances.

Please refer to the Stability Study RMIM. Notice that the message has a choice to report on a substance or a product. Nowhere in POCP_DM010000UV is this choice available. The choice determines the use of other elements and attributes. Most importantly a substance will be an instance of an ingredientManufacturedMaterial with a lot number, existence time and a retest time. We do not think you adequately model the Substance as a ManufactureMateial.