R6 Ballot (2nd Draft)

Publish-box (todo)

Manufactureditemdefinition.shex

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

Raw ShEx

ShEx statement for manufactureditemdefinition

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 <code.shex>
IMPORT <date.shex>
IMPORT <string.shex>
IMPORT <Binary.shex>
IMPORT <boolean.shex>
IMPORT <Quantity.shex>
IMPORT <markdown.shex>
IMPORT <Reference.shex>
IMPORT <Identifier.shex>
IMPORT <Attachment.shex>
IMPORT <Organization.shex>
IMPORT <DomainResource.shex>
IMPORT <CodeableConcept.shex>
IMPORT <MarketingStatus.shex>
IMPORT <BackboneElement.shex>
IMPORT <CodeableReference.shex>


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

# The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product
<ManufacturedItemDefinition> EXTENDS @<DomainResource> CLOSED {   

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

    fhir:identifier @<OneOrMore_Identifier>?;  # Unique identifier
    fhir:status @<code> AND
    	{fhir:v @fhirvs:publication-status};  # draft | active | retired | unknown
    fhir:name @<string>?;                   # A descriptive name applied to this 
                                            # item 
    fhir:manufacturedDoseForm @<CodeableConcept>;  # Dose form as manufactured (before 
                                            # any necessary transformation) 
    fhir:unitOfPresentation @<CodeableConcept>?;  # The “real-world” units in which 
                                            # the quantity of the item is 
                                            # described 
    fhir:manufacturer @<OneOrMore_Reference_Organization>?;  # Manufacturer of the item, one of 
                                            # several possible 
    fhir:marketingStatus @<OneOrMore_MarketingStatus>?;  # Allows specifying that an item is 
                                            # on the market for sale, or that it 
                                            # is not available, and the dates 
                                            # and locations associated 
    fhir:ingredient @<OneOrMore_CodeableConcept>?;  # The ingredients of this 
                                            # manufactured item. Only needed if 
                                            # these are not specified by 
                                            # incoming references from the 
                                            # Ingredient resource 
    fhir:property @<OneOrMore_ManufacturedItemDefinition.property>?;  # General characteristics of this 
                                            # item 
    fhir:component @<OneOrMore_ManufacturedItemDefinition.component>?;  # Physical parts of the manufactured 
                                            # item, that it is intrisically made 
                                            # from. This is distinct from the 
                                            # ingredients that are part of its 
                                            # chemical makeup 
}  

# A component that this component contains or is made from
<ManufacturedItemDefinition.component.componentnull> CLOSED {   
}  

# General characteristics of this item
<ManufacturedItemDefinition.property> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>;           # A code expressing the type of 
                                            # characteristic 
    fhir:value @<CodeableConcept>  OR 
    			@<Quantity>  OR 
    			@<date>  OR 
    			@<boolean>  OR 
    			@<markdown>  OR 
    			@<Attachment>  OR 
    			(@<Reference>  AND {fhir:link @<Binary> })  ?;  # A value for the characteristic
}  

# A reference to a constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient)
<ManufacturedItemDefinition.component.constituent> EXTENDS @<BackboneElement> CLOSED {   
    fhir:amount @<OneOrMore_Quantity>?;     # The measurable amount of the 
                                            # substance, expressable in 
                                            # different ways (e.g. by mass or 
                                            # volume) 
    fhir:location @<OneOrMore_CodeableConcept>?;  # The physical location of the 
                                            # constituent/ingredient within the 
                                            # component 
    fhir:function @<OneOrMore_CodeableConcept>?;  # The function of this constituent 
                                            # within the component e.g. binder 
    fhir:hasIngredient @<OneOrMore_CodeableReference>?;  # The ingredient that is the 
                                            # constituent of the given component 
}  

# Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup
<ManufacturedItemDefinition.component> EXTENDS @<BackboneElement> CLOSED {   
    fhir:type @<CodeableConcept>;           # Defining type of the component 
                                            # e.g. shell, layer, ink 
    fhir:function @<OneOrMore_CodeableConcept>?;  # The function of this component 
                                            # within the item e.g. delivers 
                                            # active ingredient, masks taste 
    fhir:amount @<OneOrMore_Quantity>?;     # The measurable amount of total 
                                            # quantity of all substances in the 
                                            # component, expressable in 
                                            # different ways (e.g. by mass or 
                                            # volume) 
    fhir:constituent @<OneOrMore_ManufacturedItemDefinition.component.constituent>?;  # A reference to a constituent of 
                                            # the manufactured item as a whole, 
                                            # linked here so that its component 
                                            # location within the item can be 
                                            # indicated. This not where the 
                                            # item's ingredient are primarily 
                                            # stated (for which see 
                                            # Ingredient.for or 
                                            # ManufacturedItemDefinition.ingre-
                                            # dient) 
    fhir:property @<OneOrMore_ManufacturedItemDefinition.property>?;  # General characteristics of this 
                                            # component 
    fhir:component @<OneOrMore_ManufacturedItemDefinition.component>?;  # A component that this component 
                                            # contains or is made from 
}  

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

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

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

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

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

<OneOrMore_ManufacturedItemDefinition.property> CLOSED {
    rdf:first @<ManufacturedItemDefinition.property>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ManufacturedItemDefinition.property> 
}

<OneOrMore_ManufacturedItemDefinition.component> CLOSED {
    rdf:first @<ManufacturedItemDefinition.component>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ManufacturedItemDefinition.component> 
}

<OneOrMore_Quantity> CLOSED {
    rdf:first @<Quantity>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_Quantity> 
}

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

<OneOrMore_ManufacturedItemDefinition.component.constituent> CLOSED {
    rdf:first @<ManufacturedItemDefinition.component.constituent>  ;
    rdf:rest [rdf:nil] OR @<OneOrMore_ManufacturedItemDefinition.component.constituent> 
}

#---------------------- Value Sets ------------------------

# The lifecycle status of an artifact.
fhirvs:publication-status ["draft" "active" "retired" "unknown"]


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.