Recommendation for HL7 RIM and/or Vocabulary Changes RECOMMENDATION ID1: For Harmonization During: MAR2010 SUB1 Sponsor’s Draft3: Sponsored by2: OO Date Approved by Sponsor: 2010-02-11 1 Sponsor’s Status4 Pending Editor/ Author: Gunther Schadow PROPOSALNAME: Substance Vocabulary Class Model Change Datatypes Change Structural Vocabulary Change Other Vocabulary Change SUMMARY RECOMMENDATION This is adding vocabulary domains as needed for completing the Substances CMET ballot preparation. Mostly external code systems will be used for the content. However, there are some additions to structural codes required. VOCABULARY OBJECTS CHANGE SUMMARY <<REQUIRED – fill in the numbers in the rightmost three columns that total the number of vocabulary changes in the proposal. This is used to cross-check the accuracy of capturing and applying the requested changes>> Abbrev. Description # to add # to remove # to change D Concept Domains 12 2 S Code Systems 4 C Concept Codes in a Code System 5 V Value Sets 2 2 B Context Bindings POSITION OF CONCERNED ORGANIZATIONS: <<REQUIRED - This table should contain one row for each organization (e.g., TC, SIG, other SDO) known to be interested, and should outline any consultation with – and feedback from – the organization. Overwrite the examples below. >> ORG RECOMMENDATION APPROVAL STATUS AFFECTED ELEMENTS OF INTEREST TO ORG OO - Primary Sponsor CPM project members Pharmacy WG, Patient Safety WG Joint ISO IDMP project team SPL Industry Working Group Pending All Content being circulated, to be endorsed for ballot with the entire ballot package. All Content being circulated, to be endorsed for ballot with the entire ballot package. May be an interested party Drug and Substances All ISSUE: 1 identifier by which proposal is known to sponsor must be sponsored by an HL7 TC, the HL7 International Committee, an HL7 SIG, or an ANSI or ISO accredited SDO 3 for sponsor tracking only; not for Harmonization identification 4 for sponsor tracking only, Sponsor’s status must be “Approved” for submission to Harmonization 2 Recommendation for HL7 RIM Change (continued) There is new ballot content being developed and specific vocabulary domains need to be created. Those are simple and trivially related to the attribute definitions. For the Substances project, there are some structural code changes required, a few new Participation types, a few Role class codes, and Act class codes, and Entity classes. CURRENT STATE: The existing approach has been to use existing, more general vocabulary domains and place a Note box into the RMIMs to indicate where further specific domains need to be added. In this ballot we intend to bring all the necessary detail forward in time for harmonization. OPTIONS CONSIDERED: We are very aware of using code rather than class code wherever possible and our decisions to add structural codes are conservative after having considered reusing generic alternatives. RATIONALE: To specifically support the new ballot content, these code systems are required. The final submission of this harmonization will be supported with details from models that are going into the ballot. RECOMMENDATION DETAILS: New Vocabulary Domains MoleculePartRoleType is-a Part includes code moiety MOIT, parent of Active Moiety, ACTM. (see also a the Partitive Role class code revision proposal) Molecular entity classes: - MolecularEntity – any molecular entity or compound or complex - SmallMoleculeEntity – small molecules are most metabolites and signaling substances (except if peptide hormone) defined, pharmaceutical compounds and all their building blocks, including individual elements. - ElementNuclideEntity – The chemical elements (periodic system) in general and their specific isotopes. - AminoAcidEntity – An amino acid molecule (one of 20 plus some odd ones, including all possible modifications.) - NucleotideEntityType – One of the 5 base nucleotides (Adenosine, Guanosine, Cytidine, Thymidine, and Uracil) - PolymerEntityCode - A macro-molecule, the structure of which essentially comprises the multiple repetition of units derived, actually or conceptually, from molecules of low relative molecular mass. (IUPAC Gold Book) - AminoAcidSequenceEntityCode – A polymer consisting of Amino Acid components chained together in a linear fashion through peptide bonds. Includes short peptides and sequences of any length (proteins). - NucleicAcidSequenceEntityCode – A polymer consisting of ribonucleic acids (RNA and DNA). - PolysaccharideEntity – A polymer consisting of saccharide (sugar-like, carbohydrate) components joined together by glycosidic bonds often in chains and branches, includes starch, cellulose, chitin and glycanes. - ComplexMolecularEntity - A molecular entity that combines several other molecular entities of same or different kinds. Includes protein complexes, protein RNA complexes, lipoproteins. The exact structure of complex molecular entities can sometimes not be defined exactly. Parts of molecules (i.e., sub-units) are often considered molecules even though they may not exist independent from the whole or are highly instable as radicals. One may argue whether a Recommendation for HL7 RIM Change (continued) radical should be considered to be the same kind of entity as the same structure bound to a whole molecule (they certainly act very differently), however, existing external code systems do not necessarily make the distinction. The rationale for defining these sets is that they are described differently (e.g., simple element symbol, structure formula, sequence notation), and are enumerated in different external code systems (e.g., Element symbols, Amino Acid and Ribonucleic Base symbols, ChEBI for small molecules, IPI for proteins, EntrezGene for Genes, etc.) MolecularPartTypeCode - MolecularPartTypeCode – the different aspects by which molecules may be actually or conceptually composed or divided into sub-units. o AminoAcidSequencePartTypeCode – e.g., subunit, domain, signaling peptide o NucleicAcidSequencePartTypeCode – e.g., promoter, open reading frame, etc. o MolecularBondRoleType – specifies the nature by which a molecular sub-unit is connected to a whole molecule, e.g. a glycane polysaccharide may be joined to an Amino Acid (AminoAcidSequencePartType) through an N- or O- link. Even though arbitrary and relative, one can consider this the Glycane to be a part of the Amino-Acid-Glycane compound, the amino-acid glycane compound being a part of the overall molecule. Value Sets - ActiveMoietyEntityCode – a molecule or part of a molecule which is comprised of the MolecularEntityTypes recognized as having a known pharmacological effect. New Structural Codes MolecularParticipationType - substrate - DIR o input - SBJ o output - PRD - catalyst – PRF? - co-factor - DIR - modulator - DIR o (non-competitive) inhibitor o effector Acts - MolecularInteraction o Transcription - creating mRNA from a DNA (gene) o Translation – creating an AminoAcidSequence from mRNA o Post-TranslationalModification Cleavage – e.g., hydrolysis of a peptide Addition – glycosylation, phosphorylation o ReceptorBinding - SubstanceCharacteristic (Observation), a domain including, probably from LOINC: o ChemicalStructure - SMILES, MolFile, InChi - ED o MolecularFormula - CV “structured” code system o - SumFormula, e.g. “C2H5OH” o - NucleicAcidCode, e.g. “GTAATCTGTATGTA...” o - AminoAcidCode, e.g., “MPATCHLLIAT…" o Stereochemistry - CV - racemic, meso, mixed, axial, absolute o OpticalActivity - CV - +, -, +/o MolecularMass - PQ ~ 1 g/mol o pH - PQ ~ 1 [pH] Recommendation for HL7 RIM Change (continued) o o viscosity - PQ enzymatic activity - PQ ~ 1 mol/s DISCUSSION: These proposals are not forwarded in a hurry or in a vacuum. Parties who will work these out in the following weeks have been working in this field for years and mapped and integrated biochemical knowledge. However, not all detail is defined at this point. There are external ontologies for molecular structures and interactions which have been and are being consulted. The intention for defining these domains codes in HL7 is exclusively in order to be able to create predictable RMIM models without relying solely on clone names for distinction. It is expected that codes (apart from a few structural codes) would be used from these external systems. MaterialKind 1..1 scoper * classCode*: <= MAT determinerCode*: <= KIND code*: CE CWE [1..1] < EntityCode name: BAG<TN> [0..*] 1..1 generalizedMaterialKind * SpecializedKind Substance EquivalentSubstance classCode*: <= EQUIV (EQUIV) quantity: RTO<PQ,PQ> [0..1] (qty of ingredient over that of 0..* asEquivalentSubstance reference substance) classCode*: <= GEN code: CE CWE [0..1] < MedicationGeneralizationRoleType Note: ChemicalStructure - SMILES, MolFile, InChi - ED MolecularFormula - CV “structured” code system - SumFormula, e.g. “C2H5OH” - NucleicAcidCode, e.g. “GTAATCTGTATGTA...” - AminoAcidCode, e.g., “MPATCHLLIAT…" Stereochemistry - CV - racemic, meso, mixed, axial, absolute OpticalActivity - CV - +, -, +/MolecularMass - PQ ~ 1 g/mol pH - PQ ~ 1 [pH] viscosity - PQ enzymatic activity - PQ ~ 1 mol/s R_Substance (UUDD_RMnnnnnn) Description: The IDMP Substances model. 0..* asSpecializedKind1 Substance classCode*: <= MMAT determinerCode*: <= KIND code*: CV CNE [1..1] < EntityCode name*: BAG<TN> [1..*] (established name) desc: ED [0..1] 1..1 ingredientSubstance * Characteristic SubstanceRole Ingredient classCode*: <= INGR id: II [0..1] confidentialityCode: SET<CE> CWE [0..*] < Confidentiality (B - trade secret) quantity*: RTO<PQ,PQ> [0..1] (strength, qty of ingredient in medicine) subjectOf2 classCode*: <= OBS 0..* scopedRoleName typeCode*: <= SBJ moodCode*: <= EVN 0..* characteristic code: CD CWE [0..1] < ActCode value: ANY CWE [0..1] < ObservationValue IdentifiedSubstance subjectOf1 0..1 scopingEntityName 1..* identifiedSubstance * Interaction typeCode*: <= SBJ classCode*: <= ACT functionCode: CD CWE [0..1] moodCode*: <= DEF <= MolecularInteractionFunction code*: CD CNE [1..1] <= MolecularInteractionType 0..* interaction 1..1 identifiedSubstance * IdentifiedSubstance classCode*: <= IDENT productOf subject typeCode*: <= SBJ functionCode: CD CWE [0..1] <= MolecularInteractionFunction 1..* identifiedSubstance * Transcription classCode*: <= ACT typeCode*: <= PRD moodCode*: <= DEF functionCode: CD CWE [0..1] code*: CD CNE [1..1] <= MolecularTranscriptionType <= MolecularInteractionFunction 0..* identifiedSubstance 0..* transcription subject typeCode*: <= SBJ functionCode: CD CWE [0..1] 0..1 playingEntityName <= MolecularInteractionFunction NamedEntity classCode*: <= IDENT 0..* asNamedEntity name: BAG<EN> [0..*] 1..1 assigningTerritory * Territory 0..1 territory * classCode*: <= STATE determinerCode*: <= INSTANCE code*: CE CWE [1..1] <= CountryEntityType name: TN [0..1] (country name if not coded) 0..1 governingAgency TerritorialAuthority classCode*: <= TERR Agency classCode*: <= PUB determinerCode*: <= INSTANCE id*: II [0..1] name*: ON [0..1] (e.g., the FDA for the USA) Moiety 1..1 partMoietyEntity * Moiety classCode*: <= PART code: CE CWE [0..1] <= MoleculePartRoleType quantity: RTO<INT,INT> [0..1] "1:1" 0..* moiety positionNumber: LIST<INT> [0..*] 0..* activeMoiety ActiveMoiety 1..1 partMoietyEntity * MoietyEntity classCode*: <= MAT determinerCode*: <= KIND id: II [0..1] code: CD CWE [0..1] SpecializedKind <= MoleculeEntityType Modification classCode*: <= PART code: CE CWE [0..1] <= MoleculeBondRoleType 0..* asSpecializedKind 0..* modification positionNumber: LIST<INT> [0..*] classCode*: <= ACTM quantity: RTO<PQ,PQ> [0..1] (amount of active moiety in ingredient) ActiveMoietyEntity E_SubstanceChemical (PORR_MT320025) Description SpecializedKind 1..1 activeMoiety * classCode*: <= MMAT determinerCode*: <= KIND code*: CE CWE [0..1] < EntityCode (Active moiety code) name*: BAG<TN> [1..*] 0..* asSpecializedKind Recommendation for HL7 RIM Change (continued) E_Substance R_SubstancePresence (PORR_MT620023) (PORR_MT620026) Description Description Substance 1..1 * CMET: (MAT) E_SubstanceClinical [universal] SubstancePresence 0..* substancePresence classCode*: <= SubstancePresence (PORR_MT620024UV) CMET: (MAT) E_SubstanceChemical [universal] (PORR_MT620025UV) Entity classCode*: <= SubstancePresenceEntityClass(MAT,LIV,PLC) determinerCode*: <= KIND code: CD CWE [0..1] <= SubstancePresenceEntityType ACTION ITEMS: M&M to implement recommendation RESOLUTION: << REQUIRED before recommendation can be closed. Indicates how recommendation was brought to closure. Can include notes on further study or networking required, and by whom.>> Vocabulary Submission Checklist: The following identifies the pieces of information that must be included or identified for the different types of vocabulary harmonization actions. It is included here for convenience in order to make certain the proposal is complete; this is not intended to be ‘filled in’, but are things that must be checked and/or considered when making the proposals. Any of these that are not included or done must be done during the application of the harmonization proposals after the meeting, and thus may not be deduced correctly if not explicit. Each of these needed pieces of information is REQUIRED for that particular operation. New Concept Domain: Parent Domain if the new Domain is not at the root Definition, plus three examples of concepts which would be in the same semantic category labeled by the Domain OR an Example binding. NOTE: these are not coded concepts, ie codes from a codeSystem The name of the new Domain should follow the current practice pattern for naming Modify Concept Domain: New Parent if hierarchy change Evaluation or Disposition of existing bindings Impact on any models if name is to be changed Remove Concept Domain: Disposition of existing bindings Removal comment New Code Systems Whether they are HL7-maintained or External, OID if one exists Description Full name (title) and short name (with no spaces or punctuation) Modify Code System: Only descriptions or full names may be modified; for content see Concept Codes Deprecate/Delete Code System: Disposition of existing value sets built on it, along with their existing bindings Identification of what it is being superceded by Recommendation for HL7 RIM Change (continued) Deprecation comment New Concept Codes: The code system they are to be added to The extensional value set(s) they are to be added to, if any Their parent, if they are not at the root of the code system Whether or not they are abstract (selectable) Mnemonic, or code value (try to follow any pre-existing practice pattern) Description Print Name (try to follow any pre-existing practice pattern) Deprecation/Deletion of Concept Codes: The code system they are to be removed from The new parent for any child concepts they may have had The extensional value set(s) that they should also be removed from, if any Deprecation comment Modify Concept Codes: The code system it is in Modified description (if that is the modification) Change to/from abstract (if that is the modification) Change position of code in hierarchy – identify old/new parent, and any impacts on child codes New Value Set: Name (without spaces); must fit the current practice pattern of naming style Name (Title) Optional Description Code System it is based on (primary) Extensional vs. Intensional Definition expression/contents list Deprecate/Delete Value Set: Disposition of existing bindings, both Model and Context Identification of other value sets that include the one to be deleted Modify Value Set Updated Print Name, with identification of Model bindings affected Updated defining expression/contents list New Context Binding Name of Domain plus Name of Value Set plus OID of Value Set (if present) plus Context Modify Context Binding Name of Domain plus Name of Value Set plus OID of Value Set (if present) plus New Context Removal of Existing Context Binding Name of Domain plus Name of Value Set plus OID of Value Set (if present) plus Context Note that you must follow up name changes to Concept Domains or Value Sets that are done during the harmonization meeting are applied to any bindings that have been specified in the Static Model (using the RMIM designer tool) so that the binding will point to the new name of the object. Recommendation for HL7 RIM Change (continued) Recommendation Details: Template for Vocabulary Proposal EXISTING CONTEXT: positions the proposal within the HL7 vocabulary, and provides related descriptions necessary for understanding and evaluating the proposal. Use as many levels as necessary in each hierarchy illustrated. RIM_nnnn Concept Code (conceptID = xxxxxx) Concept Code (conceptID = xxxxxx) Concept Code (conceptID = xxxxxx) Description [optional]: provide existing description for any concept for which description is to be changed, or where specifics in the description are critical to understanding the proposed change. Descriptions may occur at multiple levels, but are illustrated in this template only once. Parent (RoleClass / ActClass / EntityClass choose one) [required for roleCode, actCode, and entityCode concepts]: give the full hierarchy for the classCode to which the code belongs. Concept Code for classCode (conceptID = xxxxxx) Concept Code for classCode (conceptID = xxxxxx) Concept Code for classCode (conceptID = xxxxxx) Description of classCode: provide existing description only for the classCode to which the code belongs Value Set [optional]: for any concept for which a valueSet change is proposed, list (or describe) existing value sets of interest in evaluating the proposal. RECOMMENDATION: freeform description of the recommended changes, making reference to the Existing Context as appropriate. Always provide conceptID when mentioning any existing concept. For all new concepts and values, provide: Concept Code Concept Name (print name) Concept Description