R6 Ballot (1st Draft)

This page is part of the FHIR Specification v6.0.0-ballot1: Release 6 Ballot (1st Draft) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions

Medicinalproductdefinition.shex

Biomedical Research and Regulation Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: No defined compartments

Raw ShEx

ShEx statement for medicinalproductdefinition

PREFIX fhir: <http://hl7.org/fhir/> 
PREFIX fhirvs: <http://hl7.org/fhir/ValueSet/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 

IMPORT <date.shex>
IMPORT <string.shex>
IMPORT <Coding.shex>
IMPORT <Period.shex>
IMPORT <integer.shex>
IMPORT <boolean.shex>
IMPORT <dateTime.shex>
IMPORT <markdown.shex>
IMPORT <Quantity.shex>
IMPORT <Reference.shex>
IMPORT <Identifier.shex>
IMPORT <Attachment.shex>
IMPORT <Organization.shex>
IMPORT <ResearchStudy.shex>
IMPORT <DomainResource.shex>
IMPORT <CodeableConcept.shex>
IMPORT <MarketingStatus.shex>
IMPORT <BackboneElement.shex>
IMPORT <PractitionerRole.shex>
IMPORT <DeviceDefinition.shex>
IMPORT <CodeableReference.shex>
IMPORT <DocumentReference.shex>
IMPORT <ManufacturedItemDefinition.shex>


start=@<MedicinalProductDefinition> AND {fhir:nodeRole [fhir:treeRoot]}

# Detailed definition of a medicinal product
<MedicinalProductDefinition> EXTENDS @<DomainResource> CLOSED {   

    a [fhir:MedicinalProductDefinition]?;
    fhir:nodeRole [fhir:treeRoot]?;

    fhir:identifier @<OneOrMore_Identifier>?;  # Business identifier for this 
                                            # product. Could be an MPID 
    fhir:type @<CodeableConcept>?;          # Regulatory type, e.g. 
                                            # Investigational or Authorized 
    fhir:domain @<CodeableConcept>?;        # If this medicine applies to human 
                                            # or veterinary uses 
    fhir:version @<string>?;                # A business identifier relating to 
                                            # a specific version of the product 
    fhir:status @<CodeableConcept>?;        # The status within the lifecycle of 
                                            # this product record 
    fhir:statusDate @<dateTime>?;           # The date at which the given status 
                                            # became applicable 
    fhir:description @<markdown>?;          # General description of this product
    fhir:combinedPharmaceuticalDoseForm @<CodeableConcept>?;  # The dose form for a single part 
                                            # product, or combined form of a 
                                            # multiple part product 
    fhir:route @<OneOrMore_CodeableConcept>?;  # The path by which the product is 
                                            # taken into or makes contact with 
                                            # the body 
    fhir:indication @<markdown>?;           # Description of indication(s) for 
                                            # this product, used when structured 
                                            # indications are not required 
    fhir:legalStatusOfSupply @<CodeableConcept>?;  # The legal status of supply of the 
                                            # medicinal product as classified by 
                                            # the regulator 
    fhir:additionalMonitoringIndicator @<CodeableConcept>?;  # Whether the Medicinal Product is 
                                            # subject to additional monitoring 
                                            # for regulatory reasons 
    fhir:specialMeasures @<OneOrMore_CodeableConcept>?;  # Whether the Medicinal Product is 
                                            # subject to special measures for 
                                            # regulatory reasons 
    fhir:pediatricUseIndicator @<CodeableConcept>?;  # If authorised for use in children
    fhir:classification @<OneOrMore_CodeableConcept>?;  # Allows the product to be 
                                            # classified by various systems 
    fhir:marketingStatus @<OneOrMore_MarketingStatus>?;  # Marketing status of the medicinal 
                                            # product, in contrast to marketing 
                                            # authorization 
    fhir:packagedMedicinalProduct @<OneOrMore_CodeableConcept>?;  # Package type for the product
    fhir:comprisedOf @<OneOrMore_Reference_DeviceDefinition_OR_ManufacturedItemDefinition>?;  # Types of medicinal manufactured 
                                            # items and/or devices that this 
                                            # product consists of, such as 
                                            # tablets, capsule, or syringes 
    fhir:ingredient @<OneOrMore_CodeableConcept>?;  # The ingredients of this medicinal 
                                            # product - when not detailed in 
                                            # other resources 
    fhir:impurity @<OneOrMore_CodeableReference>?;  # Any component of the drug product 
                                            # which is not the chemical entity 
                                            # defined as the drug substance, or 
                                            # an excipient in the drug product 
    fhir:attachedDocument @<OneOrMore_Reference_DocumentReference>?;  # Additional documentation about the 
                                            # medicinal product 
    fhir:masterFile @<OneOrMore_Reference_DocumentReference>?;  # A master file for the medicinal 
                                            # product (e.g. Pharmacovigilance 
                                            # System Master File) 
    fhir:contact @<OneOrMore_MedicinalProductDefinition.contact>?;  # A product specific contact, person 
                                            # (in a role), or an organization 
    fhir:clinicalTrial @<OneOrMore_Reference_ResearchStudy>?;  # Clinical trials or studies that 
                                            # this product is involved in 
    fhir:code @<OneOrMore_Coding>?;         # A code that this product is known 
                                            # by, within some formal terminology 
    fhir:name @<OneOrMore_MedicinalProductDefinition.name>;  # The product's name, including full 
                                            # name and possibly coded parts 
    fhir:crossReference @<OneOrMore_MedicinalProductDefinition.crossReference>?;  # Reference to another product, e.g. 
                                            # for linking authorised to 
                                            # investigational product 
    fhir:operation @<OneOrMore_MedicinalProductDefinition.operation>?;  # A manufacturing or administrative 
                                            # process for the medicinal product 
    fhir:characteristic @<OneOrMore_MedicinalProductDefinition.characteristic>?;  # Key product features such as 
                                            # "sugar free", "modified release" 
}  

# The product's name, including full name and possibly coded parts
<MedicinalProductDefinition.name> EXTENDS @<BackboneElement> CLOSED {   
    fhir:productName @<string>;             # The full product name
    fhir:type @<CodeableConcept>?;          # Type of product name, such as 
                                            # rINN, BAN, Proprietary, 
                                            # Non-Proprietary 
    fhir:part @<OneOrMore_MedicinalProductDefinition.name.part>?;  # Coding words or phrases of the name
    fhir:usage @<OneOrMore_MedicinalProductDefinition.name.usage>?;  # Country and jurisdiction where the 
                                            # name applies 
}  

# Country and jurisdiction where the name applies
<MedicinalProductDefinition.name.usage> EXTENDS @<BackboneElement> CLOSED {   
    fhir:country @<CodeableConcept>;        # Country code for where this name 
                                            # applies 
    fhir:jurisdiction @<CodeableConcept>?;  # Jurisdiction code for where this 
                                            # name applies 
    fhir:language @<CodeableConcept>;       # Language code for this name
}  

# A manufacturing or administrative process for the medicinal product
<MedicinalProductDefinition.operation> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableReference>?;        # The type of manufacturing 
                                            # operation e.g. manufacturing 
                                            # itself, re-packaging 
    fhir:effectiveDate @<Period>?;          # Date range of applicability
    fhir:organization @<OneOrMore_Reference_Organization>?;  # The organization responsible for 
                                            # the particular process, e.g. the 
                                            # manufacturer or importer 
    fhir:confidentialityIndicator @<CodeableConcept>?;  # Specifies whether this process is 
                                            # considered proprietary or 
                                            # confidential 
}  

# Coding words or phrases of the name
<MedicinalProductDefinition.name.part> EXTENDS @<BackboneElement> CLOSED {   
    fhir:part @<string>;                    # A fragment of a product name
    fhir:type @<CodeableConcept>;           # Identifying type for this part of 
                                            # the name (e.g. strength part) 
}  

# Key product features such as "sugar free", "modified release"
<MedicinalProductDefinition.characteristic> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>;           # A code expressing the type of 
                                            # characteristic 
    fhir:value @<CodeableConcept>  OR 
    			@<markdown>  OR 
    			@<Quantity>  OR 
    			@<integer>  OR 
    			@<date>  OR 
    			@<boolean>  OR 
    			@<Attachment>  ?;  # A value for the characteristic
}  

# A product specific contact, person (in a role), or an organization
<MedicinalProductDefinition.contact> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>?;          # Allows the contact to be 
                                            # classified, for example QPPV, 
                                            # Pharmacovigilance Enquiry 
                                            # Information 
    fhir:contact @<Reference> AND {fhir:link 
    			@<Organization> OR 
    			@<PractitionerRole> ? };  # A product specific contact, person 
                                            # (in a role), or an organization 
}  

# Reference to another product, e.g. for linking authorised to investigational product
<MedicinalProductDefinition.crossReference> EXTENDS @<BackboneElement> CLOSED {   
    fhir:product @<CodeableReference>;      # Reference to another product, e.g. 
                                            # for linking authorised to 
                                            # investigational product 
    fhir:type @<CodeableConcept>?;          # The type of relationship, for 
                                            # instance branded to generic or 
                                            # virtual to actual product 
}  

#---------------------- Cardinality Types (OneOrMore) -------------------

<OneOrMore_Identifier> CLOSED {
    rdf:first @<Identifier>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Identifier> 
}

<OneOrMore_CodeableConcept> CLOSED {
    rdf:first @<CodeableConcept>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_CodeableConcept> 
}

<OneOrMore_MarketingStatus> CLOSED {
    rdf:first @<MarketingStatus>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_MarketingStatus> 
}

<OneOrMore_Reference_DeviceDefinition_OR_ManufacturedItemDefinition> CLOSED {
    rdf:first @<Reference> AND {fhir:link 
			@<DeviceDefinition> OR 
			@<ManufacturedItemDefinition> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_DeviceDefinition_OR_ManufacturedItemDefinition> 
}

<OneOrMore_CodeableReference> CLOSED {
    rdf:first @<CodeableReference>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_CodeableReference> 
}

<OneOrMore_Reference_DocumentReference> CLOSED {
    rdf:first @<Reference> AND {fhir:link 
			@<DocumentReference> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_DocumentReference> 
}

<OneOrMore_MedicinalProductDefinition.contact> CLOSED {
    rdf:first @<MedicinalProductDefinition.contact>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_MedicinalProductDefinition.contact> 
}

<OneOrMore_Reference_ResearchStudy> CLOSED {
    rdf:first @<Reference> AND {fhir:link 
			@<ResearchStudy> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_ResearchStudy> 
}

<OneOrMore_Coding> CLOSED {
    rdf:first @<Coding>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Coding> 
}

<OneOrMore_MedicinalProductDefinition.name> CLOSED {
    rdf:first @<MedicinalProductDefinition.name>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_MedicinalProductDefinition.name> 
}

<OneOrMore_MedicinalProductDefinition.crossReference> CLOSED {
    rdf:first @<MedicinalProductDefinition.crossReference>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_MedicinalProductDefinition.crossReference> 
}

<OneOrMore_MedicinalProductDefinition.operation> CLOSED {
    rdf:first @<MedicinalProductDefinition.operation>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_MedicinalProductDefinition.operation> 
}

<OneOrMore_MedicinalProductDefinition.characteristic> CLOSED {
    rdf:first @<MedicinalProductDefinition.characteristic>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_MedicinalProductDefinition.characteristic> 
}

<OneOrMore_MedicinalProductDefinition.name.part> CLOSED {
    rdf:first @<MedicinalProductDefinition.name.part>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_MedicinalProductDefinition.name.part> 
}

<OneOrMore_MedicinalProductDefinition.name.usage> CLOSED {
    rdf:first @<MedicinalProductDefinition.name.usage>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_MedicinalProductDefinition.name.usage> 
}

<OneOrMore_Reference_Organization> CLOSED {
    rdf:first @<Reference> AND {fhir:link 
			@<Organization> } ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Reference_Organization> 
}


Usage note: every effort has been made to ensure that the ShEx files are correct and useful, but they are not a normative part of the specification.