This page is part of the FHIR Specification (v1.1.0: STU 3 Ballot 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
This is a frozen snapshot of the FHIR specification created for the purpose of balloting the GAO implementation Guide. It includes draft changes that may be part of the future DSTU 2.1 release but further change is expected. Readers should focus solely on the GAO implementation content, and FHIR DSTU 2 for other purposes.
Clinical Decision Support ![]() | Maturity Level: 0 | Compartments: Not linked to any defined compartments |
The ModuleDefinition resource defines the data requirements for a quality artifact.
This resource is referenced by DecisionSupportServiceModule and Library
Structure
UML Diagram
XML Template
<ModuleDefinition xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Logical identifier --></identifier> <version value="[string]"/><!-- 0..1 The version of the module, if any --> <model> <!-- 0..* --> <name value="[string]"/><!-- 0..1 --> <identifier value="[string]"/><!-- 1..1 --> <version value="[string]"/><!-- 0..1 --> </model> <library> <!-- 0..* A library referenced by the module --> <name value="[string]"/><!-- 0..1 The local name for the library --> <identifier value="[string]"/><!-- 0..1 --> <version value="[string]"/><!-- 0..1 --> <document[x]><!-- 0..1 Attachment|Reference(ModuleDefinition) --></document[x]> </library> <codeSystem> <!-- 0..* --> <name value="[string]"/><!-- 1..1 --> <identifier value="[string]"/><!-- 1..1 --> <version value="[string]"/><!-- 0..1 --> </codeSystem> <valueSet> <!-- 0..* --> <name value="[string]"/><!-- 1..1 --> <identifier value="[string]"/><!-- 1..1 --> <version value="[string]"/><!-- 0..1 --> <codeSystem value="[string]"/><!-- 0..* --> </valueSet> <parameter> <!-- 0..* --> <name value="[code]"/><!-- 1..1 --> <use value="[code]"/><!-- 1..1 --> <documentation value="[string]"/><!-- 0..1 --> <type value="[code]"/><!-- 1..1 --> <profile><!-- 0..1 Reference(StructureDefinition) --></profile> </parameter> <data> <!-- 0..* Describes a required data item --> <type value="[code]"/><!-- 1..1 The type of the required data --> <profile><!-- 0..1 Reference(StructureDefinition) The profile of the required data --></profile> <mustSupport value="[string]"/><!-- 0..* Indicates that specific structure elements are referenced by the knowledge module --> <codeFilter> <!-- 0..* --> <path value="[string]"/><!-- 1..1 The code-valued attribute of the filter --> <valueSet[x]><!-- 0..1 string|Reference(ValueSet) The valueset for the code filter --></valueSet[x]> <codeableConcept><!-- 0..* CodeableConcept The codeableConcepts for the filter --></codeableConcept> </codeFilter> <dateFilter> <!-- 0..* --> <path value="[string]"/><!-- 1..1 The date-valued attribute of the filter --> <value[x]><!-- 0..1 dateTime|Period The value of the filter, as a Period or dateTime value --></value[x]> </dateFilter> </data> </ModuleDefinition>
JSON Template
{"resourceType" : "ModuleDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Logical identifier "version" : "<string>", // The version of the module, if any "model" : [{ // "name" : "<string>", // "identifier" : "<string>", // R! "version" : "<string>" // }], "library" : [{ // A library referenced by the module "name" : "<string>", // The local name for the library "identifier" : "<string>", // "version" : "<string>", // // document[x]: . One of these 2: "documentAttachment" : { Attachment } "documentReference" : { Reference(ModuleDefinition) } }], "codeSystem" : [{ // "name" : "<string>", // R! "identifier" : "<string>", // R! "version" : "<string>" // }], "valueSet" : [{ // "name" : "<string>", // R! "identifier" : "<string>", // R! "version" : "<string>", // "codeSystem" : ["<string>"] // }], "parameter" : [{ // "name" : "<code>", // R! "use" : "<code>", // R! "documentation" : "<string>", // "type" : "<code>", // R! "profile" : { Reference(StructureDefinition) } // }], "data" : [{ // Describes a required data item "type" : "<code>", // R! The type of the required data "profile" : { Reference(StructureDefinition) }, // The profile of the required data "mustSupport" : ["<string>"], // Indicates that specific structure elements are referenced by the knowledge module "codeFilter" : [{ // "path" : "<string>", // R! The code-valued attribute of the filter // valueSet[x]: The valueset for the code filter. One of these 2: "valueSetString" : "<string>", "valueSetReference" : { Reference(ValueSet) }, "codeableConcept" : [{ CodeableConcept }] // The codeableConcepts for the filter }], "dateFilter" : [{ // "path" : "<string>", // R! The date-valued attribute of the filter // value[x]: The value of the filter, as a Period or dateTime value. One of these 2: "valueDateTime" : "<dateTime>" "valuePeriod" : { Period } }] }] }
Structure
XML Template
<ModuleDefinition xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Logical identifier --></identifier> <version value="[string]"/><!-- 0..1 The version of the module, if any --> <model> <!-- 0..* --> <name value="[string]"/><!-- 0..1 --> <identifier value="[string]"/><!-- 1..1 --> <version value="[string]"/><!-- 0..1 --> </model> <library> <!-- 0..* A library referenced by the module --> <name value="[string]"/><!-- 0..1 The local name for the library --> <identifier value="[string]"/><!-- 0..1 --> <version value="[string]"/><!-- 0..1 --> <document[x]><!-- 0..1 Attachment|Reference(ModuleDefinition) --></document[x]> </library> <codeSystem> <!-- 0..* --> <name value="[string]"/><!-- 1..1 --> <identifier value="[string]"/><!-- 1..1 --> <version value="[string]"/><!-- 0..1 --> </codeSystem> <valueSet> <!-- 0..* --> <name value="[string]"/><!-- 1..1 --> <identifier value="[string]"/><!-- 1..1 --> <version value="[string]"/><!-- 0..1 --> <codeSystem value="[string]"/><!-- 0..* --> </valueSet> <parameter> <!-- 0..* --> <name value="[code]"/><!-- 1..1 --> <use value="[code]"/><!-- 1..1 --> <documentation value="[string]"/><!-- 0..1 --> <type value="[code]"/><!-- 1..1 --> <profile><!-- 0..1 Reference(StructureDefinition) --></profile> </parameter> <data> <!-- 0..* Describes a required data item --> <type value="[code]"/><!-- 1..1 The type of the required data --> <profile><!-- 0..1 Reference(StructureDefinition) The profile of the required data --></profile> <mustSupport value="[string]"/><!-- 0..* Indicates that specific structure elements are referenced by the knowledge module --> <codeFilter> <!-- 0..* --> <path value="[string]"/><!-- 1..1 The code-valued attribute of the filter --> <valueSet[x]><!-- 0..1 string|Reference(ValueSet) The valueset for the code filter --></valueSet[x]> <codeableConcept><!-- 0..* CodeableConcept The codeableConcepts for the filter --></codeableConcept> </codeFilter> <dateFilter> <!-- 0..* --> <path value="[string]"/><!-- 1..1 The date-valued attribute of the filter --> <value[x]><!-- 0..1 dateTime|Period The value of the filter, as a Period or dateTime value --></value[x]> </dateFilter> </data> </ModuleDefinition>
JSON Template
{"resourceType" : "ModuleDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Logical identifier "version" : "<string>", // The version of the module, if any "model" : [{ // "name" : "<string>", // "identifier" : "<string>", // R! "version" : "<string>" // }], "library" : [{ // A library referenced by the module "name" : "<string>", // The local name for the library "identifier" : "<string>", // "version" : "<string>", // // document[x]: . One of these 2: "documentAttachment" : { Attachment } "documentReference" : { Reference(ModuleDefinition) } }], "codeSystem" : [{ // "name" : "<string>", // R! "identifier" : "<string>", // R! "version" : "<string>" // }], "valueSet" : [{ // "name" : "<string>", // R! "identifier" : "<string>", // R! "version" : "<string>", // "codeSystem" : ["<string>"] // }], "parameter" : [{ // "name" : "<code>", // R! "use" : "<code>", // R! "documentation" : "<string>", // "type" : "<code>", // R! "profile" : { Reference(StructureDefinition) } // }], "data" : [{ // Describes a required data item "type" : "<code>", // R! The type of the required data "profile" : { Reference(StructureDefinition) }, // The profile of the required data "mustSupport" : ["<string>"], // Indicates that specific structure elements are referenced by the knowledge module "codeFilter" : [{ // "path" : "<string>", // R! The code-valued attribute of the filter // valueSet[x]: The valueset for the code filter. One of these 2: "valueSetString" : "<string>", "valueSetReference" : { Reference(ValueSet) }, "codeableConcept" : [{ CodeableConcept }] // The codeableConcepts for the filter }], "dateFilter" : [{ // "path" : "<string>", // R! The date-valued attribute of the filter // value[x]: The value of the filter, as a Period or dateTime value. One of these 2: "valueDateTime" : "<dateTime>" "valuePeriod" : { Period } }] }] }
Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire
Path | Definition | Type | Reference |
---|---|---|---|
ModuleDefinition.parameter.use | Whether the parameter is input or output | Required | OperationParameterUse |
ModuleDefinition.parameter.type ModuleDefinition.data.type | The type of the parameter | Required | Parameter Types used in Operation Definitions |